所属语言:C++试卷总分:200分共有题型:5种一、填空共20题(共计20分)第1题(1.0分)假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是【1】.答案:=======(答案1)=======8第2题(1.0分)若有以下数组a,数组元素:a[0]~a[9],其值为9 4 12 8 2 10 7 5 1 3该数组的元素中,数值最大的元素的下标值是【1】. 答案:=======(答案1)=======2第3题(1.0分)下面程序段的输出结果是【1】.int a=12; a=a&0377;pritnf("%o\n",a);答案:=======(答案1)=======14第4题(1.0分)若输入字符串:abcde<回车>,则以下while循环体将执行【1】次.While((ch=getchar())=='e') printf("*");答案:=======(答案1)=======第5题(1.0分)将数组a的首地址赋给指针变量p的语句是【1】. 答案:=======(答案1)=======p=a;第6题(1.0分)C语言把文件看作是一个【1】的序列.答案:=======(答案1)=======字符=========或=========字节第7题(1.0分)静态变量和外部变量的初始化是在【1】阶段完成的,而自动变量的赋值是在【2】时进行的.答案:=======(答案1)=======编译=======(答案2)=======函数调用第8题(1.0分)若有定义:int a[3][2]={2,4,6,8,10,12};,则*(a[1]+1)的值是【1】.答案:=======(答案1)=======8第9题(1.0分)C语言中,数组名是一个不可变的【1】量,不能对它进行加减和赋值运算.答案:======(答案1)=======地址第10题(1.0分)int x=2;z=x++-1; 则x的值为【1】.答案:=======(答案1)=======3第11题(1.0分)若所用变量都已正确定义,请填写以下程序段的输出结果【1】.for(i=1;i<=5;i++);printf("OK\n");答案:=======(答案1)=======OK第12题(1.0分)feof(fp)函数用来判断文件是否结束,如果遇到文件结束,函数值为【1】,否则为【2】.答案:=======(答案1)=======非0值======(答案2)=======第13题(1.0分)如果函数不要求带回值,可用【1】来定义函数返回值为空.答案:=======(答案1)=======void第14题(1.0分)调用fopen 函数打开一文本文件,在"使用方式"这一项中,为输出而打开需填入【1】.答案:=======(答案1)=======w=========或=========w+第15题(1.0分)顺序结构存储方法是把逻辑上相邻的结点存储在物理位置【1】的存储单元中。
答案:=======(答案1)=======相邻第16题(1.0分)一个类可以从直接或间接的祖先中继承所有属性和方法。
采用这个方法提高了软件的【1】。
=======(答案1)=======可重用性第17题(1.0分)C++中封装性、继承性和【1】是面向对象程序设计的三个主要性质。
答案:=======(答案1)=======多态性第18题(1.0分)C++语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取【1】方式。
=======(答案1)=======传地址第19题(1.0分)设i,j,k均为int型变量,则执行完for(i=0,j=10;j<=j;i++,j--)k=i+j;语句后,K的值为【1】。
答案:=======(答案1)=======10第20题(1.0分)对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为【1】。
答案:=======(答案1)=======45二、判断共20题(共计20分)第1题(1.0分)用fopen("file","r+");打开的文件"file"可以进行修改。
答案:Y第2题(1.0分)int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");}的输出结果为A。
答案:N第3题(1.0分)若有定义和语句:int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f); 若通过键盘输入:10,A,12.5,则a=10,c='A',f=12.5.答案:Y第4题(1.0分)char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。
答案:N第5题(1.0分)x*=y+8 等价于x=x*(y+8)。
答案:Y第6题(1.0分)如果有一个字符串,其中第十个字符为'\n',则此字符串的有效字符为9个。
答案:N第7题(1.0分)通过return语句,函数可以带回一个或一个以上的返回值。
答案:N第8题(1.0分)如果想使一个数组中全部元素的值为0,可以写成int a[10]={0*10};答案:N第9题(1.0分)一个include 命令可以指定多个被包含的文件。
答案:N第10题(1.0分)C程序中有调用关系的所有函数必须放在同一个源程序文件中。
答案:N第11题(1.0分)进行宏定义时,宏名必须使用大写字母表示。
答案:N第12题(1.0分)共同体变量所占的内存长度等于最长的成员的长度。
答案:Y第13题(1.0分)在C 语言中,此定义和语句是合法的:enum aa{ a=5,b,c}bb;bb=(enum aa)5;答案:Y第14题(1.0分)7&3+12的值是15。
答案:N第15题(1.0分)类有两个特殊的成员函数构造函数和虚函数答案:N第16题(1.0分)抽象类不仅可用做派生其他类的基类,也可以用于直接创建对象实例。
答案:N第17题(1.0分)静态函数可声明为虚函数。
答案:N第18题(1.0分)如果一个函数在其函数体内直接或间接的调用了自己,该函数称为递归函数。
答案:Y第19题(1.0分)类中提供了三种访问控制权:公有、私有、保护三种类型。
答案:Y第20题(1.0分)所谓继承就是利用已有的数据类型定义出新的数据类型。
答案:Y三、单选共60题(共计60分)第1题(1.0分)fscanf函数的正确调用形式是()。
A:fscanf(fp,格式字符串,输出表列);B:fscanf(格式字符串,输出表列,fp);C:fscanf(格式字符串,文件指针,输出表列);D:fscanf(文件指针,格式字符串,输入表列);答案:D第2题(1.0分)C语言的if语句嵌套时,if与else的配对关系是()。
A:每个else总是与它上面的最近的if配对B:每个else总是与最外层的if配对C:每个else与if的配对是任意的D:每个else总是与它上面的if配对答案:A第3题(1.0分)C语言中,文件由()。
A:记录组成B:由数据行组成C:由数据块组成D:由字符(字节)序列组成答案:D第4题(1.0分)设C语言中,int类型数据占2个字节,则short类型数据占()。
A:1个字节B:2个字节C:4个字节D:8个字节答案:B第5题(1.0分)以下不符合C语言语法的赋值语句是()。
A:j++;B:j=j=5;C:k=2*4,k*4;D:y=float(j);答案:D第6题(1.0分)C语言允许函数类型缺省定义,此时函数值隐含的类型是()。
A:floatB:intC:longD:double答案:B第7题(1.0分)int (*p)[6]; 它的含义为()。
A:具有6个元素的一维数组B:定义了一个指向具有6个元素的一维数组的指针变量C:指向整型指针变量D:指向6个整数中的一个的地址答案:B第8题(1.0分)经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在微机上的值分别为()。
char x=65;float y=7.3;int a=100;double b=4.5;A:2,2,2,4B:1,2,2,4C:1,4,2,8D:2,4,2,8答案:C第9题(1.0分)char *match(char c)是()。
A:函数定义的头部B:函数预说明C:函数调用D:指针变量说明答案:A第10题(1.0分)若有说明: int a[3][4]={0};则下面正确的叙述是()。
A:只有元素a[0][0]可得到初值0B:此说明语句不正确C:数组a中各元素都可得到初值,但其值不一定为0 D:数组a中每个元素均可得到初值0答案:D第11题(1.0分)当说明一个结构体变量时系统分配给它的内存是()。
A:各成员所需内存量的总和B:结构中第一个成员所需内存量C:成员中占内存量最大者所需的容量D:结构中最后一个成员所需内存量答案:A第12题(1.0分)以下不是无限循环的语句为()。
A:for(y=0,x=1;x>++y;x=i++) i=x;B:for(;;x++=i);C:while(1){x++;}D:for(i=10;;i--) sum+=i;答案:A第13题(1.0分)利用fseek 函数可以实现的操作是()。
A:改变文件的位置指针B:文件的顺序读写C:文件的随机读写D:以上答案均正确答案:D第14题(1.0分)C语言中while 和do-while 循环的主要区别是()。
A:do-while 的循环体至少无条件执行一次B:while的循环控制条件比do-while的循环控制条件更严格C:do-while 允许从外部转到循环体内D:do-while 的循环体不能是复合语句答案:A第15题(1.0分)sizeof(float)是()。
A:一种函数调用B:一个不合法的表达式C:一个整型表达式D:一个浮点表达式答案:C第16题(1.0分)以下程序的运行结果是()。
main(){ int n;for(n=1;n<=10;n++){if(n%3==0) continue;printf("%d",n);}}A:12457810B:369C:12D:1234567890答案:A第17题(1.0分)以下不正确的叙述是()。