江苏科技大学非计算机专业学生 Visual C++ 程序设计语言期末考试
试卷代号:VC02
说明:
1、 本试卷为笔试题,含选择、填空、及编程三部分。 2、 本试卷满分为100分,考试时间为120分钟。 3、 所有答案必须写在答题纸上,否则不计成绩。
3、 填空题,请注意空格号(不是题号)与答题纸上的编号对应。 4、 答题纸上必须写明学号(含班级号)、姓名。
计算机基础教研室
一、选择题(10×2=20分)
1、设CH为字符型变量,则语句CH=CH+’e’-‘E’;的作用可能是: (1) 。
A.将大写字母转换成对应的小写字母 B.将字母CH转换成e
C.将小写字母转换成对应的大写字母 D.将字母CH转换成E 2、设有说明语句“int a=4,b=5,c=6,d=7,m=1,n=1;”,则执行语句
“c=(m=a>b)&&(n=c>d);”后,m和n的值分别为 (2) 。 A. 1、1 B. 1、0 C. 0、1 D. 0、0 3、下列数组的定义和使用中,正确的是 (3) 。
A.char a[20];a[20]=”Hello”; B.char a[20];a=”Hello”; C.int n=20;char a[n]; D.char a[]=”Hello”;
4、设类A为类B的基类,类B为类C的基类,并有如下定义:
Aa1,*pa; B b1,*pb; C c1,*pc;
则以赋值存在语法错误的是 (4) 。 A.pa=&b1 B.pb=&c1; C.A a2=&c1; D.pc=&b1; 5、设有变量说明“int a=1,b=2;float x=1.5,y=1.2;”,下列语句正确的是 (5) 。 A.y=x%a; B.int(y)=a; C.x+y=a+b; D.a=x+y; 6、对于下面的一组函数: void fun (int a, float x); // 函数1 void fun (int a, int x); // 函数2 void fun (float a, float x ); // 函数3 void fun (float a, int x ); // 函数4 void fun (int a[], int n); // 函数5 void fun (int *p, int n); // 函数6 以下说法不正确的是: (6) 。
A.函数1和函数2可以构成重载函数; B.函数1和函数4可以构成重载函数;
C.函数3和函数4可以构成重载函数; D.函数5和函数6可以构成重载函数;
7、对于下列函数说明及变量定义: int fun1 (int a, int x); void fun2 (int a, int x); void fun3(int a[], int n);
void fun4(int *p, int n); int a=5, b=10, c[5]={0}; float x=1.5;
下列语句序列各自独立编译时产生错误信息的是 (7) 。
A. fun2(fun1(a,b),a); B. fun1(x,a); C. fun3(c[4],5); D.fun4(c,5); 8、设有指针变量定义:int *p1, *p2; float x; float *p3=&x, *p4=&x; 下列语句序列各自独立编译时产生错误或警告信息的是 (8) 。
A. *p1=*p2=2; B. p3=p4=NULL; C. p3=p4+1; D.int a=p3>p4; 9、对于任意一个类,下列说法正确的是 (9) 。 A. 不一定有析构函数 B. 可以有多个析构函数 C. 析构函数没有参数 D. 析构函数允许重载 10、若有定义“int a[5],*p=a;”,
则对a数组元素的引用正确的是 (10) 。
A. *&a[5] B. a+2 C. *(p+5) D. *(a+2)
二、填空题(30×2=60分)
●基本概念题
1、数学表达式(b-4ac)
2
1/2
在C++的程序中就写成 (1) 。
2、执行完下列C++语句序列后,a的值为 (2) 。 int x=1,y=0,a=3;
a=(--x==y++)?y?x:y:a+=--y;
3、设有宏定义:#define F(x,y,z) x/y*z
执行语句:int b=F(3+4,2+2,4+4);后变量b的值为 (3) 。 4、设已定义了一个类A,执行语句A s1,*s2,s3[2],*s4[2];时,调用类A
的构造函数的次数是 (4) 。
5、运算符重载函数的关键字是 (5) 。
6、C++语言规定,函数的缺省返回值的类型为 (6) 。 7、类的三大特性是: (7) 、 (8) 和 (9) 。 ●阅读程序题
8、[程序]
#include { int a=0,b=0,i=0,j=0; while(i<5){ a++; while(j<5){ if((j+1)%2) { b++; break; } a++; j++; } i++; } cout << \"a=\" << a << endl; cout << \"b=\" << b << endl; } 程序输出的第一行是 (10) ,第二行是 (11) 。 9、[程序] #include void fun(void) { int a=15; ::a-=--a; cout<<::a<<'\'<void main(void) { int a=15;