您好,欢迎访问三七文档
当前位置:首页 > 医学/心理学 > 药学 > C机考复习题 含答案
一、单选1.以下说法中正确的是(C)A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分2.下选项中不是C语句的是(C)。A){inti;i++;printf(“%d\n”,i);}B);C)a=5,c=10D){;}3.以下选项中不能作为C语言合法常量的是(A)A)'cd'B)0.1e+6/指数形式0.1^6C)\a转义字符D)'\011’8进制4.若x,a,b和c均是int型变量,则执行表达式x=(a=1,b=2)后x的结果为(B)。A)1B)2C)3D)不确定5.以下能正确定义整型变量a,b和c并为其赋初值1的语句是(D)。A)inta=b=c=1;B)inta,b,c=1;C)a=b=c=1;D)inta=1,b=1,c=1;6.字符串\t\065\xff\n中的字符数(不算’\0’)为(D)A)5B)14C)8D)47.对两个静态函数A和B进行如下初始化:charA[]=ABCDEF;charB[]={'A','B','C','D','E','F'};则下列叙述正确的是(D)。A)A和B完全相同B)A和B只是长度相等C)A和B不相同,A是指针数组D)A数组长度比B数组长A-8B-68.若有以下定义:chara;intb;floatc;doubled;则表达式a*b+d-c值的类型为(D)A)floatB)intC)char(字符型)D)double9.在C语言中,运算对象必须是整型数的运算符是(A)A)%B)/C)%和\D)**10.有以下程序main(){intx,y,z;x=y=1;z=x++,y++,++y;printf(%d,%d,%d\n,x,y,z);}程序运行后的输出结果是(C)A)2,3,3B)2,3,2C)2,3,1D)2,2,111.以下选项中,当x为大于1的奇数时,值为0的表达式是(D)A)x%2==11为真,0为假B)x/2C)x%2!=0D)x%2==012.以下程序的输出结果是(C)。main(){intx=10,y=3;printf(%d\n,y=x/y);}A)0B)1C)3D)不确定的值13.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是(C)A)-33*3=93-9=-6-6-6=-12B)9C)-12D)614.已知字符A的ASCII码为十进制的65,下面程序的输出是(A)main(){charch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf(%d,%c\n,ch1,ch2);}A)67,DB)B,CC)C,DD)不确定的值15.有以下程序main(){chara='a',b;printf(%c,,++a);printf(%c\n,b=a++);}程序运行后的输出结果是(A)A)b,bB)b,cC)a,bD)a,c16.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=ab)&&(n=cd)运算后,n的值为(C)赋值运算符的优先级小于比较的优先级A)0在含有||和&&的表达式中,尽量使用最少的操作。第一步为假,第二步就不会再计算B)1C)2D)317.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为(C)A)不定值B)4C)3D)118.有以下程序段intk=0;while(k=1)k++;while循环执行的次数是(A)A)无限次B)有语法错,不能执行C)一次也不执行D)执行1次19.能正确表示逻辑关系“a=10或a=0”的C语言表达式是(D)A)a=10ora=10B)a=0|a=10C)a=10&&a=0D)a=10||a=020.表示关系x≤y≤z的c语言表达式为(A)A)(x=y)&&(y=z)B)(x=y)AND(y=z)C)(x=y=z)D)(x=y)&(y=z)21.设有:inta=1,b=2,c=3,d=4,m=3,n=3;执行(m=ab)||(n=cd)后n的值为(A)。A)0B)1C)2D)322.以下关于逻辑运算符两侧运算对象的叙述中正确的是(D)A)只能是整数0或1B)只能是整数0或非0整数C)可以是结构体类型的数据D)可以是任意合法的表达式23.若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf(%d,(x,y));上面程序片段的输出结果是(A)A)200B)100C)100200D)输出格式符不够,输出不确定的值24.以下程序的输出结果是(D)main(){intk=17;printf(%d,%o,%x\n,k,k,k);}A)17,021,0x11B)17,17,17C)17,0x11,021D)17,21,1125.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)。A)INPUTx、y、z;B)scanf(%d%d%d,&x,&y,&z);与printf相似,但不具有提示功能C)scanf(%d%d%d,x,y,z);D)read(%d%d%d,&x,&y;&z);26.有以下程序main(){inti;for(i=0;i3;i++)switch(i){case0:prinft(%d,i);case2:prinft(%d,i);default:prinft(%d,i);}}程序运行后的输出结果是(C)A)022111B)021021C)000122D)01227.C语言中用于结构化程序设计的三种基本结构是(A)A)顺序结构、选择结构、循环结构B)if、switch、breakC)for、while、do-whileD)if、for、continue28.若执行下面的程序时从键盘上输入5,则输出是(B)++的优先级大于main(){intx;scanf(%d,&x);if(x++5)printf(%d\n,x);elseprintf(%d\n,x--);}A)7B)6C)5D)429.在嵌套使用if语句时,C语言规定else总是(C)A)和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对C)和之前与其最近的且不带else的if配对D)和之前的第一个if配对30.设有以下程序片段:switch(X){case'A':printf(A);case'B':printf(B);default:printf(error);}假设X='A',程序输出结果是(D)A)AB)BC)errorD)ABerror31.读程序:main(){intnum=0;while(num=2){num++;printf(%d,num);}}上面程序的输出结果是(C)A)1B)22C)123D)123432.下述语句执行后,变量k的值是(B)。intk=1;while(k++10);A)10B)11C)9D)此为无限循环,值不定33.以下程序段的执行结果是(A)。intx=5;do{printf(%2d\n,x--);}while(!x);A)5B)无任何输出C)4D)陷入死循环34.设变量已正确定义,则以下能正确计算f=n!的程序段是(D)A)f=0;for(i=1;i=n;i++)f*=i;B)f=1;for(i=1;in;i++)f*=i;C)f=1;for(i=n;i1;i++)f*=i;D)f=1;for(i=n;i=2;i--)f*=i;35.以下程序的输出结果是(D)。main(){inta,b;for(a=1,b=1;a=100;a++){if(b=10)break;if(b%3==1){b+=3;continue;}}printf(%d\n,a);}A)101B)6C)5D)436.下列合法的数组定义是(D)。A)inta[]=string;B)inta[5]={0,1,2,3,4,5};C)chara=string;D)chara[]={0,1,2,3,4,5}37.以下定义语句中,错误的是(D)A)inta[]={1,2};B)char*a[3];指针数组C)chars[10]=test;D)intn=5,a[n];38.以下正确的数组定义语句是(D)。A)inty[1][4]={1,2,3,4,5};B)floatx[3][]={{1},{2},{3}};可以省第一个,不可以省第二个C)longs[2][3]={{1},{1,2},{1,2,3}};D)intm[1][4]={4};39.以下程序的输出结果是(C)。main(){inti,a[10];for(i=9;i=0;i--)a[i]=10-i;printf(%d%d%d,a[2],a[5],a[8]);}A)258B)741C)852D)36940.下面的程序中(C)有错误(每行程序前面的数字是行号)。1#includestdio.h2main()3{floats[5];4inti,sz=0;5for(i=0;i5;i++)6scanf(%d,&s[i]);7for(i=0;i5;i++)8sz+=s[i];9printf(\n%f,(float)sz);10}A)没有错误B)第4行错误C)第6行错误D)第9行错误41.若有定义语句:inta[3][6];,按在内存中的存放顺序,a数组的第10个元素是(B)A)a[0][4]第三行,第六列B)a[1][3]C)a[0][3]D)a[1][4]42.以下数组定义中不正确的是(D)A)inta[2][3];B)intb[][3]={0,1,2,3};C)intc[100][100]={0};D)intd[3][]={{1,2},{1,2,3},{1,2,3,4}};43.以下程序的输出结果是(A)。main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf(%d%d%d%d\n,a[0][3],a[1][2],a[2][1],a[3][0]);}A)0650B)1470C)5430D)输出值不定44.若二维数组a有m列,则在a[i][j]前的元素个数为(B)。A)j*m+iB)i*m+jC)i*m+j-1D)i*m+j+145.以下程序的输出结果是(B)main(){charcf[3][5]={AAAA,BBB,CC};printf(\%s\\n,cf[1]);;}A)AAAAB)BBBC)BBBCCD)CC46.设有数组定义:chararray[]=China;则数组array所占的空间为(C)A)4个字节B)5个字节C)6个字节D)7个字节47.以下选项中,不能正确赋值的是(A)。A)chars1[10];s1=Ctest;B)chars2[]={'C','t','e','s','t'};C)chars3[20]=Ctest;D)char*s4=Ctest\n;48.给出以下定义:charx[]=abcdfeg;chary[]={'a','b','c','d','e','f','g'};则正确的叙述为(C)。A)数组x和数组y等价B)数组x和数组y长度相同C)数组x的长度大于数组y的长度D)数组x的长度小于数组y的长度49.设有:charstr[]=Beijing;则执行:printf(%d\n,strlen(strcpy(str,China)));后的输出结果为(A)。A)5B)7C)12D)1450.若要求从键盘读入含有空格字符的字符串,应使用函数(B)A)getc()B)gets()C)getchar()D)scanf()51.有语句:charstr1[10],str2[10]={books};则能将字符串books赋给数组str1的正确语句是(B)。A)str1={Books};B)strcpy(str1,str2
本文标题:C机考复习题 含答案
链接地址:https://www.777doc.com/doc-3872845 .html