《哈理工C++考试题库之9(可直接的打印的).doc》由会员分享,可在线阅读,更多相关《哈理工C++考试题库之9(可直接的打印的).doc(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date哈理工C+考试题库之9(可直接的打印的)哈理工C+考试题库之9(可直接的打印的)0010第1题填 空(1分)int x=2,y=3,z=4; 则表达式!x+yz的值为【1】.答案: 1). 0第2题填 空(1分)当a=3,b=2,c=1;时,执行以下程序段后 b=【1】. if(ab) a=b; if(bc) b=c; else c=b; c=a;答案: 1). 1第
2、第33题题填 空填 空(11分分)若有说明:int *p=new int,则分配了【1】个字节的内存空间.答案: 1). 4第第44题题填 空填 空(11分分)int x; x=3*4%-5/6, 则x的值为【1】.答案: 1). 0第第55题题填 空填 空(11分分)int a=1,b=2,c=3; 表达式(a&b)|(a|b) 的值是【1】.答案: 1). 1第第66题题填 空填 空(11分分)若有以下定义和语句: int a5=1,3,5,7,9,*p; p=&a2; 则+(*p)的值是【1】.答案: 1). 6第第77题题填 空填 空(11分分)设a、b、c为整型数, 且a=2、b=3
3、、c=4, 则执行完以下语句: a*=16+(b+)-(+c); 后,a的值是 【1】.答案: 1). 28第第88题题填 空填 空(11分分)设x=2.5,a=7,y=4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为【1】.答案: 1). 2.5第第99题题填 空填 空(11分分)若x和n均是int型变量,且x和n的初值均为5,则计算表达式 x+=n+ 后x的值为 【1】,n的值为【2】.答案: 1). 10 2). 6第第1010题题填 空填 空(11分分)关键字new用于进行动态内存分配,关键字【1】用于释放所分配的内存.答案: 1). delete第第1111题题填 空
4、填 空(11分分)int x=2,y=3,z=4; 则表达式x+y&x=y的值为【1】.答案: 1). 1第第1212题题填 空填 空(11分分)有下列程序段,执行后的输出结果是【1】.int a=3, b=5;int max(int a, int b) int c; c=ab? a:b; return c;void main() int a=8; coutmax(a,b)endl;答案: 1). 8第第1313题题填 空填 空(11分分)已知 i=5.6;写出语句 a=(int)i; 执行后变量 i 的值是【1】.答案: 1). 5.6第第1414题题填 空填 空(11分分)若 char w
5、,int x,float y,double z;则表达式w*x+z-y的结果为【1】类型.答案: 1). double 或 双精度第第1515题题填 空填 空(11分分)若有定义:char s=china; 则C+系统为数组s开辟【1】个字节的内存单元.答案: 1). 6第第1616题题填 空填 空(11分分)执行语句char str81=abcdef;后,字符串str结束标志存储在str【1】 (在括号内填写下标值)中.答案: 1). 6第第1717题题填 空填 空(11分分)将数组a的首地址赋给指针变量p的语句是【1】.答案: 1). p=a; 或 p=&a0;第18题填 空(1分)若有以
6、下数组a,数组元素:a0a9,其值为 9 4 12 8 2 10 7 5 1 3 该数组可用的最小下标值是【1】.答案: 1). 0第第1919题题填 空填 空(11分分)已知 i=5;写出语句 a=-i; 执行后整型变量 a 的值是【1】.答案: 1). 4第第2020题题填 空填 空(11分分)以下程序段要求从键盘输入字符,当输入字母为Y 时,执行循环体,则在括号内填写. #include iostream.h main()char ch=cin.get(); while(ch 【1】 Y)/*在括号中填写*/ ch=cin.get();答案: 1). =第第11题题判 断判 断(11分分
7、)每个C+程序的入口和出口都位于函数main()之中.答案:Y第2题判 断(1分)int x,a10=0,1,2,*p=a;x=p2;此语句将a2赋值给变量x答案:Y第3题判 断(1分)C+程序中,通常使用const来定义符号常量,定义时必须指出类型.答案:Y第4题判 断(1分)创建独立引用时要用一个同类型的变量进行初始化.答案:Y第5题判 断(1分)不能对字符数组整体进行赋值,只能给各个元素赋值,而字符指针变量可以直接赋值.答案:Y第6题判 断(1分)若有 int i=10,j=2;则执行完i*=j+8;后的值为28.答案:N第7题判 断(1分)定义输入文件流对象fout方法是:ofstre
8、am fin;答案:Y第8题判 断(1分)字符串比较函数是strcmp( )答案:Y第9题判 断(1分)在C+环境下,可以使用F9键进行编译和连接.答案:N第10题判 断(1分)包含空格的字符数组输入时,常常使用C+的cin.outline()函数实现.答案:N第11题判 断(1分)指针指示的是变量的内容.答案:N第12题判 断(1分)如果函数没有返回值,函数类型说明可以省略.答案:N第13题判 断(1分)break语句只能出现在switch中.答案:N第14题判 断(1分)关于函数体:包括局部变量的声明和可执行代码.答案:Y第15题判 断(1分)指针变量的值是指指针所指向的变量在内存中的地址
9、.答案:Y第16题判 断(1分)int a 10=0, 1, 2, 3, 4, 5;a6 a9均为0.答案:Y第17题判 断(1分)若有 int =6,j=10; 则执行完语句switch(i)case 4: j+;case 5: j- ;case 6: j+;case.答案:N第18题判 断(1分)二维数组初始化的方法是:int a32=2, 4, 6, 8,10, 12 ;答案:Y第19题判 断(1分)转义字符t表示换行.答案:N第20题判 断(1分)char *p =PCGAME;是定义初始化指针变量,指针变量的值是一个字符串.答案:N第1题单项选择(1分)以下叙述中正确的是 ().A:
10、C+程序中注释部分可以出现在程序中任意合适的地方B:花括号和只能作为函数体的定界符C:构成C+程序的基本单位是函数,所有函数名都可以由用户命名D:分号是C语句之间的分隔符,不是语句的一部分答案:A第2题单项选择(1分)以下程序的输出结果是().#include void main() char s=123,*p; p=s; cout*p+endl;A:123B:1C:3D:321答案:B第3题单项选择(1分)以下正确的描述是:在C+语言程序中().A:函数的定义可以嵌套,但函数的调用不可以嵌套B:函数的定义不可以嵌套,但函数的调用可以嵌套C:函数的定义和函数的调用均不可以嵌套D:函数的定义和函
11、数的调用均可以嵌套答案:B第4题单项选择(1分)设B类是由A类派生的.当创建一个B类的对象时,构造函数的调用顺序是().A:先调用A类的构造函数,然后调用B类的构造函数B:先调用B类的构造函数,然后调用A类的构造函数C:不调用A类的构造函数D:视定义时A类和B类出现的位置答案:A第5题单项选择(1分)C+语言的注释定界符有().A: B: C:* *D:/* */答案:D第6题单项选择(1分)下列选项中正确的语句组是().A:char s8; s=Beijing;B:char *s; s=Beijing;C:char s8; s=Beijing;D:char *s; s=Beijing;答案:
12、D第7题单项选择(1分)以下叙述中正确的是().A:在程序的一行上可以出现多个有效的预处理命令行B:使用带参的宏时,参数的类型应与宏定义时的一致C:宏替换不占用运行时间,只占编译时间D:在以下定义中 C R 是称为宏名的标识符 #define C R 045答案:C第8题单项选择(1分)以下只有在使用时才为该类型变量分配内存的存储类说明是().A:auto和 staticB:auto和 registerC:register和 staticD:extern和 register答案:B第9题单项选择(1分)在定义()时若没有赋初值,则编译系统自动将其设为0值.A:自动变量和外部变量B:外部变量和静
13、态变量C:自动变量和静态变量D:外部变量和寄存器变量答案:B第10题单项选择(1分)当调用函数时,实参是一个数组名,则向函数传送的是().A:数组的长度B:数组的首地址C:数组每一个元素的地址D:数组每个元素中的值答案:B第11题单项选择(1分)执行下列语句后的输出为(). int j=-1; if(j=1) cout*endl; else cout%endl;A:*B:%C:%cD:有错,执行不正确答案:A第12题单项选择(1分)下列程序段的输出结果为(). #include void main() int a=7,b=9,t; t=a*=ab?a:b; coutb) if(cd) x=1;
14、 else x=2; 等价的是().A:if(ab)if(cd) x=1; else x=2;B:if(ab) if(cd) x=1; else x=2;C:if(ab)&(cd) x=1; else x=2;D:if(ad) x=1;答案:A第14题单项选择(1分)若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是().A:p=q;B:*p=*q;C:n=*q;D:p=n;答案:D第15题单项选择(1分)以下不能对二维数组a进行正确初始化的语句是().A:int a23=0;B:int a3=1,2,0;C:int a23=1,2,3,4,5,6;D:int a3=1,
15、2,3,4,5,6;答案:C第16题单项选择(1分)C+语言中函数调用的方式有().A:函数调用作为语句一种B:函数调用作为函数表达式一种C:函数调用作为语句或函数表达式两种D:函数调用作为语句、函数表达式或函数参数三种答案:D第17题单项选择(1分)经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在微机上的值分别为().char x=65;float y=7.3f; int a=100; double b=4.5;A:2,2,2,4B:1,2,2,4C:1,4,4,8D:2,4,2,8答案:C第18题单项选择(1分)()将在对象生存期结束时由系
16、统自动调用.A:构造函数B:成员变量函数C:析构函数D:虚函数答案:C第19题单项选择(1分)下列表达式中,可作为C+合法表达式的是().A:3,2,1,0B:(3,2,1,0)C:3=2=1=0D:3/2/1/0答案:B第20题单项选择(1分)若有 char s1=abc,s220,*t=s2;cint; 则下列语句中能够实现当字符串s1大于字符串s2时,输出s2的语句是().A:if(strcmp(s1,s1)0) couts20)couts20)couts20)couts2endl;答案:D第21题单项选择(1分)若有定义:int a=7;float x=2.5,y=4.7;则表达式x+
17、a%3*(int)(x+y)%2/4的值是().A:2.5B:2.75C:3.5D:0答案:A第22题单项选择(1分)若变量a,i已正确定义,且i已正确赋值,非法的语句是().A:a=1B:+i;C:a=(int)i;D:a=int(i);答案:A第23题单项选择(1分)设有定义:int n=0,*p=&n,*q=&p;则以下选项中,正确的赋值语句是().A:p=1;B:*q=2;C:q=p;D:*p=5;答案:D第24题单项选择(1分)以下运算符中,优先级最高的运算符是().A:?:B:+C:&D:,答案:B第25题单项选择(1分)不仅可将C+源程序存在磁盘上,还可将数据按数据类型以什么的形
18、式存在磁盘上().A:内存B:缓冲区C:文件D:寄存器答案:C第26题单项选择(1分)设int a=0,b=5; 执行表达式+a|+b,a+b后,a,b和表达式的值分别是A:1,5,7B:1,6,7C:1,5,6D:0,5,7答案:C第27题单项选择(1分)下列程序的输出结果是().#include void main() int a=7,b=5; coutb/ac)b=a;a=c;c=b;则c的值为().A:1B:2C:3D:不一定答案:B第29题单项选择(1分)char h,*s=&h;可将字符H通过指针存入变量h中的语句是().A:*s=H;B:*s=H;C:s=H;D:s=H答案:B第
19、30题单项选择(1分)以下程序段的输出结果为(). char c=abc; int i=0; do ;while(ci+!=0);couti-1;A:abcB:abC:2D:3答案:D第1题程序填空(8分)/*-【程序填空】-题目:输入三个整数x,y,z,请把这三个数由小到大输出。-*/#includevoid main()int x,y,z,t; cin xyz; if (xy)/*SPACE*/ 【?】 if(xz)/*SPACE*/ 【?】 if(yz)/*SPACE*/ 【?】 coutsmall to big: x y zendl;答案: 1). t=x;x=y;y=t; 2). t
20、=z;z=x;x=t; 3). t=y;y=z;z=t;第2题程序填空(8分)/*-【程序填空】-题目:写一个函数,求一个字符串的长度,在main函数中输入字 符串,并输出其长度。-*/#includevoid main()int length(char *p);int len;char str20;coutplease input a string:n;cin.getline(str,sizeof str);/*SPACE*/len=length(【?】);coutthe string has len characters.endl;/*SPACE*/【?】(char *p)int n;n=
21、0;while(*p!=0)/*SPACE*/【?】;/*SPACE*/【?】;return n;答案: 1). str 2). length 或 int length 3). n+ 或 +n 或 n=n+1 或 n+=1 4). p+ 或 +p 或 p=p+1 或 p+=1第1题程序改错(8分)/*- 【程序改错】-题目:fun函数的功能是:求一个3行4列矩阵的外框的元素值之 和,注意,矩阵四个角上的元素不能重复加。例如,矩阵 元素为1,2,3,4,5,6,7,8,9,10,11,12时,四 框元素值之和应为65。 请改正程序中的错误,使它能得出正确的结果。-注意:不可以增加或删除程序行,也
22、不可以更改程序的结构。-*/#includeint fun(int a34,int m,int n)/*FOUND*/ int i,j,s,s1=s2=s3=s4=0; for(j=0;jn;j+) s1=s1+a0j;/*FOUND*/ s2=s2+amj; /*FOUND*/ for(i=0;im;i+) s3=s3+ai0; s4=s4+ain-1; /*FOUND*/ s=s1-s2-s3-s4; return s;void main() int a34=1,2,3,4,5,6,7,8,9,10,11,12; couttotal=fun(a,3,4)endl;答案: 1). int i
23、,j,s,s1=0,s2=0,s3=0,s4=0; 2). s2=s2+am-1j; 或 s2+=am-1j; 或 s2=am-1j+s2; 3). for(i=1;im-1;i+) 或 for(i=1;ii;i+) 或 for(i=1. 4). s=s1+s2+s3+s4;第第11题题程序设计程序设计(66分分)/*-【程序设计】-题目: 将10进制正整数n转化成k进制(K9)按位输出到 m.-注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在函数的花括号中填入所编 写的若干语句。-*/#include #include #include void writeinfile(int n)fstream myfile;myfile.open(f.txt,ios:out);myfilenendl;myfile.close();void main()int m,n,k,l=1;n=8;k=2;/*Program*/* End */writeinfile(m);答案:-m=0;while(n!=0)m=m+n%k*l;n=n/k;l*=10;-
限制150内