D. i=1;s=0; do{s=s*i; i++;}
while(i<=10); 112. int x=-1; do
{x=x*x;} while(!x);
下列说法正确的是____c____。 A. 是死循环 B. 循环执行两次 C. 循环执行一次 D. 有语法错误 113. int a=1,b=2,c=2;
while(a
A. 1,2,0 B. 2,1,0 C. 1,2,1 D. 2,1,1 114. int x=0,y=0;
while(x<15) y++,x+=++y; cout< 则运行结果为___d_____。 A. 20,7 B. 6,12 C. 20,8 D. 8,20 115. int x=0,s=0; while(!x!=0) s+=++x; cout< 则____b___。 A. 运行程序段后输出0 B. 运行程序段后输出1 C. 程序段中的控制表达式是非法的 D. 程序段执行无限次 116. 带参数的宏定义中,程序中引用宏定义的实参__a__ A. 只能是常量 B. 任何标识符 C. 任意表达式 D. 被定义的宏名 117. 文件包含命令中被包含的文件扩展名___d__。 A. 必须为.h B. 不能为.h C. 必须是.c D. 不一定是.h 118. 预处理命令在程序中都是以_b___开头的。 A. * B. # C. : D. / 119. 以下程序输出的结果是a=___a__,b=_______ #include { for(int a=1,b=1; a<=5; a++) { if (b>=8) break; if(b%2==1){b+=7; continue;} b-=3; } cout<<\} A. 2 8 B. 1 7 C. 8 2 D. 7 1 120. break语句只能用在___d__ A. 开关语句中 B. 函数体中允许语句出现的任一位置 C. 循环语句中 D. 开关语句或循环语句中 121. 循环语句for(<表达式1>;<表达式2>;<表达式3>)<语句>中,<语句>的执行情况是__c__. A. 至少执行一次 B. 至少执行两次 C. 可能执行,也可能不执行 D. 不执行 122. 下列程序的运行结果是__b____. include int i=1; do{ i++; cout<<++i; if (i==7) break; }while(i==3); cout<<‖ok!‖; } A. 2 4 ok! B. 3 5 ok! C. 1 1 ok! D. 3 3 ok! 123. 下面程序的运行结果是_a__ #include int i=0; while(++i) { if(i==10) break; if(i%3!=1) continue; cout<< i; } } A. 1 4 7 B. 1 1 1 C. 3 3 3 D. 2 4 6 124. 下列关于开关语句的描述中,___a__是正确的. A. 开关语句中default子句可以没有,也可以有一个 B. 开关语句中每个语句序列中必须有break语句 C. 开关语句中default子句只能放在最后 D. 开关语句中case子句后面的表达式可以是整型表达式 125. 下述关于break语句的描述中,___c__是不正确的 A. break语句可用于循环体内,它将退出该重循环 B. break语句可用于开关语句中,它将退出开关语句 C. break语句可用于if体内,它将退出if语句 D. break语句在一个循环体内可以出现多次 126. 下述关于循环体的描述中,___c_是错误的. A. 循环体中可以出现break语句和continue语句 B. 循环体中还可以出现循环语句 C. 循环体中不能出现goto语句 D. 循环体中可以出现开关语句 127.下列for循环的循环体执行次数为__d_. For(int i=0,j=10;i=j=10;i++,j--) A. 0 B. 1 C. 10 D. 无限 128. 下列DO-While循环的次数为__d__. int i=5; Do { cout< }while(i!=0); A. 0 B. 1 C. 5 D. 无限 129. 下列While循环的次数是_a__. While( int i=0) i--; A. 0 B. 1 C. 5D. 无限 130. 下列for循环的次数为__b___. for(int i=0,x=0;!x&&i<=5;i++) A. 5 B. 6 C. 1 D. 无限 131. 下列__a__是语句. A. ; B. a=17 C. x+y D. cout<<‖\\n‖ 132. 在循环语句的循环体中使用break语句的作用是__b___。 A. 结束本次循环 B. 结束该层的循环 C. 结束开关语句 D. 结束程序执行 133. 循环语句\x=0,y=0;y!=100||x<10;)x++;\,执行的循环次数是___a___。 A. 无限次 B. 10 C. 11 D. 100 134. 执行以下程序段时,输出_a___。 int s1=0,s2=0,s3=0,s4=0; for(int t=1; t<=4; t++ ) switch(t) { case t>= 4 : s1++ ; break ; case t>= 3 : s2++ ; break ; case t>= 2 : s3++ ; default: s4 ++ ; cout< B. 1,1,1,2 C. 1,2,3,2 D. 1,1,2,2 135. 设e1和e3是表达式,与语句for(e1;;e3)s;等同的语句是___d___。 A. for(e1;e1;e3) s; B. for(e1;e3;e3) s; C. for(e1;0;e3) s; D. for(e1;1;e3) s; 136. 为了避免嵌套的if-else语句的二义性,C++语言规定else总是与__c__组成配对关系。 A. 缩排位置相同的if B. 在其之前未配对的if C. 在其之前未配对的最近的if D. 同一行上的if 137. 选择出合法的if语句(设有int x,y;),正确输出x与y的大小关系__b___。 A. if(x!=y) if(x>y) cout<<\; else cout<<\ B. if(x!=y) if(x>y) cout<<\ else cout<<\else cout<<\ C. if(x!=y) if(x>y) cout<<\else cout<<\ cout<<\ D. if(x!=y); if(x>y)cout<<\ else cout<<\ else cout<<\ 138. 执行下列程序,输入为1的输出结果是_a__。 #include {case 1:cout< case 3:cout< } A. 1 B. 2 C. 2 3 4 5 D. 1 2 3 4 139. 执行下列程序,输入为1的输出结果是__d___。 #include {case 1:cout< case 4:cout< cout< A. 1 B. 2 C. 2 3 4 5 D. 1 2 3 4 140. 以下程序的输出结果是__a___。 #include int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0:a++;break; case 1:b++;break; } case 2:a++;b++;break; } cout< A. 2,1 B. 1,1 C. 1,0 D. 2,2 141. 若定义:float x;int a,b;则正确的switch语句是___d___。 A. switch(x) { case 1.0:cout<<\ case 2.0:cout<<\ } B. switch(x) { case 1.2:cout<<\ case 3 : cout<<\ } C. switch(a+b) { case 1 : cout<<\ case 1,2:cout<<\ } D. switch(a+b) { case 1:cout<<\\n\ case 2:cout<<\ } 142. 下列关于条件语句的描述中,__c___是错误的. A. if语句中只有一个else子句 B. if语句中可以有多个else if子句 C. if语句中if体内不能是switch语句 D. if语句的if体中可以是循环语句 143. 下面有关for循环的正确描述是__d___。 A. for循环只能用于循环次数已经确定的情况 B. for循环是先执行循环体语句,后判定表达式 C. 在for循环中,不能用break语句跳出循环体 D. for循环体语句中,可以包含多条语句,但要用花括号括起来 144. C++语言中while和do-while循环的主要区别是_a___. A. do-while的循环体至少无条件执行一次 B. while的循环控制条件比do-while的循环控制条件严格 C. do-while允许从外部转到循环体内 D. do-while的循环体不能是复合语句 145. 下列语句段中不是死循环的是___a__. A. int i=100; while(1) { i=i0+1; if(i=20) break; } B. int i,sum=0; for(i=1;;i++) sum=sum+1; C. int k=0; do { ++k; }while(k>=0); D. int s=3379; while(s++%2) s++; 146. 与以下程序段等价的是__a____。 while(a) { if(b) continue; c; } A. while(a) {if(!b)c;} B. while(c) {if(!b) break; c; } C. while(c) {if(b) c;} D. while(a) {if(b) break; c; } 147. 以下程序的输出结果是__b___。 #include for(i=4;i<=10;i++) { if(i%3==0)continue; cout< A. 45 B. 457810 C. 69 D. 678910 148. 下面程序的运行结果是__b___ #inlcude {char a[ ]=\for(I=1;I<7;I++) if(a[j] t=a[j]; a[j]=a[7]; a[7]=a[j];cout< A. mogninr B. mo C. morning D. mornin 149. 下面程序的运行结果是__d___ #include {char a[80]=‖AB‖,b[80]=‖LMNP‖; int I=0; strcat(a,b); while(a[I++]!=‘\\0‘) b[I]=a[I]; cout< } A. LB B. ABLMNP C. AB D. LBLMNP 150. 下面程序的运行结果是___a__ void main() {char ch[7]={\for(I=0;ch[I]>='0'&&ch[I]<='9';I+=2) s=10*s+ch[I]-'0'; cout< A. 1 B. 1256 C. 12ab56 D. 1 A. 字符数组可以存放字符串 B. 字符数组可以整体输入,输出 C. 可以在赋值语句中用赋值运算符“=”对字符数组整体赋值 D. 不可以用关系运算符对数组中的字符串进行比较 152. 下面描述正确的是__d__ A. 两个字符串所包含的字符个数相同时才能比较字符串 B. 字符个数多的字符串比字符个数少字符串大 C. 字符串“STOp”与“STOP”相等 D. 字符串“That”小于字符串“The” 153. 下面程序段是输出两个字符串中对应相等的字符,请完善程序 char x[ ]=\int I=0; while(x[I]!='\\0'&&y[I]!='\\0') if(x[I]==y[I])cout<<___a___; else I++; A. x[I++] B. y[++I] C. x[I] D. y[I] 154. 判断字符串s1是否大于字符串s2,应当使用__d___ A. if(s1>s2) B. if(strcmp(s1,s2)) C. if(strcmp(s2,s1)>0) D. if(strcmp(s1,s2)>0) 155. 判断字符串a和b是否相等,应当使用___d___ A. if(a==b) B. if(a=b) C. if(strcmp(a,b)) D. if(!strcmp(a,b)) 156. 下面程序段的运行结果是b___ char c[ ]=\ A. 14 B. 3 C. 9 D. 字符串中非法字符,输出值不确定 157. 有下面的程序段,则___d__ char a[3],b[ ]=\a=b;cout< A. 运行后将输出China B. 运行后将输出Ch C. 运行后将输出Chi D. 编译出错 158. 下面程序段的运行结果是__d__ char a[7]=\char b[4]=\strcpy(a,b); cout< A. d B. \\0 C. e D. f 159. 对两个数组a和b进行如下初始化 char a[ ]=‖ABCDEF‖; char b[ ]={?A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘}; 则以下叙述正确的是_d___ A. a和b数组完全相同 B. a与b所占字节数相同. C. a和b中都存放字符串 D. a数组所占字节数比b数组所占字节数多 160. 下面程序段的运行结果是__b___ char c[5]={?a‘,‘b‘,‘\\0‘,‘c‘,‘\\0‘}; cout< A. ‘a‖b‘ B. ab C. ab0c D. abc 161. 下面是对字符数组s的初始化,其中不正确的是__d___ A. char s[5]=―abc‖; B. char s[5]={‘a‘,‘b‘,‘c‘}; C. char s[5]=‖‖; D. char s[5]=‖abcdef‖; 162. 下面程序的运行结果是__c___ void main() {int a[6],I; for(I=1;I<6;I++) { a[I]=9*(I-2+I*(I>3))%5; cout< } A. -4 0 4 0 4 B. -4 0 4 0 3 C. -4 0 4 4 2 D. -4 0 4 4 0 163. 以下正确的定义语句是__d___ A. int a[1][4]={1,2,3,4,5}; B. float x[3][ ]={{1},{2},{3}} C. long b[2][3]={{1},{1,2},{1,2,3}}; D. double y[ ][3]={0}; 164. 定义如下变量和数组: int k; int a[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是__a__ for(k=0;k<3;k++) cout< A. 3 5 7 B. 3 6 9 C. 1 5 9 D. 1 4 7 165. 若二维数组a有m列,则在a[I][J]前的元素个数为__b___ A. J*m+I B. I*m+J C.I*m+J-1 D. I*m+J+1 166. 若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是__b___ A. 2 B. 3 C. 4 D. 无确定值 167. 以下不正确的定义语句是:___b___ A. double x[5]={2.0,4.0,6.0,8.0,10.0}; B. int y[5]={0,1,3,5,7,9};