资源描述:
《C语言试题(卷)选择题与答案解析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、★第1题:阅读程序,选择程序的运行结果___A___。#includemain(){intx;x=try(5);printf(“%d”,x);}try(intn){if(n>0)return(n*try(n-2));elsereturn(1);} A. 15 B. 120 C. 1 D. 前面3个答案均是错误的第2题:在下列结论中,只有一个是正确的,它是___A___。 A. 递归函数中的形式参数是自动变量 B. 递归函数中的形式参数是外部变量 C. 递归函数中的形式参数是静态变量 D. 递归函数中的形式参数可以根据需要自己定义存储类型★第3题
2、:阅读程序,选择程序的输出结果__A___。#includef(intx,inty){return(y-x);}main(){int(*g)(int,int);inta=5,b=6,c=2;g=f;c=(*g)(a,b);printf(“%d”,c);} A. 1 B. 2 C. 3 D. 前面3个答案均是错误的第4题:阅读程序,选择程序的输出结果__D___。#includechar*p=”abcdefghijklmnopq”;main(){while(*p++!=’e’);printf(“%c”,*p);} A. c
3、B. d C. e D. f★第6题:阅读程序,选择程序的输出结果___D___。#includevoidprtv(int*x){printf(”%d”,++*x);}main(){inta=25;prtv(&a);} A. 23 B. 24 C. 25 D. 26第7题:阅读程序,选择程序的输出结果___B___。#includemain(){staticchara[]=”language”,b[]=”program”;char*ptr1=a,*ptr2=b;intk;for(k=0;k<7;k++)if(*(ptr1+k)
4、==*(ptr2+k))printf(”%c”,*(ptr1+k));} A. gae B. ga C. language D. 有语法错误★第8题:函数调用strcat(strcpy(str1,str2),str3)的功能是__C___。 A. 将串str1复制到串str2中,然后再连接到str3之后 B. 将串str1连接到串str2之后,再复制到str3之中 C. 将串str2复制到串str1中,然后再将串str3连接到串str1之后 D. 将串str2复制到串str1中,再将串str1连接到str3之后★第9题:设有以下程序段,则在main函数中使用语句__
5、D___是无意义的。main(){intmin();inta,b,c,(*p)();p=min;…}min(x,y)intx,y;{…} A. printf(”%d”,min(a,b)); B. c=min(a,b); C. c=(*p)(a,b); D. p++;第10题:已知staticinta[2][3]={2,4,6,8,10,12};正确表示数组元素地址的是__A___。 A. *(a+1) B. *(a[1]+2) C. a[1]+3 D. a[0][0]第11题:已知inti,x[3][4];则不能将x[1][1]的值赋给变量i的语句是___C__
6、_。 A. i=*(*(x+1)+1) B. i=x[1][1] C. i=*(*(x+1)) D. i=*(x[1]+1)★第12题:当c的值不为0时,在下列选项中能够将c的值赋给变量a、b的是___C____. A. c=b=a; B. (a=c)
7、
8、(b=c); C. (a=c)&&(b=c); D. a=c=b;第13题:函数的功能是交换变量x和y中的值,且通过正确调用返回交换的结果。能正确执行此功能的函数是___D___。 A. funa(int*x,int*y){int*p;*p=x;*x=*y;*y=*p;} B. funb(intx,inty){in
9、tt;t=x;x=y;y=t;} C. func(int*x,int*y){*x=*y;*y=*x;} D. fund(int*x,int*y){*x=*x+*y;*y=*x-*y;*x=*x-*y;}第14题:已知intx[]={1,3,5,7,9,11},*ptr=x;则不能正确引用数组元素的语句是___B___。 A. *(ptr--) B. *(--ptr) C. *(ptr++) D. *(++ptr)第15题:已知int*ptr1,*ptr2;均指向同一个int类型一维数组中的不同元素,k为int类型变量,则下面错误的赋值语句是___B___。 A.