1、 . . . . C语言二级考试上机题1.表示关系xyz应使用C语言表达式()A)(x=y)&(y=z)B)(xy)AND(yz)C)x=y=zD)(x=y)&(y=z)2.C语言可执行程序的开始执行点是()A)程序中第一条可执行语言B)程序中第一个函数C)程序中的main函数D)包含文件中的第一个函数3.以下if语句书写正确的是()A)if(x=0;)printf(%f,x);else printf(%f,-x);B)if(x0)x=x+1;printf(%f,x);else printf(%f,-x);C)if(x0);x=x+1;printf(%f,x);else printf(%f,-
2、x);D)if(x0)x=x+1;printf(%f,x)else printf(%f,-x);4.以下表达中正确的是()A)在C程序中,语句之间必须要用分号(;)分隔B)在C程序中#include行和#define行不是C语句C)程序中的注释部分可有可无,通常可以省略D)当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值5.以下语句的输出结果是()printf(%d,%d,%un,016,16,-16);A)16,16,65420B)14,16,6542C)16,16,-16D)14,16,-166.以下选项中,与k=n+完全等价的表达式是()A)k=n,n=n+1 B
3、)n=n+1,k=n C)k=+n D)k+=n+17.以下合法的赋值语句是()A)x=y=100B)d-;C)x+y;D)c=int(a+b);8.设a、b、c为int型变量,若从键盘给a、b、c输入数据,则正确的输入语句是()A)scanf(%d%d%d,a,b,c);B)put(%d%d%d,a,b,c);C)input(%d%d%d,a,b,c);D)scanf(%d%d%d,&a,&b,&c);9.以下正确的数组定义语句是()A)int y14=1,2,3,4,5,B)float x3=1,2,3C)long s23=1,1,21,2,3,D)double t3=010.设有如下的变
4、量定义:int i=8,k,a,b;unsinged long w=5;double x=1.42,y=5.2则以下符合C语言语法的表达式是()A)a+=a-=(b=4)*(a=3)B)x%(-3);C)a=a*3=2D)y=float(i)11.以下字符串不属于标识符的是()A)sumB)averageC)day_nightD)M.D.JOHN 12.若t已定义为double类型,表达式:t=1,t+,t+5的值是()A)1B)7.0C)2.0D)1.013.以下各选项企图说明一种新的类型名,其中正确的是()A)typedef v1int;B)typedefv2=int;C)typedef
5、intv3;D)typedefv4int;14.若有代数式“ex+y2+y/x”,则正确的C语言表达式是()A)ex+y*y+y/xB)exp x+pow (y,2)+y/xC)exp (x)+pow(y,2)+y/xD)ex+y2+y/x15.若x=3,y=z=4,则以下表达式的值分别为()(1)(z=y=x)? 10(2)y+=z,x*=yA)0 24B)1 8C)0 8D)1 1216.下面程序的输出结果是()main() int i,j;i=16;j=(i+)+i;printf(%d,j);i=15;printf(%d%d,+i,i);A)32 16 15B)33 15,15C)34
6、15,16D)34 16 1517.在C语言中,整数65534在存储单元中的存储情况是()A)11 11 11 11 11 11 11 11 B)10 00 00 00 00 00 00 10C)01 11 11 11 11 11 11 11 D)11 11 11 11 11 11 11 1018.执行语句“for(n=10;n0;) printf(%d,-n+n-);”后,以下说确的是()A)循环体执行了5次,最终n的值是-1B)循环体执行了6次,最终n的值是-1C)循环体执行了6次,最终n的值是0D)循环体执行了5次,最终n的值是019.若有以下定义和语句:intu=010,v=0x10,
7、w=10;printf(%d,%d,%dn,u,v,w);则输出结果是()A)8,16,10B)10,10,10C)8,8,10D)8,10,1020.以下函数调用语句中实参的个数是()func(exp1,exp2),(exp3,exp4,exp5);A)1B)2C)4D)531.以下正确的实型常量是()A)1.2EB).579899C)1.2e0.6D)8 32.若题中各变量已正确定义并赋值,下面符合C语法的表达式是()A)a%=7.6;B)a+,a=7+b+cC)int(12.3)%4D)a=c+b=a+733.假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;
8、z=4;m=(wZ)?M:Z;则该程序段执行后,m的值是()A)4B)3C)2D)134.若有如下程序段:int x=3,y=4,z;float a=2.0;z=y%x/a;则执行后,z中的值是()A)4B)3.0C)0D)0.535.在16位C编译系统上,若定义long a;,则能给a赋值40000的正确语句是()A)a=20000+20000;B)a=4000*10;C)a=30000+10000;D)a=4000L*10L;36.在以下4个选项中,均属于C语言不合法标识符的是()A)includeB)c.2C)naD)PI37.以下有关格式输入函数scanf的表达中正确的是()A)输入项
9、可以是C语言中规定的任何变量,并且在任何变量前必须加地址符号“&”B)可以只有格式控制项,没有地址列表项C)在输入数据时,必须规定精度。如:scanf (%4.2f,&d);D)当输入数据时,必须指明变量地址38.有以下程序:main()inty=3,x=3,z=1;printf(%d%dn,(+x,y+),z+2);执行后的输出结果是()A)34B)42C)43D)3339.C语言提供的合法关键字是()A)swicthB)cherC)CaseD)default40.以下选项中不属于C语言数据类型的是()A)整型B)逻辑型C)双精度型D)枚举型41.已有定义语句:intx=3,y=0,z=0;
10、,则值为0的表达式是()A)x&yB)x|zC)x|z+2&y-zD)!(x048.有以下程序main()double d;floatf;long l;inti;i=f=l=d=20/3;printf(%d%ld%f%fn,i,l,f,d);程序运行后的输出结果是(小数点后只写1位)()A)666.06.0B)666.76.7C)666.06.7D)666.76.049.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量101是()A)字符AB)字符aC)字符eD)非法的常量50.若变量已正确说明为float类型,要通过语句scanf(%f%f%f,
11、&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,不正确的输入形式是()A)102233B)10.0,22.0,33.0C)10.022.033.0D)10223351.以下表达中正确的是()A)C程序由函数和过程组成B)C程序由主函数组成C)C程序由函数组成D)C程序中,主函数必须放在其他函数之前 52.以下运算符中,不属于关系运算符的是()A)=C)=D)!53.以下属于合法的C语言无符号短整型常数的选项是()A)-2B)65536C)123LD)5000054.设a,b均为float型变量,则以下非法的赋值语句是()A)b=(a/5)/8;B)+aC)a=1.0,b=
12、2.0,D)a+=3;55.设有如下变量定义:doublea=3.500000;floatb=2.5;intm=2,n=3;则表达式“(float)(m+n)/2+(int)a%(int)b”的值是()A)2.5B)3.5C)4.5D)表达式不正确56.先用以下语句定义字符型变量:char c;然后要将字符a赋给变量c,则以下语句中正确的是()A)c=a;B)c=a;C)c=97;D)c=9757.设有语句char a=72;,则变量a()A)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法58.以下表达中正确的是()A)C程序中,赋值运算符的优先级最低B)若a是实型变量,C程序中允
13、许进行以下赋值:a=10,因此,实型变量中允许存放整型数C)若a和b类型相同,在执行了赋值a=b后b中的值将放入a中,b中的值将丢失D)在C程序中,除号运算符“”两边的类型相同时才能进行相除运算59.已有定义:doublex;inti;,能正确给x赋70000.0的表达式是()A)x=7000*10B)x=70000C)x=35000+35000D)i=700,x=i*10060.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()A)a0B)!aC)a=0D)a61.以下说确的是()A)在执行C程序时不是从main函数开始的B)C程序书写格式严格限制,一行必须写
14、一个语句C)C程序书写格式自由,一个语句可以分写在多行上D)C程序书写格式严格限制,一行必须写一个语句,并要有行号 62.C语言中最简单的数据类型包括()A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型63.在以下一组运算符中,优先级最高的运算符是()A)=-5)|(x=-1)&(x=1)B)!(x=-5|x=-1&x=1)C)x-1|x5D)(x-1&x5)70.若int类型数据占两个字节,则以下语句的输出结果为()int x=-1;printf(%un,x);A)-1B)32767C)65535D)6553671.C语言程序的基本单位是()
15、A)函数B)过程C)字符D)语句 72.以下正确的变量声明是()A)intm;n;k;B)unsigned intm,n,k;C)double int m,n,k;D)intm,n,k73.已知大写字母B的ASCII码值是66,小写字母b的ASCII码值是98,则用八进制表示的字符常量142是()A)字符BB)字符bC)字符aD)非法的常量74.以下表达中错误的是()A)在C程序中,APH和aph是两个不同的变量B)C程序中的变量,代表存中的一个存储单元,它的值可以根据需要随时修改C)在C程序中,无论是整数还是实数,都能准确无误地表示D)在C程序中,一个正整数可以用十进制、八进制和十六进制的形式来表示75.设a、b和 c都是int型变量,且a=3,b=4,c=5,则以下值为0的表达式是()A)a&bB)a=bC)a|b+c&bcD)!(ay);B)if (x=y) x+=y;C)if (x!=y) scanf(%d, &x) else scanf(%d,&y);D)if (xy) x+;y+; 10 / 10