自觉遵守考场纪律
如名姓
考
试
作
弊
此
答
卷
无
效
号
学
东南大学 C++程序设计 ( 上 ) 考试卷 ( A卷)
课程名称考试学期得分
适用专业电类、非电类考试形式闭卷考试时间长度100 分钟
(一)选择题(每空 2 分;共 20 分)
1. 设有说明“ int i=10;float x; ”, 执行“ x=5/i; ”后 ,x 的值为 _____
A. 0.5
B. 0
C. 1.0
D. 以上皆否
2. 在 while(!a) 中;其中 !a 与表达式 __________等价。
A. a==0
B. a==1
C. a!=1
D. a!=0
线
3.下面的整型常数中错误的是 __________。
A. 123
B. 380
C. 038
D. 0xAF
4. 以下 __________不能用作标识符
A. a6.3
B. _1234
C. GetName
D. b_tree
封
5.设以下变量均为 int 类型;则值不等于 10 的表达式是 ________。
A.x=y=9,x+y,x+1 B .x=y=9,x+y,y+1
C.x=9,y=1,y=x,x+y D.y=9,y+1,x=y,x+1
6.若定义函数;int f(int x) {x*=10;return x;}执行以下语句;int
密
a=3,b;b=f(a) + f(a)之后a,b的值是________。
A.3,30B.30,60 C.300,330 D .3,330
7.已知int i=0;while(i++!=7);当while循环结束后;变量i的值为
________。
A.5B.6 C .7 D.8
8.表达式 __________是满足:当 c 的值为 1、 3、 5 三个数时值为“真” ;否
则值为“假”的表达式
A. (c=1)||(c=3)||(c=5)B.(c!=1)&&(c!=3)&&(c!=5)
C. (c==1)&&(c==3)&&(c==5)D.(c==1)||(c==3)||(c==5)
1 / 11
9.对于 C++的函数 , 正确的叙述是 __________________
A.函数的定义不能嵌套 , 但函数的调用可以嵌套
B.函数的定义可以嵌套 , 但函数的调用不能嵌套
C.函数的定义和调用都不能嵌套
D.函数的定义和调用都能嵌套
10.若定义函数时未指定函数的返回类型;则函数的返回类型为_______________
A.void B.int C.double D.编译出错(二)填空题(每空1分;共10分)
1.已知小写字母 A 的 ASCII 码值是 65;则下列语句执行后输出是
char c = 66;cout< 2.设 y 是 int 型变量;判断 y 为奇数的关系表达式为 _______________。 3.整型变量 n 的当前值是 6;执行以下 switch 语句后 n 的值是 switch(n){ case 6: ++n; case 7: n--; case 8: ++n; default: n/=2; } 4.全局与静态变量在程序运行时自动初始化为 5.已知x为double型;执行语句(float)x之后;x为类型。 6. break语句只能用在循环语句和______________语句中。 2 / 11 7.变量可分为局部变量和全局变量;其中全局变量的作用域范围______________ 8.函数具有相同的函数名;但具有不同的参数个数或不同的参数类型;编译系统根据不同的参数去调用不同的函数;称 ____________函数。 9.有整型变量 a、b;则下列 for 循环中的输入语句最多可执行 __________ 次for(a=0,b=0;b!=10&&a<5;a++)cin>>b; 10.若有下列程序;则程序运行后的输出是 #include using namespace std; void f(int); int main() { f(123); return 0; } void f(int n) { if(n >= 10) f(n/10); cout< } (三)阅读程序并填空(每空 2 分;共 30 分) 1.有程序如下: void main (void) { for(int i=1;i<7;i++) if(i%3==0) break; cout< 3 / 11 for(i=1;i<7;i++) if(i%3==0) continue; cout< 请问:程序输出为。 2.void main() { int a,b,c; a=2,b=3,c=1; if(a {if (a>c) cout< else cout < } 问:执行上述程序后输出。 3.写出下列程序段运行时的输出结果 void count(int x){ cout<<(x%10)%10< } void count(int x,int y){ cout<<(x%10)%10<<(x-x%y)/y; } void main(void){ int a=285,b=369; cout<<" 原整数: "< cout<<" 结果数: "; count(a,b); cout< } 第一行是 第二行是 4 / 11 4.写出下列程序的输出结果。 void main(void){ int a,b; for(b=1,a=1;b<=50;b++) { if(a>=10) break; if(a%2==1) { a+=5; continue; } a-=3; } } 执行完毕之后 a 和 b 的值分别是 ___________和 _______________ 5、设有如下程序 int m=10;//A int f(int x,int y) { int m=5;//B m+=x*y; //C return m; //D } void main() { int a=6,b=7; cout< } 执行完毕之后的输出结果是_________________ 5.设有如下程序。 void main() { char c; cin>>c; if(c<='z'&&c>='a') 5 / 11 c=c-'a'+'A'; if(c<='Z'&&c>='A') c=c-'A'+'a'; cout< } 程序执行后 , 若输入英文字母’ B’, 则程序输出 _______________;若输入英文字母’ b’, 则程序输出 _______________。 6.阅读下列程序 #include using namespace std; int a,b; void f(int j){ static int i=a; //注意静态局部变量 int m,n; m=i+j; i++; j++; n=i*j; a++; cout<<"i="<