河北工业大学C++终极题库(共54页).docx
《河北工业大学C++终极题库(共54页).docx》由会员分享,可在线阅读,更多相关《河北工业大学C++终极题库(共54页).docx(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上单选程序设计概述1.一个C+ +程序的执行是从: A A. main函数开始,直到main函数结束B.第一个函数开始,直到最后一个函数结束 C.第一个语句开始,直到最后一个语句结束 D. main函数开始,直到最后一 个函数结束2. 在一个C/C+程序中: BA.main函数出现在所有函数之前B.main函数可以在任何地方出现C.main函数出现在所有函数之后D.main函数出现在固定位置3. C+ +源程序的基本单位是: BA.过程 B.函数C.子程序 D.标识符4. 以下叙述中正确的是: C A.一个控制台类型的工程只能有-个源文件 B .一个控制台类型的工程只能
2、有一个头文件 C.一个控制台类型的工程只能有一个main函数 D .一个控制台类型的工程只能有一个函数基本数据类型及表达式1. 設ch=A,則下面的表迭式値勺: Ach=!(ch=A&ch=Z)?ch(ch+32)A.aB.AC.ZD.Z2. 下列条件语句中,功能与其他语句不同的是: D A. if (a) cout xendl; else couty endl; B. if (a=0) cout yendl; else cout X endl; C. if (a!=0) cout X endl; else cout y endl; D. if (a=0) cout X endl; else
3、cout y bD.switch4. 逗号表达式(a=3*5,a*4)的值为: BA.15B.60C.30D.不确定 5. 若有以下定义: Dchara;intb;floatc;doubled;则表达式a*b+d-c的值的类型为:A.floatB.intC.charD.double 6. 若有定乂:inta=3,b=2; C刔表込式a*=b+8;的値是:A.14B.10C.30D.137. 阅读以下程序: A #include void main( int a=5,b=0,c=O;if(b+c = a) cout *n; else cout #n; 则: A.有语法错,不能通过编译 B.可以通
4、过编译但不能通过连接C.输出* D.输出#8. 判断char型变量ch为大写字母的正确表达式为: CA.A=ch=A)&(ch=A)&(ch=A)AND(ch=Z)9. 以下合法的C+語言棕枳符是:CA.5B.321_GoC.Double D.a*b10. 以下正确的C+语识符是:BA.VC+B._1C.321_GoD.*p11. 表达式3.6-5/2+ 1.2+ 5%2的值是: DA.4.3B.4.8C.33D.3.812. 設c是字符変量,以下語句中錯俣的是: CA. c=Y”B.c=C. c=yD.c=t13. 判断char型变量ch不是小写字母的正确表达式为: CA.ach=a)OR(
5、ch=z)C.(chz)D.(ch=a)&(ch=z)14. 已知ch为char型変量,以下判断ch是数字字符的表迭式是: C A. 0=ch=0) & (ch=0) & (ch=0) AND (chb)?a+b:a-b的値勺: CA.1B. 0C.8D.-216. 判断char型变量c的值不是数字字符的正确表达式是 : C A0=c=0) & (c=9) C. (c9) D. (c9)17. 以下結果为整数的表达式(設有inti;charc;floatf)是: BA.i+fB.i*cC.c+fD.i+c+f.18. 以下合法的C+ +标识符是 C A.%x B. a+b C. a123 D.
6、test !选择结构程序设计 1. 下列叙述中正确的是: D A. break語句只能用于switch語句B .在switch語句中必須使用defaultC . break語句必須与switch語句中的case配対使用D .在switch語句中,不-定使用break語句 2. 已有如下定义语句: int a=1,b=2,c=3,x; ,则以下选项中各程序段执行后, x的值不为3的是:C A. if(ca) x=1; B. if(a3) x=3; else if (ba) x=1; else if (a2) x=2; else x=3; else X=1; C. if(a3) x=3; D. i
7、f (ab) x=b; if (a2) x=2; if (bc) x=c;if(a1) x=1; if (ca) x=a;3. 下列咲于switch語句的描述中,正磆的是: A A. switch語句中defaul可有可无 B. switch語句中毎个語句序列中必須有break語句 C. switch語句中default只能放到最后 D. switch語句中case后的表迭式可内任意表迭式4. 在嵌套使用if语句时, C+ +语言规定else总是: CA.和之前与其具有相同缩进位置的if配对B.和之前与其最近的if对C.和之前与其最近的且不带else的if配对D.和之前的第一个if配对5. 下
8、列选项中与以下程序段功能不同的是: Dif(x=1) a-; else a+;A . switch(x) case 1: a-; break; default: a+ +;B . switch(x) default: a+ +; break ;case 1: a-;C.switch(x=1)case1:a-;break;caseO:a+;D.switch(x=1)case0:a-;break;case1:a+;循环结构程序设计1. 若有以下程序代码段:intt=0;while(t=1)t-;则以下叙述正确的是:BA.循环控制表达式不合法B.该循环为无限次循环C.该循环仅循环1次D.该循环-次也
9、不循环2. 以下叙述中正确的是: AA. break语句可以结束当前的循环B. break语句与continue语句的作用相同C. continue语句可以结束当前的循环D. break语句与return语句的作用相同3. 以下描述中正确的是:BA. continue语句的作用是结束整个循环的执行B .只能在循环体内和switch语句体中使用break语句C .在循环体内使用break语句或continue语句的作用相同D .在内层循环体中的break语句,执行后可跳出外层循环4. 以下描述中正确的是: CA .由于do-while循环中循环体语句只能是一 条可执行语句,所以循环体内不能使用复
10、合语句B . do-while循环由do开始,用while结束,在while(表达式)后面不能写分号C .在do-while循环中,若while后面表达式为非0的常量值,则循环体中应有break语句D . do-while循环中,可以根据情况省略while5. 下列程序目的是求1到100的累加和,其中只有一个不能鯵完成規定的功能,它是: CA.ints = O,i= O;while (i = 100)s += i+;B.ints=O,i=0;while (i100)s+= +i;C.int s=O, i=1;while (i+100)s+=i;D.int s=0, i=0;vhile (+ +
11、i=100)6. 设变量已正确定义,则以下能正确计算f= n!的程序段是: DA. f=0;for(i=1;i=n;i+)f*=i;B . f=1;for(i=2;i0;i+)f*=i;D . f=1;for(i=n;i=2;-)f*=i;7. C+ +中while与do-while语句的主要区别是: AA . do-while循环体至少无条件执行次B . do-while允许从外部转到循环体内C . do-while的循环体不能是复合语句D . while的循环控制条件比do-while严格8. 以下程序代码段的运行结果是: Cfor(int i=0; i10; i+=3) ;cout i;
12、A.0369B.9C. 12D.9. 下面程序的运行结果是: D#include void main()int i=0,s=0;for (;;)if(i=3i=5) continue;if (i=6) break;i+;s+=i;coutS endl;A.10B.13C.21D.程序进入死循环10. 设有程序段:int k= 100;while(k=0) k-;则以下描述中正确的是: CA . while循环执行100次B .该循环是无限循环C .循环体语句-次也不执行D .循环体语句执行次11. 下面关于for循环的正确描述是: D A. for循环只能用于循环次数已经确定的情况B . fo
13、r循环是先执行循环体语句,后判断表达式C .在for循环中,不能用break语句跳出循环体D . for循环的循环体语句中,可以包含多条语句但必须用花括号括起来一维数组的定义和使用 1. 已知int a5; ,若要使得其中每个数组元素的值依次为:2、4、 6、 8、 10 ,以下错误的是: DA. for(inti= 0;i 5; i+) ai = 2*(i+1);B. for(int i = 2;i =10;1+=2) a(i-1)/2= i;C. a0=2; for(int i= 1;i 5;i+) ai = ai-1+2;D. for(int i= 2;i =10;i+=2) ai= i
14、;2. 以下正确的语句为: DA. int n = 3, an=1,2,3;B. int a3=1,2,3,4,5;C . int a3.6=1,2,3,4;D. int a=1,2,3,4 ;3. 若要定义整型数组a ,使得其中每个数组元素的值依次为:1、3、5、8、0、0、0,则下列定义语句中错误的是: CA. int a=1,3,5,8,0,0,0;B . int a7=1,3,5,8,0,0,0;C . int a=1,3,5,8;D . int a7=1,3,5,8 ;4. 以下描述中正确的是:D A.定义数组时,长度可为常量或变量。 B .同一个数组中的各个数组元素的数据类型可不相
15、同。 C .数组在定义时不能进行初始化。 D .数组必须先定义后使用,数组元素的使用与变量相同。二维数组的定义和使用1. 下列选项中不能对二维数组a初始化的语句是: CA . int a23=1,2,3,4,5,6;B . int a23=1,2;C . int a23=12,3;D. int a23=0;2. 以下二维数组的定义中,正确的是: CA. int a3,4;B . int n= 3,m=4,anm;C . int a34;D . int a4;字符串数组及字符串操作1. 要比较两个字符数组a、b中的字符串是否相等,下面表达式正确的是: BA. a=bB . strcmp(a,b)
16、 = 0C . strcpy(a,b)D. a=b2. 已有如下定义char s120= aLeap, s2=Year, s330; ,则执行strcpy(s3, strcat(s1 + 1,s2) ); cout s3;后的输出结果是: D A . YearaLeap B . aYear C . aLeapYear D . LeapYear3. 以下关于字符数组定义的语句中,错误的是: DA. char s10= abcde;B. char s= abcde;C. char s=a,b,c, d, e;D. char s3=a,b,c,d;4. 若有以下程序 #include void ma
17、in() char s= abcde; s +=2; cout s0 sa; couts= a;p- ) cout*p;输出结果是:B A. 12345 B. 54321 C. 543 D.115. int *p= &a;中&的作用是: BA.取值B.取地址C.逻辑与运算D.按位与运算6. 类型相同的两个指针变之间,不能进行的运算是: CA. B.=C.+D.-7. 若有以下语句: int *p,a= 4; p=&a; 下面均代表地址的一组选项是:DA. a, p, *&aB.&*a,&a,*pC.*&p,*p,&aD.&a,&*p,p8. 若有以下程序段: int *p, a=10, b=1
18、; p=&a;*p+=b; 则执行该程序段后, a的值为: B A.12 B.11 C.10 D .编译出错9. 若有inta=5, *p= &a; *p=6; ,则下面描述正确的是: CA.两个*均表示取指针指向的内容B. *p=6;等同于p*=6;C. a的值最后会是6D.指针p指向变量a并且不能再更改指向10. 在int a, *p=&a;语句中, &的作用是 BA.取值B.取地址C .逻辑与运算D.按位与运算11. 以下选项中正确的是: BA . int x, double y ;B . char *t=bingo;C. int *p=5;D . int a3=1,2,3,4,5;12
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 河北 工业大学 C+ 终极 题库 54
限制150内