资源描述:
《C语言重修复习.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C语言综合练习题(一)一选择题1.设a为整型变量,初值为12,执行完语句a+=a-=a*a后,a的值是()A552B144C264D-2642.下列标识符中,不能作为合法的C用户定义标识符的是。()Aa3_b3BvoidC_123DIF3.下列整数值中,不正确的八进制或十六进制数值常量是。()A0xcdB-017C-ox123D0xfdc4.若给定条件表达式(M)?(a++):(a--),则其中表达式M和()等价。AM==0BM=1CM!=1DM!=05.在C语言中,if语句后的一对圆括号中,用以决定分
2、支流程的表达式为()。A只能是逻辑表达式B只能是关系表达式C只能是逻辑表达式或关系表达式D可以是任意表达式6.以下程序的输出结果为()。#includevoidmain(){charc;inti;for(i=65;i<68;i++){c=i+32;switch(c){case‘a’:printf("%c,",c);break;case‘b’:case‘e’:printf("ok,");default:printf("end");}}}Aa,ok,endBa,ok,endendCa,ok
3、,end,endDa,ok,ok(B)7.数组名作为实参数传递给函数时,数组名被处理为()。A该数组的长度B该数组的元素个数C该数组的首地址D该数组中各元素的值8.关于return语句,下列正确的说法是()。A可以在同一函数中出现多次B在主函数中不能出现C必须在每个函数中出现D只能在除主函数之外的函数中出现一次9.以下程序的输出结果为()。#defineA3#defineB(a)(A+1)*a#includevoidmain(){intx;x=3*A+B(7);printf("x=%d
4、",x);}Ax=93Bx=37Cx=60Dx=9010.设有以下定义,则以下对变量w的赋值()是错误的。enumweek{sun,mon=4,tue,wed,thu,fri,sat}w;Aw=sun;Bw=(enumweek)4;Cw=san;Dw=(enumweek)9;11.以下定义结构体类型st1,其中正确的是()。Atypedefstructstudent{intnum;intage;}STD;STDst1;Bstructst1{intnum,age;}s;Cstruct{intnum;f
5、loatage;}st1;Dstructst1{intnum;intage;};12.若有下面的变量定义,以下语句中合法的是()。inti,a[10],*p;Ap=a+2;Bp=a[5];Cp=a[2]+2;Dp=&(i+2);13.设有说明int*ptr[3];,其中标识符ptr是()。A是一个指向整形变量的指针B是一个指针,它指向一个具有三个整形元素的一维数组C是一个指针数组名,每个元素是一个指向整形变量的指针D定义不合法14.要打开一个已存在的非空文件“file”用于修改,选择正确的语句()。Af
6、p=fopen("file","r");Bfp=fopen("file","w");Cfp=fopen("file","r+");Dfp=fopen("file","w+");二判断对错,对的划“√”,错的划“×”1.在TurboC中,实型数据在内存中占4个字节。()2.若有形参定义:inta[10];则a++是合法的表达式。()3.若有宏定义:#definePI3.14i5926,则系统预编译时会报错。()4.函数的递归调用不过是一个函数直接地调用它自身。()5.定义在main函数后的任何函数都需在m
7、ain中进行函数声明。()6.若有定义:inta;则scanf(“%d",a);可以给变量a赋值。()7.任何数组在使用前必须先定义。()8.在int*p;和语句printf(“%d”,*p);中的*p含义相同。()9.共用体变量的各个成员所占内存单元的地址相同。()10.在使用缓冲文件系统时,与文件输入和输出相关的数据都先送到缓冲区中。()三写出下列程序的运行结果1.#includevoidmain(){charc1=‘A’,c2=‘144’,c3=‘x44’,inti=0122
8、,j=0xa4;printf(“c1=%c,c4=%ctc5=%c”,c1,c2,c3);printf(“%d,%d”,i,j);}2.#includevoidmain(){intx,y=1,z=10;if(y!=0)x=5;printf(“x=%dt”,x);x=1;if(z<0)if(y>0)x=3;elsex=5;printf(“x=%d”,x);if(z=y<0)x=3;elseif(y==0)x