大学MOOC 程序设计基础(南通大学)1460881169 最新慕课完整章节测试答案
第3章 基本流程控制结构
第三章单元测试
1、单选题:
#include<iostream>using namespace std;int main( ){ int x=1,y=2,z=3;if(x>y) if(y<z) cout<<++z; else cout<<++y;cout<<x++<<endl;return 0;}程序的运行结果是 ( )
选项:
A: 331
B: 41
C: 2
D: 1
答案: 【 1】
2、单选题:
以下语句中有语法错误的是( )
选项:
A: for( ; ; ) ;
B: do ; while(1);
C: while( );
D: p: ; goto p;
答案: 【 while( ); 】
3、单选题:
有以下程序#include<iostream>using namespace std;int main( ){ int x=8;for( ;x>0;x--){ if(x%3) { cout<<x--<<",";break; } cout<<--x<<",";}return 0;}程序的运行结果是( )
选项:
A: 7,4,2,
B: 8,7,5,2,
C: 9,7,6,4,
D: 8,5,4,2,
答案: 【 8,5,4,2,】
4、单选题:
下列程序的输出结果是( )#include<iostream>using namespace std;int main( ){ int a=1,b; for(b=1;b<=10;b++) { if(a>=8) break; if(a%2==1) { a+=5; coutinue; } a=3; }cout<<b<<endl;return 0;}
选项:
A: 3
B: 4
C: 5
D: 6
答案: 【 4】
5、单选题:
有以下程序#include<iostream>using namespace std;int main( ){ int i,j,x=0; for(i=0;i<2;i++) { x++; for(j=0;j<3;j++) { if(j%2) coutinue; x++; } x++; }cout<<"x="<<x<<endl;return 0;}程序执行后的输出结果是( )
选项:
A: x=4
B: x=8
C: x=6
D: x=12
答案: 【 x=8】
6、单选题:
if语句后的表达式应该是( )
选项:
A: 赋值表达式
B: 关系表达式
C: 任意符合C++的语法表达式
D: 算术表达式
答案: 【 任意符合C++的语法表达式 】
7、单选题:
语句"while(!e);"中的条件!e等价于( )
选项:
A: e==0
B: e!=1
C: e!=0
D: ~e
答案: 【 e==0 】
8、单选题:
执行"for(x=0,y=0;(y!=123)&&(x<4);x++);",结果是( )
选项:
A: 无限循环
B: 循环次数不定
C: 执行4次
D: 执行3次
答案: 【 执行4次 】
9、单选题:
设有定义“int a=1,b=2,c=3;”,以下语句中执行效果与其他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;}
答案: 【 if(a>b) c=a;a=b;b=c; 】
10、单选题:
对于for(表达式1;;表达式3),可理解为( )。
选项:
A: for(表达式1;0;表达式3)
B: for(表达式1;1;表达式3)
C: for(表达式1;表达式1;表达式3)
D: for(表达式1;表达式3;表达式3)
答案: 【 for(表达式1;1;表达式3)】
11、单选题:
有如下程序段:int k=5;while(--k) cout<<(k-=3)<<endl;运行后输出结果是( )
选项:
A: 2
B: 4
C: 1
D: 死循环
答案: 【 1 】
12、单选题:
有如下程序段:int a=-2,b=0;while(a++) ++b;cout<<a<<'t'<<b<<endl;运行后输出结果是( )。
选项:
A: 0 2
B: 1 2
C: 1 3
D: 2 3
答案: 【 1 2 】
13、单选题:
以下程序段的输出结果是( )x=-1;do{x=x*x;} while(!x);
选项:
A: 死循环
B: 循环执行2次
C: 循环执行1次
D: 有语法错误
答案: 【 循环执行1次 】
14、单选题:
有如下程序段:int a=3;do cout<<(a-=2)<<‘t’;while(!(--a));运行后输出结果是( )
选项:
A: 1
B: 1 -2
C: 3 0
D: 1 0
答案: 【 1 -2 】
15、单选题:
下列程序段的执行结果是( )。#include <iostream>using namespace std;int main(){ int i=1; switch(i) { case 0:i++;case 1:case 2:i++;case 3:i++;break;default:i++;} cout<<i; return 0;}
选项:
A: 2
B: 3
C: 4
D: 5
答案: 【 3 】
16、单选题:
执行下列程序段后,输出字符"*"的个数是( )。for(int i=50;i>1;i-=2) cout<<'*';A.24 B.25 C.26 D.50
选项:
A: 24
B: 25
C: 26
D: 50
答案: 【 25 】
17、单选题:
有如下程序段:int a=6,b=0,c=0;for(;a;){ b+=a; a-=++c;}cout<<a<<'t'<<b<<'t'<<c<<endl;运行后输出结果是( )
选项:
A: 1 14 3
B: 0 18 3
C: 0 14 3
D: 0 14 6
答案: 【 0 14 3 】
18、单选题:
有如下程序段:int a=6,b=0,c=0;for(;a&&(b==0);){ b+=a; a-=++c;}cout<<a<<'t'<<b<<'t'<<c<<endl;运行后输出结果是( )A.6 0 0 B.5 6 0 C.6 6 1 D.5 6 1
选项:
A: 6 0 0
B: 5 6 0
C: 6 6 1
D: 5 6 1
答案: 【 5 6 1】
19、单选题:
对下面三条语句(其中s1和s2为内嵌语句),正确的论断是( )if(a)s1; else s2; //①if(a==0)s2; else s1; //②if(a!=0)s1; else s2; //③ A.三者相互等价 B.①和②等价,但与③不等价C.三者互不等价 D.①和③等价,但与②不等价
选项:
A: 三者相互等价
B: ①和②等价,但与③不等价
C: 三者互不等价
D: ①和③等价,但与②不等价
答案: 【 三者相互等价 】
20、单选题:
若有定义"int a=1,b=2,c=3,d=4;",则表达式a>b?a:c>d?c;d的值为( )
选项:
A: 1
B: 2
C: 3
D: 4
答案: 【 4】
第6章 数组
过程性测试一(1-6章)
1、单选题:
下列数中最小的是( )。
选项:
A: (101101)2
B: (52)8
C: (2B)16
D: (50)10
答案: 【 (52)8】
2、单选题:
下列选项中,正确C++标识符是( )。
选项:
A: 6_group
B: group~6
C: age_3
D: _group-6
答案: 【 age_3】
3、单选题:
以下选项中,当x为大于1的偶数时,值为1的表达式是( )。
选项:
A: x/2
B: x%2==0
C: x%2!=0
D: x%2==1
答案: 【 x%2==0】
4、单选题:
若有定义语句“int x=4,y=5;”,则表达式“y>++x?x--:++y”的值是( )。
选项:
A: 3
B: 4
C: 5
D: 6
答案: 【 6】
5、单选题:
程序段“int x=2; do{cout<<x--;}while(!x);”中循环体的执行次数是( )。
选项:
A: 3
B: 2
C: 1
D: 死循环
答案: 【 1 】
6、单选题:
下列选项中,值为1的表达式是( )。
选项:
A: 1-‘0’
B: ‘1’-0
C: 1-‘’
D: ‘’-‘0’
答案: 【 1-‘’】
7、单选题:
有下列程序 #include<iostream>using namespace std;int main(){ int x=013; cout<<x++<<endl; return 0;}程序输出后的结果是( )。
选项:
A: 12
B: 11
C: 10
D: 9
答案: 【 11】
8、单选题:
已知函数f的定义如下: int f(int a,int b) { if(a<b) return (a,b); else return (b,a);}在main函数中若调用函数f(3,2),得到的返回值是( )。
选项:
A: 2
B: 3
C: 2和3
D: 3和2
答案: 【 3 】
9、单选题:
有如下的函数定义: void func(int &a,int b){a++;b++;}若执行代码段: int x=O,y=1; func(x,y); 则func函数执行后,变量x和y的值分别为( )。
选项:
A: 0和1
B: 1和1
C: 0和2
D: 1和2
答案: 【 1和1 】
10、单选题:
以下叙述中正确的是( )。
选项:
A: 内联函数的参数传递关系与一般函数的参数传递关系不同
B: 建立内联函数的目的是为了提高程序的执行效率
C: 建立内联函数的目的是为了减少程序文件占用的内存空间
D: 任意函数均可以定义成为内联函数
答案: 【 建立内联函数的目的是为了提高程序的执行效率】
11、单选题:
有如下程序; #include<iostream> using nanespace std; int f(int x) { int y; if(x==0||x==1) return 3; y=x*x-f(x-1); return y;} int main() { cout<<f(2)<<endl; return 0;} 运行后输
