您好,欢迎访问三七文档
当前位置:首页 > 医学/心理学 > 药学 > C语言期末复习题附答案
1、凡是函数中未指定存储类型的局部变量,其隐含的存储类型为(A)。A、autoB、staticC、externD、register2、若有定义:int*ptr[6];则标识符ptr(B)。A、是一个指向整形变量的指针B、是一个指针数组名C、是一个指针,它指向一个含有四个整形元素的一维数组D、说明不合法3、结构化程序设计的基本结构主要是(D)A、分支结构、平行结构、循环结构B、分支结构、函数结构、循环结构C、平行结构、选择结构、函数结构D、顺序结构、选择结构、循环结构4、一个C程序中,主函数的个数是(B)。A、2个B、1个C、任意个D、10个5、在VisualC++6、0环境下,C源程序文件名的默认后缀是(A)。A、、cppB、、exeC、、objD、、dsp6、根据C语言的语法规则,下列(B)是用户定义的合法标识符A、elseB、ElseC、user$2D、5_object7、以下叙述中正确的是(C)。A、break语句只能用于switch语句体中B、continue语句的作用是:使程序的执行流程跳出包含它的所有循环C、break语句只能用在循环体内和switch语句体内D、在循环体内使用break语句和continue语句的作用相同8、若定义intx=136,y;,执行语句y=x/10%10;后y的值是(B)A、1B、3C、6D、09、下列关于C语言注释的叙述中错误的是(D)。A、以/*开头并以*/结尾的字符串为C语言的注释内容B、注释可出现在程序中的任何位置,用来向用户提示或解释程序的意义C、程序编译时,不对注释作任何处理D、程序编译时,需要对注释进行处理10、若有定义:intx,a;则语句x=(a=3,a+1);运行后,x、a的值依次为(C)。A、3,3B、4,4C、4,3D、3,411、以下程序运行结果是(A)voidmain(){intx=28;do{printf(%d,x--);}while(!x);}A、28B、27C、26D、012、如果a=1,b=2,c=3,d=4,则条件表达式ab?a:cd?c:d的值为(A)。A、1B、2C、3D、413、下列关于C语言注释的叙述中错误的是(D)。A、以/*开头并以*/结尾的字符串为C语言的注释内容B、注释可出现在程序中的任何位置,用来向用户提示或解释程序的意义C、程序编译时,不对注释作任何处理D、程序编译时,需要对注释进行处理14、定义如下变量和数组:intk;inta[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是(A)for(k=0;k3;k++)printf(“%d”,a[k][2-k]);A、357B、369C、159D、14715、C语言对嵌套if语句的规定是:else总是与(D)配对。A、其之前最近的ifB、第一个ifC、缩进位置相同的ifD、其之前最近的且没与其他else配对的if16、有以下程序段inta,b,c;a=10;b=50;c=30;if(ab)a=b,b=c,c=a;printf(〞a=%db=%dc=%d\n〞,a,b,c);程序的输出结果是(B)。A、a=10b=50c=10B、a=10b=50c=30C、a=10b=30c=10D、a=50b=30c=5017、判断字符串a和b是否相等,应当使用(D)A、if(a==b)B、if(a=b)C、if(strcpy(a,b))D、if(strcmp(a,b))18、以下结果为整数的表达式(设有inti;charc;floatf;)(B)。A、i+fB、i*cC、c+fD、i+c+f19、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)。A、INPUTx、y、z;B、scanf(%d%d%d,&x,&y,&z);C、scanf(%d%d%d,x,y,z);D、read(%d%d%d,&x,&y,&z);20、下列叙述正确的是(B)A、函数的定义允许嵌套,但函数的调用不允许嵌套B、函数的定义不允许嵌套,但函数的调用允许嵌套C、函数的定义和调用都不允许嵌套D、函数的定义和调用都允许嵌套21、当执行以下程序时,(C)。#includestdio、hvoidmain(){inta;while(a=5)printf(%d,a--);}A、循环体将执行5次B、循环体将执行0次C、死循环D、循环体将执行4次22、若已定义:int*p,a;,以下正确的语句是(D)A、p=*a;B、a=p;C、a=*p;D、p=&a;23、如果在一个函数中的复合语句中定义了一个变量,则该变量(A)。A、只在该复合语句中有效B、在该函数中有效C、在本程序范围内有效D、为非法变量24、以下叙述中错误的是(B)。A、用户自定义的函数中可以没有return语句B、用户自定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值C、用户自定义的函数中若没有return语句,则应当定义函数为void类型D、函数的return语句中可以没有表达式25、若有说明:ints[15];则对a数组元素的正确引用是(D)。A、s[15]B、s[3、5]C、s(5)D、s[15-15]26、执行inta[][4]={2,3,5,7,8,9,11,13,15};语句后,a[1][2]的值是(A)A、11B、3C、5D、927、下面是s的初如始化,其中不正确的是(D)。A、chars[5]={abc};B、chars[5]={‘a’,‘b’,‘c’};C、chars[5]=;D、chars[5]=abcdef;28、以下程序运行结果是(B)#defineM(x,y,z)x*y*z#includestdio、hvoidmain(){inta=1,b=2,c=3;printf(%d\n,M(a+b,b+c,c+a));}A、60B、15C、20D、程序错误29、在C语言中,只有在使用时才占用内存单元的变量,其存储类型是(A)。A、auto和registerB、extern和registerC、auto和staticD、static和register30、如下表述中,判断字符数组a和b中所存储的字符串是否相等的选项是(D)。A、a==bB、a=bC、strcpy(a,b)D、strcmp(a,b)31、在以下关于带参数宏定义的描述中,正确的说法是(A)。A、宏名和它的参数都无类型B、宏名有类型,它的参数无类型C、宏名无类型,它的参数有类型D、宏名和它的参数都有类型32、在C语言中,二维数组元素在内存中的存放顺序是(A)A、按行存放B、按列存放C、由用户自己定义D、由编译器决定33、以下不正确的叙述是(C)。A、在C程序中,逗号运算符的优先级最低B、在C程序中,APH和aph是两个不同的变量C、在C程序中,无论是整数还是实数,都能被准确无误的表示D、在C程序中,%是只能用于整数运算的运算符34、下面正确的函数定义形式是(A)。A、doublefun(intx,inty){……}B、doublefun(intx;inty){……}C、doublefun(intx,inty);{……}D、doublefun(intx,y;){……}35、在执行charstr[10]={key\0word};语句后,strlen(str)的结果是(A)A、3B、4C、5D、836、下面程序的运行结果是(B)voidmain(){intb[5]={1,3,5,7,9},*p;p=b;printf(“%d”,*(p+1));}A、1B、3C、5D、737、以下if语句错误的是(A)。A、if(xy)x++;y++;elsex--;y--;B、if(x)x+=y;C、if(xy);D、if(x!=y)scanf(%d,&x);elsex++;38、判断char型变量c是否为小写字母的正确表达式为(D)A、’a’=c=’z’B、(c=a)&&(c=z)C、(‘a’=c)||(‘z’=c)D、(c=’a’)&&(c=’z’)39、指向一个变量的指针,其存储的数据是该变量的(B)。A、值B、地址C、名称D、一个标志40、若已定义:inta=3,b=4,c=5;,则下面表达式中值为0的是(D)A、'a'&&'b'B、a=bC、a||b+c&&b-cD、!((ab)&&!c||1)41、以下对二维数组s进行初始化的语句错误的是(C)。A、ints[2][3]={0};B、ints[][3]={1,2,3,4,5};C、ints[2][3]={{1,2},{3,4},{5,6}};D、ints[][3]={{1,2},{0}};42、若有说明语句int(*ptr)();其含义是(C)。A、ptr是一个指向一维数组的指针变量B、ptr是指针变量,指向一个整形变量C、一个指向函数的指针,该函数的返回值是一个整数D、以上都不对43、若x、y均为double型变量,正确的输入函数调用是(B)A、scanf(%f%f,&x,&y);B、scanf(%d%d,&x,&y);C、scanf(%lf%lf,&x,&y);D、scanf(%lf%lf,x,y);44、在C语言中,下面哪个标识符是合法的(B)A、ifB、dayC、#25D、a[3]45、x为int型变量,且x=65,不正确的输出函数调用是(D)A、printf(“%d”,x);B、printf(“%3d”,x);C、printf(“%c”,x);D、printf(“%s”,x);46、以下能正确定义且赋初值的语句是(B)A、intn1=n2=10;B、charc=32;C、floatf=f+1、1D、doublex=12、3E2、547、下列程序段的执行结果为(C)。#includestdio、hmain(){intx=3;do{printf(%3d\n,x-=2);}while(!(--x));}A、1B、30C、1-2D、死循环48、C语言对嵌入if语句的规定是:else总是与(D)配对A、其之前最近的ifB、第一个ifC、缩进位置相同的ifD、其之前最近且不带else的if49、调用函数时,基本类型变量作函数实参,它和对应的形参(A)。A、各自占用独立的存储单元B、共用一个存储单元C、同名时才能共用在存储单元D、不占用存储单元50、以下程序:#includestdio、hvoidmain(){intp,a=5;if(p=a!=0)printf(“%d\n”,p);elseprintf(“%d\n”,p+2);}程序输出结果是(B)A、0B、1C、2D、551、若有说明:ints[4][5];则对a数组元素的非法引用是(D)A、s[0][2*1]B、s[1][3]C、s[4-2][0]D、s[0][5]52、若有说明语句int(*ptr)();其含义是(C)。A、ptr是一个指向一维数组的指针变量B、ptr是指针变量,指向一个整形变量C、一个指向函数的指针,该函数的返回值是一个整数D、以上都不对53、当执行以下程序时,(C)#includestdio、hvoidmain(){inta;while(a=5)printf(%d,a--);}A、循环体将执行5次B、循环体将执行0次C、循环体将执行无限次D、系统会死机54、以下正确的函数定义形式是(A)A、intfun(intx,inty)B、intfun(intx;inty)C、intfun(intx,y)D、intfun(intx,y;)55、在一个源文件中定义的全局变量的作用域为(D)A、本文件的全部范围B、本程序的全部范围C、本函数的全部范围D、从定义该变量的位置开始至本文件结束为止56、以下程序运行的结果是(B)#includestdio、h#defineMIN(x,y)(x)(y)?(x):(y)voidmain(){inti=10,j=15,k;k=10*MIN(i,j);printf(“%d\n”,k);}A、10B、15C、100D、1505
本文标题:C语言期末复习题附答案
链接地址:https://www.777doc.com/doc-5075893 .html