您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > C/C++资料 > 闽高校计算机二级C语言模拟题
一、选择题(一)概述1.(A)为正确变量名A)pro_5B)caseC)5_proD)else2.(C)为正确的用户标识符。A)min-5B)3_rowC)max_atD)union3.下面叙述正确的是(C)A)程序中必需包含自定义函数B)main()函数必须位于源程序文件的开头C)所有语句都必须以分号“;”结束D)每行最多只能写两个语句4.下面叙述错误的是(A)A)注释说明部分只能位于C源程序的最前面B)C源程序必须包含一个main()函数C)C源程序可由一个或多个函数组成D)一个C源程序的执行是从main()函数开始,直到main()函数结束(二)语法基础5.下面叙述错误的是(C)A)算术运算符中不包含“=”运算符B)模运算符“%”是C语言基本的算术运算符C)算术运算符只有“*”,“/”优先级高于关系运算符D)自增和自减运算符只能用于变量,而不能用于常量或表达式6.下面叙述中正确的是(B)A)(3+9)++是正确的表达式B)C语言中的整型与字符型变量混合运算的结果是整型C)模运算符“%”两边运算数的数据类型是任意的D)“abc”+“xxx”是正确的表达式7.若有定义:inti=3,j=6;则表达式(--i)*(j++)的值为(A)。A)12B)10C)18D)158.若有定义:floatx=3.5,y=5.5;则表达式(B)的值为2.A)(x+y)%7B)(int)(x+y)%7C)(int)x+y%7D)int(x+y)%79若有定义intx=1,y=2,n=3;则(B)为正确表达式A)x=nyB)x=y*3,y=(x+n)/yC)(x+y)(y+n)D)float(y/n)10若有定义:inta,且表达式!a的值为0,则表达式(BD)的值为1A)!(a0||a0)B)a!=0C)a=0D)a==011若有定义:inta=3,b=5,c=8;则表达式!(a-b)||(c-b)的值为()。A)0B)2C)3D)112.若有定义:intx,charc=’A’;则正确的赋值表达式是(D)。(说明:’A’的ASCII码的十进制值为65,’a’的ASCII码的十进制值为97)A)x=c+’ABC’B)x=c+’CBA’C)x=’ABC’D)X=c+3213.(A)为非法的字符串常量A)’123’B)”056”C)””D)”case”14.(C)为正确的字符常量A)’165’B)’\084’C)’@’D)’bcd’15.(B)为合法的常量A)’b_k’B)1.23E+8C)3.21E-6.5D)5,32616.若有定义:intb=-15,则()为正确的赋值表达式A)b=*5B)b+=b*3C)*b=6D)b+10=-517.若有定义:intx=1,y=2,z=3,则表达式()的值为0.A)xy||xzB)x=yC)x||(y+z&&y-z)D!((xy)&&z)18.若有定义:inta=6,b=7,k=0,t=1;语句(k=ab)&&(t=a==b);运行后,k,t的值分别是()。A)10B)01C)00D)1119.(B)语句符合C语言语法A)floatx=3.2,inti,j=6;B)floatx=2.3,b,c;C)inta=2,b+=a;D)inta=b=2,c=5;20.下面叙述正确的是(D)A)++2与3等价B)++2与--3等价C)2/3与2%3等价D)5/(int)4.0与5/4等价21.若有定义floatx=3.5,y=3.6;则表达式(C)的值为6A)x+yB)(int)(x+y)C)(int)x+(int)yD)int(x+y)22.以下程序段运行后x的值为()inta=3,b=6,x;x=(a==b)?a++:--b;A)3B)4C)6D)523.若有定义:inta,b=5;语句a=(b/2)+(b%2);运行后,a的值为()A)0B)2C)4D)324.若有定义:inta=1,b=2,c=3,d=4,t=2,k=2;语句(t=ab)||(k=cd);运行后,k的值为()A)-1B)1C)0D)225.若有定义:floatx=2,y;inta=3;语句y=1*(x+a)/3;运行后y的值为()A)1.666667B)1.0C)2.0D)026.下面运算符中优先级最低的是(B)。A)!B)=C)*D)27.若有定义:inta=3;语句a+=a-=a*a;运行后,a的值为()A)-12B)-3C)0D)-628.x的值在-20至-5之间为“真”,否则为“假”的正确逻辑表达式为()A)-20x-5B)-5x-20C)!(x-20)&&!(x-5)D)x-20&&x-529.若有定义:intx,y,z;语句x=(y=z=3,++y,z+=y);运行后,x的值为()。A)7B)3C)6D)830.若有定义floatx;要从键盘输入数据6.02赋给x,则应选用()语句。A)scanf(“%8.2f”,&x);B)scanf(“%1.2f”,&x);C)scanf(“%4.2f”,&x);D)scanf(“%f”,&x);31.若有语句inta,charc;scanf(“%3d%c”,&a,&b);为将整数135赋给a,字符’6’赋给c,正确的数据输入方式是()(说明CR代表换行,_代表空格)A)135CR6CRB)1356CRC)135_6_D)135_6CR32.若有定义:charc1=’A’,c2=’B’;语句printf(“%d+%d=%d”,c1,c2,c1+c2);运行的结果为()。(说明’A’的ASCII码的十进制值为65)A)A+B=131B)65+66=131C)65+66=ABD)A+B=AB33.若有定义:inta=8,b=5;要实现输出形式为:8*5=40,正确的printf()函数调用语句是()。A)printf(“%d*%d=a*b\n”,a,b);B)printf(“%d*%d=%d\n”,a,b,a*b);C)printf(“a*b=%d\n”,a*b);D)printf(“a*b=a*b\n”);(三)控制结构34.以下程序段运行的结果是()ints=15;switch(s/4){case1:printf(“One”);case2:printf(“Two”);case3:printf(“Three”);default:printf(“Over”);}A)TwoOverB)OneOverC)ThreeOverD)Three35.以下程序段运行结果是()。ints=15;switch(s/4){default:printf(“Over”);case1:printf(“One”);break;case2:printf(“Two”);}A)OverOneB)TwoC)OneD)Overtwo36.以下程序段运行后,若从键盘输入5,则运行结果是()inta,y=10;scanf(“%d”,&a);if(a10)y=a+6;printf(“%d\n”,y+a);}A)15B)16C)10D)1137.以下程序运行结果是()voidmain(){inta,b=2,c=6;a=3;if(a6)a=a+6;elseif(a==6)b=a+c;elsea=b+c;printf(“%d\n”,a);}A)6B)9C)5D)838.以下程序段运行后,x的值为()inti,j,x=0;for(i=3;i=1;i--)for(j=1;j=i;j++)x=x+2;A)10B)14C)8D)1239.若有定义inti,x;()不是死循环A)for(x=5;x0;x--);B)while(x=1);C)for(;;i+=2);D)for(i=10;;i--);40.以下程序段运行后,x的值为()inti=0,x=0;for(;i=5;i++,i++){x+=3;}A)9B)6C)12D)1541.以下程序段运行后x的值为()。inti=0,x=2;while(i++=5){x+=2;}A)14B)8C)12D)1042.下面叙述正确的是()A)for循环的循环体可包含多条语句,但必须用花括号{}括起来B)在for循环中,不能用break语句跳出循环体C)for循环是先执行循环体语句,后判断表达式D)for循环只能用于循环次数已经确定的循环43.若有定义:inti,x=0;语句for(i=1;i=3;i++)x+=2;与下列()程序段不等价。A)i=1;for(;i=3;){x+=2;i++;}B)for(i=1;i=3;){x+=2;i++;}C)i=1;for(;;i++)x+=2;D)i=1;for(;i=3;i++)x+=2;(四)数组44.下面叙述错误的是(C)A)数组中每一个元素都属于同一个数据类型B)C语言规定可逐个引用数组元素,但不能一次引用整个数组C)C语言数组长度在定义数组时可不确定D)C语言数组名称是数组的首地址45.若有定义:inta[10],i=2;则能正确引用数组元素的是()A)a[10]B)a(7)C)a[9+i]D)a[10-i]46.若有定义:intarr[15],n=5;无法正确引用arr数组元素的是(D)。A)arr[0]B)arr[n]C)arr[15-n]D)arr[10+n]47.以下程序段运行后,x的值为()inta[8]={1,2,3,4,5,6,7,8},i,x=0;for(i=0;i8;i++,i++)x=x+a[i];A)18B)16C)20D)3648.C语言中,二维数组元素在内存中的存放顺序是()A)按列存放B)随机存放C)由用户自己定义D)按行存放49..以下()对二维数组arr的初始化是错误的。A)intarr[2][3]={{1,2},{3,4}};B)intarr[2][3]={{1,2},{3,4},{5,6}};C)intarr[][3]={1,2,3,4,5};D)intarr[2][3]={{1},{3,4,5}};50.以下程序段的运行结果是()intt[][3]={1,2,3,4,5,6,7,8,9,10,11,12};printf(“%d\n”,t[1][1])}A)3B)1C)5D)451.以下程序段运行后,x的值为()inti=0,x=0;inta[3][3]={1,2,3,4,5,6,7,8,9};for(;i3;i++)x+=a[i][i];A)12B)18C)0D)1552.以下程序运行的结果是()intfun(intarray[3][3]){intj;for(j=0;j3;j++)array[1][j]++;printf(“\n”);}main(){intj,a[3][3]={0,1,2,1,0,4,2,4,5};fun(a);for(j=0;j3;j++)printf(“%2d”,a[1][j]);printf(“\n”);}A)215B)104C)012D)12353.以下程序段的运行结果是()。charstr[3][2]={‘a’,’b’,’c’,’\0’,’e’,’f’};printf(“%s”,str[0]);A)abc\0efB)aC)abcD)abcef(五)函数54.只能向终端输出一个字符的是()A)putchar()函数B)printf()函数C)scanf()函数D)getchar()函数55.getchar()函数的功能是获取终端输入的()。A)多个字符B)一个整形变量表达式C)一个字符D)一个实型变量值56.下面叙述正确的是()A)预处理命令也是C语句,必须以分号结束B)宏展开不占用运行时间,只占用编译时间C)一个源程序只能有一个预处理命令行D)宏名必须用大写字母表示57.下面叙述错误的是()。A)C源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率B)“#definePRICE30”命令的作用是定义一个与30等价的符号常量PRICEC)预处理命令行都必须以“#”开头D)预处理命令行必须以分号结束
本文标题:闽高校计算机二级C语言模拟题
链接地址:https://www.777doc.com/doc-2647606 .html