欢迎来到天天文库
浏览记录
ID:39413469
大小:86.50 KB
页数:8页
时间:2019-07-02
《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";print3、f("%s",a);文档大全实用标准}(4)阅读下列函数,函数功能为___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*44、+j)7.1阅读下列程序,写出运行结果。(1)#includemain(){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--));p5、rintf("%d,",*p++);printf("%d,",*p);printf("%d,",++(*p));printf("%d,",*p);}答案:1,2,3,3,2,3,4,4,(3)#includecharb[]="program";char*a="PROGRAM";main(){文档大全实用标准inti=0;printf("%c%s",*a,b+1);while(putchar(*(a+i))){i++;}printf("i=%d",i);while(--i){putchar(*(b+i));}printf("%s6、",&b[3]);}答案:ProgramPROGRAMi=7margorgram(4)/*源文件名为demo.c*/main(intargc,char*argv[]){inti;for(i=0;i7、(1)下面函数实现strlen函数的功能,即计算指针p所指向的字符串中的实际字符个数。unsignedintMyStrlen(char*p){intlen;len=0;for(;*p!=‘ ’;p++){len++;}return len;}(2)下面函数也是实现strlen函数功能的,但计算字符串s中的实际字符个数的方法与上一道题有所不同。unsignedintMyStrlen(chars[]){char*p=s;while(*p!=‘ ’)文档大全实用标准{p++;}returnp-s;}[提示:移动指针p使其指向字符串结束标志,此时指针p与字符串8、首地址之间的差值即为字符串中的实际字符个数。](3)下面函数实现s
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";print
3、f("%s",a);文档大全实用标准}(4)阅读下列函数,函数功能为___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
4、+j)7.1阅读下列程序,写出运行结果。(1)#includemain(){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--));p
5、rintf("%d,",*p++);printf("%d,",*p);printf("%d,",++(*p));printf("%d,",*p);}答案:1,2,3,3,2,3,4,4,(3)#includecharb[]="program";char*a="PROGRAM";main(){文档大全实用标准inti=0;printf("%c%s",*a,b+1);while(putchar(*(a+i))){i++;}printf("i=%d",i);while(--i){putchar(*(b+i));}printf("%s
6、",&b[3]);}答案:ProgramPROGRAMi=7margorgram(4)/*源文件名为demo.c*/main(intargc,char*argv[]){inti;for(i=0;i7、(1)下面函数实现strlen函数的功能,即计算指针p所指向的字符串中的实际字符个数。unsignedintMyStrlen(char*p){intlen;len=0;for(;*p!=‘ ’;p++){len++;}return len;}(2)下面函数也是实现strlen函数功能的,但计算字符串s中的实际字符个数的方法与上一道题有所不同。unsignedintMyStrlen(chars[]){char*p=s;while(*p!=‘ ’)文档大全实用标准{p++;}returnp-s;}[提示:移动指针p使其指向字符串结束标志,此时指针p与字符串8、首地址之间的差值即为字符串中的实际字符个数。](3)下面函数实现s
7、(1)下面函数实现strlen函数的功能,即计算指针p所指向的字符串中的实际字符个数。unsignedintMyStrlen(char*p){intlen;len=0;for(;*p!=‘ ’;p++){len++;}return len;}(2)下面函数也是实现strlen函数功能的,但计算字符串s中的实际字符个数的方法与上一道题有所不同。unsignedintMyStrlen(chars[]){char*p=s;while(*p!=‘ ’)文档大全实用标准{p++;}returnp-s;}[提示:移动指针p使其指向字符串结束标志,此时指针p与字符串
8、首地址之间的差值即为字符串中的实际字符个数。](3)下面函数实现s
此文档下载收益归作者所有