C期末考试复习题理工

合集下载

山东理工大学C语言PTA期末程序题

山东理工大学C语言PTA期末程序题

1.从键盘输入某圆锥的底面半径和高的值,编程求其侧面积并输出(结果保留2位小数)。

其中圆周率取3.14159。

输入格式:输入两个实数代表圆锥的底面半径和高(以空格间隔)输出格式:输出一个实数(保留2位小数)#include<stdio.h>#include<math.h>#define PI 3.14159int main(void){float r,h,s,d;scanf("%f%f",&r,&h);d=sqrt(r*r+h*h);s=r*PI*d;printf("%.2f\n",s);return 0;}2.在匀加速直线运动中,已知初速度、加速度和时间的值,编程序求出相应的位移并输出(保留2位小数)。

输入格式:依次输入初速度、加速度、时间的值(以空格间隔)。

输出格式:一个实数(保留2位小数)。

#include<stdio.h>int main(){double v,g,t,x;scanf("%lf%lf%lf",&v,&g,&t);x=v*t+g*t*t/2;printf("%.2f",x);return 0;}3.从键盘输入5个实数,求出每个数的离均差并输出结果(保留2位小数)输入格式:输入5个实数(以空格间隔)输出格式:输出5个实数(保留2位小数,以空格间隔)#include<stdio.h>#include<math.h>int main(){float a,b,c,d,e,sum,s,x,y,m,n,p;scanf("%f%f%f%f%f",&a,&b,&c,&d,&e);sum=a+b+c+d+e;s=sum/5;x=a-s;y=b-s;m=c-s;n=d-s;p=e-s;printf("%.2f %.2f %.2f %.2f %.2f",x,y,m,n,p);return 0;}4.从键盘输入一个小写字母,把它转换成相应的大写字母,最后输出转换之后的字符及其十进制ASCII码。

昆明理工大学C语言期末考试题库

昆明理工大学C语言期末考试题库

昆明理工大学C语言期末考试题库包含百分之九十五的原题1. main函数是C程序的入口,由计算机系统负责调用。

A.对B.错2. C语言不允许使用关键字作为变量的名称,但可以使用保留字为变量命名。

A.对B.错3. C语言本身不提供输入输出语句,但可以通过输入输出函数来实现数据的输入输出。

A.对B.错4. 假定已有整型变量x的定义,则(x+1)++是一个合法的表达式。

A.对B.错5. 使用条件表达式可以构成各种各样的两路选择结构。

A.对B.错6. 与表达式“!(x> 0)”等价的表达式是“x< =0”。

A.对B.错7. 二重循环for(i=0;I < 5;i+=2) for(j=0;j < 5;j++)的循环体的执行次数为15。

A.对B.错8. 在循环体内和switch语句体内使用break语句。

A.对B.错9. 函数strcpy(str1,str2)是将字符串str2 连接到字符串str1之后。

A.对B.错10. 可以对实型数组进行整体输入、输出。

A.对B.错11. 若用数组名作为函数调用的实参,传递给形参的是数组中的第一个元素的值。

A.对B.错12. 在main()函数中定义的变量称为全局变量。

A.对B.错13. 共用体可以作为结构体的成员,但结构体不能作为共用体的成员。

A.对B.错14. 在定义了枚举变量后,系统才为该变量分配内存空间。

A.对B.错15. 变量的指针,其含义是指该变量的一个标志。

A.对B.错16. 当以参数w打开文件时,若指定路径下已有同名文件,则覆盖原有文件。

A.对B.错单选题1. 下面有关C语言特点的说法中,错误的是______。

A.C语言编写的代码较为紧凑,执行速度也较快B.C语言不仅适合编写各种应用软件,还适于编写各种系统软件C.C语言是一种模块化和结构化的语言D.C语言编写的程序通常不具备移植性2. 以下程序的输出结果是______。

#include "stdio.h" void main() { int a=2,b=3,c=4; printf("%d,%d,%d\n",c,b,a); }A.4 3 2B.2,3,4C.4,3,2D.2 3 43. 以下选项中,能用作数据常量的是________。

c语言期末机考(大连理工大学题库)

c语言期末机考(大连理工大学题库)

转过不少资料神马的。

我也发一个回报一下~祝大家都有个好成绩~ 【第一套】一、单项选择1.下列数据中,为字符串常量的是(d)。

A、'A'B、How do you do.C、$abcD、"house"2.以下所列的C语言常量中,错误的是(b )。

A、0xFFB、1.2e0.5C、2LD、'\72'3.以下程序的输出结果是(d。

main(){float x=3.6;int i;i=(int)x;printf("x=%f,i=%d\n",x,i);}A、x=3.,i=4B、x=3 i=3.C、x=3,i=3D、x=3.,i=34.若k是整型,则以下程序段的执行结果是:(bk=-3;if(k<=0) printf("####")else printf("&&&&");A、####B、有语法错误,无结果C、&&&&D、####&&&&5.若x=2,y=3则x||y的结果是( c)。

A、3B、0C、1D、26.针对下列程序段回答问题( ).for(t=1;t<=100;t++){scanf("%d",&x);if(x<0) continue;printf("%3d",t);}A、x>=0时什么也不输出B、最多允许输出100个非负整数C、printf函数永远也不执行D、当x<0时整个循环结束7.以下程序的执行结果是( )。

main(){ int num = 0;while( num <= 2 ) { num++; printf( "%d,",num ); } }A、0,1,2B、1,2,3,C、1,2,3,4,D、1,2,8.选择正确的输入语句( )。

厦门理工学院c语言程序设计期末试题ABC(含答案) 考试卷子

厦门理工学院c语言程序设计期末试题ABC(含答案)  考试卷子

c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1. 一个C程序的执行是从( )。

A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2. 下列选项中,不能用作标识符的是( )。

A) _1234_ B) _1_2 C) int_2_ D) 2_int_3. 以下定义语句中正确的是( )。

A) char a='A'b='B'; B) float a=b=10.0;C) int a=10,*b=&a; D) float *a,b=&a;4. 设有以下定义:#define d 2int a=0; double b=1.25; char c=’A’;则下面语句中错误的是()。

A) a++; B) b++ C) c++; D) d++;5. 以下4个选项中,不能作为一条C语句的是( )。

A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2;6. 有以下定义语句double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。

A) a=a+b=b++ B) w%(int)a+b) C) (c+w)%(int)a D) w=a==b;7. 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是( )。

A) p=1; B) *q=2; C) q=p; D) *p=5;8. 设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( )。

A) scanf(“%d”,pa) ; B) scanf(“%d”,a) ;C) scanf(“%d”,&pa) ; D) scanf(“%d”,*pa);9. 若有说明:char *language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式*language[1]>*language[2]比较的是()。

理工c级考试题及答案

理工c级考试题及答案

理工c级考试题及答案一、选择题(每题2分,共20分)1. 以下哪个选项是二进制数1010对应的十进制数?A. 8B. 10C. 12D. 14答案:B2. 一个完整的计算机系统包括硬件系统和软件系统,以下哪个不是硬件系统的一部分?A. 中央处理器B. 操作系统C. 存储器D. 输入/输出设备答案:B3. 在电路中,电压、电流和电阻之间的关系遵循哪个定律?A. 欧姆定律B. 基尔霍夫定律C. 法拉第电磁感应定律D. 牛顿第二定律答案:A4. 以下哪个选项是正确的C语言数据类型?A. intB. stringC. boolD. list答案:A5. 在数据库管理系统中,用于查询数据的语句是?A. INSERTB. UPDATEC. DELETED. SELECT答案:D6. 以下哪个选项是正确的HTML标签?A. `<p>`B. `<paragraph>`C. `<text>`D. `<heading>`答案:A7. 在计算机编程中,以下哪个选项是面向对象编程的基本概念?A. 过程B. 函数C. 类D. 变量答案:C8. 以下哪个选项是正确的二进制逻辑运算符?A. ANDB. ORC. XORD. ALL OF THE ABOVE答案:D9. 以下哪个选项是正确的计算机存储单位?A. bitB. byteC. kilobyteD. ALL OF THE ABOVE答案:D10. 以下哪个选项是正确的网络协议?A. HTTPB. FTPC. SMTPD. ALL OF THE ABOVE答案:D二、填空题(每题2分,共20分)1. 在计算机系统中,CPU的中文名称是______。

答案:中央处理器2. 计算机硬件的五大组成部分包括输入设备、输出设备、存储器、______和外部设备。

答案:中央处理器3. 在C语言中,用于定义一个整型变量的关键字是______。

北理c语言期末考试试题及答案

北理c语言期末考试试题及答案

北理c语言期末考试试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. stringC. floatD. double答案:A2. C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. class答案:A3. 在C语言中,以下哪个不是合法的变量名?A. _myVarB. my_varC. 2myVarD. myVar2答案:C4. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ==D. ::5. C语言中,用于声明一个函数的关键字是?A. functionB. defC. voidD. int答案:C6. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!D. 'Hello, World!'答案:A7. C语言中,用于执行循环的关键字是?A. loopB. repeatC. whileD. do答案:C8. 下列哪个选项是C语言中的正确注释?A. /* This is a comment */B. // This is a commentC. //* This is a commentD. /* This is a comment答案:A9. C语言中,用于定义一个枚举类型的关键字是?B. typedefC. unionD. struct答案:A10. 在C语言中,以下哪个选项是正确的数组声明?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[5] = {1, 2, 3};C. int arr[] = {1, 2, 3, 4, 5};D. int arr[5] = {1, 2, 3, 4};答案:A二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个全局变量的关键字是________。

重庆理工大学程序设计c期末考试资料2

重庆理工大学程序设计c期末考试资料2

重庆理工大学程序设计c期末考试资料21.以下程序的输出结果是__1____。

main(){ int a=4,b=5,c=0,d;d=!a&&!b||!c;printf("%d\n",d);}2. 有以下程序main(){int a[][3]={{1,2,3},{4,5,0}},(*pa)[3],i;pa=a;for(i=0;i<3;i++)if(i<2) pa[1][i]=pa[1][i]-1;else pa[1][i]=1;printf("%d\n",a[0][1]+a[1][1]+a[1][2]);}执行后输出结果是__2+4+1=7____。

在所给的程序中,pa指向二维数组首地址a,接着执行下面的for 循环,当i=0或i=1时,数组元素 pa[1][i]的值减1,当 i=2时,数组元素pa[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。

3. 假定int类型变量占用两个字节,若有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是_20___当数组定义后,系统就为其分配内存空间,不论其中有没有内容。

本题虽然只给数组x 赋了3个初值,但系统仍为数组x分配了10个内存空间。

所以数组x在内存中所占字节数为2*10=20。

4. 已有定义:int i,a[10],*p;,则合法的赋值语句是p=a+2.(a+2是a[2]的地址。

)5.ox开头是十六进制。

O开头是八进制。

Int型的范围是-32768~32768.6. 设有如下枚举类型定义enum language {Basic=3,Assembly=6,Ada=100,COBOL,Fortran};枚举量Fortran的值为___102这个枚举中共有5个元素,前三个已有明确的赋值,而COBOL和Fortran没有明确的赋值,枚举的语法规定当枚举元素没有赋值时,其值为其前一个元素的值加一,所以COBOL的值为101,故Fortran的值应为102。

C语言程序设计期末考试试题(江西理工)1

C语言程序设计期末考试试题(江西理工)1

二、填空题
1. 2. 数学式 所对应的c语言表达式为pow(x, __(1)__)。 已知有声明"char ch='g';",则表达式ch=ch-'a'+'A'的值为字符 (2) G 的编码。 3. 在C语言系统中,如果一个变量能正确存储的数据范围为整数-32768 ~32767,则该变量在内存中占_____(3)_2____个字节。 4. 已知有声明"int a[3][2]={{1,2),{3,4},{5,6}},*p=a[0];",则执 行语句"printf("%d\n",*(p+4));"后的输出结果为__(4)_0__ 。 5. 已知有声明和语句"int a;scanf("a=%d",&a);",欲从键盘上输入数 据使a中的值为3,则正确的输入应是 _____(5)_a=3____ 。 6. C语言源程序中用十六进制表示整型常数必须以___(6)_OX__开 头。 7. 如果一个循环结构的循环体至少要执行一遍,则最适合描述该循 环结构的语句是do while___(7)___语句。 8. 若要声明一个无符号整型变量x,则正确的声明形式是" _unsigned__(8)___ int x;"。 9. 已有声明"int n=12;double a;",则执行语句"a=n/=5;"后,a的 值为___(9)2.000000___。 10. 若有数据类型定义如下: a) union A{float a1;float a2;}; b) 则表达式sizeof(union A)的值为___(10)___。 11. C语言源程序的扩展名为.c,可执行文件的扩展名为 ______(11)__.exe_______。 12. 数组 int a[4][5];共定义了__(12)__20__个数组元素。 13. 若char str[7]={“cake”};int k=strlen(str);则k的值为 ______(13)_5_____。 14. C语言中,用_____(14)__include___ 关键字来包含如stdio.h 之类的头文件。 15. 函数的返回值是通过函数中的_________(15)_return______语 句来获得的。 16. 静态局部变量应该用关键字_____(16)__static_____来进行声 明。 17. 对于不带返回值的函数,应当用关键字 ________(17)_void_____定义函数。

2022年山东理工大学公共课《C语言》科目期末试卷A(有答案)

2022年山东理工大学公共课《C语言》科目期末试卷A(有答案)

2022年山东理工大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x=10100011,若要通过x*y使x的高4位取反,低4位不变,则y的二进制数是_______。

2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。

3、C语言源程序的基本单位是________4、在C语言中,用“\”开头的字符序列称为转义字符。

转义字符“\n”的功能是_______;转义字符“\r”的功能是_______。

5、若x和n均是int型变量,且x的初值为12,n的初值为5,则执行表达式x%=(n%=2)后x的值为_______。

6、下面程序段的运行结果是_______。

Char a[]="123456789",*p;inti=0;p=a;while(*p){if(i%2==0)*p='*';p++;i++;}puts(a);7、下面程序段的运行结果是_______。

x=2;do{printf("*");x--;)while(!x==0);8、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。

请填空。

a+=_______;b=a-_______;a-=_______;9、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。

struct s{char data;_______}node;10、下面程序wdm的运行结果是_______。

int i,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0};for(i=0;i<10;i++)y[x[i]]++;printf("%d\n",y[3]);二、选择题11、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( )A.7B.8C.6D.212、设有说明语句:char w;intx;float y;double z;则表达式w*x+z-y值的数据类型为()。

c语言程序设计

c语言程序设计

大连理工大学网络教育学院2017年秋《C/C++语言程序设计》期末考试复习题☆注意事项:本复习题满分共:400分。

一、单选题1、下列while循环的执行次数是( A )。

while(int i=0) i++;A.0B.1C.5D.无限2、下列哪个函数不是类的成员函数。

( D )A.析构函数B.构造函数C.拷贝构造函数D.友元函数3、在执行int a[][3]={1,2,3,4,5,6};语句后,a[0][0]的值是( B )。

A.4B.1C.2D.54、C++中用3个保留字实现异常处理,除了throw和catch外,还有( C )。

A.ifB.classC.tryD.return5、下面表达式中错误的是( C )。

A.b=a++B.a/=2C.a+b=5D.a=5,b=6,c=76、在定义int a[5];之后,对a的引用正确的是( D )。

A.a[5]B.a[4.3]C.a(5)D.a[0]7、类中将关键字( A )写在函数体之前函数头之后,说明该函数是一个常成员函数(或const成员函数),可以防止函数改变数据成员的值。

A.constB.staticC.friendD.void8、设int n=10,i=3;则赋值运算n%=i+1执行后,n的值是( C )。

A.0B.3C.2D.19、C++中用3个保留字实现异常处理,除了try和catch外,还有(C )。

A.ifB.classC.throwD.return10、设有定义int x; double v;,则10+x+v值的数据类型是(B )。

A.intB.doubleC.charD.不确定11、对于while、do…while循环结果说法正确的是( C)。

A.只是表达形式不同B.while结构中的语句至少执行一次C.do…while结构中的语句至少执行一次D.条件成立时,他们有可能一次也不执行12、下列运算符中优先级最高的为( A)。

A.!B.%C.-=D.&&13、有关构造函数的说法错误的是(D )。

浙江理工大学c语言期末考试模拟试卷

浙江理工大学c语言期末考试模拟试卷

C程序设计期末模拟试题一、单选题每小题2分,共20分1、在C语言中,正确的int类型的常数是________;A-2U B059 C3a D0xAF2、已知:char a; int b; float c; double d; 执行语句c=a+b+c+d;后,变量c的数据类型是________;Aint Bchar Cdouble Dfloat3、假设定义变量如下:int x;float y;以下输入语句中________是正确的;A scanf“%f%f”,&y,&x;Bscanf“%f%d”, y, x;Cscanf“%f%d”,&y,&x;Dscanf“%%2d”,&y,&x;4、已知:int a,p=&a; 则为了得到变量a的值,下列错误的表达式为________;Ap0 Bp C&a D&a5、在C语言中,引用数组元素时,其数组下标的数据类型允许是________;A整型常量B整型表达式C整型常量或整型表达式D任何类型的表达式6、以下能对外部的二维数组a进行正确初始化的语句是________;Aint a2={{1,0,1},{5,2,3}}; Bint a3={{1,2,3},{4,5,6}};Cint a24={{1,2,3},{4,5},{6}}; Dint a3={{1,0,1},{ },{1,1}};7、设有int x,y; 以下语句判断x和y是否相等,正确的说法是该语句________;if x=y printf" x is equal to y.";A语法错B不能判断x和y是否相等C编译出错D能判断x和y是否相等8、若用数组名作为函数调用时的参数,则实际上传递给形参的是________;A数组元素的个数B数组的第一个元素值C数组中全部元素的值D数组首地址9、若有定义char x = "12345"; char y ={ '1', '2', '3', '4', '5'};则;Ax数组与y数组的长度相同Bx数组长度大于y的长度Cx 数组长度小于y数组长度Dx数组等价于y 数组10、以下正确的函数说明是________;Afloat addint x,y Bint addint x;int yCchar add Dint addchar x二、程序填空题阅读以下程序说明和相应程序,在每小题提供的若干可选答案中,挑选一个正确的答案;每小题2分,共30分1、程序说明求s=1-1/2+1/3-1/4+…+1/19-1/20的值;运行示例:sum=程序include <>void main{int i;11 fh=1;12for i=2;i<=20;i++{13s= 14}printf 15 _,s;}供选择的答案11Afloat s; Bfloat s;int Cfloat s, Dint s,12As= 0; Bs=1; Cs=; Ds=2;13Afh=-1; Bfh=fh/i; Cfh=1/i; D fh=-fh;14A s+fh/i; Bs+fh Cfh/i D s=s+1/i;15A "sum=%f\n" B "sum=%d\n"C "s=%f\n"D "s=%s\n"2、程序说明以下函数用于找出一个2×4矩阵中的最大元素值;程序include <>void main{int max_numint str4;int str4={{-1,4,3,5},{7,8,9,0}};printf"max is %d\n", 16 ;}int max_numint str 4{int i,j,max;max= 17 ;fori=0; 18 ;i++forj=0; 19 ;j++if strij>max max= 20 ;returnmax;}供选择的答案16A max_numstr4 B max_numstrC max_numD max_numint str417Astr B str00 C0 Dstr418A i<2 Bi<=2 Ci=2 D i>219Aj<=4 Bj>4 C j<=3 D j=320A strj B strj C stri D strij3、程序说明输入a和b两个整数,按先大后小的顺序输出a和b,用函数处理,并用指针类型的数据作函数参数;程序include <>void main{ void swapint p1,int p2;int a,b;21scanf"%d,%d",&a,&b;22 /把变量a、b的地址分别赋给pointer_1、pointer_2 /if a<b swap 23 ;printf"a=%d,b=%d\n\n",a,b;}void swapint p1,int p2{ int temp;temp= 2425p2=temp;}供选择的答案21A int pointer_1, pointer_2; B int pointer_1, pointer_2;C float pointer_1, pointer_2;D float pointer_1, pointer_2;22A pointer_1=a; pointer_2=b; B a = pointer_1; b = pointer_2;C pointer_1=&a; pointer_2=&b;D a =& pointer_1; b =& pointer_2; 23A a,b B pointer_1,pointer_2Cp1,p2 D pointer_1, pointer_224Aa Bp1 C p2 D p125A a=b B p1=p2 C p2 = p1 D p1=p2三、程序阅读题阅读下列程序说明和程序,在每小题提供的若干参考答案中,挑选一个正确答案,每小题2分,共20分1程序include<>void main{char c;scanf"%c",&c;if '0'<= c<='9'printf"Number";else if'A'<= c<='Z'printf"UP";else if'a'<= c<='z'printf"Low";elseprintf"Other";}26当输入字符A并按下回车后,程序输出A NumberB UPC LowD Other27当输入字符z并按下回车后,程序输出A NumberB UPC LowD Other2程序include<>int dint a,int b{int c;c=a+b;return c;}void printint t{printf"z=%d\n",t;}void main{int x,y,z;void printint t;x=5,y=10;z=dx,y;printz;z=dx,z;z=dz,dz,z;printz;}28程序运行时第一行输出A z=5B z=10C z=15D z=20 29程序运行时第二行输出A z=15B z=20C z=25D z=30 30程序运行时第二行输出A z=20B z=30C z=40D z=603程序include<>define N 81void funchar s{ char c=s;for;s+1;s++s=s+1;s=c;s+1='\0';}void main{ char aN;getsa;funa;putsa;}31程序运行时输入”abc”输出A abcB acbC bac Dbca 32程序运行时输入”good”输出Agood Boodg C dogo D doog4程序include<>void increment{static int x=0;x+=1;printf"%d\n",x;}void main{increment;increment;}33程序运行时第一行输出A 0B 1C 2 D334程序运行时第二行输出A 0B 1C 2 D335如果将程序中static int x=0;改成int x=0;程序运行时第二行输出A 0B 1C 2 D3四、编程题每题10分,共30分1.编一程序,计算s=sin1+cos2+sin3+...+sin99+cos100,输出s;2. 计算个人所得税,月收入的5000元以上部分征20%,800元以上5000元之间部分需缴纳3%的税,800元以下的部分免税;例如,小张月收入为6000元,则她需缴税6000-5000×20%+5000-800×3%=326元;编程,要求输入个人应发工资,计算并输出个人所得税;3.计算机期末考试结束后,班长要统计班里所有同学共30名同学的计算机成绩,请编写一个程序,能录入30名同学成绩,并将这些成绩以及平均值以下面的格式保存到d:\中;X234401X234402X234403平均值为C程序设计模拟试题--yhr参考答案与评分标准一、单选题本题共20分,每小题2分三、程序阅读题本题共20分,每小题2分四、编程题本题共30分,每小题10分。

青岛理工大学C语言期末复习题库

青岛理工大学C语言期末复习题库

第1章 程序设计及C 语言概述 一、单选题1)一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是()。

A )有零个或多个输入B )有零个或多个输出C )有穷性D )可行性 2)以下叙述中正确的是()。

A )C 语言的源程序不必通过编译就可以直接运行B )C 语言中的每条可执行语句最终都将被转换成二进制的机器指令C )C 语言源程序经编译形成的二进制代码可以直接运行D )C 语言中的函数不可以单独进行编译 3)用C 语言编写的代码程序()。

A )可立即执行B )是一个源程序C )经过编译即可执行D )经过编译解释才能执行 4)结构化程序由三种基本结构组成,三种基本结构组成的算法()。

A )可以完成任何复杂的任务B )只能完成部分复杂的任务C )只能完成符合结构化的任务D )只能完成一些简单的任务 5)以下叙述中正确的是()。

A )用C 程序实现的算法必须要有输入和输出操作B )用C 程序实现的算法可以没有输出但必须要有输入 C )用C 程序实现的算法可以没有输入但必须要有输出D )用C 程序实现的算法可以既没有输入也没有输出 第2章 C 语言基础 一、单选题1)假设在程序中a ,b ,c 均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式 abc1 的表达式是()。

A )1/a*b*cB )1/(a*b*c)C )1/a/b/(float)cD )1.0/a/b/c 2)以下能正确定义且赋初值的语句是()A )int n1=n2=10;B )char c=32;C )float f=f+1.1;D )double x=12.3E2.5; 3)以下不能定义为用户标识符的是()A )scanfB )V oidC )_3com_D )int4)设x 、y 、z 和k 都是int 型变量,则执行表达式:x=(y=4,z=16,k=32+z)后,x 的值为()A )4B )16C )48D )325)设有 int x=11,则表达式(x++ * 1/3)的值是()。

厦门理工-数据结构c语言版期末考试复习试题

厦门理工-数据结构c语言版期末考试复习试题

厦门理工《数据结构与算法》复习题一、选择题。

1.在数据结构中,从逻辑上可以把数据结构分为 C 。

A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构2.数据结构在计算机内存中的表示是指 A 。

A.数据的存储结构B.数据结构C.数据的逻辑结构D.数据元素之间的关系3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。

A.逻辑B.存储C.逻辑和存储D.物理4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。

A.数据的处理方法B.数据元素的类型C.数据元素之间的关系D.数据的存储方法5.在决定选取何种存储结构时,一般不考虑 A 。

A.各结点的值如何B.结点个数的多少C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便。

6.以下说法正确的是 D 。

A.数据项是数据的基本单位B.数据元素是数据的最小单位C.数据结构是带结构的数据项的集合D.一些表面上很不相同的数据可以有相同的逻辑结构7.算法分析的目的是 C ,算法分析的两个主要方面是 A 。

(1)A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进C.分析算法的易读性和文档性(2)A.空间复杂度和时间复杂度B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性8.下面程序段的时间复杂度是O(n2) 。

s =0;for( I =0; i<n; i++)for(j=0;j<n;j++)s +=B[i][j];sum = s ;9.下面程序段的时间复杂度是O(n*m) 。

for( i =0; i<n; i++)for(j=0;j<m;j++)A[i][j] =0;10.下面程序段的时间复杂度是O(log3n) 。

i =0;while(i<=n)i = i * 3;11.在以下的叙述中,正确的是 B 。

A.线性表的顺序存储结构优于链表存储结构B.二维数组是其数据元素为线性表的线性表C.栈的操作方式是先进先出D.队列的操作方式是先进后出12.通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 B 。

山东理工大学C语言PTA期末题库

山东理工大学C语言PTA期末题库

1.指针变量中保存的不一定是一个地址。

F2.指针变量中保存的肯定是一个地址。

T3.c语言的每个函数都可以用return语句返回一个返回值。

F4.C语言中变量名r和R表示同一个变量。

F5.c语言每个函数的返回值都是int型的。

F6.C语言中的变量名属于标识符。

T7.函数pow(x,y)的作用是计算y的x次方。

F8.while循环的循环体最少要执行一次。

F9.switch语句中default语句是必须的。

F10.若有定义:int a[3][4];则a['b'-'a'][2]是对a数组元素的正确引用。

T11.fprintf(fp,"%d",a);表示将变量a以十进制整数形式保存到指针fp所指向的文件中。

T12.可以把一个整型数据赋给一个实型变量。

T13.若有定义:char ch='\105’;则变量ch中包含4个字符。

F14.main函数必须位于其他函数之前。

F15.以数组名作函数参数时,数据传递的方向是“双向的”,因此我们可以说,在此情况下,函数带回的返回值可能不止一个。

F16.对于定义int a[5],*p=a;后,*(p+1)和*(a+1)的值是相同的。

T17.C语言中3/2的值是1。

T18.数组初始化时,初始值个数小于数组元素的个数,C语言自动将剩余的元素初始化为初始化列表中的最后一个初始值。

F19.scanf(fp,"%c",&ch);表示从指针fp所指向的文件中读出一个字符并保存到变量ch中。

F20.假设有float f=7;则f%2的值为1。

F1.以下正确的描述是()。

A.如果函数值类型与返回值类型不一致,应以函数值类型为准。

B.如果形参和实参的类型不一致,应以实参类型为准。

C.return语句后不能是表达式。

D.定义函数时,可以省略不写形参的类型,只写形参名。

2.以下程序有语法性错误,int main(void){int N=3,k;void fun1(); //函数声明…k=fun1(N); //函数调用...}。

哈理工C语言试题

哈理工C语言试题

哈尔滨理工大学Array 2007-2008学年第一学期考试试题A卷考试科目:结构化程序设计C 考试时间:120分钟试卷总分100分一、选择题1. 2. 3. 4. 5.6. 7. 8. 9. 10.11. 12. 13. 14. 15.16. 17. 18. 19. 20.二、填空题1.2.3.4.5.6.7.8.三、阅读程序,写出运行结果1. 2.3. 4.5. 6.四、程序设计1.2.3.哈尔滨理工大学2007-2008学年第一学期考试试题A 卷答案填在答题卡上一、选择题(在每个小题四个备选答案中选出一个正确答案)(本大题共20小题,每小题1分,总计20分)1.若有程序段:int i=2,j;j=i++;printf(“%d,%d”,++i,j);该程序段的输出结果是______[A] 3,2 [B] 4,3 [C] 3,3 [D] 4,22.double x,y;表达式x=1,y=x+3/2的值是______[A] 1 [B] 2 [C] 2.0 [D] 2.53.若变量已正确定义并赋值,表达式______不符合C语言语法。

[A] a*b/c;[B] 3.14%2[C] 2, b [D] a/b/c4.对于以下的变量定义,表达式_____不符合C语言语法。

struct node { int len;char *pk;} x = {2, "right"}, *p = &x;[A] p->pk[B] *p.pk [C] *p->pk [D] *x.pk5.有如下程序int func(int a,int b){ return(a+b);}main(){ int x=2,y=5,z=8,r;r=func(func(x,y),z);printf(“%\d\n”,r);}该程序的输出的结果是_____[A] 12 [B] 13 [C] 14 [D] 156.若在定义语句int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是______[A]scanf(“%d”,a,b,c) [B]scanf(“%d%d%d”,a,b,c) [C] scanf(“%d”,p) [D] scanf(“%d”,&p) 7.若变量已正确定义,有以下程序段i=0;do printf(“%d”,i); while(i++);printf(“%d\n”,i);[A]0,0 [B]0,1 [C]1,1 [D]程序进入无限循环8.若有定义语句:int a[2][3],*p[3];则以下语句中正确的是________[A]p=a [B]p[0]=a [C]p[0]=&a[1][2] [D]p[1]=&a系:软件学院软件工程出题教师郭红、张淑丽、王春英系主任:9.有以下程序段int k=0while(k=1)k++;while 循环执行的次数是______[A]无限次[B]有语法错,不能执行[C]一次也不执行[D]执行1次10.在C语言中,共用体类型变量在程序运行期间_______[A] 所有成员一直驻留在内存中[B] 只有一个成员驻留在内存中[C] 部分成员驻留在内存中[D] 没有成员驻留在内存中11.下面程序段的运行结果是:long fun( int n){ long s;if(n= =1 || n= =2) s=2;else s=n-fun(n-1);return s;}main(){ printf(“%ld\n”, fun(3)); }[A]1 [B]2 [C] 3 [D] 412.设有定义:int a=1,b=2,c=4;则以下选项中值为0的表达式是_____[A] (!a= =1)&&(!b= =0) [B] (a<b)&&!c||1 [C] a&&b [D] a|| (b+b)&&(c-a) 13.若t为double类型,则表达式:t=1,t+5,t++的值是______[A]1 [B]6.0 [C] 2.0 [D] 1.014.设变量定义为“int x, *p=&x;”,则&*p相当于_____。

2022年湖北理工学院公共课《C语言》科目期末试卷B(有答案)

2022年湖北理工学院公共课《C语言》科目期末试卷B(有答案)

2022年湖北理工学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。

#include <stdio.h>int main(){int a,b;float x,y;char cl,c2;scanf("a=%d b=%d",&.a,&.b);scanf("x=%f y=%",8.x,8.y);scanf("c1=%cc2=%c”,8.cl,8.c2);printf("a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,b,x,y,cl,c2);return0;}2、一个C语言源程序由若干函数组成,其中至少应含有一个________3、在C语言源程序中,一个变量代表【】。

4、若有定义语句:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为_______5、若x和n均是int型变量,且x的初值为12,n的初值为5,则执行表达式x%=(n%=2)后x的值为_______。

6、请读程序段:int x=1;printf("%d\n",~x);上面程序段的输出结果是_______。

7、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。

在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。

a[0]=1;a[1]=2;swap(a,2);8、设有以下宏定义:#define WIDTH 80#define LENGTH WIDTH+40则执行赋值语句:v=LENGTH*20;(v为int型变量)后,v的值是_______。

北理工《C语言程序设计》期末考试精选题汇总【含答案解析】 06

北理工《C语言程序设计》期末考试精选题汇总【含答案解析】 06

[试题分类]:C语言程序设计
1.下列叙述中,错误的是
A. 分号是C语言语句的必要组成部分
B. C语言程序的入口不一定是主函数main
C. C语言程序基本组成单位是函数
D. C语言程序的注释可以写在语句后面
答案:B
题型:单选题
知识点:第2章 C语言概述
难度:1
2.下列选项中,所有符号均不是C语言关键字是
A. scanf,define
B. auto,if
C. else,for
D. switch, do
答案:A
题型:单选题
知识点:第2章 C语言概述
难度:1
3.下列选项中,不能作为C语言常量的是
A. 0xA5
B. 2.5e-2
C. 3e2
D. 0582
答案:D
题型:单选题
知识点:第3章数据类型与运算规则
难度:1
4.C语言中,不能进行++和--运算的数据类型是
A. int
B. long
C. double
D. 指针。

哈理工c语言期末试题及答案

哈理工c语言期末试题及答案

哈理工c语言期末试题及答案一、选择题(每题2分,共20分)1. 下列选项中,不属于C语言数据类型的是()。

A. intB. floatC. stringD. double答案:C2. C语言中,用于定义结构体的关键字是()。

A. structB. unionC. enumD. typedef答案:A3. 下列关于C语言函数的描述,错误的是()。

A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以有默认参数D. 函数可以有任意数量的参数答案:C4. 在C语言中,用于声明数组的语法是()。

A. int arr[5];B. int arr[];C. int [5]arr;D. int arr=5;答案:A5. 下列关于指针的描述,正确的是()。

A. 指针可以存储任何类型的数据B. 指针可以存储变量的地址C. 指针本身没有数据类型D. 指针不能作为函数的参数答案:B6. 在C语言中,用于实现循环结构的关键字是()。

A. forB. whileC. do-whileD. 以上都是答案:D7. 下列关于文件操作的描述,错误的是()。

A. 文件操作需要使用文件指针B. 文件指针是指向FILE结构的指针C. 文件操作只能用于文本文件D. 文件操作包括打开、关闭、读写等操作答案:C8. C语言中,用于定义枚举类型的关键字是()。

A. enumB. unionC. structD. typedef答案:A9. 下列关于预处理命令的描述,正确的是()。

A. #define可以定义宏B. #include可以包含头文件C. #define和#include都可以定义宏D. #define和#include都可以包含头文件答案:A10. 在C语言中,用于定义联合体的关键字是()。

A. structB. unionC. enumD. typedef答案:B二、填空题(每题2分,共20分)1. 在C语言中,表示逻辑“与”的运算符是____。

江西理工大学c语言复习参考题

江西理工大学c语言复习参考题

《C语言程序设计》复习参考资料一.选择题1.以下关于运算符优先顺序的描述中正确的是()。

A) 关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符B) 逻辑运算符< 关系运算符< 算术运算符< 赋值运算符C) 赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符D) 算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符2.下列选项中合法的变量名是_________A) #define B) int C) a594_3 D) abs(x)3.以下正确的描述是()。

A) break语句的作用是结束整个循环的执行B)在C程序中,注释说明只能位于一条语句的后面C) 在循环体内使用break语句或continue语句的作用相同D) 从多层循环嵌套中退出时, 只能使用goto语句4.以下说法正确的是()A).#define 和printf 都是C 语句。

B).#define 是C语句,而printf不是。

C).若程序中要调用数学函数,必须在文件开头输入语句 #include “math.h”D). #define 和printf 都不是C 语句。

5.下面的函数定义正确的是______________A)float fun (float x ; float y) {return x*y;}B)float fun (float x,y) {return x*y;}C)float fun (x,y) {int x,y;return x*y;}D)int fun (int x, int y) {return x*y;}6.执行下面语句后的输出为( )int i=-1;if (i<=0) printf(“****\n”)else printf(“%%%%\n”)A). **** B). %%%%C). %%%%c D). 有语法错误,不能正确执行7.以下程序的输出结果是( )void main( ){int k=17;printf("%d, %o, %x \n ", k, k, k );}A). 17, 21, 11 B). 17, 17, 17C). 17, 0x11, 021 D). 17, 21, 18.以下不正确的叙述是()A)#define是宏定义命令B)宏定义只是做简单的置换,不做正确性检查C)宏定义是C语句,必须在行末加分号D)printf是C语句,但#define不是。

C期末考试复习题理工

C期末考试复习题理工

一、单项选择题(本大题共10小题,每小题2分,共20分)1.在C++中,函数原型不能标识(D)A.函数的返回类型B.函数参数的个数C.函数参数类型D.函数的功能2.在C++程序中,对象之间的相互通信通过(B)A.继承实现B.调用成员函数实现C.封装实现D.函数重载实现3.对于任意一个类,析构函数的个数最多为(B)A.0B.1C.2D.35.友元关系不能(A)A.继承B.是类与类的关系C.是一个类的成员函数与另一个类的关系D.提高程序的运行效率6.语句ofstreamf(″SALARY.DAT″,ios::app|ios::binary)?的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且(A)A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件7.下面说法正确的是(B)A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字inline定义//当程序使用内敛函数时,编译器将每个函数调用都用函数内的语句代替,这样就省去了函数调用地开销8.可以用p.a的形式访问派生类对象p的基类成员a,其中a是(D)A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员//函数可以调用成员,对象不可以调用9.在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是(C)A.派生类的对象可以赋给基类的对象B.派生类的对象可以初始化基类的引用C.派生类的对象可以直接访问基类中的成员D.派生类的对象的地址可以赋给指向基类的指针//派生类的对象是不能访问基类的任何成员10.对于类定义classA{public:virtualvoidfunc1(){}voidfunc2(){}}?classB:publicA{public:voidfunc1(){cout<<″classBfunc1″<<end1?}virtualvoidfunc2(){cout<<″classBfunc2″<<end1?}}?下面正确的叙述是(C)A.A::func2()和B::func1()都是虚函数B.A::func2()和B::func1()都不是虚函数C.B::func1()是虚函数,而A::func2()不是虚函数D.B::func1()不是虚函数,而A::func2()是虚函数第二部分非选择题(共80分)二、填空题(本大题共10小题,每小题2分,共20分)11.定义类的动态对象数组时,系统只能够自动调用该类的_无参_______构造函数对其进行初始化。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、单项选择题(本大题共10 小题,每小题2 分,共20 分)1.在C++中,函数原型不能标识(D )A.函数的返回类型B.函数参数的个数C.函数参数类型D.函数的功能2.在C++程序中,对象之间的相互通信通过(B )A.继承实现B.调用成员函数实现C.封装实现D.函数重载实现3.对于任意一个类,析构函数的个数最多为(B ) A.0 B.1 C.2 D.35.友元关系不能(A )A.继承B.是类与类的关系C.是一个类的成员函数与另一个类的关系D.提高程序的运行效率6.语句ofstream f(″SALARY.DAT″,ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT 并与之连接,并且(A )A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件7.下面说法正确的是(B )A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字inline 定义//当程序使用内敛函数时,编译器将每个函数调用都用函数内的语句代替,这样就省去了函数调用地开销8.可以用p.a 的形式访问派生类对象p 的基类成员a,其中a 是(D )A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员//函数可以调用成员,对象不可以调用9.在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是( C)A.派生类的对象可以赋给基类的对象B.派生类的对象可以初始化基类的引用C.派生类的对象可以直接访问基类中的成员D.派生类的对象的地址可以赋给指向基类的指针//派生类的对象是不能访问基类的任何成员10.对于类定义class A{public:virtual void func1( ){ }void func2( ){ }};class B:public A{public:void func1( ){cout<<″class B func 1″<<end1;}virtual void func2( ){cout<<″class B func 2″<<end1;}};下面正确的叙述是(C )A. A::func2( )和B::func1( )都是虚函数B. A::func2( )和B::func1( )都不是虚函数C. B::func1( )是虚函数,而A::func2( )不是虚函数D. B::func1( )不是虚函数,而A::func2( )是虚函数第二部分非选择题(共80 分)二、填空题(本大题共10 小题,每小题2 分,共20 分)11.定义类的动态对象数组时,系统只能够自动调用该类的_无参_______构造函数对其进行初始化。

12.在C++程序设计中,建立继承关系倒挂的树应使用____单_一____继承。

13.表达式cout<<end1 还可表示为____cout<<`\n`_____。

14.基类的公有成员在派生类中的访问权限由___访问控制___ __决定。

15.C++支持的两种多态性分别是__编译时的_(操作重载)_静态_____多态性和_运行时的(虚函数)___动态_____多态性。

16.C++中语句const char * const p=″hello″;所定义的指针p 和它所指的内容都不能被__改变(重新赋值)____。

17.假定AB 为一个类,则语句AB(AB&x);为该类_____拷贝____构造函数的原型说明。

18.将关键字const 写在成员函数的____函数头_____和____函数体_____之间时,所修饰的是this 指针。

19.在C++中,访问一个对象的成员所用的运算符是__·___,访问一个指针所指向的对象的成员所用的运算符是__>___。

20.派生类从一个或多个以前定义的该类的__基类__一、单项选择题(每题2分,共20分)1. 派生类对象可访问基类中的什么成员( A)A.公有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.私有继承的公有成员2. 定义析构函数时,应该注意( C )A.其名与类名完全相同B.返回类型是void类型C.无形参,也不可重载D.函数体中必须有delete语句3. 如果类A被说明成类B的友元,则( D )。

A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元4. 应在下列程序划线处填入的正确语句是( C )#includeclass Base{ public:void fun(){cout<<"Base::fun"<<endl;}};class Derived:public Base{ void fun(){_____________ // 显示调用基类的函数fun()cout<<"Derived::fun"<<ENDL;}};A.fun(); B. Base.fun(); C. Base::fun(); D. Base->fun();5. 面向对象程序设计将数据与( A )放在一起,做为一个相互依存、不可分割的整体来处理。

A. 对数据的操作B. 信息C. 数据隐藏D. 数据抽象6. 在类中声明转换函数时不能指定( A )。

A. 参数B. 访问权限C. 操作D. 标识符7. 在派生类中重新定义虚函数时必须在( A )方面与基类保持一致。

A. 参数类型B. 参数名字C. 操作内容D. 赋值8. 下面关于C++中类的继承与派生的说法错误的是(C )。

A.基类的protected成员在公有派生类的成员函数中可以直接使用B.基类的protected成员在私有派生类的成员函数中可以直接使用C.公有派生时,基类的所有成员访问权限在派生类中保持不变D.基类的protected成员在保护派生类的成员函数中可以直接使用9. 重载赋值操作符时,应声明为( C )函数。

A. 友元B. 虚C. 成员D. 多态10. 语句 ofstream f(″SALARY.DAT″,ios::app|ios::binary); 的功能是建立流对象 f,试图打开文件 SALARY.DAT 并与之连接,并且 ( A )A. 若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B. 若文件存在,将其置为空文件;若文件不存在,打开失败C. 若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D. 若文件存在,打开失败;若文件不存在,建立一个新文件二、填空题(每空2分,共30分)1. 假定 AB 为一个类,则语句 AB(AB&x) ;为该类 _________ 复制构造函数的原型说明。

2. C++ 支持的两种多态性分别是 ________编译时的_ 多态性和运行时的_________ 多态性。

3. 定义类的动态对象数组时,系统只能够自动调用该类的无参的_________ 构造函数对其进行初始化。

4. 运算符重载时,其函数名由__operator运算符_构成。

成员函数重载双目运算符时,左操作数是_当前对象__,右操作数是__函数形参_。

C++标准库中的异常层次的根类为exception _____类;MFC类库中绝大多数类都源自根类__ CObject _____类。

在下面横线处填上适当字句,完成类中成员函数的定义。

class A{int * a;public:A(int aa=0) {a=_ new int(aa)______; // 用 aa 初始化 a 所指向的动态对象}~ A(){_____delete a____;}// 释放动态存储空间};7.C++支持面向对象程序设计的四个要素是:封装性、继承性、抽象性和多态性。

8.模板分为类模板和函数模板。

一、单项选择题(每题2分,共20分)1. 在下面选项中,对类的拷贝构造函数的声明形式是(B)A. A::A(&)B. A::A(constA&)C. A::A(A)D. void A::A(A&a)2. 下面关于成员函数特征的描述中,错误的是(A )A.成员函数不可以设置参数的默认值B.成员函数可以重载C.成员函数可以是内联函数D.成员函数可以是静态的3. 下面关于类模板叙述不正确的是(B )A.可以有多个构造函数B. 类模板是模板类的实例C. 一个类模板可以用来实例化多个模板类D. 类模板可以有多个参数4. 要使一个类成为抽象类,这个类应具有的条件是(A )A.至少有一个纯虚函数 B. 至少有一个虚函数C. 只含有一个纯虚函数 D. 只含有一个虚函数5. 有关运算符重载正确的描述是(D )A. C++语言允许在重载运算符时改变运算符的操作个数B. C++语言允许在重载运算符时改变运算符的优先级C. C++语言允许在重载运算符时改变运算符的结合性D. C++语言允许在重载运算符时改变运算符的原来的功能6. 下列说法正确的是( D )。

A. 一个类的对象可以是另一个类的成员B. 一个类可以作为另一个类的派生类C. 一个类可以在另一个类定义体进行定义D. 以上说法均正确7. 有如下程序:#include <iostream.h>class BASE{char c;public:BASE(char n):c(n){}virtual~BASE(){cout<<c;}};class DERIVED:public BASE{char c;public:DERIVED(char n):BASE(n+1),c(n){}~DERIVED(){cout<<c;}};int main(){DERIVED('X');return 0;}执行上面的程序将输出( C )。

A)X B)YX C)XY D)Y8. 类MyClass的定义如下:class MyClass{ public:MyClass(){value=0;}SetValue(int i){value=i;}private:int value;};则对语句:MyClass *p,my;p=&my;正确的描述是( D )。

相关文档
最新文档