哈理工C考试题库之6可直接的打印的_第1页
哈理工C考试题库之6可直接的打印的_第2页
哈理工C考试题库之6可直接的打印的_第3页
哈理工C考试题库之6可直接的打印的_第4页
哈理工C考试题库之6可直接的打印的_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1题填 空(1分)已知 i=5;写出语句 a=-i; 执行后整型变量 a 的值是【1】.答案: 1). 4第2题填 空(1分)为了避免嵌套条件语句的二义性,C+语言规定else与其前面最近的【1】语句配对.答案: 1). if第3题填 空(1分)若所用变量都已正确定义,请填写以下程序段的输出结果【1】. for(i=1;i<=5;i+); cout<<"OK"<<endl;答案: 1). OK第4题填 空(1分)有下列程序段,执行后的输出结果是【1】.int a=3, b=5;int max(int a, int b) int c; c=a&

2、gt;b? a:b; return c;void main() int a=8; cout<<max(a,b)<<endl;答案: 1). 8第5题填 空(1分)int x=2,y=3,z=4; 则表达式x+y>z的值为【1】.答案: 1). 1第6题填 空(1分)int x=2;z=+x+1; 则z的值为【1】.答案: 1). 4第7题填 空(1分)int x=2,y=3,z=4; 则表达式x+(y>!z)的值为【1】.答案: 1). 3第8题填 空(1分)表达式18 && 53 的值是【1】.答案: 1). 1第9题填 空(1分)在C+程

3、序中使用文件结束后要关闭文件,关闭文件的函数名是【1】.答案: 1). close第10题填 空(1分)当一个函数无返回值时,函数的类型应定义为【1】答案: 1). void第11题填 空(1分)在C+程序中使用文件前打开文件,打开文件的函数名是【1】.答案: 1). open第12题填 空(1分)设x=2.5,a=7,y=4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为【1】.答案: 1). 2.5第13题填 空(1分)执行语句char str81="abcdef"后,字符串str结束标志存储在str【1】 (在括号内填写下标值)中.答案: 1). 6第1

4、4题填 空(1分)执行下列语句后,b 的十进制值是【1】. int x=240,y=15,b; char z='A' b=( x && y ) && ( z < 'a' );答案: 1). 1第15题填 空(1分)cin.get()函数只能接收一个【1】.答案: 1). 字符第16题填 空(1分)int x=2,y=3,z=4; 则表达式x+y>!z的值为【1】.答案: 1). 1第17题填 空(1分)int x=y=z=2;x=y=z; 则x的值为【1】.答案: 1). 1第18题填 空(1分)C+语言程序的三种基本

5、结构是:顺序结构,选择结构,【1】结构.答案: 1). 循环第19题填 空(1分)设x=2,表达式x>=60=1的值为【1】.答案: 1). 0第20题填 空(1分)#define A(n) 2*n+1,则表达式A(2+3)的值是【1】答案: 1). 8第1题判 断(1分)a=(b=4)+(c=6) 是一个合法的赋值表达式.答案:Y第2题判 断(1分)数组在使用之前必须先定义.数组定义包括数组的类型、名称、维数及数组中元素的个数.答案:Y第3题判 断(1分)对于函数原型:int fun(int a, int b=300,int c=200,int d=100);可以使用如下方式调用:fu

6、n(1.答案:N第4题判 断(1分)对象成员的表示方法与结构体变量成员的表示方法相同.答案:Y第5题判 断(1分)一次性输入、输出字符数组时,只写字符数组名.答案:Y第6题判 断(1分)对于函数原型:int fun(int a, int b=300,int c=200,int d=100);可以使用如下方式调用:fun(4.答案:Y第7题判 断(1分)类的作用域范围指的是类体内.答案:N第8题判 断(1分)数组只有一个下标,称为一维数组.答案:Y第9题判 断(1分)在c+中实参和形参有3种结合方式,分别为:值传递、引用传递和地址传递答案:Y第10题判 断(1分)定义输入文件流对象fin方法是:

7、ofstream fin;答案:N第11题判 断(1分)int a(5),b(3);a | b结果为1.答案:Y第12题判 断(1分)定义一个输出文件流对象,并打开d盘du文件夹下的abc.dat文件方法是:ofstream fout;fout.open.答案:Y第13题判 断(1分)若有 #define S(a,b) a*b 则语句 area=S(3,2); area的值为6.答案:Y第14题判 断(1分)else语句可以单独作为语句使用,它不一定要if配对使用.答案:N第15题判 断(1分)若i=3,则cout<<-i+;输出的值为 -4.答案:N第16题判 断(1分)若有宏定

8、义:#define S(a,b) a+b 此宏定义是错误的.答案:N第17题判 断(1分)C+中,变量使用时遵循"先定义,后使用"的原则.答案:Y第18题判 断(1分)若函数fc定义如下:void fc(char *a,char *b)while(*a+=*b+);函数fc的功能是串复制.答案:Y第19题判 断(1分)在程序中,常量是可以不经说明而直接引用,而变量则必须先定义后使用.答案:Y第20题判 断(1分)auto是C+语言中的关键字.答案:Y第1题单项选择(1分)函数重载是指().A:两个以上的函数取相同的函数名,但形参的个数或类型不同B:两个以上的函数取相同的名字

9、和相同的参数个数,但形参的类型可以不同C:两个以上的函数名字不同,但形参的个数或类型相同D:两个以上的函数名字、参数的个数和类型都相同答案:A第2题单项选择(1分)能将高级语言编写的源程序转换为目标程序的是().A:链接程序B:解释程序C:编译程序D:编辑程序答案:C第3题单项选择(1分)编译预处理工作是在()完成的.A:编译前B:编译时C:编译后D:连接时答案:A第4题单项选择(1分)执行下列语句后的结果为(). int x=3,y; int *px=&x; y=*px+;A:x=3,y=4B:x=3,y=3C:x=4,y=4D:x=3,y不知答案:B第5题单项选择(1分)假定所有变

10、量均已正确定义,下列程序段运行后x的值是().k1=1;k2=2;k3=3;x=15;if(!k1) x-;else if(k2) x=4; else x=3;A:14B:4C:15D:3答案:B第6题单项选择(1分)不仅可将C+源程序存在磁盘上,还可将数据按数据类型以什么的形式存在磁盘上().A:内存B:缓冲区C:文件D:寄存器答案:C第7题单项选择(1分)在C+语言中,要求运算数必须是整型的运算符是().A:&&B:%C:!D:>答案:B第8题单项选择(1分)语句cout<<"abre'hi'yboun"的输出结果是(说

11、明:'b'是退格符)().A:abre'hi'ybouB:abre'hi'ybouC:re'hi'youD:abre'hi'ybou答案:C第9题单项选择(1分)设j和k都是int类型,则for循环语句 for(j=0,k=0;j<=9&&k!=876;j+) cin>>k;A:最多执行10次B:最多执行9次C:是无限循环D:循环体一次也不执行答案:A第10题单项选择(1分)以下能正确定义数组并正确赋初值的语句是().A:int N=5,bNN;B:int a12=1,3;C:in

12、t c2=1,2,3,4;D:int d32=1,2,3,4;答案:D第11题单项选择(1分)若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是().A:i=*p;B:*p=*&j;C:i=&j;D:i=*p;答案:B第12题单项选择(1分)判断char型变量cl是否为小写字母的正确表达式是().A:a'<=cl<='z'B:(cl>=a)&&(cl<=z)C:('a'>=cl)|('z'<=cl)D:(cl>='a'

13、;)&&(cl<='z')答案:D第13题单项选择(1分)以下能对一维数组a进行正确初始化的语句是().A:int a10=(0,0,0,0,0)B:int a10=;C:int a=0;D:int a10=10*1;答案:C第14题单项选择(1分)设有说明:ofstream outfile;则执行语句:outfile.open("data1.txt");后,文件:data1.txt是一个.A:用于输入的文本文件B:用于输出的文本文件C:用于输入的二进制文件D:用于输出的二进制文件答案:B第15题单项选择(1分)以下运算符中,优先级最高

14、的运算符是().A:=B:!=C:*(乘号)D:()答案:D第16题单项选择(1分)以下对一维整型数组a的正确说明是().A:int a(10);B:int n=10,an;C:int n; cin>>n; int an;D:#define SIZE 10 (换行) int aSIZE;答案:D第17题单项选择(1分)若i为整型变量,则以下循环执行次数是().for(i=2;i=0;) cout<<i-;A:无限次B:0次C:1次D:2次答案:B第18题单项选择(1分)已定义ch为字符型变量,以下赋值语句中错误的是().A:ch=''B:ch=62+3;

15、C:ch=NULL;D:ch='xaa'答案:A第19题单项选择(1分)下列定义不正确的是().A:#define PI 3.141592B:#define S345C:int max(x,y); int x,y; D:static char c;答案:C第20题单项选择(1分)如果某类是从另一个类继承来的,对象释放时析构函数的调用顺序是().A:不调用基类的析构函数B:先调用基类的析构函数,再调用派生类的析构函数C:先调用派生类的析构函数,再调用基类的析构函数D:不调用派生类的析构函数答案:C第21题单项选择(1分)设有 int x=11; 则表达式 (x+ * 1/3) 的

16、值是().A:3B:4C:11D:12答案:A第22题单项选择(1分)下列选项中正确的语句组是().A:char s8; s="Beijing"B:char *s; s="Beijing"C:char s8; s="Beijing"D:char *s; s="Beijing"答案:D第23题单项选择(1分)下列字符序列中,可用作C标识符的一组字符序列是().A:S.b,sum,average,_aboveB:class,day,lotus_1,2dayC:#md,&12x,month,student_n!D

17、:D56,r_1_2,name,_st_1答案:D第24题单项选择(1分)下面判断正确的是().A:char *a="china"等价于 char *a;*a="china"B:char str10="china"等价于char str10;str="china"C:char *s="china"等价于 char *s;s="china"D:char c4="abc",d4="abc"等价于 char c4=d4="abc&q

18、uot;答案:C第25题单项选择(1分)以下叙述中不正确的是().A:预处理命令行都必须以#号开始B:在程序中凡是以#号开始的语句行都是预处理命令行C:C+程序在执行过程中对预处理命令行进行处理D:以下是正确的宏定义 #define IBM_PC答案:C第26题单项选择(1分)下列程序的输出结果是().#include <iostream.h>void main() int a=7,b=5; cout<<b/a<<"n"A:0B:5C:1D:不确定值答案:A第27题单项选择(1分)以下不正确的if语句形式是().A:if(x>y&a

19、mp;&x!=y);B:if(x=y) x+=y;C:if(x!=y) cin>>x else cin>>y;D:if(x<y) x+;y+;答案:C第28题单项选择(1分)以下叙述中不正确的是().A:一个好的程序应该有详尽的注释B:在C+程序中,赋值运算符的优先级最低C:在C+程序中,j+;是一条赋值语句D:C+程序中的#include和#define均不是C语句答案:B第29题单项选择(1分)结构体类型的定义允许嵌套是指().A:成员是已经或正在定义的结构体型B:成员可以重名C:结构体型可以派生D:定义多个结构体型答案:A第30题单项选择(1分)全局

20、变量的定义不可能在().A:函数内部B:函数外面C:文件外面D:最后一行答案:A第1题程序填空(8分)/*-【程序填空】-题目:以下程序的功能:将s所指字符串的正序和反序进行连接, 形成一个新串放在t所指的数组中。 例如:当s串为"ABCD"时,则t串的内容应为"ABCDDCBA"。 -*/#include<iostream.h>#include <string.h>void fun (char *s, char *t) int i, d;/*SPACE*/ d = 【?】;/*SPACE*/ for (i = 0; i<d

21、; 【?】) ti = si;/*SPACE*/ for (i = 0; i<d; i+) t【?】 = sd-1-i;/*SPACE*/ t【?】 ='0'void main() char s100, t100; cout <<"nPlease enter string S:" cin.getline(s,sizeof s); fun(s, t); cout <<"nThe result is: " << t <<endl;答案: 1). strlen(s) 2). i+ 或 i=i

22、+1 或 i+=1 或 +i 3). d+i 或 i+d 4). 2*d 或 d*2 或 i+d 或 d+i第2题程序填空(8分)/*-【程序填空】-题目:要求输出结果为: A,B-*/#include<iostream.h>void main()/*SPACE*/char a,【?】/*SPACE*/ a=【?】; b='b' a=a-32;/*SPACE*/ b=b-【?】; cout<<a<<','<<b<<endl;答案: 1). b; 2). 'a' 或 97 3). 32 第

23、1题程序改错(8分)/*- 【程序改错】-题目:编写程序, 求矩阵(3行3列)与5的乘积 例如, 输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 500 1000 1500 2000 2500 3000 3500 4000 4500-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#include<iostream.h>void fun(int array33) /*FOUND*/ int i;j;/*FOUND*/ for(i=1; i < 3; i+)for(j=0; j < 3; j+)/*FOUND*/ arrayij=arrayij/5;void main()int i,j;int array33=100,200,300,400,500,600,700,800,900; for (i=0; i < 3; i+) for (j=0; j < 3; j+) cout<<arrayij<<' ' cout<<endl;fun(array); cout<<"Converted array:n" for (i=0; i &

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论