您好,欢迎访问三七文档
当前位置:首页 > 医学/心理学 > 药学 > C语言复习题(含答案)[非自考]
1C语言练习苏州大学电子信息学院杨成友2一、单项选择题1.在计算机内部,一切信息存取、处理和传送的形式是()A)ASCⅡ码B)BCD码C)二进制D)十六进制2.在C语言中,要求运算数必须是整型的运算符是()A)%B)/C)D)!3.在C表达式中,可将某一类型的变量a强制转换成具有类型b的值,可写为()A)(b)aB)a(b)C)b(a)D)(a)b4.用#include命令包含的文件是()A)目标文件B)可执行文件C)源程序文件D)二进制文件5.关系表达式x=y=z,应使用C语言表达式()A)(x=y)&&(y=z)B)(x=y).and.(y=z)C)(x=y=z)D)(x=y)&(y=z)6.以下叙述中正确的是()A)在程序的一行上可以出现多个有效的预处理命令行B)使用带参的宏时,参数的类型应与宏定义时的一致C)宏替换不占用运行时间,只占编译时间D)在定义:#defineCR405中,CR是称为“宏名”的标识符37.在函数中未指定存储类别的变量,其隐含存储类别为()A)静态B)自动C)外部D)存储器8.C语言的函数体中,下面正确的是()A)可以定义和调用其他函数B)可以调用但不能定义其他函数C)不可调用但可以定义其他函数D)不可调用及定义其他函数9.下面对结构数据类型的叙述中错误的是()A)结构变量可以在说明结构类型后定义,也可在说明结构时定义B)结构可由若干个成员组成,各成员的数据类型可以不同C)定义一个结构类型后,编译程序要为结构的各成员分配存储空间D)结构变量的各成员可通过结构变量名和指向结构变量的指针引用10.C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是()A)地址传递B)由用户指定传递方式C)由实参传给形参,并由形参传回来给实参D)值传递11.退出一个循环语句(不终止函数的执行)的有效措施是()A)用break语句B)用continue语句C)用return语句D)用exit语句12.已知:charc=’A’;inti=1,j;执行语句j=!(c&&i++);则i和j的值是()A)1,0B)1,1C)2,1D)2,0413.下面关于字符串的说明中,错误的是()A)char*str=“Clanguage“;B)charstr[]=“Clanguage”;C)charstr[10]=“Clanguage”;D)charstr[]={‘C’,‘’,‘l’,‘a’,‘n’,‘g’,‘u’,‘a’,‘g’,‘e’,‘\0’};14.设有变量说明:intx;则表达式(x=4*5,x*5),x+25的值为()A)20B)45C)100D)12515.C语言中,决定函数返回值类型的是()A)return语句中的表达式类型B)调用该函数的主调函数类型C)定义函数时所指定的函数类型D)传递给函数的实参类型16.执行下列程序段后,变量i的值是()inti=10switch(i){case9:i+=1;case10:i+=1;case11:i+=1default:i+=1}A)13B)12C)11D)14517.以下叙述中正确的是()A)C语言的源程序不必通过编译就可以直接运行B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令C)C源程序经编译形成的二进制代码可以直接运行D)C语言中的函数不可以单独进行编译18.若以下选项中的变量已正确定义,则正确的赋值语句是()A)x1=26.8%3B)1+2=x2C)x3=0x12D)x4=1+2=319.设有定义:floata=2,b=4,h=3;,以下C语言表达式与代数式的计算结果不相符的是()A)(a+b)*h/2B)(1/2)*(a+b)*hC)(a+b)*h*1/2D)b/2*(a+b)20.有以下程序,执行后输出结果是()#definef(x)x*xmain(){inti;i=f(4+4)/f(2+2);printf(“%d\n”,i);}A)28B)22C)16D)421.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是()A)chars[10]=”abcdefg”;B)chart[]=”abcdefg”,*s=t;C)chars[10];s=”abcdefg”;D)chars[10];strcpy(s,”abcdefg”);622.下述标识符中,合法的用户标识符是()A)A#CB)getchC)voidD)ab*23.在C语言中,字符型数据在内存中的存放形式是()A)原码B)BCD码C)反码D)ASCII码24.若int类型的数据长度为2字节,则unsignedint类型数据的取值范围是()A)0~255B)0~65535C)-32768~32767D)-256~25525.一个C语言程序的组成是()A)主程序B)子程序C)函数D)过程26.以下述叙不正确的是()A)一个C源程序可以由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中注释说明只能位于一条语句的后面27.以下选项中合法的字符常量是()A)BB)'\010'C)68D)D28.设x、y均为整型变量,且x=10y=3,则以下语句的输出结果是()printf(%d,%d\n,x--,--y);A)10,3B)9,3C)9,2D)10,2729.t为int类型,进人下面的循环之前,t的值为0,则以下叙述中正确的是()while(t=l){……}A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对30.以下选项中,非法的字符常量是()A)'\t'B)'\17'C)nD)'\x23'31.以下程序执行后sum的值是()main(){inti,sum;for(i=1;i6;i++)sum+=i;printf(%d\n,sum);}A)15B)14C)不确定D)032.有以下程序段,其输出结果是()intx=3;do{printf(%d,x-=2);}while(!(--x));A)1-2B)30C)1D)死循环833.以下程序的输出结果是()fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(5,2,a);printf(%d,a);}A)0B)29C)31D)无定值34.设有以下说明语句,则下面的叙述中不正确的是()structex{intx;floaty;charz;}example;A)struct是结构体类型的关键字B)example是结构体类型名C)x,y,z都是结构体成员名D)structex是结构体类型35.若有以下程序段,则执行后,c3中的值是()intc1=1,c2=2,c3;c3=1.0/c2*c1;A)0B)0.5C)1D)2936.有如下程序,该程序的输出结果是()main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++case2:a++;b++}printf(“a=%d,b=%d\n”,a,b);}A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=237.有如下程序,该程序的执行结果是()main(){intx=23;do{printf(“%d”,x--);}while(!x);}A)321B)23C)不输出任何内容D)陷入死循环38.有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句含有的实参个数是()A)3B)4C)5D)有语法错1039.有如下程序,该程序中的for循环执行的次数是()#defineN2#defineMN+1#defineNUM2*M+1#main(){inti;for(i=1;i=NUM;i++)printf(“%d\n”,i);}A)5B)6C)7D)840.设intx=1,y=1;表达式(!x||y--)的值是()A)0B)1C)2D)-141.下面程序的输出是()main(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf(%d\n,*(p+2));}A)3B)4C)1D)242.下面程序的输出是()main(){inta=-1,b=4,k;k=(a++=0)&&(!(b--=0));printf(%d%d%d%\n,k,a,b);}A)003B)012C)103D)1121143.下面程序的输出是()intm=13;intfun2(intx,inty){intm=3;return(x*y-m);}main(){inta=7,b=5;printf(%d\n,fun2(a,b)/m);}A)1B)2C)7D)1044.下面程序的输出是()#defineX5#defineYX+1#defineZY*X/2main(){inta;a=Y;printf(“%d%d\n”,Z,--a);}A)75B)126C)125D)761245.设有说明:intx,y,z,m=10,n=5;执行下面三个语句,则x,y,z的值分别是()x=(――m==n++)?――m:++n;y=m++;z=n;A)7,9,7B)5,9,7C)6,11,5D)10,11,1046.以下程序段中与语句k=ab?(bc?1:0):0;功能等价的是()A)if((ab)&&(bc))k=1;B)if((ab)||(bc))k=1elsek=0;elsek=0;C)if(a=b)k=0;D)if(ab)k=1;elseif(b=c)k=1;elseif(bc)k=1;elsek=0;1347.以下程序的输出结果是()unionmyun{struct{intx,y,z;}u;intk;}a;main(){a.u.x=4;a.u.y=5;a.u.z=6;a.k=0;printf(%d\n,a.u.x);}A)4B)5C)6D)048.以下程序的输出结果是()#defineSQR(X)X*Xmain(){inta=16,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf(d\n,a);}A)16B)2C)9D)11449.下列程序的输出结果是()intb=2;intfunc(int*a){b+=*a;return(b);}main(){inta=2,res=2;res+=func(&a);printf(%d\n,res);}A)4B)6C)8D)1050.变量a所占内存字节数是()unionU{charst[4];inti;longl;};structA{intc;unionUu;}a;A)4B)5C)6D)851.下列四组转义字符中,均合法的一组是()A)'\t''\\''\n'B)'\''\017''\x'C)'\018''\f''\xad'D)'\\0''\101''xif'151.下列程序的输出结果是()main(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf(%d\n,d*y);}A)3B)3.2C)0D)3.072.如果按字长来划分,微机可以分为8位机、16位机、32位机和64位机。所谓32位机是指该计算机所用的CPU()A)同时能处理32位二进制数B)具有32位的寄存器C)只能处理32位二进制数D)有32个寄存器3.设x,y和z均为float型变量,则以下不合法的赋值语句是()A)++x;B)y=(x%2)/10;C)x*=y+8;D)x=y=0;4.若对一个函数执行在先,说明在后,C语言将视其返回值为()A)非法B)无返回值C)浮点值D)整型值5.inta1=10,a2=3;floata3=8.0;若程序
本文标题:C语言复习题(含答案)[非自考]
链接地址:https://www.777doc.com/doc-3169695 .html