上机报告7 指针2

上机报告7 指针2

ID:18691493

大小:192.00 KB

页数:9页

时间:2018-09-21

上机报告7   指针2_第1页
上机报告7   指针2_第2页
上机报告7   指针2_第3页
上机报告7   指针2_第4页
上机报告7   指针2_第5页
资源描述:

《上机报告7 指针2》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言上机报告7指针2一、上机内容。1)main函数的参数1.在编译软件中输入以下程序。在D(或E盘)新建一个文件夹,取名为c_temp。将源程序保存在c_temp目录下,,取名为main,并在编译器中运行,观察输出结果?2.按键盘快捷键“WIN”+R(或开始-运行),出现运行窗口,输入cmd命令。3.输入盘符d:(回车),再输入cdc_temp(回车),进行c_temp目录。4.输入dir(回车)命令,观察该目录下有几个文件,分析各文件的类型。5.输入main/help观察结果?6.输入main/scmpgdutsina观

2、察结果?7.输入main/scmpgdutgdut观察结果?8.将程序补充完整。9.输入main/scmp123435观察结果?#include"stdio.h"#include"stdlib.h"#include"string.h"intmain(intargc,char*argv[]){voidshow_msg();voidadd(char*p1,char*p2);voidscmp(char*p1,char*p2);intflag=0;while(argc-->1){if(!strcmp(*(argv+1),"/help

3、")){flag=1;break;}if(!strcmp(*(argv+1),"/add")){flag=2;break;}if(!strcmp(*(argv+1),"/scmp")){flag=3;break;}}switch(flag){case1:show_msg();break;case2:add(*(argv+2),*(argv+3));break;case3:scmp(*(argv+2),*(argv+3));default:printf(}return1;}voidshow_msg(){printf("函数的功

4、能参数:");printf("/help--显示帮助文件");printf("/add--计算后面两个数字的和");printf("/scmp--比较后两个字符串的大小");}voidadd(char*p1,char*p2){intstod(char*p1);printf("%s+%s=%d",p1,p2,stod(p1)+stod(p2));}//上机练习:编写一个stod函数,将字符串转化为十进制数intstod(char*p){inta,b=0;while(*p!=''){a=*p-'0';p++;

5、b=10*b+a;}returnb;}voidscmp(char*p1,char*p2){if(!strcmp(p1,p2))printf("字符串%s,%s相等",p1,p2);elseif(strcmp(p1,p2)>0)printf("字符串%s大于%s",p1,p2);elseprintf("字符串%s大于%s",p2,p1);}2)动态内存练习,将以下程序补充完整。1.在内存中开辟一段长度为10内存空间,用malloc定义一个数组a,赋值为www.2.在内存中开辟一段长度为15内存空间,用calloc定义一个数组b

6、,赋值为gdut.edu.cn3.gdut.edu.cn连接到数组a(用realloc重新分配长度为25的内存空间a=(char*)malloc(10);b=calloc(15,1);realloc(a,25);strcat(a,b);3)分析并补充程序,学习如何动态定义一个数组pArr=(int*)malloc(len*sizeof(int));scanf("%d",pArr+i);printf("%d",*pArr+i);课后作业请独立完成,写完后以附件*.Doc形式发邮件至1400311870@qq.com([请在12

7、月9号前提交),文件名规则如下:学号-\姓名-上机报告8一、上机作业一、选择题  (1)设有定义:intn1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是A)*p=*q;  B)p=q;  C)*p=&n1;  D)p=*q;  (2)若有定义:intx=0,*p=&x;,则语句printf("%d",*p);的输出结果是  A)随机值  B)0  C)x的地址D)p的地址  (3)以下定义语句中正确的是A)chara='A'b='B';B)floata=b=10.0;  C)in

8、ta=10,*b=&a;D)float*a,b=&a;  (4)有以下程序  main()  {inta=7,b=8,*p,*q,*r;  p=&a;q=&b;  r=p;p=q;q=r;  printf("%d,%d,%d,%d",*p,*q,a,b);  }  程序运行后的输出结

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。