二级C笔试.docx
- 文档编号:6899727
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:49
- 大小:71.14KB
二级C笔试.docx
《二级C笔试.docx》由会员分享,可在线阅读,更多相关《二级C笔试.docx(49页珍藏版)》请在冰豆网上搜索。
二级C笔试
C语言
标识符
1.以下选项中合法的用户标识符是()
A)longB)_2TestC)3DmaxD)A.dat
2.下列选项中不能用作用户标识符的是()
A)scanfB)VoidC)_3com_D)int
3.以下可用作用户标识符的一组标识符是()
A)voiddefineWORDB)a3_b3_123IFC)For-abcCaseD)2aDOsizeof
整型数据、实型数据、字符型数据
1.以下选项中合法的实型常数是()
A)-80.B)-080C)-8e1.0D)-80.0e
2.以下选项中合法的数值常量是()
A)o118 B)115L C)1.5e1.5 D)0abcd
3.以下选项中合法的一组C语言数值常量是()
A)028.5e-3-0xfB)12.0Xa234.5e0C).1774e1.50abcD)0x8A10,0003.e5
4.以下选项中合法的字符常量是()
A)'\x13'B)'\081'C)'65'D)"\n"
5.以下选项中不能作为C程序合法常量的分别是()()
A)'cd'B)0.1e+6C)"\a"D)'\011'
A)1,234B)'\123'C)123D)"\x7G"
6.设有定义charc;则以下语句中正确的是()
A)c='97';B)c="97";C)c=97;D)c="a";
7.设有定义charch;则以下语句中错误的是()
A)ch='\';B)ch=62+3;C)ch=NULL;D)ch='\xaa';
8.设有定义chara,b,c,*d;若以下程序段在编译时出现错误,则叙述正确的是()
a='\';b='\xbc';c='\0xab';d="\0127";printf("%c%c%c%c\n",a,b,c,*d);
A)a='\';语句不正确B)b='\xbc';语句不正确C)d="\0127";语句不正确D)a='\';和c='\0xab';语句不正确
9.若有定义语句:
inta=10;doubleb=3.14;则表达式'A'+a+b值的类型是()
A)charB)intC)doubleD)float
10.以下选项中关于C语言常量的叙述错误的是()
A)所谓常量,是指在程序运行过程中,其值不能被改变的量B)常量分为整型常量,实型常量,字符常量和字符串常量
C)常量可分为数值型常量和非数值常量D)经常被使用的变量可以定义成常量
算术运算、赋值运算、逗号运算
1.设有定义doublea=5.5,b=2.5;则算术表达式(int)a+b/b的值是()
A)6.5B)6C)5.5D)6.0
2.(int)((double)(5/2)+2.5)的值是___,(int)((double)9/2)-9%2的值是____,(int)((double)(3/2)+0.5+(int)1.99*2)的值是____。
3.以下程序段的功能是:
将值为三位正整数的变量x中的数值按照个位,十位,百位的顺序拆分并输出,请填空。
int x=256;printf("%d-%d-%d\n",_____,x/10%10,x/100);
4.程序段intc1=1,c2=2,c3;c3=1.0/c2*c1;printf("%d\n",c3);的输出结果是()
A)0B)0.5C)1D)2
5.程序段inta=12,b=8,c;c=a/b+0.9;printf("%d\n",c);的输出结果是()
A)1.9B)1C)2D)2.4
6.设变量a和b已正确定义并赋初值,请写出与a-=a+b等价的赋值表达式___________。
7.程序段inti=10,j=1;printf("%d,%d\n",i--,++j);的输出结果是()
A)9,2B)10,2C)9,1D)10,1
8.程序段intm=3,n=4,x;x=-m++;x=x+8/++n;printf("%d\n",x);的输出结果是()
A)3B)5C)-1D)-2
9.程序段inta=2,b=3,c=4;a*=16+(b++)-(++c);printf("%d\n",a);的输出结果是______。
10.设有定义intx=2;则以下表达式中值不为6的是()
A)x*=x+1B)x++,2*xC)x*=(1+x)D)2*x,x+=2
11.设有语句x++;++x;x=x+1;x=1+x;执行后都能使变量x中的值增1,请写出一条完成同一功能的赋值语句______。
12.程序段inta;printf("%d\n",(a=3*5,a*4,a+5));的输出结果是()
A)65B)20C)15D)10
13.设有定义intn,i;则表达式n=i=2,++i,i++的值是__。
14.程序段intx,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);的输出结果是()
A)2,3,3B)2,3,2C)2,3,1D)2,2,1
15.以下符合C语言语法的表达式是()
A)x=y*5=x+zB)int(15.8%5)C)x=y+z+5,++yD)x=25%5.0
16.设有定义doublea,b;intw;longc;则以下表达式中正确的是()
A)a=a+b=b++B)w%((int)a+b)C)(c+w)%(int)aD)w=a!
=b
17.以下赋值语句正确的是()
A)x=y==5;B)x=n%2.5;C)x+n=i;D)x=5=4+1;
18.设有定义inta=3,b=2,c=1;则以下选项中错误的赋值表达式是()
A)a=(b=4)=3B)a=b=c+1C)a=(b=4)+cD)a=1+(b=c=4)
19.以下选项中不能看作一条语句的是()
A){;}B)a=0,b=0,c=0;C)if(a>0);D)if(b==0)m=1;n=2;
关系运算、逻辑运算、条件运算
1.设有定义intx=3,y=3,t;则执行语句t=++x||++y;后y的值是()
A)4B)3C)1D)不定值
2.设有定义intk1=10,k2=20;则执行语句(k1=k1>k2)&&(k2=k2>k1);后k1和k2的值分别是()
A)0和1B)0和20C)10和1D)10和20
3.程序段inta=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a
A)0,0B)0,1C)1,0D)1,1
4.程序段inta=-1,b=4,k;k=(++a<0)&&!
(b--<=0);printf("%d,%d,%d\n",k,a,b);的输出结果是()
A)1,0,4B)1,0,3C)0,0,3D)0,0,4
5.设有定义intx=1,y=1;则表达式(!
x||y--)的值是()
A)0B)1C)2D)-1
6.程序段inta=-1,b=4,k;k=(a++<=0)&&(!
(b--<=0));printf("%d,%d,%d\n",k,a,b);的输出结果是()
A)0,0,3B)0,1,2C)1,0,3D)1,1,2
7.若a是数值类型,则逻辑表达式(a==1)||(a!
=1)的值是()
A)1 B) 0 C)2 D)不能确定
8.以下关于逻辑运算符两侧运算对象的叙述中正确的是()
A)只能是整数0或1B)可以是结构体类型数据C)可以是任意合法表达式D)只能是整数0或非0整数
9.设有定义charc;则能正确判断出c为小写字母的表达式是()
A)'a'<=c<='z'B)(c>='a')||(c<='z')C)(c>='a')&&(c<='z')D)('a'<=c)and('z'>=c)
10.程序段intx=20;printf("%d",0 11.设有定义inty;请写出判断y为奇数关系表达式是________。 12.设有定义intx;请写出一个关系表达式____________________,用以判断x同时为3和7的倍数时,结果为"真"。 13.设有定义intx;请以最简单的形式写出与逻辑表达式! x等价的C语言关系表达式_______。 14.程序段intp=30;printf("%d\n",(p/3>0? p/10: p%3));的输出结果是_____。 15.程序段inta,b;printf("%d\n",a=2,b=5,a>b? a++: b++,a+b);的输出结果是() A)7B)8C)9D)2 16.设有定义inta,b,c,t1,t2;输出a,b,c三个变量中的最小值,请填空。 scanf("%d%d%d",&a,&b,&c);t1=a _____;t2=c _____;printf("%d\n",t2); 17.以下叙述中错误的是() A)复合语句在语法上被看作一条语句B)赋值表达式末尾加分号就构成赋值语句 C)C程序中的#include和#define行均不是C语句 D)除逗号运算符外,赋值运算符的优先级最低 E)C程序中,j++;是赋值语句 F)C程序中+,-,*,/,%是算术运算符,可用于整型和实型数的运算 18.以下叙述中正确的是() A)C程序中注释部分可以出现在程序中任意合适的地方B)构成C程序的基本单位是函数,所有函数名都可以由用户命名 C)花括号"{"和"}"只能作为函数体的定界符D)分号是C语句之间的分隔符,不是语句的一部分 19.以下叙述中正确的是() A)C语言的源程序不必通过编译就可以直接运行B)C语言中每条可执行语句最终都将被转换成二进制的机器指令 C)C源程序经编译形成的二进制代码可以直接运行D)C语言中的函数不可以单独进行编译 20.以下叙述中错误的是() A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行 C)通过编译得到的二进制目标程序需要连接才可以运行D)没安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件 位运算 1.程序段unsignedchara,b;a=4|3;b=4&3;printf("%d,%d\n",a,b);的输出结果是() A)7,0B)0,7C)1,1D)43,0 2.程序段unsignedchara=2,b=4,c=5,d;d=a|b;d&=c;printf("%d\n",d);的输出结果是() A)3B)4C)5D)6 3.程序段unsignedchara=1,b=2,c=3,x;x=(a^b)&c;printf("%d\n",x);的输出结果是() A)0B)1C)2D)3 4.程序段unsignedchara=5,b=1,t;t=(a<<2)|b;printf("%d\n",t);的输出结果是() A)21B)11C)6D)1 输出函数 1.设有语句intn1=10,n2=20;printf("________________",n1,n2);要求输出格式为: n1=10 n2=20 2.设有定义inta=21,b=55;要求用printf函数以****a=21,b=55****形式输出,请写出完整的输出语句_______________________________。 3.设有定义intx=99,y=9;请将输出语句printf(_________,x/y);补充完整,使其输出结果形式为: x/y=11。 4.程序段inta=0,b=0;a=10;/*给a赋值,b=20;给b赋值*/printf("a+b=%d\n",a+b);/*输出计算结果*/的输出结果是() A)a+b=10B)a+b=30C)30D)出错 5.程序段intm=32767,n=032767;printf("%d,%o\n",m,n);的输出结果是() A)32767,32767B)32767,032767C)32767,77777D)32767,077777 6.程序段intm=0256,n=256;printf("%o,%o\n",m,n);的输出结果是() A)0256,0400B)0256,256C)256,400D)400,400 7.程序段intx=102,y=012;printf("%2d,%2d\n",x,y);的输出结果是() A)10,01B)02,12C)102,10D)02,10 8.程序段intx=011;printf("%d\n",++x);的输出结果是() A)12B)11C)10D)9 9.程序段inta;charc=10;floatf=100.0;doublex;a=f/=c*=(x=6.5);printf("%d,%d,%f,%f\n",a,c,f,x);的输出结果是() A)1,65,1,6.5B)1,65,1.5,6.5C)1,65,1.0,6.5D)2,65,1.5,6.5 10.程序段charc;intn=100;floatf=10;doublex;x=f*=n/=(c=50);printf("%d%f\n",n,x);的输出结果是__________。 11.程序段intx=12;doubley=3.141593;printf("%d%8.6f\n",x,y);的输出结果是() A)123.141593B)123.141593C)12,3.141593D)123.1415930 12.程序段charc1='A',c2='D';printf("%d,%d\n",c1,c2-2);的输出结果是() A)A,BB)A,68C)65,66D)65,68 13.程序段charc1,c2;c1='A'+'8'-'4';c2='A'+'8'-'5';printf("%c,%d\n",c1,c2);的输出结果是() A)E,68B)D,69C)E,DD)无定值 14.程序段chara,b;a='A'+'5'-'3';b=a+'6'-'2';printf("%d%c\n",a,b);的输出结果是____。 15.程序段charx='f';printf("%c\n",'A'+(x-'a'+1));的输出结果是() A)GB)HC)ID)J 16.以下不能输出字符A的语句是() A)printf("%c\n",'a'-32);B)printf("%d\n",'A');C)printf("%c\n",65);D)printf("%c\n",'B'-1); 输入函数 1.设有定义inti;floatf;调用函数scanf("i=%d,f=%f",&i,&f);使i得100,f得765.12,则输入形式正确的是() A)100765.12<回车>B)i=100,f=765.12<回车>C)100<回车>765.12<回车>D)i=100<回车>f=765.12<回车> 2.设有定义chara,b,c,d;则以下程序段,若从键盘输入6,5,65,66<回车>,输出结果是() scanf("%c,%c,%d,%d",&a,&b,&c,&d);printf("%c,%c,%c,%c\n",a,b,c,d); A)6,5,A,BB)6,5,65,66C)6,5,6,5D)6,5,6,6 3.设有定义charc1,c2;则以下程序段,若从键盘输入48<回车>,输出结果是____。 scanf("%d",&c1);c2=c1+9;printf("%c%c\n",c1,c2); 4.程序段inta=1,b;scanf("%2d%2d",&a,&b);printf("%d%d\n",a,b);若从键盘输入1234567<回车>,则输出结果是_____。 5.设有定义inta;floatb,c;则以下程序段,若从键盘输入9876543210<回车>,输出结果是() scanf("%2d%3f%4f",&a,&b,&c);printf("a=%d,b=%f,c=%f\n",a,b,c); A)a=98,b=765,c=4321B)a=10,b=432,c=8765C)a=98,b=765.0,c=4321.0D)a=98,b=765.000000,c=4321.000000 6.设有定义inta;floatb;执行scanf("%2d%f",&a,&b);时,若从键盘输入876543.0<回车>,则a和b的值分别是() A)876和543.000000B)87和6.000000C)87和543.000000D)76和543.000000 7.程序段intj;floaty;charname[50];scanf("%2d%f%s",&j,&y,name);若从键盘输入555667777abc<回车>后,则y的值是() A)55566.0B)566.0C)7777.0D)566777.0 8.设变量已定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);为a1和a2赋10和20,为c1和c2赋X和Y,则输入形式正确的是() A)10□X□20□Y<回车>B)10□X20Y<回车>C)10X<回车>20Y<回车>D)10□X<回车>20□Y<回车> 9.设有定义charc1,c2,c3,c4,c5,c6;则以下程序段,若从键盘输入123 scanf("%c%c%c%c",&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);putchar(c2);printf("%c%c\n",c5,c6); A)1267B)1256C)1278D)1245 10.设有定义charch1,ch2;intn1,n2;则以下程序段,若从键盘输入12<回车>,输出结果是_____。 ch1=getchar();ch2=getchar();n1=ch1-'0';n2=n1*10+(ch2-'0');printf("%d\n",n2); if简单选择 1.设有定义inta=1,b=2,c=3;则以下程序段的输出结果是___。 if(c=a)printf("%d\n,c); elseprintf("%d\n",b); 2.设有定义intx;则两次执行以下程序段,若从键盘分别输入6和4,输出结果是() scanf("%d",&x); if(x++>5)printf("%d\n",x); elseprintf("%d\n",x--); A)7和5B)6和3C)7和4D)6和4 3.设有定义inta=-1,b=1,k;则以下程序段的输出结果是() if((++a<0)&&! (b--<=0))printf("%d,%d\n",a,b); elseprintf("%d,%d\n",b,a); A)-1,1B)0,1C)1,0D)0,0 4.程序段intx=10,y=20,t=0;if(x==y)t=x;x=y;y=t;printf("%d,%d\n",x,y);的输出结果是______。 5.程序段inta=10,b=50,c=30;if(a>b)a=b,b=c;c=a;printf("a=%d,b=%d,c=%d\n",a,b,c);的输出结果是() A)a=10,b=50,c=10B)a=10,b=50,c=30C)a=10,b=30,c=10D)a=50,b=30,c=50 6.设有定义inta=3,b=5,c=7;则以下程序段的输出结果是() if(a>b)a=b;c=a; if(c! =a)c=b;printf("%d,%d,%d\n",a,b,c); A)3,5,3B)3,5,5C)3,5,7D)有语法错 7.设有定义inta=4,b=3,c=5,t=0;则以下程序段的输出结果是_________。 if(a if(a 8.以下if语句在编译时将产生错误信息的选项是() A)if(x++);B)if(x>y&&y! =0);C)if(x>0)x--D)if(y<0){;} elsey++;elsex++; 9.设有定义inta=1,b=2,c=3;则以下语句中执行效果与其它三个不同的是() A)if(a>b)c=a,a=b,b=c;B)if(a>b){c=a,a=b,b=c;}C)if(a>b)c=a;a=b;b=c;D)if(a>b){c=a;a=b;b=c;} 10.以下条件语句中,功能与其他语句不
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 笔试
![提示](https://static.bdocx.com/images/bang_tan.gif)