1、 4. for循环语句一定能够被改写为( )语句。 A. 复合 B. if C. switch D. while 5. 假定a为一个数组名,则下面的( )表达式有语法错误。 A. ai B. *+a C. *a D. *(a+1) 6. 在下面的二维数组定义中,只有( )语句是正确的。 A. int a5; B. int a(10); C. int a; D. int a5=1,2,3,4,5; 7. 下面( )的函数声明格式不正确。 A. AA(int a, int b); B. AA(int a=0, int b); C. AA(int a=0, int b=0); D. AA(int a
2、, int b=0); 8. 假定指针变量p定义为“int *p=new int30;”,要释放p所指向的动态数组空间,则使用下面的( )语句。 A. delete p; B. delete *p; C. delete &p; D. delete p; 9. 假定要对结构类型AB定义加号运算符重载的普通函数,实现两个AB类型对象的加法,并返回相加结果,则该函数的声明语句为( )。 A. AB operator +(AB& a, AB& b); B. AB operator +(AB& a); C. operator +(AB a); D. AB& operator +(); 10. 当需要使用
3、ifstream流类定义一个流对象并联系一个磁盘文件时,应在文件开始使用#include命令,使之包含( )头文件。 A. strstrea.h B. stdlib.h C. iostream.h D. fstream.h 二、填空题(每小题2分,共20分) 1十进制数30表示成符合C+语言规则的十六进制数为_。 2假定一个枚举类型的定义为“enum RBab,ac,ad,ae;”,则枚举常量ad的值为_。 3. 假定y=8,则执行y+*4运算后,y的值为_。 4算术表达式+1对应的C+表达式为_。 5. 关系表达式x5的相反表达式为_。 6. 假定整数变量x=48,则a/12的运算结果为_。
4、 7. 假定一个二维数组的定义语句为“int a34;”,则该数组包含有_个整型元素。 8函数被调用时,实参向形参的传送分为引用传送和_传送两种方式。 9假定一个结构类型的定义为”struct Bint a5; char* b;”,则该类型的大小为_字节。 10. 在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的_使其初始化。 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 1. #include void main() int s1=0; for(int i=1; i=5; i+) s1+=2*i; cout”s1=”s1endl; 输出结果: 2. #in
5、clude int a6=6,9,12,18,15,20; int c=0; for(int i=0;6; i+) if(ai%2=1) c+;c=c 3. #include int a34=1,2,7,8,5,6,11,15,9,20,3,4; int m=a00;i3;i+) for(int j=0;jm) m=aij;m 4. #include int a=10, b=15, c; c=a+b; int b=a+20; c+=a+b; 5. #include int a8=6,19,4,12,20,5,18,25; int *p, s=0; for(p=a; pa+8;p+) if(*p
6、10) s+=*p;s=k) c+; return c; 函数功能: 2. bool SG(int x) /x为大于等于2的整数 int a=int(sqrt(x); /sqrt(x)为求x的平方根 int i=2; while(i=a) if(x%i=0) break; i+; if(iai.nameai.ageai.pay; 五、按题目要求编写函数(6分) 假定一个函数声明为“void AD(int a, int n);”,要求把数组a中的n个元素值按前后相反的次序排列。C+语言程序设计课程试卷答案及评分标准(5)(供参考)一、单选题(每小题2分,共20分)1C 2. A 3. C 4.
7、D 5B 6D 7B 8. D 9. A 10. D二、填空题(每小题2分,共20分)1. 0x1E(字母x和E大小写均可) 2. 23. 9 4. (x+y)/(2*x*y)+15. x=5 6. 47. 12 8. 值9. 24 10. 构造函数三、写出下列每个程序运行后的输出结果(每小题6分,共30分)1. s1=302. c=23. 204. 655. 15四、写出下列每个函数的功能(每小题8分,共24分)评分标准:每题与参考答案的叙述含义相同者得8分,否则酌情给分。1. 统计出数组a的n个元素中大于等于参数k的值的元素个数并返回。2. 判断x是否为一个素数(或质数),若是则返回真,否
8、则返回假。3. 从键盘上输入n个Worker结构类型的记录依次保存到一维数组a的对应元素中。五、按题目要求编写函数(6分)按照编程的完整程度酌情给分。 void AD(int a, int n) for(i=0;n/2; i+) int x=ai; ai=an-1-i; an-1-i=x;命题原则: 1严格按照该课程教学大纲和考核说明的要求命题。 2试题的覆盖面较广,并适当突出重点。 3试题的难易程度和题量适当,按难易程度分为三个层次:容易占40%,一般占40%,较难占20%。 4题型有五种:单选题、填空题、写出程序运行结果、指出程序或函数的功能、编程题等。考核形式:采用期末卷面考核与形成性考
9、核相结合的方式。形成性考核占20分,视平时上机和作业完成情况而定,由所在班级的任课教师给定,由省(市、自治区)级电大认定;期末卷面考核占80分,由中央电大统一命题并为闭卷考试,答题时限为90分钟。两方面成绩累计达到60分者为及格。部分单选题练习: 1枚举类型中的每个枚举常量的值都是一个( )值。 A整数 B浮点数 C字符 D逻辑 2设x和y均为bool量,则逻辑表达式x | y为假的条件是( )。 A它们均为真 B其中一个为真 C它们均为假 D其中一个为假 3声明或定义一个内联函数时,必须在函数开始使用保留字( )。 Astatic Bconst Cextern Dinline 4在下面的函数
10、声明中,存在着语法错误的是( )。 ABC(int a, int); BBC(int, int); CBC(int, int b=5); DBC(int x; int y); 5假定a为一个整型数组名,则元素a4与( )的表示等价。 Aa+4 B*a+4 C*(a+4) D*(a+16) 6循环语句“for(i=0; i+);”执行结束后得到的i的值为( )。 An Bn+1 Cn-1 D2n 7将两个字符串连接起来组成一个字符串时,选用( )函数。 Astrlen() Bstrcpy() Cstrcat() Dstrcmp() 8C+编译预处理命令在程序中都是以( )字符开头的。 A* B#
11、 C& D 9假定有结构类型的定义为“struct BOOKchar title10; double price;”,则该结构类型的长度为( )个字节。 A9 B12 C16 D18 10假定AB为一个类,px为指向该类动态对象数组的指针,该数组长度为n,则执行“delete px;”语句时,自动调用该类析构函数的次数为( )。 A1 Bn Cn-1 Dn+1 11在C+程序中相对独立的功能模块为( )。 A表达式 B标识符 C语句 D函数 12存储以下数据,占用存储字节最多的是( )。 A0 B0 C0 Dn 13在下面的一维数组定义中,有语法错误的是( )。 Aint a=1,2,3; Bint a10=0; Cint a; Dint a5; 14若整型变量
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1