




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学习资料收集于网络,仅供参考 C/C+二级考试基础训练题 * 选择题*1一个C程序的执行是从 。 A 本程序的main函数开始,到main函数结束B 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C 本程序的main函数开始,到本程序文件的最后一个函数结束D 本程序文件的第一个函数开始,到本程序main函数结束2以下叙述正确的是 。 A 在C程序中,main函数必须位于程序最前面B C程序的每行中只能写一条语句C C语言本身没有输入输出语句D 在对一个C程序进行编译的过程中,可发现注释中的拼写错误3以下叙述不正确的是 。 A 一个C源程序可由一个或多个函数组成B 一个C源程序必须包含一个main函数C C程序的基本组成单位是函数D 在C程序中,注释说明只能位于一条语句的后面4C语言规定:在一个源程序中,main函数的位置 。 A 必须在最开始B 必须在系统调用的库函数的后面C 可以任意D 必须在最后5一个C语言程序是由 。 A 一个主程序和若干子程序组成 B 函数组成 C 若干过程组成 D 若干子程序组成 6下列字符串中不能作为C+标识符使用的是( )。A WHILE B user C _lvar D 9stars 7下列字符串中,不可以用作C+标识符的是A y_2006 B _TEST_H C Return D switch 8下列符号中,正确的C+标识符是A enum B 2b C foo-9 D _32 9下列符号中可以用作C+标识符的是A _radius B foobar C else D 3room 10以下叙述中错误的是_。 A 用户所定义的标识符允许使用关键字 B 用户所定义的标识符应尽量做到“见名知意” C 用户所定义的标识符必须以字母或下划线开头 D 用户定义的标识符中,大、小写字母代表不同标识 11以下不合法的字符常量是_。A 018 B C D xcc 12下列叙述中,错误的是_。A false是一个逻辑型常量 B b是一个字符型常量C 365是一个int常量 D 3.1415926是一个double常量 13以下不合法的数值常量是_。A 11 B le1 C 8.0E0.5 D 0xabcd 14以下选项中不能作为合法常量的是_。A 12340 B 1.234e0.4 C 12340 D 1.234 15下列语句中错误的是( )。A const int a; B const int a=10;C const int*point=0; D const int*point=new int(10);16下列语句中,错误的是A const int buffer=256; B const int temp;C const double *point; D const double *rtnew double(5.5); 17【单选题】下列错误的十六进制型常量表示是_。 A 0x2f B0xg C 0x88 D 0xaf18下列语句中,错误的是A const int buffer=256;B const double *point;C int const buffer=256;D double * const point; 19c+的字符串“t1234”中包含的转义符有_个。A 4 B 3 C 2 D 520【单选题】下面语句执行后的输出结果是_。coutstrlen(”xdn0211n”)=k B -k+ C k%int(f) D k=f=m 26有以下程序:main() char a1=M,a2=m;printf(%cn,(a1,a2);以下叙述中正确的是_。A 程序输出大写字母 M B 程序输出小写字母 mC 格式说明符不足,编译出错 D 程序运行时产生出错信息 27设有定义 int a=2,b=3,c=4;,则以下选项中值为 0 的表达式是_。A (!a=1)&(!b=0) B (a&!c|1) C a&b D a|(b+b)&(c-a) 28设a=1,b=2,c=3,d=4,则条件表达式ab?a:cd?c:d的值是_。 A 2 B 3 C 1 D 429有以下程序段:int k=0,a=1,b=2,c=3;k=ac?c:k;执行该程序段后,k 的值是_。A 3 B 2 C 1 D 0 30已知下列语句中的x和y都是int型变量,其中错误的语句是【 】A xy: B xy; C (xy) D xy; 31有以下程序:main() int m=12,n=34; printf(%d%d,m+,+n); printf(%d%dn,n+,+m); 程序运行后的输出结果是_。A 12353514 B 12353513 C 12343514 D 12343513 32有以下程序:main() int a,b,d=25; a=d/10%9; b=a&(-1); printf(%d,%dn,a,b); 程序运行后的输出结果是_。A 6,1 B 2,1 C 6,0 D 2,0 33【单选题】若变量已正确说明为int类型,要给x,y输入数据,以下语句正确的是_。A scanf(“%d%d”,&x,&y); B scanf(“%d,%d”,x,y);C cinxx,y; 34【单选题】若x和y都是整型变量,则x=3,y=5,则以下语句输出的结果是_。cout(x,y)60&x100 B 60x60|x100 D !(x=100) 37【单选题】已知变量a,b,c是整数变量,且a=3,b=4,c=5,则表示式:!(a+b)|c &b+c/2的值是_。A 7 B 1 C 0 D -1 38. 【单选题】执行下列语句后,y的值是_。int x=1,y=1;+x|+yA 不确定 B 0 C 1 D 2 39【单选题】以下运算符中优先级最高的是_。A % B * C D + 40【单选题】下列运算符中优先级最低的是_。A ! B & C != D ?: 41以下能正确定义且赋初值的语句是_。A int n1=n2=10; B char c=32; C float f=f+1.1; D double x=12.3E2.5;42 在C 语言的if 语句中,用作判断的表达式为_。 。A 关系表达式 B 逻辑表达式 C 算术表达式 D 任意表达式 43有以下程序main()int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; else d=3;printf(%d,%d,%d ,%d n,a,b,c,d);程序输出_。A 0,1,2,0 B 0,0,0,3 C 1,1,2,0 D 编译有错 44.若x和y是程序中的两个整型变量,则下列if语句中正确的是A if(x=0) y=1; else y=2; B if(x=0) then y=1 else y=2;C if(x=0) y=1 else y=2; D if x=0 y=1; else y=2;45【单选题】若x是int型变量,则下面程序段的输出结果是_。x=-3;if(x=0);cout”#”; else cout”*”;A 有语法错误,无输出结果 B * C # D #/*46当把以下四个表达式用作 if 语句的控制表达式时,有一个选项与其他三个选项含义 不同,这个选项是_。A k%2 B k%2=1 C (k%2)!=0 D !k%2=1 47设变量 a、b、c、d 和 y 都已正确定义并赋值。若有以下 if 语句:if(ab)if(c=d) y=0; else y=1; 该语句所表示的含义是_。A B C D 答案:C48有以下程序:main() int i=1,j=2,k=3; if(i+=1&(+j=3|k+=3) printf(%d %d %dn,i,j,k);程序运行后的输出结果是_。A 1 2 3 B 2 3 4 C 2 2 3 D 2 3 3 49下程序运行的结果是_。#includevoid main() int a=0,b=1,c=0,d=20;if(a) d-=10;else if(!b)if(!c)d=15;else d=25;coutdendl; A 20 B 0 C 5 D 25 50单选题】以下程序的运行结果是_。#include void main()int x=1,y=-1,z=2;if(xy)if(y0)z=0;else z+;else x+;coutxz0) switch(k) default : break; case 1 : n+=k;case 2 : case 3 : n+=k; k-; printf(%dn,n);程序运行后的输出结果是_。A 0 B 4 C 6 D 7 53. 执行语句序列 int n; cinn: switch(n) casel: case2:cout1: case 3: case4:cout2: break: delault:cout3: 时,若键盘输入1,则屏幕显示【 】A 1 B 2 C 3 D 12 54【单选题】若有int a=2;执行下列语句后a的值为_。switch(a)case 1:a+;case 2:a;case 3:+a;break;case 4:-a;default:a+; A3 B 1 C 4 D 255. 下面程序的输出结果是_.#includevoid main() int x=0,y=1,a=0,b=0; switch(x) case 0:switch(y)case 0:a+;break; case 1:b+;break; case 1: a+;b+;break; couta,bendl;A. 1,0 B. a,1 C.2,1 D.1,2 56有如下程序: int x=3; do x-=2; coutx; while(!(-x); 执行这个程序的输出结果是A 1 B 30 C 1-2 D 死循环 57执行语句序列 int i=0;while(i25)i+=3;couti; 输出结果是A 24 B 25 C 27 D 28 58有如下语句序列; int k=0; dok+=5;cout$; while(k0)cout*; 执行上面的语句序列输出字符$和*的个数分别是A 4和20 B 5和20 C 4和21 D 5和21 59有如下程序段:int i=1;while (1) i+; if(i=10) break; if(i%2=0) cout100)break;(B)for (;);(C)k=32764;do k+;k+; while(k0);(D)s=32764;while(s+%2)|(s%2)s+; 61.在以下给出的表达式中,与while(E)中的(E)不等价的表达式是_。A (!E=0) B (E0|E0) C (E=0) D (E!=0) 62.有以下程序main()int y=10;while(y-);printf(y=%dn,y);程序执行后的输出结果是_。A y=0 B y=-1 C y=1 D while 63.有以下程序段:int n,t=1,s=0;scanf(%d,&n);do s=s+t; t=t-2; while (t!=n); 为使此程序段不陷入死循环,从键盘输入的数据应该是_。A 任意正奇数 B 任意负偶数 C 任意正偶数 D 任意负奇数 64.下列程序的输出结果是【 】 #includeint main() char a=Hello,World; char *ptr=a; while(*ptr) if(*ptr=a& *ptr=z) coutchar(*ptr+A-a); else cout*ptr; ptr+;return 0;A HELLO,WORLD B Hello,world C hELLO,wORLD D hello,world 65.有以下程序:main()int p8=11,12,13,14,15,16,17,18,i=0,j=0; while(i+7) if(pi%2) j+=pi; printf(%dn,j);程序运行后的输出结果是_。A 42 B 45 C 56 D 60 66有如下程序段: int i=5; while(int i=0) cout*;i-; 运行时输出“*”的个数是A 0 B 1 C 5 D 无穷 67有如下程序段: int i=1; while(1) i+; if(i= =10) break; if(i%2=0) cout*; 执行这个程序段输出字符*的个数是A 10 B 3 C 4 D 5 68【单选题】有以下c+程序:#includevoid main()int x;docout+x;while(!x);该程序_。A 输出值不正确 B 陷入死循环 C 运行时无结果输出 D 编译时出错69【单选题】已知int x=3;下面的do_while语句执行时循环次数为_。do -x;while(x!=0)A 1 B 2 C 3 D 无限70有如下程序:#include int main()int sum;for(int i=0;i6;i+=3)sum=i;for(int j=i;j6;j+)sum+=j; coutsum1;i-=2)cout1;-i)cout*;A 48 B 49 C 50 D 51 73.有以下程序main()int i,j,x=0;for(i=0;i2;i+) x+;for(j=0;j=3;j+) if(j%2) continue;x+;x+;printf(x=%d n,x);程序执行后的输出结果是_。A x=4 B x=8 C x=6 D x=12 74.设变量已正确定义,则以下能正确计算 f=n!的程序段是_。A f=0; for(i=1;i=n;i+) f*=i; B f=1; for(i=1;i1;i+) f*=i; D f=1; for(i=n;i=2;i-) f*=i;75.有以下程序:main() int a=1,b;for(b=1;b=8)break; if(a%2=1)a+=5;continue; a-=3;printf(%dn,b);程序运行后的输出结果是_。A 3 B 4 C 5 D 6 76【单选题】下面程序段的输出的结果是_。for(int n=3;n6;n+) (n%2)?cout“*”:cout“#”A#*# B *#* C * D # 77【单选题】下面程序的输出结果是_。#includevoid main()int x,y;for(x=1,y=1;x=10)break;if(y%3=1)y+=3;continue;y=3;/y-=5coutxendl;A 10 B 1 C 3 D 4 78 【单选题】下列程序的输出结果是_。#includevoid main()int i,j,x=0;for(i=0;i=3;i+)x+;for(j=0;j=3;j+)if(j%2)continue;x+;x+;coutxendl;A 16 B 12 C 8 D 10 79要定义一个具有5个元素的一维数组vect,并使其各元素的初值依次是30,50,-88,0和0,则下列定义语句中错误的是A int vect =30,50,-88; B int veer =30,50,-88,0,0;C int vect5=30,50,-88; D int vect5=30,50,-88,0,0; 80针对数组定义int data10;,下列表述中错误的是A 用*data可访问到数组的首元素 B 用data9可访问到数组的末元素C 用data10访问数组元素会超出数组边界 D data共有10个元素,其首元素是data181要定义数组A,使得其中每个元素的数据依次为:3、9、4、8、0、0、0,错误的定义语句是A int A =3,9,4,8,0,0,0; B int A7=3,9,4,8,0,0,0;C int A =3,9,4,8; D int A7=3,9,4,8;82要定义整型数组x,使之包括初值为0的三个元素,下列语句中错误的是A int x3=0,0,0; B int x=0; C static int x3=0; D int x=0,0,0;83以下数组定义中错误的是_。A int x3=0; B int x23=1,2,3,4,5,6; C int x3=1,2,3,4,5,6; D int x23=1,2,3,4,5,6;84有以下程序main() int i,t3=9,8,7,6,5,4,3,2,1;for(i=0;i3;i+) printf(%d ,t2-ii);程序执行后的输出结果是_。 A 7 5 3 B 3 5 7 C 3 6 9 D 7 5 1 85有以下程序:main() int num44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,i,j;for(i=0;i4;i+) for(j=0;j=i;j+) printf(%4c, ); for(j=_;j4;j+) printf(%4d,numij); printf(n);若要按以下形式输出数组右上半三角1 2 3 46 7 811 1216则在程序下划线处应填入的是_。A i-1 B i C i+1 D 4-i 86. 以下叙述中错误的是_。A 对于 double 类型数组,不可以直接用数组名对数组进行整体输入或输出 B 数组名代表的是数组所占存储区的首地址,其值不可改变 C 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D 可以通过赋初值的方式确定数组元素的个数 87.有以下程序main() int a32=0,(*ptr)2,i,j;for(i=0;i2;i+) ptr=a+i; scanf(%d,ptr); ptr+; for(i=0;i3;i+) for(j=0;j2;j+) printf(%2d,aij);printf(n);若运行时输入:1 2 3,则输出结果是_。A 产生错误信息 B 1 0 C 1 2 D 1 02 0 2 0 2 00 0 0 0 3 0答案:B88以下能正确定义一维数组的选项是_。A int a5=0,1,2,3,4,5; B char a=0,1,2,3,4,5; C char a=A,B,C; D int a5=0123; 89.下列语句中,正确的是( )。A char*myString=Hello-World!;B char myString=Hello-World!;C char myString11=Hello-World!; D char myString12=Hello-World!;90.设有以下定义和语句char str20= Program,*p; p=str; 则以下叙述中正确的是_。A *p 与 str0中的值相等 B str 与 p 的类型完全相同C str 数组长度和 p 所指向的字符串长度相等D 数组 str 中存放的内容和指针变量 p 中存放的内容相同 91.以下能正确定义字符串的语句是_。A char str=064; B char str=x43; C char str=; D char str=0;92.有以下程序:main() char p=a,b,c,q=abc;printf(%d %dn,sizeof(p),sizeof(q);程序运行后的输出结果是_。A 4 4 B 3 3 C 3 4 D 4 3 93.有以下程序:#include main() char p=a,b,c,q10=a,b,c;printf(%d %dn,strlen(p),strlen(q);以下叙述中正确的是_。A 在给 p 和 q 数组置初值时,系统会自动添加字符串结束符,故输出的长度都为 3B 由于 p 数组中没有字符串结束符,长度不能确定;但 q 数组中字符长度为 3C 由于 q 数组中没有字符串结束符,长度不能确定;但 p 数组中字符长度为 3D 由于 p 和 q 数组中没有字符串结束符,故长度都不能确定 94.已有定义:char a=xyz,b=x,y,z;,以下叙述中正确的是_。A 数组 a 和 b 的长度相同 B a 数组长度小于 b 数组长度C a 数组长度大于 b 数组长度 D 上述说法都不对 95.有以下程序:main() char a7=a00a00; int i,j; i=sizeof(a); j=strlen(a); printf(%d %dn,i,j);程序运行后的输出结果是_。A 2 2 B 7 6 C 7 2 D 6 2 96.已知有数组定义 char a34; 下列表达式中错误的是A a2=WIN B strcpy(a2,WIN) C a23=W D a01=a0197【单选题】以下数组的定义中_是错误的。 A char *a2=”china”; B char a35=”china”; C char a1=c,h,i,n,e; D int a4 =1,2,3,4; 98【单选题】以下程序段中的词句被执行后,数组s1的内容是_。 Char s110=”ABCD”,s220=”EFGH”;strcpy(s1+2,s2); AABEFGH B EFABCD C ABCD D CDEFGH 99【单选题】下列关于数组初始化的说法不正确的是_。A “char s10=a,b,c,d,c,f,g,h,i;”表示s9元素值为空字符B 对于“char s|10|;”它的元素初值是不确定的C “char s10=a,b,c”是不合法的,因为数组长度为10,而初始值仅有3个D 若对数组s定义:“static char s10;”,则数组元素值均为空字符 100【单选题】下面各语句行中,能正确赋值字符串的语句是_。 A char st 5=a,b,c,d,e; B char *st; scanf(”%s”,st); C char st25 =”abcde”; D char *st; st=”abcde”;101【单选题】下面程序段的输出结果是_。char str=”abcde”;cout*(str+4)endl A e B d C 0 D 输出语句有错,无结果输出 102【单选题】以下对字符数组初始化的语句,正确的是_。 A char str=”123” B char str3=”xyz” C char str2=12 D char str1=0103. 【单选题】下面程序的输出结果是_。#include#includevoid main()char*x1=abcdef,*x2=ab;x1+;x2+;coutstrcmp(x1,x2)endl;A 1 B 0 C 不确定的值 D -1 104. 指针p所指字符串的长度是_。char *p=”t”StudentCoursen”;A.21 B.语法错误 C。20 D。17105.有以下程序:#include void f(char *s,char *t) char k;if(*s) f(s,t);main() char str10=abcdefg,*p;p=str+strlen(str)/2+1; f(p,p-2); printf(%sn,str);程序运行后的输出结果是_。A abcdefg B gfedcba C gbcdefa D abedcfg 106以下语句或语句组中,能正确进行字符串赋值的是_。 A char *sp;*sp=right!; B char s10;s=right!; C char s10;*s=right!; D char *sp=right!; 107.有以下程序,其中函数 f 的功能是将多个字符串按字典顺序排序:#include void f(char *p,int n) char *t; int i,j; for(i=0;in-1;i+) for(j=i+1;j0) t=pi; pi=pj; pj=t; main() char *p5=abc,aabdfg,abbd,dcdbe,cd;f(p,5);printf(%dn,strlen(p1);程序运行后的输出结果是_。A 2 B 3 C 6 D 4 108. 有以下函数:fun(char *a,char *b) while(*a!=0)&(*b!=0)&(*a=*b) a+;b+; return(*a-*b);该函数的功能是_。A 计算 a 和 b 所指字符串的长度之差B 将 b 所指字符串连接到 a 所指字符串中 C 将 b 所指字符串连接到 a 所指字符串后面 D 比较 a 和 b 所指字符串的大小 109【单选题】执行语句int a=20,*p=&a;后,下列描述错误的是_。Ap的值为20 B p指向整型变量a C *p表示变量a的值 D p的值是变量a的地址 110【单选题】已知p是指针变量,则不能初始化指针的值是_。 A 1 B 0 C NULL D 地址111【单选题】下面能正确使用的语句是_。 A int*x;y=1;x=&y; B int*x;y;x=&y;C int*x;*x=1;D int*x,y=1;x=y;112【单选题】可以赋给指针变量的唯一整数是_。 A 3 B 0 C 1 D 2113.语句int*p=&k;定义了指针p,与这个语句等效的语句序列是A int*p;p=&k; B int*p;p=k; C int*p;*p=&k; D int*p;*p=k; 114.有如下程序段int i=0,j=1;int &r=i;/ r=j /int*p=&i; /*p=&r; /其中会产生编译错误的语句是A B C D 115. 有如下程序: #includeiostream int main() int *p; *p9; coutThe value at p:*p; return 0; 编译运行程序将出现的情况是:A 编译时出现语法错误,不能生成可执行文件B 运行时一定输出:The value at p:9C 运行时一定输出:The value at p:*9D 运行时有可能出错 116. 已知n是一个int型变量,下列语句中错误的是A long *p=new long; B long p; C long *p=new long();D long pr10; 117.若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是_。A *p=&a; scanf(%lf,p); B *p=&a; scanf(%f,p);C p=&a; scanf(%lf,*p); D p=&a; scanf(%lf,p); 118. 若有定义 int x=0,*p=&x;,则语句 printf(%dn,*p);的输出结果是_。A 随机值 B 0 C x 的地址 D p 的地址 119. 设有定义 int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与 n2=n1;语句等价的是_。A *p=*q; B p=q; C *p=&n1; D p=*q; 120.已知:int m10:在下列定义引用的语句中,正确的是_A int &xm; B int y&m; C int &z; D int &t&m; 121.有以下程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国美术史试题及答案
- 2025年飞行执照测试题及答案
- DB65T 4777.2-2024 社区视频信息结构化处理系统 第2部分:接口协议要求
- 幼资面试题库及答案
- 高速防护栏施工劳务合同(3篇)
- 2025公务员英雄面试题及答案
- 2025公务员天灾面试题及答案
- 餐饮连锁厨师团队合作协议
- 影像专业面试题目及答案
- 2025年中医基础理论试题及答案
- 高龄患者PICC导管静脉血栓形成的个案分享课件
- 中国骨折内固定术后感染诊断与治疗专家共识
- 食品安全与日常饮食智慧树知到期末考试答案章节答案2024年中国农业大学
- 基础护理学第七版题附有答案
- (正式版)HGT 20593-2024 钢制化工设备焊接与检验工程技术规范
- 200个句子涵盖高中英语3500词汇
- 光线传媒公司章程
- 二手车产品目录
- 弹塑性力学讲稿课件
- 护坡工程竣工汇报
- 急诊科护士的病人家属安抚与沟通
评论
0/150
提交评论