练习题•main()•{intx=10;•inty=x++;•printf(%d,%d,(x++,y),y++);•}•11,10分析程序的运行结果•main()•{intm=0256,n=256;•printf(%o,%o\n,m,n);•}•256,400•以每行4个数据的形式输出数据•inta[20]={1,2,3,4,5};•for(I=0;I20;I++)•{printf(%d,a[I]);•if((I+1)%4==0)printf(\n);•}1.一个C程序的执行是从【】。A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序的main函数结束A2.一个C语言程序是由【】。A)一个主程序和若干子程序组成B)函数组成C)若干过程组成D)若干子程序组成B3.C语言规定,在一个源程序中,main函数的位置【】。A)必须在最开始B)必须在系统调用的库函数的后面C)可以在任何位置D)必须在最后c4.在C语言中,数字0X26是一个【】进制数A)二B)八C)十D)十六d5.设宏定义为#defineABC(x)x*x,引用ABC(1+2*3)后的获值是【】。A)49B)7C)14D)13D6.设说明为inta[3]={1,2},*p=a;则*p与*(p+2)的值分别是【】。A)1和0B)0和1C)1和2D)2和0A7.设说明为inta=10;执行语句a*=1+2+3;后a的值是【】。A)15B)24C)33D)60d8.为表示关系x≥y≥z,应使用C语言表达式【】。A)(x=y=z)B)(x=y)AND(y=z)C)(x=y)&&(y=z)D)(x=y)&(y=z)c9.说明语句:inta[][3]={1,2,3,4,5,6,7,8,9};则a数组的行数为【】。A)不确定B)1C)2D)3d10.以下程序运行时,从键盘输入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=25C.a1+a2+a3=10D.不确定A11.putchar函数可以向终端输出一个【】。A)整型变量值B)实型变量值C)字符串D)字符或字符变量D12.执行下面程序,屏幕输出的值是【】intx;printf(“%d\n”,(x=3*5,x+5));A)10B)15C)20D)5C13.判断字符类型变量c是否为大写字母的正确表达式是【】。A)’A’=c=’Z’B)(c=’A’)&(c=’Z’)C)(c=’A’)&&(c=’Z’)D)(‘A’=c)AND(‘Z’=c)C14.C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是【】。A)地址传递B)单向值传递C)由实参传给形参,再由形参传回给实参D)由用户指定传递方式B15.下面程序段的运行结果是【】。char*s=”abcde”;s+=1;printf(“%s\n”,s);A)bcdeB)abcdeC)abD)bA16.若有定义:inta[2][3],则以下对a数组元素的正确引用是【】。A)*(a+1)B)*(a[1]+2)C)&a[0][0]D)a[1]+3B17.若有定义:ints[4][6],t[6][4],(*p)[6];,则以下正确的赋值语句是【】。A)p=t;B)p=s[2];C)p=s;D)p=t[3];C18.若有以下定义,则数组b占用内存的字节数是【】charb[]=”Clanguage”A)14B)15C)8D)11D19.设说明为charstr[6]={‘a’,’b’,’\0’,’c’,’d’,’\0’};执行printf(“%s”,str);后输出的结果是【】。A)abcdB)abcC)abD)adC20.定义如下变量和数组:inti;intx[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是【】。for(i=0;i3;i++)printf(%d,x[i][2-i]);A)159B)147C)357D)369C21.有如下程序main(){inta=10,b=4,c=3;if(ab)a=b;if(ac)a=c;printf(“%d,%d,%d\n”,a,b,c);}运行后的输出结果是【】。A)3,4,10B)4,4,3C)3,4,3D)10,4,3D22.在C语言中,合法的字符常量是【】。A)'\084'B)'\x43‘C)'ab'D)\0B23.若有定义和语句: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,20D24.若有以下定义和语句charc1='b',c2='e';printf(%d,%c\n,c2-c1,c2-'a'+A);则输出结果是【】。A)2,MB)3,EC)2,ED)输出项与对应的格式控制不一致,输出结果不确定B25.在以下一组运算符中,优先级最高的运算符是【】A)=B)=C)%D)&&C26.表达式(a=2,3),a+1的值是【】。A)0B)2C)3D)4C27.若执行printf(%d\n,strlen(a\n\\x41))语句其输出结果是【】。A)8B)7C)6D)4D28.在循环语句的循环体中执行break语句,其作用是【】。A)跳出该循环体,提前结束循环B)继续执行break语句之后的循环体各语句C)结束本次循环,进行下次循环D)终止程序运行A29.执行语句for(i=10;i0;i--);后,变量i的值为【】A)10B)9C)0D)1c30.如果定义一个整型变量inta;,使该变量字节不变,而正数值的表示范围扩大一倍的方式用【】。A)signedB)longC)unsignedD)floatc31.表达式10!=9的值是【】。A)trueB)非零值C)1D)0c32.若intx=10;则表达式x+(char)1/2.0值的类型是【】A)intB)doubleC)floatD)unsignedb33.以下不属于C语言关键字的是【】。A)caseB)byteC)doD)floatb34.C语言中,以下不是正确的常量。【】A)543210LB)05078C)-0x41D)12345b35.以下四组中都能正确作为C语言程序标识符的是【】组。A)printfB)sort_1rowstring_to_floatifPIC)powD)book-namestringbook.price1_abcA#Bb36.使下列程序段输出“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,*45678c37.判断char类型的变量c1是否为数字字符的正确表达式为【】。A)(c1=0)&&(c1=9)B)(c1=’0’)&&(c1=’9’)C)’0’=c1=’9’D)(c1=’0’)||(c1=’9’)b38.若有语句inta=1,b=2,c=3;则以下值为0的表达式是【】。A)’a’&&’b’B)a=bC)((ab)||(bc))D)(!(a+b)==c&&a))d39.C语言中的实数可以用多种形式表示,以下四种表示中,只有【】是错误的。A)23e+6B)13e-4C)0.3e1.2D).1234c40.下面四个选项中,均是不合法的转义字符的选项是【】A)'\'B)'\1011‘C)'\011'D)'\abc''\\''\''\f''\101''\xf‘'\a‘'\}''xlf'b41.以下符合C语言语法的赋值表达式是【】A)d=9+e=d+9B)d=9+e,f=d+9C)d=9+e,e++,d+9D)d=9+e++=d+7B42.若已定义:floataa=1234.5678;则执行printf(“%6.2f%d/n”,aa,(int)(aa));则输出是【】A)1234.561234B)1234.571235C)1234.561235D)1234.571234d43.如果有inta,b;scanf(“%d,%d”,&a,&b);语句,则输入数据时,只可以用【】作为输入的分隔符A)TAB键B)空格C)回车D),d44.若x,i,j和k都是int型变量,则计算下面表达式后,x的值为【】x=(i=4,j=16,k=32)A)4B)16C)32D)52c46.根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为【】main(){charch1,ch2,ch3;输入语句printf(%c%c%c,ch1,ch2,ch3);}输入形式:ABC输出形式:ABA)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);a47.C语言中while语句中的判断表达式【】A)可以是任意有效表达式B)必须是逻辑表达式C)必须是关系表达式D)必须是逻辑或关系表达式a48.表达式3&&6&&9的值是【】A)3B)0D)9D)1d49.C语言中,若对函数类型无说明,则函数的默认类型是【】A)整型B)floatC)doubleD)指针类型a50.若已定义charch[10];则以下表达式中只有【】不是ch[1]的地址A)ch+1B)ch++C)&ch[0]+1D)&ch[1]b51.下列四个选项作中作为C语言中的字符常量,合法的是【】。A)‘\t’B)“c”C)3bD)abca52.构成C语言程序的基本单位是【】A)过程B)函数C)语句D)命令B53.以下所列的C语言常量中,错误的是【】A)0xFFB)078C)2LD)'\72'b54.以下选项中属于C语言的数据类型是【】A)复数型B)逻辑型C)双精度型D)集合型c55.在C语言中,字符型(char)数据在内存中是以【】形式存储的。A)原码B)补码C)反码D)ASCII码d56.以下变量x.、y、z均为double类型且已正确赋值,不正确的C语言表达式是【】A)x/y%zB)x*y*zC)x/y*5.0D)x+y+(int)za57.有以下语句charc;c=a+‘3’-’1’;执行后c的值为:【】A)97B)2C)99D)101c58.若定义了intx;则将x强制转化成双精度类型,应写成【】A)(double)xB)x(double)C)double(x)D)(x)doublea59.判断字符型变量s1的值在‘0’到‘9’之间,正确的表达式是【】A)(s1=’0’)&(s1=’9’)B)(s1=’0’)and(s1=’9’)C)(‘0’=s1=’9’)D)(s1=’9’)&&(s1=’0’)d60.假设a为整型变量,表达式3&&4&&(a=2)的值为【】A)1B)2C)3D)4a61.变量doublea=.3;是【】。A)字符串变量B)单精度变量C)双精度变量D)整形变量c62.表达式y=int(45.7)*6+x^2*x是【】。A)算数表达式B)关系表达式C)逻辑表达式D)代数表达式b63.在每一函数中,至少应当有一个【】语句,才能带出函数值。A)returnB)局部变量C)赋值D)什么都不用a64.下列数组说明语句中语法正确的是【】.A)inta(5)B)floatA(10)C)inta[6]D)doulbleA(10)c