资源预览内容
第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
第9页 / 共19页
第10页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
专业好文档C+语言程序设计课程期末针对性训练训练第一套 一、单选题(每小题2分,共20分) 1在每个C+程序中都必须包含有这样一个函数,该函数的函数名为( A )。 A. main B. MAIN C. name D. function 2设x和y均为bool量,则x & y为真的条件是( D )。 A. 其中一个为假 B. 其中一个为真 C. 它们均为假 D. 它们均为真 3. 逻辑表达式x0 | y=5的相反表达式为( B )。A. x=0 | y!=5 B. x0 | y!=5 D. x0 & y=5 4. 假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大( C )个字节。 A. 1 B. 2 C. 4 D. 8 5. 枚举类型中的每个枚举常量的值都是一个( A )。 A. 整数 B. 浮点数 C. 字符 D. 逻辑值 6. 循环体至少被执行一次的语句为( C )语句。 A. for循环 B. while循环 C. do循环 D. 任一种循环 7. 在下面的字符数组定义中,( D )语句有语法错误。 A. char a20=”abcdefg”; B. char a=”x+y=55.”; C. char a15=1,2; D. char a10=5; 8. 若用数组名作为函数调用的实参,传递给形参的是( A )。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组全部元素的值 D. 数组元素的个数 9假定AB为一个类,则执行“AB a(4), b5, *p2;”语句时,自动调用该类构造函数的次数为( A )。 A. 6 B. 7 C. 9 D. 11 10当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为( D )。 A. ios:in B. ios:out C. ios:in | ios:out D. 没有 二、填空题(每小题2分,共20分) 1. 若需要定义一个标识符常量,并且使C+能够进行类型检查,则应在定义语句的开始使用保留字_ const _。 2. 算术表达式对应的C+表达式为_(x*y*y)/(3*a)+4*b-1 _。 3. 逻辑表达式xy & x!=10的相反表达式为_ x=y | x=10_。 4. 每个字符指针变量占用内存_4_个字节。 5. 执行“typedef int DataType;”语句后,在使用int定义整型变量的地方都可以使用标识符_ DataType _来定义整型变量。 6. 对于在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它赋予的初值为_0_。 7假定p所指对象的值为25,p+1所指对象的值为46,则执行“*(p+);”语句后,p所指对象的值为_46_。 8假定一个结构类型的定义为“struct Aint a; double* b; A* c;”,则该类型的大小为_12_字节。 9假定一维数组的定义为“int a8;”,则该数组所含元素的个数为_8_。 10. 若while循环语句的开始为”while(i+=10)”,若i的初值为0,同时在循环体中不会修改i的值,则其循环体将被重复执行_11_次后正常结束。 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 1. #include void main() int s1=0, s2=1; for(int i=1; i=6; i+) s1+=i; s2*=i; couts1,s2endl; 输出结果:21,720 2. #include void main() int a10=68,79,86,65,46,94,37,78,60,53; int c=0; for(int i=0;i=60) c+; cout”c=”cendl; 输出结果:c=7 3. #include void main() int a34=1,2,7,8,5,6,11,15,9,20,3,4; int m=a00; for(int i=0;i3;i+) for(int j=0;jm) m=aij; coutmendl; 输出结果:20 4. #include void main() int a=10, b=15; couta b ; a*=3; int b=a+20; couta b ; couta bendl; 输出结果:10 15 30 50 30 15 5. #include void main() int a8=6,19,4,12,20,5,18,25; int* p=a; for(p=a; pa+8;p+) if(*p10) cout*p ; coutendl; 输出结果:6 4 5 四、写出下列每个函数的功能(每小题8分,共24分) 1. bool WB(int a, int n, int x) for(int i=0;in;i+) if(ai=x) return true; return false; 函数功能:从数组a中顺序查找值为x的元素,若查找成功则返回真,否则返回假。 2. int LJ(int a, int n) int k=0; for(int i=1;iak) k=i; return ak; 函数功能:求出数组a中n个元素的最大值并返回。 3. 假定结构类型Dnode中的data域为结点值域,next域为结点指针域。 DNode* QB(int n) if(n=0) return NULL; DNode* f=new DNode; cinf-data; DNode* p=f; while(-n) p=p-next=new DNode; cinp-data; p-next=NULL; return f; 函数功能:建立一个具有n个结点的链表,每个结点的值依次由键盘输入,该函数返回其表头指针。 五、按题目要求编写程序(6分) 已知6a30、15b36,求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解,并按此格式输出每组解。答: #include void main() int a,b; for(a=6;a=30; a+) for(b=15;b=36;b+) if(2*a+5*b=126) cout(a,b)endl; 训练第二套 一、单选题(每小题2分,共20分) 1. 枚举类型中的每个枚举常量的值都是一个( A )值。 A. 整数 B. 浮点数 C. 字符 D. 逻辑 2设x和y均为bool量,则逻辑表达式x | y为假的条件是( C )。 A. 它们均为真 B. 其中一个为真 C. 它们均为假 D. 其中一个为假 3. 声明或定义一个内联函数时,必须在函数开始使用保留字( D )。 A. static B. const C. extern D. inline 4. 在下面的函数声明中,存在着语法错误的是( D )。 A. BC(int a, int); B. BC(int, int); C. BC(int, int=5); D. BC(int x; int y); 5. 假定a为一个整型数组名,则元素a4与( C
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号