C考试复习题及答案
C期末考试复习题(答案)
C期末考试复习题(答案)C语言复习题一、单项选择题1、C语言源程序文件经过C编译程序编译连接之后生成一个后缀为( C )的文件。
A).c B).obj C).exe D).bas2、)完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( B )A)连接、编译B)编译、连接 C)连接、运行D)运行3、关于C语言的叙述中,不正确的是(D)A)C程序可由一个或多个函数组成B)C程序必须包含一个main ()函数C)C程序的基本组成单位是函数D)注释说明只能位于一条语句的后面4、一个C程序的执行是从(A )。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束5、以下正确的叙述是(C )A) 在C语言中,main函数必须位于文件的开头B) C语言每行中只能写一条语句C) C语言本身没有输入、输出语句D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误6、下列选项中,不能用作标识符的是( D)。
A) _1234_ B) _1_2 C) int_2_ D) 2_int_7、常数的书写格式决定了常数的类型和值,0x1011是( C )A)8进制整型常量B)字符常量 C)16进制整型常数D)2进制整型常数8、以下4组用户定义标识符中,全部合法的一组是( A )A)_total clu_1 sum B)if -max turbC)txt REAL 3COM D)int k_2 _0019、_( D )是合法的用户自定义标识符。
A) b-b B)float C)123a D) _isw10、以下选项中不正确的整型常量是( C )。
A) 12L B) -10 C) 1,900 D) 123U11、表达式( C )的值是0。
c复习题及答案
一、选择题1. 在每个C++程序中都必须包含有这样一个函数,该函数的函数名为 A 。
A. mainB. MAINC. nameD. function2. 若a,b 均为int 型变量,为了将10赋给a ,将20赋给b ,则对应以下cin 语句的正确输入方式为 B 。
(<CR>代表回车换行,_代表空格)。
cin >> a >> b;A .1020<CR>B .10_20<CR>C .10,20<CR>D .20_10<CR>3. 在以下关于C++语言的注释的叙述中,不正确的是 C 。
A. A .C++程序中,注释可用"/*"、"*/"形式表示,也可用"#KDJF C. 67KDJ D. DK3_4. 关于字符串和字符的关系正确的是 CA. “A ”与’A ’是相同的B. 字符串是常量,字符是变量C. “A ”与’A ’是不同的D. “A ”与“A ”是相同的5. 下面关于语句的说法正确的是 BA. 下面这两段程序的执行效果是一致的B. 空语句是只有一个分号的语句,它其实什么也不干C. 语句的构成不一定需要分号D. 语句的书写对程序的运行不起作用,因此可以随便写都可以6. 以下各标识符中,合法的用户标识符组为 D 。
A. PAd ,P#d ,b-b ,abc ,_0123,ssipedB. cin ,a10,CPP ,float ,del_word ,signedC. void ,max ,hiy ,<fr>,list ,*jerD. a ,temp ,_isw ,INT ,keep ,wind7. 在VC++中,以下语句的输出为 D 。
short int k= -1;cout << k << ',' << (unsigned short) k <<endl;A .-1,-1B .-1,32767C .-1,32768D .-1,655358. 若给出以下程序,其输出为 B 。
C语言期末考试复习题及答案
C语言期末考试复习题及答案一、选择题:下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确的选项涂写在答案纸上。
答在试卷上不得分。
(1)C语言规定:在一个源程序中,main函数的位置 D 。
A)必须在最后B)必须在系统调用的库函数的后面。
C)必须在最开始。
D)可以任意⑵C 语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符A。
A)必须为字母或下划线。
B)必须为下划线。
C)必须为字母D)可以是字母、数字和下划线中的任一种字符。
⑶ 下面四个选项中,均是正确的八进制数或十六进制数的选项是 ______________B ______ 。
A)-10 0x8f -011 B) 010 -0x11 OxflC) 0abc -017 0xc D) 0a12 -0x123 -0xa⑷ C语言中int型数据在内存中占两个字节,则unsegned int取值范围是 A 。
A)0~65535 B)0~32767C)-32767 ~ 32768 D)-32768 ~ 327687(5) 若有定义:int a = 7; floa x = 2.5 , y = 4.7 ;则表达式x + a %3 * (int) (x + y) % 2/4 的值是 DA) 2.750000 B) 0.00000 C) 3.500000 D) 2.500000⑹已知ch是字符型变量,下面不正确的赋值语句是 BA ) ch = 5 + 9 ; B) ch= ' a + b '; C) ch = ' \ 0 '; D)ch= '7' + 6;(7) 设x , y 和z 是int 型变量,且x = 3, y = 4 , z = 5则下面表达式中值为0的是 ______ A _______ 。
A ) !((x < y )&&!z || 1) B) ' x ' && ' y 'C) x ||y+z && y - zD)x <= y(8 )设有程序段int k = 10 ; while ( k = 0 )k = k - 1 ;以下描述正确的是A(9)以下C 程序正确的运行结果是 main () {Io ngy = =23456;printf ( " y=% 3x \ n ", y);printf ( " y=% 8x \ n ", y);printf ( " y=% # 8x \ n ", y);}A)y = 5ba0 5ba0B ) y =5ba0 C)y = 5ba0D ) yy =5ba0y = 5ba0 y = bba0 y5ba0A)循环体语句一次也不执行。
c语言期末复习试题附答案
试卷编号:1120所属语言:C语言试卷方案:C语言期末考试试卷总分:100分共有题型:4种一、单项选择共30题(共计60分)第1题(分)设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A ).A:k++B:k+=1C:++kD:k+1第2题(分)已知int i=5,执行语句i+=++i后,i的值是(C).A:10B:llC:12D:A、B、C都不对第3题(分)以下程序的功能是:给r输入数据后,计算半径为r的圆面积s.程序在编译时出错. ttinclude <>void main()/* Beginning */{ int r;float s;scanf (〃%d〃,&r);s=p*r*r; printf (〃s=%f\n〃,s);出错的原因是(D).A:注释语句书写位置错误B:存放圆半径的变量r不应该定义为整型C:输出语句中格式描述符非法D:计算圆面积的赋值语句中使用了非法变量第4题(分)〃\\\〃 ABC\〃 \\〃的长度是(B ).A:llB:7C:5D:3第5题(分)已知int j, i=l执行语句j=-i++;后,j的值是(C ).A:1B:2串中的内容为“abcdefg”时,c 所指数组中的内容应该为 “lg2f3e4dcba” 。
*/ttinclude <>#include <>#include <>void fun ( char char *b, char *c )int i , j;char ch;i = 0;j 二 strlen(b)-l;/**********FOUND**********/ch = b [ i];b[j] = ch; i++; j —;/**********FOUND**********/while ( *a &&*b )//此处&&改为| | (逻辑或)if ()*c =*a;c++;/**********FOUND**********/a+;)if ( *b )*c 二*b; c++;b++;*c = 0;main()char sl[100],s2[100],t[200];clrscr ();printf (,z \nEnter si string : 〃);scanf (〃如〃,si);printf (,z \nEnter s2 string : 〃);scanf (〃%s 〃, s2);fun( si, s2, t );printf (/z \nThe result is : %s\n 〃,t );i j四、程序设计共1题(共计20分)第1题(分)/*【程序设计】功能:判断一个整数w 的各位数字平方之和能否被5整除, 可以被5整除则返回1,否则返回0。
C证理论试卷(有答案)
浙江省中小学心理健康教育教师上岗培训考试卷考场序号:总分:考试人姓名:所在单位:联系电话:一、单项选择题(共16分,每小题2分)( C )1、学校心理辅导的最终目标是_____________。
A、提高学生的心理素质B、帮助学生认识自我,悦纳自我C、促进学生人格的健全发展D、帮助学生克服心理障碍( B )2、下列有关心理辅导的描述,判断错误的是______________。
A、辅导是一种双边互动的人际关系B、辅导主要通过规范与劝说,将价值观传授给学生C、辅导是一个讨论和同理的过程D、辅导是一种理念、态度和精神( D )3、下列关于团体辅导的功能,不正确的判断是_________________。
A、发展性功能B、预防性功能C、教育性功能D、矫治性功能( B )4、心理辅导活动课与小组团体辅导的区别,不正确的判断是____________。
A、它们所属的基本范畴不同B、团体成员的组合结合不同C、团体活动所享有的时空条件不同D、辅导过程中辅导教师关注的焦点不同( D )5、依据埃里森心理社会发展期理论,对年龄及其所对应的发展危机的判断中,不正确的判断是________。
A、0~1岁发展危机为信任对不信任B、1~3岁发展危机为自主行动对羞怯怀疑C、3~6岁发展危机为自动自发对退缩愧疚D、青春期发展危机为友爱亲密对孤僻疏离( B )6、下列选项属于发展性辅导的特点是________________。
A、辅导对象是在适应方面发生困难的正常人B、引导学生在一个更新的层面上认识自我,开发自我潜能C、强调教育的原则D、主要解决的问题是学生的正常需要与其现实状况之间的矛盾冲突( C )7、下列关于心理健康的描述正确的是________________。
A、心理健康不包括道德伦理标准。
B、心理健康和生理健康有紧密的联系,身体健康的人一定心理健康。
C、是否具有健康的生活方式和生活习惯是心理健康的一个标准。
D、心理健康是绝对的,可以由心理量表测验得出。
C语言复习题及参考答案
C语言复习题及参考答案一、单项选择1、以下叙述正确的是:__B__。
A)C语言的源程序不必通过编译就可以直接运行。
B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令。
C)C语言源程序经编译形成的二进制代码可以直接运行。
D)C语言中的函数不可以单独进行编译。
2、以下4个用户定义标识符中,全部合法的一组是__A__。
A)_main enclude sin B)if –max turbo C)txt REAL 3COM D)int k_2 _001 3、以下不能定义为用户标识符的是_D__。
A)scanf B)Void C)_3com D)int4、C语言中用于结构化程序设计的3种基本结构是__A__。
A)顺序结构、选择结构、循环结构B)if、switch、breakC)for、while、do-whileD)if、for、continue5、为解决某一特定问题而设计的指令序列称为__C__。
A)文档B)语言C)程序D)系统6、用高级程序设计语言编写的程序称为__C__。
A)目标程序B)可执行程序C)源程序D)伪代码7、能将高级语言编写的源程序转换成目标程序的是__B__。
A)编辑程序B)编译程序C)驱动程序D)链接程序8、下列叙述中,正确一条是__C__。
A)计算机语言中,只有机器语言属于低级语言。
B)高级语言源程序可以被计算机直接执行。
C)C语言属于高级语言。
D)机器语言是所用机器无关的。
9、以下符合C语言语法的实型常量是__C__。
A)1.2E0.5B)3.14159E C).5E-3D)E1510、下面叙述正确的是__A___。
A)C程序中注释部分可以出现在程序中任何合适的地方。
B)花括号“{”和“}”只能作为函数体的定界符。
C)构成C程序的基本单位是函数,所有函数名都可以由用户命名。
D)分号是C语句之间的分隔符,不是语句的一部分。
11、设有以下定义:int a=0; double b=1.25; char c=’A’;#define d 2则下面语句中,错误是__D__。
C语言程序设计期末考试复习题及答案
C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
C语言1-5章复习题及参考答案
一.选择题1、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。
A .-3 B.9 C.-12 D.62、若有定义:int a=8, b=5, c; 执行语句c=a/b+0.4; 后,c的值为()。
A .1.4 B.1 C.2.0 D.23、有如下程序:void main(){int i,sum;for(i=1;i<=3;sum++)sum+=i;printf("%d\n",sum);}该程序的执行结果是()。
A .6 B.3 C.死循环 D.04、下列关于表达式的描述中,错误的是()。
A . 常量和变量都是表达式。
B. 运算符类型对应表达式的类型。
C. 每一个表达式都有自己的值。
D. 表达式必须以分号结尾。
5、C语言中,合法的长整型常数是()。
A . '\t' B.” A” C.65 D.a6、若已定义x 和y为double 类型,则表达式x=1;y=(x+3)/2 的值是()。
A .1 B.2 C.2.00000 D.2.500007、表达式:10!=9的值是()。
A . true B. 非零值 C.0 D.18、以下程序的输出结果是()。
#include<stdio.h>void main(){printf("%d\n", NULL);}A . 不确定的 B.0 C.-1 D.19、请选出合法的C语言赋值语句。
()A . a=b=58 B.i++; C. a=58,b=58 D. k=int(a+b);10、假设int b=2; 表达式(b>>2)/(b>>1)的值是()。
A .0 B.2 C.4 D.811、关于语句printf(“hello world\n”);,下列描述中错误的是()。
A . printf()是格式化输出函数,用于输出信息。
B. printf()括号中的内容为函数的参数。
计算机C语言期末考试复习试题及答案[1]
C语言复习题【程序填空】题目:利用全局变量计算长方体的体积及三个面的面积。
—*/int s1,s2,s3;int vs(int a,int b,int c){int v;/***********SPACE***********/v=【?】;s1=a*b;/***********SPACE***********/s2=【?】;s3=a*c;return v;}main(){int v,l,w,h;clrscr();printf("\ninput length,width andheight:”);/***********SPACE***********/scanf("%d%d%d”,【?】,&w,&h);/***********SPACE***********/v=【?】;printf("v=%d s1=%d s2=%ds3=%d\n",v,s1,s2,s3);getch();}答案:=======(答案1)=======a*b*c=========或=========a *b *c=======(答案2)=======b*c=========或=========b *c=======(答案3)=======&l=======(答案4)=======vs(l,w,h)=========或=========vs(l , w ,h )第2题(12.0分)题号:441/*----—-—-—-—--—--------——————-—-—-——--——-—--—-—-———-【程序填空】题目:给定程序中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。
—*/#include <conio.h〉#include <stdio.h>void fun (long s,long *t){long sl=10;s /= 10;/***********SPACE***********/*t = s 【?】10;while(s>0)/***********SPACE***********/{s = 【?】;/***********SPACE***********/*t = s%10*sl【?】;/***********SPACE***********/sl = sl 【?】10;}}main(){long s, t;clrscr();printf(”\nPlease enter s:”); scanf("%ld”,&s);fun(s, &t);printf("The result is: %ld\n”, t);}答案:=======(答案1)=======%=======(答案2)=======s/100四、程序改错共2题(共计22分)第1题(11.0分)题号:383/*——————-————-—-—-——-—--——--——---—--—--—-----———-—-—-【程序改错】题目:给定程序的功能是:读入一行英文文本,将其中每个单词的最后一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)。
C复习题(全部答案)
C复习题(全部答案)一、C++基础、变量、常量部分试题:(一)单选题8.由C++语言编写的代码程序()A.可直接执行(.e某e才可以直接执行)B.是一个源程序C.经过编译即可执行(经过编译链接才可以执行)9.按照C++语言规定的用户标识符命名规则,不能出现在标识符中的是()A.大写字母10.下列选项中,不能用作标识符的是()A._1234_11.以下选项中合法的用户标识符是()A.long(关键字)12.以下不能定义为用户标识符的是()A.Main13.列定义变量的语句错误的是()A.int_int;14.在C++语言中,非法的字符常量是()A.‘\\t’29.以下程序的输出结果是()voidmain(){intk=11;cout<A.k=11,k=12,k=1141.B.k=11,k=13,k=13D.k=11,k=13,k=bC.k=11,k=013,k=0某bB.‘\\017’C.\D.‘\\某aa’B.doubleint_;C.charFor;D.floatUSA;B._0C._intD.izeof(运算符)B._2TetC.3Dma某D.A.datB._1_2C.int_2_D.2_intB.中划线C.数字字符D.下划线D.经过编译解释才能执行不属于C++语言关键字的是()。
A.intB.breakC.whileD.character42.是C++语言提供的合法关键字的是()。
A.FloatB.ignedC.integerD.Char43.下列说法中,错误的是()。
A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数(二)填空题1.一个C++源程序至少有并且只能有一个main(主)函数。
C语言复习题与答案
考试时选择题部分需要涂答题卡,请带2B铅笔考试题型:单项选择:填空题:读程序:程序填空:编写程序:一、单项选择1.一个C语言程序是由()。
A.函数组成B.一个主程序和若干子程序组成C.若干过程组成 D.若干子程序组成2.在C语言中,复合语句()。
A. 必须出现在循环或分支中B. 必须包含多条语句C. 必须使用{}将有关语句括起来D. 以上三种都对3. 以下叙述不正确的是()。
A.一个C源程序可由一个或多个函数组成B. 一个C源程序必须包含一个main函数C. C程序的基本组成单位是函数D. 在C程序中,注释说明只能位于一条语句的后面4. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。
A.必须为字母B.可以是字母、数字和下划线中任一种字符C.必须为下划线D.必须为字母或下划线5. 下面不正确的字符串常量是()。
A. …abc‟B.“12‟12”C.“0”D.“”6. 下面正确的字符常量是()。
A."c" B. "\\" C. 'W' D. ''7. 以下表达式值为3的是()。
A.16-13%10 B. 2+3/2C. 14/3-2D.(2+6)/(12-9)8. 下列表达式的值为0的是()。
A. 3<5B. 3/5.0C. 3/5D. 3%59. 若有代数式3ae/(bc),则不正确的C语言表达式是()。
A. a/b/c*e*3B. 3*a*e/b/cC. 3*a*e/b*cD. a*e/c/b*310. 在C语言中,要求运算数必须是整型的运算符是()。
A. /B. ++C. !=D. %11. 若x、i、j和k都是int型变量,则执行下面表达式后x的值为()。
x=(i=4,j=16,k=32)A. 4B. 16C. 32D. 5212. 执行表达式a=12,a=a+13,a+20后a的值为()。
C语言复习题及答案
复习A:一、单项选择题1、如果要把常量327存入变量a中,a不能定义的类型是哪一个?()A)int B)char C)long D)float2、若x 为unsigned int 型变量,则执行下列语句后x值为()x = 65535;printf(“%d\n”,x);A)65535 B)1 C)无定值D)-13、有以下程序main(){int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);printf(″%d,%d\n″,k,m);}程序运行后的输出结果是()A)0,0 B) 0,1 C)1,0 D)1,14、在C语言中,如果下面的变量都是int类型,则输出的结果是()。
sum=pad=5; pAd=sum + + ,pAd + +, + + pAd;printf("%d\n",pad);A) 7 B) 6 C) 5 D) 45、以下程序的输出结果是()。
main(){ int a=4,b=5,c=0,d;d=!a&&!b||!c;printf("%d\n",d);}A)1 B)0 C)非0的数D)-16、当执行以下程序段时()。
x=-1;do{x=x*x;}while(!x);A)循环体将执行一次B)循环体将执行两次C)循环体将执行无限次D)系统将提示有语法错误7、全局变量的存储类型可以定义为()。
A)auto或static B)extern或registerC)auto或extern D)extern或static8、定义全局变量时,若变量的的存储类别缺省,则默认的存储类型是()。
A)auto B)registerC)extern D)static9、已知:int a, x; 则正确的赋值语句是()。
A)a=(a[1]+a{2})/2; B)a*=*a+1;C)a=(x=1, x++, x+2); D)a="good";10、已知:int a, *p=&a; 则下列函数调用中错误的是()。
《c》复习题集及答案
目录一、单选题1. C++源程序文件的缺省扩展名为( A )。
A. cppB. exeC. objD. lik2. 由C++源程序文件编译而成的目标文件的缺省扩展名为( C )。
A. cppB. exeC. objD. lik3. 由C++目标文件连接而成的可执行文件的缺省扩展名为( B )。
A. cppB. exeC. objD. lik4. 编写C++程序一般需经过的几个步骤依次是( B )。
A. 编译、编辑、连接、调试B. 编辑、编译、连接、调试C. 编译、调试、编辑、连接D. 编辑、调试、编辑、连接6. 能作为C++程序的基本单位是( C )。
A. 字符B. 语句C. 函数D. 源程序文件8. C++程序的基本模块为( D )。
A. 表达式B. 标识符C. 语句D. 函数10. 存储以下数据,占用存储字节最多的是( D )。
A. 0B. ‘0’C. “0”D. 0.038. 以下说法中正确的是( B )。
A. C++程序总是从第一个定义的函数开始执行B. C++程序总是从main函数开始执行C. C++函数必须有返回值,否则不能使用函数D. C++程序中有调用关系的所有函数必须放在同一个程序文件中40. 函数重载是指( A )。
A. 两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B. 两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同C. 两个以上的函数名字不同,但形参的个数或类型相同D. 两个以上的函数取相同的函数名,并且函数的返回类型相同41. 以下关于函数模板叙述正确的是( C )。
A. 函数模板也是一个具体类型的函数B. 函数模板的类型参数与函数的参数是同一个概念C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数D. 用函数模板定义的函数没有类型42. 下列( C )的调用方式是引用调用。
A. 形参和实参都是变量B.形参是指针,实参是地址值C. 形参是引用,实参是变量D.形参是变量,实参是地址值43. 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择( A )。
C语言考试复习专用三套题附答案
C语言考试复习专用三套题附答案《C语言程序设计》习题集习题一一、语言基础(共20分,每题2分)(一)设某为一数字字符,则其所对应的十进制数值为A)某B)某-‘0’C)某某D)&某(二)说明语句char=‘\\t’,使包含了几个字符?A)1B)2C)3D)说明有错(三)设a=6,b=4,则表达式b某=a+3的值为A)3B)18C)27D)36(四)若给定表达式(m)?a++:a--,则其中表达式m和等价。
A)m==0B)m!=0C)m=0D)m=1(五)设有说明语句inta[10],则数组a包括了个数组元素。
A)1B)9C)10D)20(六)以下函数tet返回值类型为tet(int某){printf(“%f\\n”,(float)某);}A)intB)floatC)voidD)不确定或错误(七)C语言规定,main函数的参数A)只能有0个B)只能有0个或一个C)只能有0个或2个D)可有任意个(八)设某为整型变量,p基类型为整型的指针变量,则正确的赋值表达式是A)p=&某B)p=某C)某p=&某D)某p=某某(九)TurboC中,int型数据在存储器中占二个字节,则以下类型数据在存储器中占的字节数为:tructtet{int某;floaty;charz;};A)2B)3C)6D)7(十)rewind()函数的作用是A)重新打开文件B)使文件位置指针重新回到文件的开始C)使文件位置指针重新回到文件的末D)返回文件长度值二、阅读下列程序,写出运行结果(共18分,每题3分)[程序1]#includevoidmain(){inta=1,b=4,c=2;运行结果:1a=(a+b)/c;printf(“%d\\n”,--a);}[程序2]voidmain(){charc1=67;/某‘A’的ASCII码值为65某/if(‘A’<=c1&&c1<=’Z’)运行结果:67,Dprintf(“%d,%c”,c1,c1+1);eleprintf(“%c”,c1);}[程序3]viodmain(){inta=0,n=5;运行结果:1,5,4,3,2,0for(;;){a++;n--;printf(“%d,”,a);a=n;if(n==0)break;}printf(“%d”,a);}[程序4]main(){inti,j;运行结果:1,2,4,8,16,32,64,128,256,512taticinta[10]={1,1,1,1,1,1,1,1,1,1};for(i=0;i<10;i++)for(j=0; jprintf(“%d,”,a[i]);}[程序5]intk=2;f(intm)运行结果:6,8{m+=k;k+=m;5,9printf(“%d,%d\\n”,m,k++);}main(){inti=4;for(i++);printf(“%d,%d\\n”,i,k);}[程序6]voidmain(){taticinta[10],i;运行结果:13579for(i=0;i<10;i++)a[i]=i+1;for(i=0;i<10;i=i+2)printf(“%d”,某(a+i));}三、阅读分析下列程序,在处填上适当的内容使程序(或函数)完整(共21分,每空3分)(一)以下程序输出所有大写字母和其对应的ASCII码值。
C语言考试复习题及答案
一、单选题(请将正确答案写在答题纸,1~20题每题1分,21~35题每题2分,共50分)1. 下列关于C语言的说法不正确的是( D )。
A.C语言既具有高级语言的一切功能,也具有低级语言的一些功能B.注释可以出现在程序中任意合适的地方C.C语言中的每一条执行语句都必须用分号结束,分号是C语言的一部分D.定义函数的首行要加分号2. C语言程序的执行顺序是(B)。
A.从第一个函数开始执行B.从main函数开始执行C.从任意函数开始执行D.从第一条语句开始执行3. 以下关于注释的叙述,正确的是(D)。
A.注释参与编译,影响程序结果B.注释不参与编译,但影响程序结果C.注释参与编译,但不影响程序结果D.注释不参与编译,不影响程序结果4. 以下叙述正确的是(A)。
A.C语言程序可以在任意C编译器下编译B.C语言程序只能在TC环境下编译C.C语言程序只能在VC或TC环境下编译D.C语言程序只能在VC环境下编译5. C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( B )。
A.必须为字母B.必须为下划线或字母C.必须为下划线D.可以是字母,数字和下划线中任一字符6. 下面四个数字常量选项中,书写均正确的是(D)。
A.016 0x8f 018 (零开头的是八进制,不能用8)B.0312 7ff -087(8进制没有符号)C.0xbc 0a7(8进制没有a)0xaD.070 0xf1 0x19(16进制以ox开头)7. 若有说明语句:char c=0x7f;则变量c(B)。
A.包含3个字符B.包含1个字符C.包含2个字符D.说明不合法,c的值不确定8. 设有int x=11;则表达式(++x*1/3)的值是( B )。
(11+1再除以3)A.3B.4C.11D.129. 阅读下面程序段,输出结果为( B )。
(z-a=25)#include "stdio.h"void main(){ char c;c=('z'-'a')/3+'A';putchar(c);}A.HB.JC.ID.K10. 若有定义和语句:int a=23,b=023; printf(“%x,%d \n”,a,b);输出结果是( D )。
【期末复习】C 期末复习题及答案
优选教育资源共赢共享共进1. 下列语句中错误的是( D)A. int *p=new int(10) ;B. int *p=new int[10] ;C. int *p=new int ;D. int *p=new int[40](0)2. 假设已经有定义char *const name=”chen” ;下面的语句中正确的是( A)A. name[3]=’q’;B. name=”lin”;C. name=new char[5]D. name=new c har(‘q’);3. 下面的类型声明中正确的是(D )A. int &a[4]B. int &*p ;C. int &&q ;D. int I,*p=& I ;4. 在声明类时,下面的说法正确的是( C)A.可以在类的声明中给数据成员赋值B. 数据成员的数据类型可以是registerC. private、public、protected可以按任意顺序出现D. 没有用private、public、protected定义的数据成员是公有成员5. 构造函数是在(B )时被执行的。
A.程序编译B. 创建对象C. 创建类D.程序装入内存6. 在下面有关友元函数的描述中,正确的说法是(A )A. 友元函数是独立于当前类的外部函数B.一个友元函数不能同时定义为两个类的有友元函数C.友元函数必须在类的外部定义D.在外部定义友元函数时,必须加关键字friend7. 使用派生类的主要作用是(A )A.提高代码的可重用性B.提高程序的运行效率C.加强类的封装性D.实现数据的隐藏8. 关于虚函数,正确的描述是(A )A.构造函数不能是虚函数B.析构函数不能是虚函数C.虚函数可以是友元函数D.虚函数可以是静态成员函数9. 如果在基类中将成员函数show声明为不带返回值得纯虚函数,正确的写法是(C )A.virtual show( )=0;B.virtual void show( )C.virtual void show( )=0;D.void show( )=0 virtual;10. 使用myFile.open(“sales.dat”,ios::app)语句打开文件sales.dat后,则(A )A.该文件只能用于输出B.该文件只能用于输入C.该文件既能用于输出,又能用于输入D.若该文件存在,则清除该文件的内容二、分析下列程序中的错误,并说明原因(前2题每题6分,第三题8分,共20分)1.#include"iostream.h"class student{char name[10];int age;float aver;void printStu( ){} };void main( ){student p1,p2,p3;p1.age=16;//…}2. #include"iostream.h" class stack{public:stack(int sz); private:char *p;int size;};stack::stack(int sz) {p=new char[size=sz];}void main(){stack stt;//...}3. #include"iostream.h"class CTest{public:const int y2;CTest(int i1,int i2):y1(i1),y2(i2) {y1=10;x=y1;}int readme()const;//...private:int x;const int y1;};int CTest::readme()const{int i;i=x;x++;return x;} {CTest c(2,8);int i=c.y2;i=c.y1;}三、写出下列程序的运行结果(前2题每题6分,第三题8分,共20分)1.#include"iostream.h"class toy{public:toy(int q,int p){ quan=q; price=p;}int get_quan(){return quan;}int get_price(){return price;}private:int quan,price;};int main(){toyop[2][2]={toy(10,20),toy(30,48),toy(50,68),toy( 70,80)};int i;for(i=0;i<2;i++){cout<<op[i][0].get_quan()<<",";cout<<op[i][0].get_price()<<"\n";cout<<op[i][1].get_price()<<"\n"; }cout<<"\n";return 0;}2.#include"iostream.h"class Stock{public:void print(){cout<<"Stock class.\n";}};class Der1_Stock:public Stock{public:void print(){cout<<"Deri1_Stock class.\n";} };class Der2_Stock:public Stock{public:void print(){cout<<"Deri2_Stock class.\n";} };void main(){Stock s1;Stock *ptr;Der1_Stock d1; ptr=&s1;ptr->print();ptr=&d1;ptr->print();ptr=&d2;ptr->print();}3.#include"iostream.h" class A{public:A(int i):xi(i){}A(){xi=0;}friend A operator++(A a); friend A operator--(A &a); void print();private:int xi;};A operator++(A a){++a.xi;return a;}A operator--(A &a){--a.xi;return a;}void A::print()void main(){A i(7);++i;i.print();--i;i.print();}二 1.答案:p1.age=16; 有错(3分),因为age是私有数据成员,不能直接访问(3分)2. 答案:stack stt; 有错,(3分)类中没有定义无参构造函数(3分)3. 答案:错误1:y1=10;有错(2分),y1是常成员,不能修改(1分)错误2:x++;有错(2分),readme函数是常成员函数,不能修改对象的数据成员(1分)错误3:i=c.y1;有错(1分),y1是私有变量,不能直接存取(1分)三 1.答案:10,20;30,48;50,6870,80 2.答案:Stock class.Stock class.Stock class.3.答案:76B卷一、选择题(每题2分,共20分,答案填写在题后的表格内)1. 假设已经有定义const char *const name=”chen” ;下面的语句中正确的是(D )A. name[3]=’a’;B. name=”lin”;C. name=new char[5]D. cout<<name[3];2. 假设已经有定义const char * name=”chen” ;下面的语句中错误的是( A)A. name[3]=’q’;B. name=”lin”;C. name=new char[5]D. name=new char(‘q’);3. 在下面有关对构造函数的描述中,正确的是(B )A.构造函数可以带有返回值B. 构造函数的名字与类名完全相同C. 构造函数必须带有参数D. 构造函数必须定义,不能缺省4. 在下面有关析构函数特征的描述中,正确的是(C )A. 一个类可以定义多个析构函数B.析构函数名与类名完全相同C. 析构函数不能指定返回类型D.析构函数可以有一个或多个参数5. 在下面有关静态成员函数的描述中,正确的是( B)A. 在静态成员函数中可以使用this指针B.在建立对象前,就可以为静态数据成员赋值C. 静态成员函数在类外定义时,要用static前缀D. 静态成员函数只能在类外定义6. 友元的作用之一是( A)A. 提高程序的运行效率B.加强类的封装性C.实现数据的隐藏性D.增加成员函数的种类A.class derived::student privateB. class derived:student publicC.class derived:private student{//… }D.class derived::public student{//… }8. 要实现动态联编,派生类中的虚函数(D )A.返回的类型可以与虚函数的原型不同B.参数个数可以与虚函数的原型不同C.参数类型可以与虚函数的原型不同D.以上都不对9. 有关运算符重载正确的描述是(D )A.C++语言允许在重载运算符时改变运算符的操作个数B. C++语言允许在重载运算符时改变运算符的优先级C. C++语言允许在重载运算符时改变运算符的结合性D. C++语言允许在重载运算符时改变运算符的原来的功能10. 假设定义了函数模板:template<class T>T max(T x,T y){ return (x>y)?x:y; }并定义了int i=6; char c=’a’; 错误的调用语句是( D)A. max( i,i)B. max(c,c)C.max((int )c,i)D.max(i,c)二、分析下列程序中的错误,并说明原因(前2题每题6分,第三题8分,共20分)1. #include"iostream.h"class point{public:int x,y;private:point( ){x=1;y=2;}};void main( ){point cpoint;cpoint.x=2;}2. #include"iostream.h"template<class T>class Stack{public:Stack(int sz){delete []v;}void push(T x){*p++=x;}T pop(){return *--p;}int lenth()const{return (p-v);}private:T *v,*p;int size;};void main(){Stack obj(5);obj.push(10);}3.#include"iostream.h"class student{int sno;int age;void printStu( );void setSno(int d);};void printStu( ){cout<<”\nStudent No.is “<<sno<<”,”; cout<<”age is”<<age<<”.”<<endl; } void setSno(int d){sno=d;}void setAge(int a){age=a;}void main( ){student lin;lin.setSno(20**1);lin.setAge(20);三、写出下列程序的运行结果(前2题每题6分,第三题8分,共20分)1.#include"iostream.h"class b1{public:b1(int ii){i=ii;}void display(){cout<<i<<endl;}protected:int i;};class b2{public:b2(int jj){j=jj;}void display(){ cout<<j<<endl;}protected:int j;};class b3:public b1,public b2{public:b3(int ii,int jj,int kk):b1(ii),b2(jj){k=kk;}void setall(int ii,int jj,int kk){i=ii;j=jj;k=kk;}void display(){cout<<i<<endl;cout<<j<<endl;cout<<k<<endl;}private:int k;};o1.display();b2 o2(50);o2.display();b3 o3(10,20,30);o3.display();o3.setall(50,60,70);o3.display();}2.#include"iostream.h"class Stock{public:virtual void print(){cout<<"Stock class.\n";}};class Der1_Stock:public Stock {public:void print(){cout<<"Deri1_Stock class.\n";}}; class Der2_Stock:public Stock {public:void print(){cout<<"Deri2_Stock class.\n";}}; void main(){Stock s1;Stock *ptr;Der1_Stock d1;Der2_Stock d2;ptr=&s1;ptr->print();ptr=&d1;ptr->print();3.#include<iostream.h>const int size=10;template<class Type> //声明一个类模板class stack{ public:void init(){ tos=0; }void push(Type ch); //参数取Type类型Type pop(); //返回类型取Type类型private:Type stck[size]; //数组的类型为类型参数Type,即可取任意类型 int tos;};template <class Type>void stack<Type>::push(Type ob){ if (tos==size){ cout<<"stack is full"; return ; }stck[tos]=ob; tos++; }template <class Type>Type stack <Type>::pop(){ if (tos==0){ cout<<"stack is empty";return 0;}tos--;return stck[tos];}int main(){ //定义字符堆栈stack <char> s1,s2; //创建两个模板参数为char型的对象int i;s1.init(); s2.init();s1.push('a'); s2.push('x');s1.push('c'); s2.push('z');for(i=0;i<3;i++) cout<<"pop s1: "<<s1.pop()<<endl;for(i=0;i<3;i++) cout<<"pop s2: "<<s2.pop()<<endl;return 0;}二、分析下列程序中的错误,并说明原因(前2题每题6分,第三题8分,共20分)1.答案:point cpoint;是错误的(3分),因为构造函数是私有成员(3分)2. 答案:Stack obj(5); 有错(3分),因为Stack是类模板,应将模板实例化,才可定义对象(3分)3.答案:错误1:printStu、setSno两个成员函数不是公有成员,不允许在类外访问(4分)错误2:成员函数在类外定义,应加上类名“student::”(2分)错误3:setAge函数应在类中说明(2分)三、写出下列程序的运行结果(前2题每题6分,第三题8分,共20分)1.答案:40 50 10 20 30 50 60 702.答案:Stock class.Deri1_Stock class.Deri2_Stock class.3.答案:pop s1:cpop s1:bpop s1:apop s2:zpop s2:ypop s2:xA 卷一、单项选择题:(每小题2分,共20分)1、假设已经有定义const char *name=”chen”;下列语句中错误的是_____________A. name[3]=’q’B. name=”lin”C. name=new char[5]D. name=new char(‘q’)2、在下列关键字中,用于说明类中公有成员的是____________A. publicB. privateC. protectedD. friend3、下列哪项不是面向对象程序设计的主要特征_______________。
C语言1_6章复习题及答案
一、单项选择题1、以下说法中正确的是(C)(2分)A、C语言程序总是从第一个的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分2、以下选项中,不合法常量的是(B)(2分)A、1.234e04B、1.234e0.4C、1.234e+4D、1.234e03、C语言中最简单的数据类型包括(B)(2分)A、整型、实型、逻辑型B、整型、实型、字符型C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型4、能正确表示逻辑关系:“10≥=a≥=0”的C语言表达式是 (D)(2分)A、 10>=a>=0B、 a>=0 and a<=10C、 a>=0||a<=10D、 a>=0&&a<=105、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)(2分)A、 6.500000B、 6C、 5.500000D、 6.0000006、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)(2分)A、 INPUT x、y、z;B、 scanf("%d%d%d",&x,&y,&z);C、 scanf("%d%d%d",x,y,z);D、 read("%d%d%d",&x,&y,&z);7、设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是(D)(2分)A、把x和y按从大到小排列B、把x和y按从小到大排列C、无确定结果D、交换x和y中的值8、若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是(A)(2分)A、 0B、 0.5C、 1D、 29、设char ch='A';则ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是( B )。
C语言考试复习专用三套题附答案(1)
《C语言程序设计》习题集习题一一、语言基础(共20分,每题2分)(二)说明语句char s=‘\t’,使s包含了几个字符?。
A)1 B)2 C)3 D)说明有错(三)设a=6,b=4,则表达式b*=a+3A)3 B)18 C)(四)若给定表达式(m)?a++:a--和等价。
A)m==0 B)m!=0 C)m=0 D)m=1(五)设有说明语句int a[10],则数组a包括了个数组元素。
A)1 B)9 C)10 D)20(六)以下函数test返回值类型为。
test(int x){ printf(“%f\n”,(float)x);}A)int B)float C)void D)不确定或错误二、阅读下列程序,写出运行结果(共18分,每题3分)[程序1]#include <stdio.h>void main( ){ int a=1,b=4,c=2; 运行结果: 1a=(a+b)/c;printf(“%d \n”,--a);}[程序2]void main ( ){ char c1=67; /*‘A’的ASCII码值为65 */if (‘A’ <=c1 && c1<=’Z’) 运行结果: 67,Dprintf(“%d,%c”,c1,c1+1);else printf(“%c”,c1); }[程序3]viod main ( ){ int a=0, n=5; 运行结果: 1,5,4,3,2,0for ( ; ; ){ a++; n--;printf(“%d,”,a);a=n;if (n==0) break;}printf(“%d”,a);}[程序4]main ( ){ int i, j; 运行结果: 1,2,4,8,16,32,64,128,256,512 static int a[10]={1,1,1,1,1,1,1,1,1,1};for (i=0;i<10;i++)for (j=0;j<i;j++)a[i]=a[i]+a[j];for (i=0;i<10;i++)printf(“%d,”,a[i]);}[程序5]int k=2;f (int m) 运行结果: 6,8{ m+=k;k+=m; 5,9printf(“%d,%d \n”,m,k++);}main ( ){ int i=4;for (i++);printf(“%d,%d \n”,i,k); }[程序6]void main ( ){ static int a[10],i; 运行结果: 1 3 5 7 9for (i=0;i<10;i++)a[i]=i+1;for (i=0;i<10;i=i+2)printf(“%d”,*(a+i));}三、阅读分析下列程序,在处填上适当的内容使程序(或函数)完整(共21分,每空3分)(一)以下程序输出所有大写字母和其对应的ASCII码值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题(1)下面关于类和对象的描述中,错误的是A)类就是C语言中的结构体类型,对象就是C语言中的结构体变量B)类和对象之间的关系是抽象和具体的关系C)对象是类的实例,一个对象必须属于一个已知的类D)类是具有共同行为的若干对象的统一描述体(2)以下各选项组中,均是C++语言关键字的组是A) public operator this B)shod string staticC)it while >= D)private cout printf(3)在C++语言中,数据封装要解决的问题是A)数据的规范化B)便于数据转换C)避免数据丢失D)防止不同模块之间数据的非法访问(4)以下程序中,错误的行是①#include<iostream. h>②class A③{④ public:⑤ int n=2:⑥ A( int val){cout<<val<<endl;}⑦~A(){};⑧};⑨void main()⑩{⑩ A a(0);⑩}A)⑤ B)⑥ C)⑦ D)⑩(5)对类的构造函数和析构函数描述正确的是A)构造函数可以重载,析构函数不能重载B)构造函数不能重载,析构函数可以重载C)构造函数可以重载,析构函数也可以重载D)构造函数不能重载,析构函数也不能重载(6)下面程序的运行结果为#include(iostream. h>class A{int num;public:A(int i){num=i;}A(A &a){num=a. num++;}void print(){cout<<num;}};void main(){A a(1),b(a);a. print();b.print();A)11 B)12 C)21 D)22(7)下面对静态数据成员的描述中,正确的是A)静态数据成员是类的所有对象共享的数据B)类的每个对象都有自己的静态数据成员C)类的不同对象有不同的静态数据成员值D)静态数据成员不能通过类的对象调用(8)如果类A被说明成类B的友元,则A)类A的成员即类B的成员B)类B的成员即类A的成员C)类A的成员函数不得访问类B的成员D)类B不一定是类A的友元(9)可以用p.a的形式访问派生类对象P的基类成员a,其中a是A)私有继承的公有成员B)公有继承的私有成员C)公有继承的保护成员 D)公有继承的公有成员(10)建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为A)abc B)acb C)cab D)cba(11)下面关于虚函数的描述,错误的是A)在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数B)基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数C)虚函数可以是另一个类的友元函数,但不能是静态成员函数D)基类中说明的纯虚函数在其任何派生类中都必须实现(12)下面关于模板的描述,错误的是A)函数模板和类模板的参数可以是任意的数据类型B)类模板不能直接使用,必须先实例化为相应的模板类.然后定义了模板类的对象后才能使用C)函数模板不能直接使用,需要实例化为模板函数后才能使用D)类模板的成员函数都是模板函数(13)语句ofstream f(”SALARY. DAT",ios::app iios::binary);的功能是建立流对象f,试图打开文件SALARY. D AT 并与之连接,并且A)若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B)若文件存在,将其置为空文件;若文件不存在,打开失败C)若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D)若文件存在,打开失败;若文件不存在,建立一个新文件(14)下面程序的运行结果是#include<iostream. h>void main(){int num=1;int &ref=num;ref=ref+2;cout<<num;num=num+3;cout<<ref<<endl;}A)13 B)16 C)36 D)33(15)假定AB为一个类,则该类的拷贝构造函数的声明语句为。
A. AB &(AB x) B. AB(AB x)C. AB(AB &) D. AB(AB * x)(16)对于结构中定义的成员,其隐含访问权限为。
A. public B. protectedC. private D. static(17)当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为。
A. ios::in B. ios::outC. ios::int | ios::out D. 没有(18)下列关于C++语言类的描述中错误的是A)类用于描述事物的属性和对事物的操作B)类与类之间通过封装而具有明确的独立性C)类与类之间必须是平等的关系,而不能组成层次结构D)类与类之间可以通过一些方法进行通信和联络(19)下列描述中哪个是正确的。
A)私有派生的子类无法访问父类的成员B)类A的私有派生子类的派生类C无法初始化其祖先类A对象的属性,因为类A的成员对类C是不可访问的C)私有派生类不能作为基类派生子类D)私有派生类的所有子孙类将无法继续继承该类的成员(20)下列关于构造函数说法不正确的是A)构造函数必须与类同名B)构造函数可以省略不写C)构造函数必须有返回值D)在构造函数中可以对类中的成员进行初始化(21)如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是A)一元运算符 B)二元运算符C)选项A)和选项B)都可能 D)重载错误(22)在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是A)一元成员运算符 B)二元成员运算符C)一元友元运算符 D)选项B)和选项C)都可能(23)下列关于模板的说法正确的是A)模板的实参在任何时候都可以省略 B)类模板与模板类所指的是同一概念C)类模板的参数必须是虚拟类型的 D)类模板中的成员函数全部都是模板函数(24)表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是A) showbase()和eof() B)showpoint()和eof()C)showpoint()和bad() D)showpoint()和good()(25)一个类的友元函数能够访问该类的A)私有成员 B)保护成员 C)公有成员 D)所有成员(26)C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是A)增加了一些新的运算符B)允许函数重载,并允许设置缺省参数C)规定函数说明符必须用原型D)引进了类和对象的概念(27)对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是A)公有类型 B)私有类型C)保护类型D)友元类型(28)在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是A)友元函数 B)虚函数 C)构造函数 D)析构函数(29)类的析构函数的作用是A)一般成员函数的初始化 B)类的初始化C)对象的初始化 D)删除类创建的对象(30)下列说法正确的是A)内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B)内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C)类的内联函数必须在类体内定义D)类的内联函数必须在类体外通过加关键字inline定义(31)下面对静态数据成员的描述中,正确的是A)静态数据成员可以在类体内进行初始化B)静态数据成员不可以被类的对象调用C)静态数据成员不能受private控制符的作用D)静态数据成员可以直接用类名调用(32)下面对于友元函数描述正确的是A)友元函数的实现必须在类的内部定义B)友元函数是类的成员函数C)友元函数破坏了类的封装性和隐藏性D)友元函数不能访问类的私有成员(33)在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是A)派生类的对象可以赋给基类的对象B)派生类的对象可以初始化基类的引用C)派生类的对象可以直接访问基类中的成员D)派生类的对象的地址可以赋给指向基类的指针(34)下面程序的运行结果为#include<iostream. h>class A{public:A(){cout<<”1”;}~A(){cout<<”2”;}}class B:public A{public:B(){cout<<”3”;}~B(){cout<<”4”;}}void main(){B b;}A)1234 B)1324 C)1342 D)3142(35)下列关于虚基类的描述,错误的是A)设置虚基类的目的是为了消除二义性B)虚基类的构造函数在非虚基类之后调用C)若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用D)若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数(36)下列关于多态性的描述,错误的是A)C++语言的多态性分为编译时的多态性和运行时的多态性B)编译时的多态性可通过函数重载实现C)运行时的多态性可通过模板和虚函数实现D)实现运行时多态性的机制称为动态绑定(37)下列运算符中,在C++语言中不能重载的是A)* B)>= C):: D)/(38)定义静态成员函数的主要目的是A)方便调用 B)有利于数据隐蔽 C)处理类的静态成员变量 D)便于继承(39)设有以下类和对象的定义:class A{public:int m;……};A k1, k2, *p1, *p2;则下面针对成员变量m的引用,错误的是A)k1.m=1 B)k2一>m=2 C)pl一>m=3 D)(*p2).m=4(40)有关构造函数的说法中错误的是A)构造函数名字和类的名字一样 B)构造函数在说明类变量时自动执行C)构造函数无任何函数类型 D)构造函数有且只有一个(41)关于友元的描述中错误的是A)友元函数可以访问该类的私有数据成员B)一个类的友元类中的成员函数都是这个类的友元函数C)友元可以提高程序的运行效率D)类和类之间的友元关系可以继承(42)在面向对象方法中,实现信息隐蔽是通过对象的某一特性来实现的,这个特性是A)封装 B)类 C)对象 D)继承二、填空题(1)在面向对象的程序设计中,类描述的是具有相似性质的一组【1】。
(对象)(2) C++语句const char * const p="hello" , ,所定义的指针p和它所指的内容都不能被【2】。