欢迎来到天天文库
浏览记录
ID:6294628
大小:76.00 KB
页数:8页
时间:2018-01-09
《c语言程序设计试题答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、习题77.1选择题。(1)下列对字符串的定义中,错误的是:A。A)charstr[7]="FORTRAN";B)charstr[]="FORTRAN";C)char*str="FORTRAN";D)charstr[]={'F','O','R','T','R','A','N',0};(2)以下程序段的输出结果是:____D_________chara[]="ABCDE";char*p=NULL;for(p=a;p2、确的是____D____。A)#includemain(){staticchara[5];a="abcde";printf("%s",a);}B)#includemain(){staticchara[7]="goodbye!";printf("%s",a);}C)#includemain(){chara[5]="abcde";printf("%s",a);}D)#includemain(){staticchara[]="abcde";printf("%s",a);8}(4)阅读下列函数,函数3、功能为___A_____。voidExchange(int*p1,int*p2){intp;p=*p1;*p1=*p2;*p2=p;}A)交换*p1和*p2的值B)正确,但无法改变*p1和*p2的值C)交换*p1和*p2的地址D)可能造成系统故障(5)设有语句:intarray[3][4];则在下面几种引用下标为i和j的数组元素的方法中,不正确的引用方式是:___D_____。A)array[i][j]B)*(*(array+i)+j)C)*(array[i]+j)D)*(array+i*4+j)7.1阅读下列程序,写出运行结果。(1)#includemain4、(){staticintx[]={1,2,3};ints,i,*p=NULL;s=1;p=x;for(i=0;i<3;i++){s*=*(p+i);}printf("%d",s);}答案:6(2)#includemain(){inta[]={1,2,3,4,5};int*p=NULL;p=a;printf("%d,",*p);printf("%d,",*(++p));printf("%d,",*++p);printf("%d,",*(p--));printf("%d,",*p++);printf("%d,",*p);printf("%d,",++(*p))5、;printf("%d,",*p);}答案:1,2,3,3,2,3,4,4,(3)#includecharb[]="program";char*a="PROGRAM";main(){8inti=0;printf("%c%s",*a,b+1);while(putchar(*(a+i))){i++;}printf("i=%d",i);while(--i){putchar(*(b+i));}printf("%s",&b[3]);}答案:ProgramPROGRAMi=7margorgram(4)/*源文件名为demo.c*/main(intargc,6、char*argv[]){inti;for(i=0;i7、for(;*p!=‘ ’;p++){len++;}return len;}(2)下面函数也是实现strlen函数功能的,但计算字符串s中的实际字符个数的方法与上一道题有所不同。unsignedintMyStrlen(chars[]){char*p=s;while(*p!=‘ ’)8{p++;}returnp-s;}[提示:移动指针p使其指向字符串结束标志,此时指针p与字符串首地址之间的差值即为字符串中的实际字符个数。](3)下面函数实现strcmp函数的功能,即比较两个字符串的大小,将两
2、确的是____D____。A)#includemain(){staticchara[5];a="abcde";printf("%s",a);}B)#includemain(){staticchara[7]="goodbye!";printf("%s",a);}C)#includemain(){chara[5]="abcde";printf("%s",a);}D)#includemain(){staticchara[]="abcde";printf("%s",a);8}(4)阅读下列函数,函数
3、功能为___A_____。voidExchange(int*p1,int*p2){intp;p=*p1;*p1=*p2;*p2=p;}A)交换*p1和*p2的值B)正确,但无法改变*p1和*p2的值C)交换*p1和*p2的地址D)可能造成系统故障(5)设有语句:intarray[3][4];则在下面几种引用下标为i和j的数组元素的方法中,不正确的引用方式是:___D_____。A)array[i][j]B)*(*(array+i)+j)C)*(array[i]+j)D)*(array+i*4+j)7.1阅读下列程序,写出运行结果。(1)#includemain
4、(){staticintx[]={1,2,3};ints,i,*p=NULL;s=1;p=x;for(i=0;i<3;i++){s*=*(p+i);}printf("%d",s);}答案:6(2)#includemain(){inta[]={1,2,3,4,5};int*p=NULL;p=a;printf("%d,",*p);printf("%d,",*(++p));printf("%d,",*++p);printf("%d,",*(p--));printf("%d,",*p++);printf("%d,",*p);printf("%d,",++(*p))
5、;printf("%d,",*p);}答案:1,2,3,3,2,3,4,4,(3)#includecharb[]="program";char*a="PROGRAM";main(){8inti=0;printf("%c%s",*a,b+1);while(putchar(*(a+i))){i++;}printf("i=%d",i);while(--i){putchar(*(b+i));}printf("%s",&b[3]);}答案:ProgramPROGRAMi=7margorgram(4)/*源文件名为demo.c*/main(intargc,
6、char*argv[]){inti;for(i=0;i7、for(;*p!=‘ ’;p++){len++;}return len;}(2)下面函数也是实现strlen函数功能的,但计算字符串s中的实际字符个数的方法与上一道题有所不同。unsignedintMyStrlen(chars[]){char*p=s;while(*p!=‘ ’)8{p++;}returnp-s;}[提示:移动指针p使其指向字符串结束标志,此时指针p与字符串首地址之间的差值即为字符串中的实际字符个数。](3)下面函数实现strcmp函数的功能,即比较两个字符串的大小,将两
7、for(;*p!=‘ ’;p++){len++;}return len;}(2)下面函数也是实现strlen函数功能的,但计算字符串s中的实际字符个数的方法与上一道题有所不同。unsignedintMyStrlen(chars[]){char*p=s;while(*p!=‘ ’)8{p++;}returnp-s;}[提示:移动指针p使其指向字符串结束标志,此时指针p与字符串首地址之间的差值即为字符串中的实际字符个数。](3)下面函数实现strcmp函数的功能,即比较两个字符串的大小,将两
此文档下载收益归作者所有