C语言.docx
- 文档编号:8168577
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:32
- 大小:34.65KB
C语言.docx
《C语言.docx》由会员分享,可在线阅读,更多相关《C语言.docx(32页珍藏版)》请在冰豆网上搜索。
C语言
05_06C程序设计复习参考练习题
请在答案A、B、C、D中选出一个正确的答案,在对应的字母处标记“√”
1.一个C程序的执行是从【】。
A)本程序的main函数开始,到main函数结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C)本程序的main函数开始,到到本程序文件的最后一个函数结束
D)到本程序文件的第一个函数开始,到本程序的main函数结束
2.一个C语言程序是由【】。
A)一个主程序和若干子程序组成
B)函数组成
C)若干过程组成
D)若干子程序组成
3.C语言规定,在一个源程序中,main函数的位置【】
A)必须在最开始B)必须在系统调用的库函数的后面
C)可以在任何位置D)必须在最后
4.在C语言中,数字0X26是一个【】进制数
A)二B)八C)十D)十六
5.设宏定义为#define ABC(x) x*x,引用ABC(1+2*3)后的获值是【】。
A)49B)7C)14D)13
6.设说明为inta[3]={1,2},*p=a;则*p与*(p+2)的值分别是【】。
A)1和0B)0和1C)1和2D)2和0
7.设说明为inta=10;执行语句a*=1+2+3;后a的值是【】。
A)15B)24C)33D)60
8.为表示关系x≥y≥z,应使用C语言表达式【】。
A)(x>=y>=z)B)(x>=y)AND(y>=z)
C)(x>=y)&&(y>=z)D)(x>=y)&(y>=z)
9.说明语句:
inta[][3]={1,2,3,4,5,6,7,8,9};则a数组的行数为【】。
A)不确定B)1C)2D)3
10.以下程序时,从键盘输入25,13,10<回车>,则输出结果是【】。
main(){
inta1,a2,a3;
scanf(“%d,%d,%d”,&a1,&a2,&a3);
printf(“a1+a2+a3=%d\n”,a1+a2+a3);
}
A.a1+a2+a3=48B.a1+a2+a3=25
C.a1+a2+a3=10D.不确定
11.putchar函数可以向终端输出一个【】。
A)整型变量值B)实型变量值
C)字符串D)字符或字符变量
12.执行下面程序,屏幕输出的值是【】
intx;
printf(“%d\n”,(x=3*5,x+5));
A)10B)15C)20D)5
13.判断字符类型变量c是否为大写字母的正确表达式是【】。
A)’A’<=c<=’Z’B)(c>=’A’)&(c<=’Z’)
C)(c>=’A’)&&(c<=’Z’)D)(‘A’<=c)AND(‘Z’>=c)
14.C语言规定:
简单变量做实参时,它和对应形参之间的数据传递方式是【 】。
A)地址传递B)单向值传递
C)由实参传给形参,再由形参传回给实参
D)由用户指定传递方式
15.下面程序段的运行结果是【】。
char*s=”abcde”;
s+=1;
printf(“%s\n”,s);
A)bcdeB)abcdeC)abD)b
16.若有定义:
inta[2][3],则以下对a数组元素的正确引用是【】。
A)*(a+1)B)*(a[1]+2)C)&a[0][0]D)a[1]+3
17.若有定义:
ints[4][6],t[6][4],(*p)[6];,则以下正确的赋值语句是【】。
A)p=t;B)p=s[2];C)p=s;D)p=t[3];
18.若有以下定义,则数组b占用内存的字节数是【】。
charb[]=”Clanguage”
A)14B)15C)8D)11
19.设说明为charstr[6]={‘a’,’b’,’\0’,’c’,’d’,’\0’};执行printf(“%s”,str);后输出的结果是【】。
A)abcdB)abcC)abD)ad
20.定义如下变量和数组:
inti;
intx[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是【】。
for(i=0;i<3;i++)printf("%d",x[i][2-i]);
A)159B)147C)357D)369
21.有如下程序
main()
{
inta=10,b=4,c=3;
if(a
if(a printf(“%d,%d,%d\n”,a,b,c); } 运行后的输出结果是【】。 A)3,4,10B)4,4,3C)3,4,3D)10,4,3 22.在C语言中,合法的字符常量是 【】。 A)'\084'B)'\x43'C)'ab'D)"\0" 23.若有定义和语句: int**pp,*p,a=10,b=20; pp=&p;p=&a;p=&b;printf("%d\n",*p,**pp); 则输出结果是【】。 A)10,20B)10,10C)20,10D)20,20 24.若有以下定义和语句 charc1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+'A'); 则输出结果是【】。 A)2,MB)3,EC)2,ED)输出项与对应的格式控制不一致,输出结果不确定 25.在以下一组运算符中,优先级最高的运算符是【】。 A)<=B)=C)%D)&& 26.表达式(a=2,3),a+1的值是【】。 A)0B)2C)3D)4 27.若执行printf("%d\n",strlen("a\n\"\x41"))语句其输出结果是【】。 A)8B)7C)6D)4 28.在循环语句的循环体中执行break语句,其作用是【】。 A)跳出该循环体,提前结束循环 B)继续执行break语句之后的循环体各语句 C)结束本次循环,进行下次循环 D)终止程序运行 29.执行语句for(i=10;i>0;i--);后,变量i的值为【】。 A)10 B)9 C)0D)1 30.如果定义一个整型变量inta;,使该变量字节不变,而正数值的表示范围扩大一倍的方式用【】。 A)signedB)longC)unsignedD)float 31.表达式10! =9的值是【】。 A)trueB)非零值C)1D)0 32.若intx=10;则表达式x+(char)1/2.0值的类型是【】 A)intB)double C)floatD)unsigned 33.以下不属于C语言关键字的是【】。 A)caseB)byteC)doD)float 34.C语言中,以下不是正确的常量。 【】 A)543210LB)05078C)-0x41D)12345 35.以下四组中都能正确作为C语言程序标识符的是【】组。 A)printfB)sort_1 rowstring_to_float ifPI C)powD)book->name stringbook.price 1_abcA#B 36.使下列程序段输出“123,456,78”,由键盘输入数据,正确的输入是【】。 inti,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d\n”,i,j,k); A)12345678B)123,456,78C)123,45678D)123,*45678 37.判断char类型的变量c1是否为数字字符的正确表达式为【】。 A)(c1>=0)&&(c1<=9)B)(c1>=’0’)&&(c1<=’9’) C)’0’<=c1<=’9’D)(c1>=’0’)||(c1<=’9’) 38.若有语句inta=1,b=2,c=3;则以下值为0的表达式是【】。 A)’a’&&’b’B)a<=bC)(a>b)||(b (a+b)==c&&a) 39.C语言中的实数可以用多种形式表示,以下四种表示中,只有【】是错误的。 A)1)23e+6B)2)13e-4C)0.3e1.2D).1234 40.下面四个选项中,均是不合法的转义字符的选项是【】 A)'\"'B)'\1011'C)'\011'D)'\abc' '\\''\''\f''\101' '\xf''\a''\}''xlf' 41.以下符合C语言语法的赋值表达式是【】 A)d=9+e=d+9B)d=9+e,f=d+9 C)d=9+e,e++,d+9D)d=9+e++=d+7 42.若已定义: floataa=1234.5678;则执行printf(“%6.2f%d/n”,aa,(int)(aa));则输出是【】 A)1234.561234B)1234.571235C)1234.561235D)1234.571234 43.如果有inta,b;scanf(“%d,%d”,&a,&b);语句,则输入数据时,只可以用【】作为输入的分隔符 A)TAB键B)空格C)回车D), 44.若x,i,j和k都是int型变量,则计算下面表达式后,x的值为【】 x=(i=4,j=16,k=32) A)4B)16C)32D)52 45.若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是【】 A)scanf("%d%lx,%le",&x,&y,&z); B)scanf("%2d*%d,%lf",&x,&y,&z); C)scanf("%x%*d,%o",&x,&y); D)scanf("%x%o%6.2f",&x,&y,&z); 46.根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为【】 main() {charch1,ch2,ch3; 输入语句 printf("%c%c%c",ch1,ch2,ch3); } 输入形式: ABC 输出形式: AB A)scanf("%c%c%c",&ch1,&ch2,&ch3); B)scanf("%c,%c,%c",&ch1,&ch2,&ch3); C)scanf("%c%c%c",&ch1,&ch2,&ch3); D)scanf("%c%c",&ch1,&ch2,&ch3); 47.C语言中while语句中的判断表达式【】 A)可以是任意有效表达式B)必须是逻辑表达式 C)必须是关系表达式D)必须是逻辑或关系表达式 48.表达式3&&6&&9的值是【】 A)3B)0D)9D)1 49.C语言中,若对函数类型无说明,则函数的默认类型是【】 A)整型B)floatC)doubleD)指针类型 50.若已定义charch[10];则以下表达式中只有【】不是ch[1]的地址 A)ch+1B)&ch[0]+1C)ch++D)&ch[1] 51.下列四个选项作中作为C语言中的字符常量,合法的是【】。 A)‘\t’B)“c”C)3bD)abc 52.C语言程序设计中,用户定义的函数可以嵌套调用,还可以【】 A)宏调用B)递归调用C)嵌套创建D)同时定义 53.以下所列的C语言常量中,错误的是【】 A)0xFFB)078C)2LD)'\72' 54.以下选项中属于C语言的数据类型是【】 A)复数型B)逻辑型C)双精度型D)集合型 55.在C语言中,字符型(char)数据在内存中是以【】形式存储的。 A)原码B)补码C)反码D)ASCII码 56.以下变量x.、y、z均为double类型且已正确赋值,不正确的C语言表达式是【】 A)x/y%zB)x*y*zC)x/y*5.0D)x+y+(int)z 57.有以下语句charc;c=a+‘3’-’1’;执行后c的值为: 【】 A).97B).2C).99D.101 58.若定义了intx;则将x强制转化成双精度类型,应写成【】 A)(double)xB)x(double) C)double(x)D)(x)double 59.判断变量x的值在‘0’到‘9’之外,正确的表达式是【】 A)(x>’0’)&(x<=’9’)B)(x>=’0’)and(x<=’9’) C)(‘0’ 60.假设a为整型变量,表达式3&&4&&(a=2)的值为【】 A)1B)2C)3D)4 61.变量doublea=.3;是【】。 A)字符串变量B)单精度变量C)双精度变量D)整型变量62.表达式y>=(int)(45.7)*6+x^2*x是【】。 A)算数表达式B)关系表达式C)逻辑表达式D)代数表达式 63.在每一函数中,至少应当有一个【】语句,才能带出函数值。 A)returnB)局部变量C)赋值D)什么都不用 64.下列数组说明语句中语法正确的是【】. A)inta(5)B)floatA(10)C)inta[6]D)doulbleA(10) 65.C语句printf("y=%d",(9^2*8+3)%3*4);运行输出的结果是【】. A)y=0B)y=3C)8D)y=8 66.数组说明语句intb[3][4];所定义的数组元素个数是【】. A)20B)12C)6D)4 67.C语言提供的合法数据类型是【】 A)ShortB)IntC)DoubleD)float 68.下面程序的循环结束后i的值是【】 main(){inti;for(i=0;i<10;i++);printf("\n%d",i);};A)11B)9C)10D)2869.下面程序运行时的输出结果是【】 main(){inta=5; printf("\na=%d",++a+2);} A)a=6B)8C)a=5D)a=8 70.下列选项中,不正确的赋值语句是【】 A)++j;B)n1=(n2=(n3=0));C)k=i==j;D)a=b+c=1 71.若有定义inta[10]={1,2,3,4,5,6,7,8,9,10};p=&a[1]则取元素值6的表达式是【】。 A)*p+6B)*(p+4)C)*p+=5D)p+572.若有以下说明: intb[3][4]={{1,2},{3,4},{5,6}}; int(*p)[4]=b; 则取元素值数值4的表达式是【】。 A)*b[1]+1B)p++,*(p+1)C)b[2][2]D)*(*(p+1)+1)73..为表示关系x≥y≥z,应使用C语言表达式【】。 A)(x>=y)&&(y>=z)B)(x>=y>=z)C)(x>=y)AND(y>=z)D)(x>=y)&(y>=z)74..使用C语言,运算对象必须是整型的运算符是【】。 A)+B)/C)*D)%75..若定义如下变量和数组: inti;staticintx[3][3]={1,2,3,4,5,6,7,8,9}; 则执行下面的语句输出结果是是【】。 for(i=0;i<3;i++)(printf(“%d”,x[i][i]);A)357B)147C)159D)36976.若定义如下变量和数组: inti;*pstaticinta[10]={1,2,3,4,5,6,7,8,9,10};p=a;则执行下面的语句输出结果是【】。 for(i=3;i<6;i++)printf(“%d”,*(p+i));A)3456B)123C)456D)36977.下面程序输出的结果是【】。 #include main() {intm,n,o,a=2,b=3; m=(++a==--b)? -a: ++b; n=++a; o=b; printf(“m=%d,n=%d,o=%d”,m,n,o);} A)m=4,n=4,o=3B)m=4,n=3,o=4C)m=3,n=4,o=4D)m=3,n=4,o=3 78.下面程序输出的结果是【】。 #include #defineSUB(x,y)(x)*y main() {inta=3,b=4; printf(“%d”,SUB(a++,++b));}A)12B)15C)20D)16 79.若有下面的定义语句: staticcharstr[]={“abcd”},*string;下面的语句不正确的是【】 A)string=”123”;B)str=”aaaa”;C)*(str+2)=’1’;D)string=str; 80.以下错误的描述是【】 A)函数调用可以出现在执行语句中 B)出现在一个表达式中 C)作为一个函数的实参 D)作为一个函数的形参 81.在宏定义#definePI3.14159中,用宏名PI代替一个【】 A)常量B)单精度数C)双精度数D)字符串 82.若有宏定义#defineMOD(x,y)x%y 则执行以下语句后的输出为【】 intz,a=15,b=100; z=MOD(b,a); printf("%d\n",z++); A)11B)10C)6D)宏定义不合法 83.一个C语言程序是由【】 A)一个主程序和若干个子程序组成B)函数组成 C)若干过程组成D)若干子程序组成 84.C语言中,引用数组元素时,其数组下标的数据类型允许是【】 A)整型常量B)整型表达式 C)整型常量或整型表达式D)任何类型的表达式 85.下面四个选项中,不合法的用户标识符的选项是【】 A)AB)flatC)b-aD)_123 86.在C语言中,数字026是一个【】进制数 A)二B)八C)十D)十六 87.C语言中的实数可以用多种形式表示,以下四种表示中,只有【】是错误的。 A)1.23e+34B)1.23e-34C)0.3e1.2D).1234 88.在宏定义#defineFUN(a)a*a中,宏展开FUN(a)中的a用一个【】代替。 A)赋值语句B)指针变量C)字符串D)实参值 89.若floati,j;scanf(“%d%d”,&i,&j);不可以用【】作为输入的分隔符 A),B)空格C)回车D)TAB键 90.若x,i,j和k都是int型变量,则计算下面表示式后,x的值为【】x=(i=4,j=16,k=32) A)4B)16C)32D)52 91.C语言规定,在一个源程序中,main函数的位置【】 A)必须在最开始B)必须在系统调用的库函数的后面 C)可以任意位置D)必须在最后 92.表达式3&&6&&9的值是【】 A)3B)6D)9D)1 93.以下面选项中属于C语言的数据类型是【】 A)复数型B)逻辑型C)双精度型D)集合型 94.在C语言中,不正确的int类型的常数是【】 A)32768B)0C)074D)0xAF 95.C语言中,若对函数作void类型定义,则函数值的类型是【】 A)整型B)默认C)无值类型D)指针类型 96.若已定义charch[10];则以下表达式中只有【】不是ch[1]的地址 A)ch+1B)ch++C)&ch[0]+1D)&ch[1] 97.若j为整型变量,则以下循环执行次数是【】 for(j=2;j==0;)printf(“%d”,j--); A)无限次B)2次C)1次D)0次 98.执行语句for(j=1;j++<4;);后变量j的值是【】 A)3B)4C)5D)不定 99.若有说明: inta[10];则对数组元素的正确引用是【】 A)a[10];B)a[3.5]C)a(5)D)a[10-10] 100.判断字符串a和b是否相等,应当使用【】 A)if(a==b)B)if(a=b)C)if(strcpy(a,b))D)if(strcmp(a,b)==0) 101.若用数组名作为函数调用的实参,传递给形参的是【】。 A)数组的首地址B)数组第一个元素的值C)组中全部元素的值D)数组元素的个数 102.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为【】。 A)自动(auto)B)静态(static)C)外部(extern)D)寄存器(register) 103.以下选项中属于C语言的存储类型是【】 A)只读型B)逻辑型C)寄存器型D)日期型 104.在C语言中,不正确的int类型的常数是【】 A)32768B)0C)037D)0xAF 105.若a=2,b=3;则语句: printf(“%d”,(a=2)&&(b=2));的输出结果是【】 A)无输出B)结果不确定C)0D)1 106.设x.y.z和k都是int型变量,则执行表达式: x=(y=4,z=16,k=32)后,x的值为【】 A)4B)16C)32D)52 107.设有如下的变量定义: inti=8,k,a,b; unsignedlongw=5; doublex=1,42,y=5.2; 则以下符合C语言语法的表达式是【】 A)a=a+=(b=4)*(a=3)B)x%(-3); C)a=a*3=2D)y=float(i) 108.假
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言