C期末练习题带答案

C期末练习题带答案
C期末练习题带答案

(一)读程序题1.类中包括其他类的对象成员,构造函数中要列出成员对象名带实参,生成该类对

象时,要先调用成员对象的构造函数。如果是成员对象的缺省构造函数可以不列,但生成该类对象时,仍要先调用成员对象的缺省构造函数。

1.如下程序运行时的输出结果是1135。

#include<>

classONE

{

intc;

public:

ONE():c(0){cout<<1;}

ONE(intn):c(n){cout<<3;}

};

classTWO:publicONE{

ONEone1;

ONE one2;

public:

TWO(intm):one2(m){cout<<5;}

};

voidmain()

{

TWOt(2);

}

二.派生类构造函数中要列出基类名带实参,生成派生类对象时,要先调用基类的构造函数,再调用派生类的构造函数。冲突规则与支配规则。

2.如下程序运行时的输出结果是。

#include<>

classA{

public:

intx;

A(){x=10;}

A(inti){x=i;}

voidShow(){cout<<"x="<

};

classB{

public:

inty;

B(){y=30;}

B(inti){y=i;}

voidShow(){cout<<"y="<

};

classC:publicA,publicB{

public:

inty;

C(inta,intb,intc):A(a),B(b+30){y=c;}

voidShow(){cout<<"y="<

};

voidmain(void){

Cc1(20,30,40);

=10;

();::Show();::Show();

}

三.派生类中包含对象成员,构造函数中要列出基类名带实参,再列出成员对象名带实参,生成派生类对象时,要先调用基类的构造函数,再调用成员对象的构造函数,最后调用派生类的构造函数。如果是调用基类或成员对象的缺省构造函数可以不列,但生成派生类对象时,仍要先调用基类的缺省构造函数,再调用成员对象的缺省构造函数。构造函数与析构函数调用顺序相反。

3.如下程序运行时的输出结果是。

#include<>

classA{

public:

A(){cout<<"A()\n";

}

~A(){cout<<"~A()\n";

}

};

classB{

public:

B(){cout<<"B()\n";}

~B(){cout<<"~B()\n"; }

};

classC:publicB,publicA{

Aa;

public:

C() {cout<<"C()\n"; }

~C() {cout<<"~C()\n";}

};

voidmain(){

Cc1;

}

4.如下程序运行时的输出结果是。

#include<>

classA{

public:

A(){

cout<<'A'<

}

};

classT{

Aa;

public:

T(){

cout<<'T'<

}

};

classX:publicA{

Tt;

public:

X(){

cout<<'X'<

}

};

voidmain()

{

Xob;

}

三.虚基类

5.下列程序运行后的输出结果是。#include<>

classA{

public:

A(){cout<<"A\n";}

~A(){cout<<"~A\n";}

};

classB:virtualpublicA{

public:

B():A(){cout<<"B\n";}

~B(){cout<<"~B\n";}

};

classC:publicvirtualA{

public:

C():A(){cout<<"C\n";}

~C(){cout<<"~C\n";}

};

classD:publicC,publicB{

public:

D():B(),C(),A(){cout<<"D\n";}

~D(){cout<<"~D\n";}

};

voidmain()

{Dd1;}

6.下列程序的输出结果是。

#include<>

classA{

public:

A(){cout<<"A\n";}

~A(){cout<<"~A\n";}

};

classB:publicA{

public:

B():A(){cout<<"B\n";}

~B(){cout<<"~B\n";}

};

classC:publicA{

public:

C():A(){cout<<"C\n";}

~C(){cout<<"~C\n";}

};

classD:publicC,publicB{

public:

D():B(),C(){cout<<"D\n";}

~D(){cout<<"~D\n";}

};

voidmain()

{Dd1;}

7.下列程序的输出结果是。

#include<>

#include<>

classB{

charstr[20];

public:

B(char*s="default"){strcpy(str,s);cout<

};

classIh1:publicvirtualB{

charstr1[20];

public:

Ih1(char*s1,char*s2):B(s1){strcpy(str1,s2);cout<

classIh2:publicvirtualB{

charstr2[20];

public:

Ih2(char*s1,char*s2):B(s1){ strcpy(str2,s2);cout<

classIh3:publicIh1,publicIh2{

charstr3[20];

public:

Ih3(char*s1,char*s2,char*s3,char*s4):Ih1(s1,s2),Ih2(s1,s3)

{ strcpy(str3,s4);cout<

};

voidmain()

{

Ih3h3("abc","def","ghi","jkl");

}

四.运行时多态

8.下列程序的输出结果是。

#include<>

classA{

public:

virtualvoidf1(){cout<<"类A中的f1\n";}

virtualvoidf2(){cout<<"类A中的f2\n";}

voidf3(){cout<<"类A中的f3\n";}

};

classB:publicA{

public:

voidf1(){cout<<"类B中的f1\n";}

voidf2(int){cout<<"类B中的f2\n";}

voidf3(){cout<<"类B中的f3\n";}

};

voidmain(){

Aa1,*p;

Bb1;

p=&b1;

p->f1();p->f2();p->f3();

}

9.如下程序运行时的输出结果是。

#include<>

classA{

public:

virtualvoidf(){cout<<1;}

voidg(){cout<<2;}

};

classB:publicA{

public:

virtualvoidf(){cout<<3;}

voidg(){cout<<4;}

};

voidshow(A&a){();();}

voidprint(A*p){p->f();p->g();} voidmain(){

Bb;

show(b);

print(&b);}

10.如下程序运行时的输出结果是。

#include<>

#include<>

classP{

public:

P(char*s){

name=newchar[strlen(s)+1];

strcpy(name,s);

}

virtualvoidprint(){

cout<<"Iam"<

}

~P(){

delete[]name;

}

protected:

char*name;

};

classS:publicP{

public:

S(char*s,doubleg):P(s){

gj=g;

}

voidprint(intk){

cout<

}

private:

doublegj;

};

classF:publicP{

F(char*s,intn):P(s){

pub=n;

}

voidprint(){

cout<

}

private:

intpub;

};

voidmain()

{

inta=25;

P*p;

Ppers("Zhang");

Sstud("Wang",;

Fprof("Li",4);

p=&pers;

p->print();

p=&stud;

p->print();

p=&prof;

p->print();

(a);

}

11.如下程序运行时的输出结果是。

#include<>

classA{

intx,n;

intmul;

public:

A(inta,intb){

x=a;

n=b;

mul=10;

}

virtualintpower(void){

mul=1;

for(inti=1;i<=n;i++)

mul*=x;

returnmul;

}

voidshow(void){

cout<

};

classB:publicA{

inty,m;

intp;

public:

B(inti,intj,intk,inth):A(i,j){

y=k;

m=h;

p=10;

}

intpower(void){

p=1;

for(inti=1;i<=m;i++)

p*=y;

returnp;

}

voidshow(void){

A::show();

cout<

}

};

voidfun(A*f){

cout<power()<<'\n';

}

voidmain()

{

Aa(4,3),*p;

Bb(2,4,3,3);

p=&a;

fun(p);

p=&b;

fun(p);

();

}

12.如下程序运行时的输出结果是。

#include<>

classAnimal{

public:

virtualchar*getType(){return“Animal”;} virtualchar*getVoice(){return“Voice”;}

};

classDog:publicAnimal{

public:

char*getType(){return“Dog”;}

char*getVoice(){return“Woof”;}

};

voidtype(Animal&a){cout<<();}

voidspeak(Animala){cout<<();}

voidmain(){

Dogd;type(d);

cout<<”speak”;

speak(d);cout<

}

五.友元函数

13.#include<>

classSample{

friendlongfun(Samples);

public:

Sample(longa)

{x=a;}

private:

longx;

};

longfun(Samples){

if<2)return1;

*fun(Sample);

}

voidmain()

{

intsum=0;

for(inti=0;i<5;i++)sum+=fun(Sample(i)); cout<

}

六.运算符重载

14.写出运算符重载函数调用形式。classA{intm,n;

public:

A(intx=0,inty=0){m=x;n=y;}

Aoperator++(){++m;++n;return*this;} Aoperator++(int){At=*this;++(*this);returnt;} friendAoperator--(A&t){;;returnt;} friendAoperator--(A&t,int){Atemp=t;

;;returntemp;}

voidmain(){Aa1(1,2),a2(3,4),a3,a4;

a3=++a1;出运算符重载函数调用形式。

classComplex{

intyuan,jiao,fen;

public:

Complex(inty=0,intj=0,intf=0){

yuan=y;jiao=j;fen=f;}

operatorfloat();

};

Complex::operatorfloat(){

floatamount;

amount=(yuan*+jiao*+fen)/100;

returnamount;}

voidmain(){

Complexd1(10,20,30);floats1;

s1=d1;素数问题:定义函数判断一个整数是否为素数,求300以内的素数,每行3个数形式输出。

2.最大公约数和最小公倍数问题:求两分数之和并输出结果,要求:将求最小公倍数和最大公约数设计成独立的函数。(提醒:分子、分母可分别用两个整型变量表示。之和的分母就是两分数分母的最小公倍数;输出示例:cout<<3<<”/”<<7;就完成了分数3/7的输出显示。)

3.一维数组排序与元素移动综合题:(1)定义整型数组a[10],从键盘输入10个数为数组赋值,并分别定义两个独立函数,voidprint(intb[])实现将一维数组元素输

出,voidsort(intb[],intn)实现将一维数组的元素按从小到大排序(用两种方法实现)。最后在主函数中分别调用两个函数。

4.二维数组与元素移动:

(1)定义一个二维数组intb[2][3],从键盘输入为二维数组赋值,将二维数组中按列循环前移或后移一位,并以矩阵形式输出二维数组元素。

(2)定义一个二维数组,inta[4][4],求其外围元素之和与对角线之和,并以矩阵形式输出二维数组元素。(求和用两种方法实现)

5.字符串处理:设计一个通用函数实现在字符串s1中从第m个字符开始插入字符串s2,在主程序中对该函数进行测试。

初始状态:s1:abcdefg

s2:1234

输入插入字符串的位置:3

目标状态:s1:ab1234cdefg

s2:1234

6.拼数与合数问题:

(1)在主函数中定义一个一维数组a[4]用来存放4个整型数3,12,0,1,并依次输出一维数组中的元素。

(2)依次取出数组中的元素,利用合数算法将这些元素合成一个数,要求合数的过程写成独立函数的形式,编写intfun(intb[],intn)函数,其中b为一维数组,n为b数组中包含的元素个数。该函数用来实现合数过程,并在主函数中调用该函数,并在主函数中输出合成之后的数。

7.数字字符与整数转换算法:将字符串#ab78c15fk23d*中整型数据提取出来,合成一个整型数781523并输出来。再将781523整数的各个数位数字拆开存放到一维数组intb[10]中,并将一维数组中的元素转换为数字字符存放到字符数组s[100]中,并输出该数字字符串"325187".

8.字符数组:

(1)定义一个字符数组chars[100]={"abc123"};定义两个函数分别实现将字符串逆序排序和按照字符的ASCII码从小到大排序,输出并操作后的字符串。

(2)定义两个字符数组:chars1[100]="apple",s2[100]={"tree"};将两个字符数组拼接成一个字符串(不用拼接函数),并输出拼接前和拼接后的两个字符串。

9.请从键盘输入一个正整数,求这个数是几位数,并求出该正整数的各个位上的数字之和。

如输入1234,该正整数是4位数,各个数位上的数字之和为10.

10、循环结构:请从键盘输入一个正整数,求这个数是几位数,并求出该正整数的各个位上的数字之和。如输入1234,该正整数是4位数,各个数位上的数字之和为10.

11、从键盘上输入一个整数n的值,按下式求出y的值,并输出n和y的值。y=1!+2!+3!+┄+n!

12、求1-1/2+1/3-1/4+……+1/99-1/100的和。

13、求1+1/1!+1/2!+……+1/10!的和

14、从键盘输入一个整数n,将该整数的每一位上的数字拆开,存放到一维数组inta[10]中,该过程用独立函数形式实现。并将一维数组中的元素取出合成一个数,并输出合成的数和一维数组元素。如n:1234,存放到一维数组中的顺序为4321,合成一个数为4321。

二、类的编程:

用类解决实际问题的方法分三个步骤,如下:

1、定义类的框架

2、公有成员函数的实现

3、在主函数中测试类(用类定义对象,并用对象调用成员函数)

(一)数据成员为一维数组时

问题描述如下:

(1)定义一个类Array,它的数据成员和成员函数如下:

私有数据:intb[10],intm;

公有成员函数:Array(intt[]);//功能为一维数组b初始化

Voidfun();//求一维数组b的最大值为m

voidsort();//功能为实现对一维数组从大到小排序

voidmove();//功能为将一维数组元素循环后移一位

voidprint();//功能为输出一维数组元素

(2)用类定义对象arr,并用对象arr调用成员函数,实现对一维数组元素排序和数组元素循环后移一位,并输出每次操作的结果。

(二)数据成员为二维数组时

1、问题描述如下:

(1)定义一个类Array,它的数据成员和成员函数如下:

私有数据:inta[4][5];ints;

公有成员函数:Array(intt[][5]);//功能为二维数组b初始化

voidsum();//功能为求二维数组b外围元素之和为s

voidfun();//对二维数组b按列前移

voidprint();//功能为以矩阵形式输出二维数组元素

(2)用类定义对象array,并用对象array调用成员函数求出二维数组外围元素之和,按列前移,再求二维数组外围元素之和,输出二维数组元素。

2、问题描述如下:

(1)定义一个类Array,它的数据成员和成员函数如下:

私有数据:intb[4][4];ints;

公有成员函数:Array(intt[][4]);//功能为二维数组b初始化

voidsum();//功能为求二维数组b对角线元素之和为s

voidfun();//将二维数组b最小元素所在的列与第0列对调

voidprint();//功能为以矩阵形式输出二维数组元素

(2)用类定义对象array,并用对象array调用成员函数求出二维数组对角线元素之和,对调最小元素所在的列与第0列,输出二维数组元素。

(三)数据成员为字符数组时

问题描述如下:

定义一个字符串类String,将字符串b拼接到字符串a中,(不能用拼接函数)。具体要求如下:

(1)私有数据成员

chara[100],b[100];

(2)公有成员函数

String(charc[],chard[]):构造函数,用参数初始化数据成员

voidfun():功能函数,实现将b拼接到a的后面

voidinsert(intm);实现将字符数组b中的字符串插入到字符数组a中的第m个字符的位置。

voidshow():功能函数,输出数据成员

(四)数据成员为指针变量时

1、定义一个字符串类String,为指针变量p动态申请空间,并初始化。对p所指向的字符串进行逆序操作。具体要求如下:

(1)私有数据成员

char*p;

(2)公有成员函数

String(char*t):构造函数,用参数初始化数据成员

voidfun():功能函数,实现对字符串进行逆序。

voidshow():功能函数,输出数据成员

~String();析构函数,撤销对象。

2、定义一个类名为Array,为指针变量p动态申请空间,并初始化。对p所指向的一维数组逆序排序。具体要求如下:

(1)私有数据成员

int*p;

(2)公有成员函数

Array(int*t):构造函数,用参数初始化数据成员

voidfun():功能函数,实现对一维数组进行逆序。

voidshow():功能函数,输出数据成员

~Array();析构函数,撤销对象。

(3)在主函数中对类测试。例如inta[10]={1,2,3,4,5,6,7,8,9,0};

3、定义一个类名为Array,为指针变量p动态申请空间,并初始化。具体要求如下:(1)私有数据成员

char*p;ints;//s用来存放合成的数

(2)公有成员函数

Array(char*t):构造函数,用参数初始化数据成员

voidfun():功能函数,实现对一个字符串中的数字字符,组合成一个整数。voidshow():功能函数,输出数据成员

~Array();析构函数,撤销对象。

(3)在主函数中对类测试。(如输入”a2bc3de4,输出234)。

(五)继承与派生:

定义一个圆类circle作为基类,公有派生出圆柱体的类colum,求出圆柱体的体积。具体要求如下:

(1)类circle

保护数据成员:floatr;//圆的半径

公有构造函数:circle(float);//初始化r

公有成员函数:floatgetr();//取圆的半径r

doublearea();//求圆的面积

(2)类colum

保护数据成员:floath;//圆柱体的高

公有构造函数:colum(float,float);//初始化r和h

公有成员函数:floatgeth();//取圆柱体的高h

doublevol();//求圆柱体的体积

(3)编写一个程序测试该类,测试数据及要求如下:

圆柱体对象:v,;

本程序的执行结果如下:

圆柱体属性数据:

半径:1米

高度:3米

面积:平方米

体积:立方米

c语言期末测试题附答案

c语言期末测试题附答 案 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

课程代码:A100002 座位号: 《计算机技术基础(C 语言)》试卷A 姓名: 学号: 专业: 学院: 班级: 20 年 月 日 第一 部分 选择题(共 30 分) 一、单项选择题(本大题共 15 小题,每题只有一个正确答 案,答对一题得 2 分,共 30 分) 1、以下关于C 语言标识符的描述中,正确的是 【 】。 A )标 识符可以由汉字组成 B )标识符只能以字母开头 C )关键字可以作为用户标识符 D )Area 与area 是不同的标识符 2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【 】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d \n”,i,j,k); 3、判断char 类型的变量c1是否为数字字符的正确表达式为 【 】。 A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’) C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’) 4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是 【 】。 A )’a’&&’b’ B )a<=b C )((a>b)||(b0;i--);后,变量i 的值为 【 】。 A )10 B )9 C )0 D )1 8、若有int *p1, *p2,k; 不正确的语句是 【 】 A. p1=&k B. p2=p1 C. *p1=k+12 D. k=p1+p2 9、在函数中未指定存储类别的局部变量,其隐含的存储类别是 【 】

大一C语言期末考试试题

6.以下程序的输出结果为(D)。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2;

printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i);

c期末考试试题及答案完整版

c期末考试试题及答案 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

AutoCAD 试卷 一、 单项选择 1、AutoCAD 默认扩展名是 A 、dwt B 、dwg C 、bak D 、dxf 答案:B 2、在CAD 中,以下哪个命令可用来绘制横 平竖直的直线 A 、栅格 B 、捕捉 C 、正交 D 、对象捕捉答案:C 3、按哪个键可切换文本窗口和绘图窗口 A 、F2 B 、F8 C 、F3 D 、F5答案:A 4、默认情况下,命令提示行显示为几行 A 、3 B 、5 C 、2 D 、8答案:A 5、在CAD 中为一条直线制作平行线用什么命令 A 、移动 B 、镜像 C 、偏移 D 、旋转答案:C 6、在图层特性管理器中不可以设定哪项 A 、颜色 B 、页面设置 C 、线 宽 D 、是否打印答案:B 7、绘制建筑图步骤为 A 、墙线、轴线、门窗 B 、墙线、 门窗、轴线 C 、轴线、门窗、墙线 D 、轴线、 墙线、门窗答案:D 8、哪个命令可用于绘制直线与圆弧的复合 体 A 、圆弧 B 、构造线 C 、多段线 D 、样条曲线答案:C 9、如何在图中输入“直径”符号 A 、%%P B 、%%C C 、%%D D 、%%U 答案:B

10、如果要在一个圆的圆心写一个“A”字,应使用以下哪种对正方式 A、中间 B、对齐 C、中心 D、调整答案:A 11、在哪个层创建的块可在插入时与当前层特性一致 A、0层 B、在所有自动产生的层 C、所有图层 D、新建的图层答案:A 12、一个完整的尺寸由几部分组成 A、尺寸线、文本、箭头 B、尺寸线、尺寸界线、文本、标记 C、基线、尺寸界线、文本、箭头 D、尺寸线、尺寸界线、文本、箭头 答案:D 13、要将图形中的所有尺寸都为原有尺寸的2倍,应设定以下哪项A、文字高度 B、使用全局比例 C、测量单位比例 D、换算单位 答案:B 14、三维模型中哪种模型可以进行布尔运算 A、线框模型 B、实心体模型 C、表面体模型答案:B 15、渲染三维模型时,哪种类型可以渲染出物体的所有效果 A、一般渲染 B、普通渲染 C、照片级真实感渲染 D、照片级光线跟踪渲染答案:D 16、样板文件的括展名是 A、BAK B、SVS C、DWT D、DWG 答案:C 17、以下哪种相对坐标的输入方法是画8个单位的线长 A.8, 0 B.@0,8 C.@0<8

c语言期末考试及答案讲解

C语言考试模拟试卷 1.若有定义:char c;int d;程序运行时输入:c=1,d=2<回车>,能把字符1输入给变量c、整数2输入给变量d的输入语句是 A、scanf("c=%d d=%d",&c,&d); B、scanf("c=%c d=%d",&c,&d); C、scanf("c=%d,d=%d",&c,&d); D、scanf("c=%c,d=%d",&c,&d); 【答案】D 【解析】scanf()函数中,%d对应的参数是整数型地址,%c对应参数为char 型地址,C,A选项错误;如果输入地址有多个,应该用逗号隔开,B选项错误,故答案为D选项。 2.以下叙述错误的是 A、在进行模块化程序设计的时候,应首先完成每个模块的编写调试,再集中考虑主程序中的算法 B、同一程序各模块可由一组人员同时进行编写调试,可提高编写程序的效率 C、模块化的程序设计是采用自顶向下、逐步细化的原则 D、程序的每个模块都可通过三种基本结构实现 【答案】A 【解析】结构化程序设计把一个复杂问题的求解过程分阶段进行,需要保证自顶向下、逐步细化、模块化设计、结构化编码。进行模块化设计时,首先设计框架,并定义和调试好各个模块之间的输入输出关系,然后完成各个模块的编写调试后

再集中编译,模块化的程序设计采用自顶向下、逐步细化的原则,A选项叙述错误,C选项叙述正确。各个模块可以由不同人员同时进行编写调试,提高编写程序的效率,B选项叙述正确。结构化程序主要由3种基本控制结构组成,顺序结构、选择结构、循环结构,这三种基本结构可以解决任何复杂的问题,D选项叙述正确。故选择A选项。 3.设有定义:int a=0,b=1,c=1; 以下选项中,表达式值与其它三个不同的是 A、b=a==c B、a=b=c C、a=c==b D、c=a!=c 【答案】A 【解析】赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量,且左右两边数据类型相同才能实现赋值。成功实现赋值后以左值为返回值。逻辑表达式成立则返回1,不成立返回0。A选项逻辑表达式a==c不成立(0),则 b=0,表达式值为0。B选项中将c赋值给b,b=1,再将b赋给a,a=1,表达式值为1。C选项逻辑表达式c==b成立(1),则a=1,表达式值为1。D选项逻辑表达式a!=c成立(1),则c=1,表达式值为1。A选项与其他选项不同,A选项正确。 4.设有两行定义语句:

大学计算机C语言期末试卷02

一、选择题,(1-50)每题1分,下列各题A)、B)、C)、D)四个选项中,只有一个选项是 正确的,请将正确选项涂写在试卷最后答题纸相应位置上,答在试卷上不得分。 (1) 用8位表示,-2的补码是D A) 10000001 B) 11111111 C) 00000001 D) 11111110 (2) 在VC中,实型float占用的字节数是c A) 1 B) 2 C) 4 D) 8 (3) unsigned short的取值范围是d A) 0~ 255 B) -128 ~ 127 C) -32768 ~ +32767 D) 0 ~ 65535 (4) 十六进制数FE的十进制结果为A A) 254 B) 512 C) 1024 D) 64 (5) 源程序ex1.c编译后生成的文件名为 C A) ex1.doc B) ex1.obj C) ex1.exe D) ex1.cpp (6) C语言源程序的后缀为B A) .cpp B) .c C) .exe D) .doc (7) 工程文件名的后缀为A A) .prj B) .c C) .cpp D) .bin (8) 字符’B’的ASCII值是A A) 66 B) 0x3A C) 0x42 D) 49 (9) 将十进制数132转为二进制数的结果是D A) 11001100 B) 110011011 C) 10101010 D) 10000100 (10) 终止死循环用组合键B A) Alt+F10 B) Ctrl+C或Ctrl+Break C) Ctrl+F1 D) Ctrl+Shit或Ctrl+ESC (11) 在VC中,编译的快捷键是B A) F7 B) Ctrl+F7 C) Ctrl+F5 D) F5 (12) 以下选项中可作为C语言合法整数的是D A) 10110B B) 0386 C) 0Xffa D) x2a2 (13) 以下不能定义为用户标识符的是D A) scanf B) Void C) _3com_ D) int (14) 以下程序 swap(int x, int y) {int temp; temp=x; x=y; y=temp; } main() {int a=10,b=20; swap(a,b); printf("a=%d,b=%d\n",a,b); } 的运行结果是B A)a=20,b=10 B)a=10,b=20 C)10,20 D)20,10 (15) 以下程序: main() {int a=0x55, b=0xaa; printf("%d\n", a^b); } 的运行结果是:C A) 0 B) 1 C) 255 D) 0xaa (16) 有以下程序 main() {int a=1,b=2,m=0,n=0,k; k=(n=b>a)||(m=a

C期末考试题及答案

C期末考试题及答案 Revised at 2 pm on December 25, 2020.

一、填空题(每空0.5分,共30分) 1、世界坐标系简称__WCS_用户自定义坐标系简称__UCS_。 2、工作空间的切换:“工具”/“工作空间”或“工作空间”工具栏。 3、工具栏包括30种,系统默认的显示工具栏包括:“标准”、“属性”、“绘图”和“修改”等工具栏。 4、多线的对正方式有_上(T)_、_无(Z)_和_下(B)_。 5、文字标注包括标注单行文字和标注多行文字。 6、渲染环境是指在渲染对象时进行的雾化和深度设置。 7、漫游和飞行用户可以通过键盘和鼠标来控制视图显示,并创建导航动画。 8、编辑实体的边的种类:压印边、复制边、着色边。 9、动态块是通过自定义夹点或自定义特性定义的块。在图形中使用动态块,用户可以随时对组成块的对象进行修改。 10、三维实体是具有体积、质量、重心、回转半径、惯性距等特征的三维对象。 11、在AutoCAD 2007中,用户可以创建的光源有电光源、聚光灯光源和平行光光源。 12、相切、相切、半径法是指:通过指定圆的两个切点和半径来绘制圆。 13、绘制圆环的步骤中,先输入圆环的内径和外径,后确定圆环的中心点。 14、计算机辅助设计是:工程技术人员在CAD系统的辅助下,根据产品的设计程序进行设计的一项新技术。 15、菜单栏包括11种,每一种菜单中都含有四种显示情况:命令后跟右三角 、后跟省略号、后跟快捷键或功能键或命令呈灰色。 16、要对图形对象进行编辑就必须选中图形对象,在AutoCAD 2007中,选择对象的方法很多,常用的有_直接拾取_、矩形框选择_、_不规则区域选择_和快速选择。 17、在设置显示精度时,如果设置的精度越高,即分辨率就越高,计算机计算的时间 也越长,显示图形的速度也就越慢。 18、三维基本实体的种类包括:多段体、长方体、楔体、圆柱体、圆锥体、球体、圆环体、棱锥面。 19、布尔运算中只留重复的一部分的运算是交集运算。从一个图形中去掉与另一个图形重复部分的运算是差集运算。

c语言期末测试题(附答案)

课程代码:A100002座位号: 《计算机技术基础(C语言)》试卷A 姓名: 学号: 专业: 学院: 班级: 20 年月日 第一部分 选择题(共 30 分) 一、单项选择题(本大题共 15 小题,每题只有一个正确答案,答对一题得 2 分,共 30 分) 1、以下关于C语言标识符的描述中,正确的是【】。 A)标识符可以由汉字组成B)标识符只能以字母开头 C)关键字可以作为用户标识符D)Area与area是不同的标识符 2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d\n”,i,j,k); A)12345678 B)123,456,78 C)123,45678 D)123,*45678 3、判断char类型的变量c1是否为数字字符的正确表达式为【】。 A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’) C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’) 4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是【】。 A)’a’&&’b’ B)a<=b C)((a>b)||(b

A. *(a[0]+2) B. a[1][3] C . a[1][0] D. *(*(a+1)+2) 6、在循环语句的循环体中执行break语句,其作用是【】。A)跳出该循环体,提前结束循环 B)继续执行break语句之后的循环体各语句 C)结束本次循环,进行下次循环 D)终止程序运行 7、执行语句for(i=10;i>0;i--);后,变量i的值为【】。A)10 B)9 C)0 D)1 8、若有int *p1, *p2,k; 不正确的语句是【】 A. p1=&k B. p2=p1 C. *p1=k+12 D. k=p1+p2 9、在函数中未指定存储类别的局部变量,其隐含的存储类别是【】 A. 静态(static) B. 外部(extern) C. 自动(auto)D. 寄存器(register) 10、如下程序的输出结果是【】 main( ) { int x=2,a=0,b=0; switch(x) { case 2: a++; b++; case 1: ++a; b--; break; case 0: b++;} printf("a=%d, b=%d\n", a, b);} A. a=2, b=0 B. a=2, b=1 C. a=1, b=1 D. a=1, b=0 11、表示关系a main() {int x; scanf(“%d”,&x); if(x<=3) ; else if(x !=10)printf(“%d\n”,x); } 程序运行时,输入的值在哪个范围才会有输出结果。【】

最新软件测试期末考试试题及答案

一,判断 1 √ 2.× 3.√ 4.× 5. × 6. ×7. ×8. ×9.√10. ×二,选择 1. D 2. D 3. B 4. B 5. B 6. A 7. D 8. B 9. C 10. A 三填空 1. 测试计划、测试用例 2. 稳定性测试、负载测试、压力测试 3. 非增量是集成测试自顶向下增量式测试、自底向上增量式测试 4. 回归 5. 软件需求 四简答题(30分) 1.试描述软件测试的定义?(3分) 答:利用手工或者自动化的方式,按照测试方案对系统执行测试用例的过程叫做软件测试。 2.什么是软件缺陷?(4分) 答:满足以下条件的问题都叫缺陷: 软件未达到产品说明书中已标明的功能 软件出现了产品说明书中指明不会出现的错误 软件功能超出了产品说明书指明的范围 软件未达到产品说明书虽未指出但应达到的目标 软件测试员认为软件难以理解,不易使用,运行速度缓慢,或者最终用户认为该软件使用效果不好。 3.常见的黑盒测试用例的设计方法?并分别简单介绍一下各自的思想。(8分)答:等价类划分:等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。 边界值分析:对输入输出的边界值进行测试的一种黑盒测试方法。 决策表法:决策表是分析和表达多逻辑条件下执行不同操作的情况的工具 因果图分析法:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。 错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对

性的设计测试用例的方法。 4. 列举常见的系统测试方法。答出来5个即可。(5分) 答:恢复测试 安全测试 强度测试 性能测试 正确性测试 可靠性测试 兼容性测试 Web测试 5.文档测试主要测试哪些内容?答出来5点即可(5分) 答:(1)检查产品说明书属性 (2)检查是否完整 (3)检查是否准确 (4)检查是否精确 (5)检查是否一致 (6)检查是否贴切 (7)检查是否合理 (8)检查代码无关 (9)检查可测试性 6. 单元测试主要测试那几方面的问题?(5分) 答:模块接口、局部数据结构、边界条件、独立的路径和错误处理。五,设计题

c语言期末测试题(附答案)

课程代码: A100002 《计算机技术基础( C 语言)》试卷 A 姓名: 学号: 专业 : 学院 : 班级 : 20 年 月 日 选择题(共 30 分) 题(本大题共 15 小题,每题只有一个正确答案,答 分,共 30 分) 1、以下关于 C 语言标识符的描述中,正确的是 【 】。 A) 标识符可以由汉字组成 B )标识符只能以字母开头 C )关键字可以作为用户标识符 D ) Area 与 area 是不同的标识符 2、使下列程序段输出“ 123, 456,78”,键盘输入数据,正确的输入是【 】 int i,j,k; scanf( “%d,%3d%”d ,&i,&j,&k); printf( “%d,%d,%dn ”,i,j,k); A ) 12345678 B )123,456, 78 C ) 123,45678 D ) 123,*45678 3、判断 char 类型的变量 c1 是否为数字字符的正确表达式为 【 】。 A) (c1>=0)&&(c1<=9) B) (c1>= '0')&&(c1<='9') C) '0'<=c1<='9' D) (c1>= '0')||(c1<= '9') 4、若有语句 int a=1,b=2,c=3 ;则以下值为 0 的表达式是 【 】。 A )' a '&&'b ' B )a<=b C )((a>b)||(b

计算机技术基础试题 第 2 页(共 10 页) A. *(a[0]+2) B. a[1][3] C . a[1][0] D. *(*(a+1)+2) 6、在循环语句的循环体中执行 break 语句,其作用是 【 】。 A )跳出该循 环体,提前结束循环 B) 继续执行 break 语句之后的循环体各语句 C) 结束本次循环,进行下次循环 D) 终止程序运行 7、执行语句 for(i=10;i>0;i--) ;后,变量 i 的值为 【 】。 A ) 10 B )9 C )0 D )1 8、若有 int *p1, *p2, k; 不正确的语句是 【 】 A. p1=&k B. p2=p1 C. *p1=k+12 D. k=p1+p2 9、在函数中未指定存储类别的局部变量,其隐含的存储类别是 【 】 A. 静态( static ) B. 外部( extern ) C. 自动( auto ) D . 寄存器( register ) 10、如下程序的输出结果是 【 】 main( ) { int x=2,a=0,b=0; switch(x) { case 2: a++; b++; case 1: ++a; b--; break; case 0: b++;} printf("a=%d, b=%d\n", a, b);} A. a=2, b=0 B. a=2, b=1 C. a=1, b=1 D. a=1, b=0 11、表示关系 a

大学C语言期末考试习题集(带详解答案)

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是( B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A) %x B) a+b C) a123 D) 123 选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai

大一c语言期末试题及参考答案word版本

2004级信息学院《C语言设计》考试试题 一、判断下列语句或程序的对错。 10分√ 1 int x=y=z=’0’; (×) y,z没有定义 2 #include ; (×)不能有分号,#开头的结尾均不能有分号; 3 printf(“%s\n”,”c language”); (√) 4 float a[100]; int *p=a; (×)数据类型不匹配 5 char str[20]; 6 int data[4]={0,1,2,3,4}; (×)五个元素,但是只有四个单元 7 float x=1.45e+310L; (×)数值越界 8 int xyz-1=2; (×) 9 int x=‘\xae’ ; (√) 10 int *p,a[2][3] ; p=a ; (×)数据类型不匹配 二计算下列表达式的值 10分 设 unsigned int a=10,b=17,c=5,d=3; float f ; (1)f=b/c ( 3.0 ) (2)!(a+b)+c-1&&b+c/2 ( 1 ) (3)(a^b)+(c>>1+d) ( 0x1b ) (4)a+=b%=a=b ( 17 ) (5)a=2,b=a*++b ( 2 ) 三程序改错 10分 (1)求两个浮点数的平方和及平方差 #include float calculate (float x,float y,float *sub);添加函数原型声明 main () { float a,b; float add_reasult, sub_result; scanf (“%f,%f”,a,b); add_result=calculate(a,b,&sub_result); printf( “a*a+b*b=%d,a*a-b*b=%d\n”,add_result,sub_result); } float calculate (float x,float y,float *sub) 添加函数类型 { float *temp; 应该直接定义为变量float temp; sub=a*a-b*b ; *sub=a*a-b*b;

数据库期末考试试题及答案

数据库期末考试试题 ━━━━━━━━━━━━━━━ 一、填空共30题(共计30分) ━━━━━━━━━━━━━━━ 第1题(分)题号:2385 ORDER BY 子句实现的是【1】. 答案: =======(答案1)======= 排序 第2题(分)题号:2374 如果列上有约束,要删除该列,应先删除【1】 答案: =======(答案1)======= 相应的约束 第3题(分)题号:2394 在每次访问视图时,视图都是从【1】中提取所包含的行和列. 答案: =======(答案1)======= 基表 第4题(分)题号:2372

1.在增加数据文件时,如果用户没有指明文件组,则系统将该数据文件增加到【1】文件组.答案: =======(答案1)======= 主 第5题(分)题号:2371 查看XSCJ数据库信息的存储过程命令是【1】 答案: =======(答案1)======= sp_helpdb 第6题(分)题号:2392 创建视图定义的T-SQL语句的系统存储过程是【1】. 答案: =======(答案1)======= sp_helptext 第7题(分)题号:2379 1.表的外键约束实现的是数据的【1】完整性. 答案: =======(答案1)======= 参照 第8题(分)题号:2390 要进行模糊匹配查询,需要使用【1】关键字来设置查询条件.

答案: =======(答案1)======= LIKE 第9题(分)题号:2380 定义标识列的关键字是【1】. 答案: =======(答案1)======= identity 第10题(分)题号:2383 在进行多表查询是,必须设置【1】条件. 答案: =======(答案1)======= 连接 第11题(分)题号:2363 联系两个表的关键字称为【1】 答案: =======(答案1)======= 外键 第12题(分)题号:2382 用【1】字句可以实现选择行的运算. 答案:

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

C语言期末考试试题及答案

个人收集整理-仅供参考 2008-2009学年第一学期期末考试试卷 考试说明:本课程为闭卷考试,可携带书写与修正文具,满分为:100 分. 考试结束后请将后页答题卡与试卷分开上交 ..... 一、单选题<每题2分,共30分) 1.以下叙述正确地是 ______ . A)C程序地每行只能写一条语句 B>语言本身没有输入输出语句 C)在C程序中,注释说明只能位于一条语句地后面 D)在多函数地程序中,main函数必须放在其它子函数地定义之前 2.以下不正确地常量表示形式是 ______ . A> 0.45 B>0XF5 C>‘\85’D> 32.67E-5 3. 以下不正确地变量名是 ______ . A)R&B B> _max C>INT D> SUM3 4. 以下正确地一组语句是 ________. A> int x=y=5; B> int n; scanf("%d",&n>;int a[n]; C> char a,*p; p=&a; D> char s[10]; s="hello"; 5. 若以下变量均已正确定义和赋值,则正确地语句是 ________. A> a=b==5; B> y=x%2.0; C> x+y=10; D> n=8=2*4; 6.下面各组中与给出地程序段功能不等价地是 ________. if(a>0> b=1; else if(a==0> b=0; else b=-1; A>if(a>0> b=1; B>if(a>0> b=1; C>if(a>0> b=1; D>if(a>=0> if(a==0> b=0; else if(a==0> b=0; if(a>0> b=1; if(a<0> b=-1; if(a<0> b=-1; else b=-1; if(a==0> b=0; else b=0; if(a<0> b=-1; 7. 运行下面程序段,若输入abc#,则程序输出是:________. char c;int v1=0,v2=0; while((c=getchar(>>!='#'> { switch(c> { case 'a':v1++; default :v1++;v2++; case 'c':v2++; } } printf("v1=%d,v2=%d\n",v1,v2>; A>2,2 B>3,5 C> 3,4 D>2,5

南京邮电大学C语言期末试卷及答案

模拟试卷A 一、单选题 1、C语言中运算对象一定不能是double类型的运算符是___ 。 A、%= B、/ C、= D、<= 2、能正确表达数学逻辑关系"0b) c=0; else c=1; 等价于___。 A、c=(a>b)?1:0; B、c=a>b; C、c=a<=b; D、以上均不是 7、有如下定义语句:int a, b=5, *p=&a; 则能完成a=b赋值功能的语句是___。 A、a=*p; B、*p=*&b; C、a=&b; D、*p =&*p; 8、设int *ptr, x, array[5]={5,4,3,2,1}; ptr=array; 能使x的值为3的语句是___。 A、x=array[3]; B、x=*(array+3); C、x=*(ptr+2); D、array+=2; x=*array; 9、有函数原型为void f(int,int *);主函数中有变量定义:int a,*p=&a,b[10]; 则下列几种调用错误的是___。

数据库期末考试试题及答案

一、选择题(每题1分,共20分) 1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是( A )阶段。 A. 数据库系统 B. 文件系统 C. 人工管理 D.数据项管理 2.数据库三级视图,反映了三种不同角度看待数据库的观点,用户眼中的数据库称为(D)。 A. 存储视图 B. 概念视图 C. 内部视图 D. 外部视图 3.数据库的概念模型独立于(A)。 A.具体的机器和DBMS B. E-R图 C. 信息世界 D. 现实世界 4.数据库中,数据的物理独立性是指(C)。 A. 数据库与数据库管理系统的相互独立 B. 用户程序与DBMS的相互独立 C. 用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的 D. 应用程序与数据库中数据的逻辑结构相互独立 5.关系模式的任何属性(A)。 A. 不可再分 B. 可再分 C. 命名在该关系模式中可以不惟一 D.以上都不是 6.下面的两个关系中,职工号和设备号分别为职工关系和设备关系的关键字: 职工(职工号,职工名,部门号,职务,工资) 设备(设备号,职工号,设备名,数量) 两个关系的属性中,存在一个外关键字为( C )。 A. 职工关系的“职工号” B. 职工关系的“设备号” C. 设备关系的“职工号” D. 设备关系的“设备号” 7.以下四个叙述中,哪一个不是对关系模式进行规X化的主要目的( C )。 A. 减少数据冗余 B. 解决更新异常问题 C. 加快查询速度 D. 提高存储空间效率 8.关系模式中各级X式之间的关系为( A )。 A. B. C. D. 9.保护数据库,防止未经授权或不合法的使用造成的数据泄漏、非法更改或破坏。这是指数据的( A )。 A. 安全性 B.完整性 C.并发控制 D.恢复 10.事务的原子性是指( B )。 A. 事务一旦提交,对数据库的改变是永久的 B. 事务中包括的所有操作要么都做,要么都不做 C. 一个事务内部的操作及使用的数据对并发的其他事务是隔离的 D. 事务必须使数据库从一个一致性状态变到另一个一致性状态 11.下列哪些运算是关系代数的基本运算( D )。 A. 交、并、差 B. 投影、选取、除、联结 C. 联结、自然联结、笛卡尔乘积 D. 投影、选取、笛卡尔乘积、差运算

C期末考试试卷及答案

C++期末考试试卷及答案1 一、单项选择题(每题2分,共40分) 1. ______不是属于面向对象程序设计的特性 A. 抽象性 B. 数据相关性 C. 多态性 D. 继承性 2. 将对某一类数据的处理算法应用到另一类数据的处理中,要用到C++的______ A. 类 B. 虚函数 C. 运算符重载 D. 模板 3. C++与C语言最根本的不同之处在于_______ A. 使用了类 B. 能够实现变量自动初始化 C. 支持软件重用 D. 支持接口重用 4. 动态内存分配的主要目的是_______ A. 使程序按动态联编方式运行 B. 正确合理的使用内存 C. 提高程序的运行速度 D. 提高程序的可维护性 5. 在C++函数的形参前加const关键字,是为了提高函数的_______ A. 数据封装性 B. 可理解性 C. 可维护性 D. 可重用性 6. 函数重载的目的是________ A. 实现共享 B. 使用方便,提高可读性 C. 提高速度 D. 减少空间 7. 从程序片断:char name[] = "C++"; course(name);可判断函数course的调用采用的是_______ A. 传值调用 B. 带缺省参数值的函数调用 C. 引用调用 D. 传址调用 8. 用来说明类中公有成员的关键字是________

9. 如果一个类的成员函数print()不修改类的数据成员值,则应将其声明为 A. void print() const; B. const void print(); C. void const print(); D. void print(const); 10. 下列关于构造函数的论述中,不正确的是_______ A. 构造函数的函数名与类名相同 B. 构造函数可以设置默认参数 C. 构造函数的返回类型缺省为int型 D. 构造函数可以重载 11. 在程序代码:A::A(int a, int *b) { this->x = a; this->y = b; }中,this的类型是______ A. int B. int * C. A D. A * 12. 内存泄漏是指_______ A. 内存中的数据出现丢失 B.试图释放一个已经释放了的动态分配的堆内存 C. 函数中局部变量所占的栈内存没有及时回收 D. 动态分配的堆内存在程序退出后始终被占用 A. 私有成员数据 B. 私有成员函数 C. 公有成员数据 D. 公有成员函数 14. 友元函数_______ A. 可以被声明为const B. 没有this指针 C. 可以用类名或对象名来调用 D. 只能用对象名来调用 15. 若一个类的成员函数前用static关键字修饰,则该成员函数________ A. 可以被声明为const B. 没有this指针 C. 可以访问该类的所有成员 D. 只能用对象名来调用 16. C++是用_______实现接口重用的

相关文档
最新文档