C期末复习题库

合集下载

(完整版)C语言试题库(完整版)

(完整版)C语言试题库(完整版)

C语言试题库一、单项选择第一章 C语言概述(1)一个C程序的执行是从A、本程序的MAIN函数开始,到MAIN 函数结束。

B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。

C、本程序的MAIN函数开始,到本程序的最后一个函数结束。

D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。

(2)以下叙述正确的是A、在C程序中,MAIN函数必须位于程序的最前面。

B、 C程序的每行中只能写一条语句。

C、 C语言本身没有输入输出语句。

D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。

(3) C语言规定,在一个源程序中,MAIN主函数的位置是在:A、必须在最前面。

B、必须在系统调用的库函数的后面C、可以在任意位置。

D、必须在最后面(4)一个C程序是由:A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(5)以下叙述不正确的是:A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个MAIN函数C、 C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式(1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32)A、4B、16C、32D、52(2)下列四组选项中,均不是C语言键字的选项是A、define , IF, typeB、getc, char, printfC、include, scanf, caseE、 if, struct, type(3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,doB、float,1a0, _AC、b-a, goto, intD、_123, temp, INT(4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3B、3*a*e/bcC、3*a*e/b*cD、a*e/c/b*3(5)已知各变量的类型说明如下:int k, a, b;unsinged long w=5;double x=1.42;则以下不符合C语言语法的表达式是A、x%(-3)B、w+=-2;C、k=(a=2,b=3,a+b)D、a+=a-=(b=4)*(a=3)第三章简单C程序设计(1)putchar函数可以向终端输出一个A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值(2)若x,y均定义为int型,z定义为double 型,以下合法的scanf函数调用语句是A、scanf(“%d%lx,%le”,&x,&y,&z);B、scanf(“%2d*%d%lf”,&x,&y,&z);C、scanf(“%x%*d%o”,&x,&y,&z);D、scanf(“%x%o%6.2f”,&x,&y,&z);(3)当输入数据的形式为:25,13,10<回车>时,以下程序的输出结果为main(){int x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z);}A、x+y+z=48B、x+y+z=35C、x+z=35D、不确定值(4) 以下能正确的定义整型变量a,b和c,并对它们赋初值为5的语句是A、int a=b=c=5;B、int a, b, c=5;C、a=5, b=5, c=5;D、a=b=c=5;(5) 若有以下定义,则正确的赋值语句是int a,b; float x;A、a=1, b=2;B、b++;C、a=b=5;D、b=int(x);第四章选择结构程序设计(1)能正确表示“当x的值在[1,10]和[200,210]的范围为真,否则为假”的表达式是A、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)B、(x>=1)││(x<=10) ││(x.>=200) ││(x<=210)C、(x>=1) &&(x<=10) ││(x.>=200) &&(x<=210)D、(x>=1)││(x<=10)&& (x.>=200) ││(x<=210)(2)以下程序的运行结果是#include “stdio.h”main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A、6,1B、2,1C、6,0D、2,0(3)请阅读以下程序:main(){int a=5 , b=0 , c=0;if (a+b+c) printf(“* * *\n”); else printf(“$ $ $\n”); }以上程序。

C语言期末考试复习题及答案3

C语言期末考试复习题及答案3

C语言期末考试复习题及答案一、选择题:下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确的选项涂写在答案纸上.答在试卷上不得分。

(1)C语言规定:在一个源程序中,main函数的位置.A)必须在最后B)必须在系统调用的库函数的后面。

C)必须在最开始.。

D)可以任意(2) C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符。

A)必须为字母或下划线.。

B)必须为下划线。

C)必须为字母D)可以是字母、数字和下划线中的任一种字符。

(3)下面四个选项中,均是正确的八进制数或十六进制数的选项是。

A)—10 0x8f —011 B) 010 -0x11 0xf1C) 0abc —017 0xc D) 0a12 —0x123 -0xa(4) C语言中int型数据在内存中占两个字节,则unsegned int取值范围是.A)0 ~ 65535 B)0 ~ 32767C)—32767 ~ 32768 D)—32768 ~ 327687(5) 若有定义:int a = 7; floa x = 2。

5 , y = 4.7 ;则表达式x + a % 3 * (int)(x + y)% 2/4 的值是.A)2。

750000 B)0.00000 C)3。

500000 D)2。

500000 (6)已知ch是字符型变量,下面不正确的赋值语句是。

A)ch = 5 + 9 ; B) ch= ' a + b ';C) ch = ' \ 0 ’;D)ch= ’7’ + ’6';(7) 设x ,y和z是int型变量,且x = 3, y = 4 , z = 5 则下面表达式中值为0的是。

A)!((x < y )&&!z || 1)B)' x ' &&’ y ’C)x || y+z && y — z D)x 〈= y(8)设有程序段int k = 10 ;while ( k = 0 ) k = k — 1 ;以下描述正确的是.A)循环体语句一次也不执行。

C语言程序设计期末复习题及答案(1)

C语言程序设计期末复习题及答案(1)
4. 设int i = 5;则语句while (i > = 1) i - -;执行后i的值为_0______。
5. n为整型,表达式n=1,n+2,n*5 的值是__5_______。
6. 已知:float x=8.53; 整形变量i=(int)x;则i=__8_____。
7. 已知:int x=5;语句y=x++*x++;执行完成后x=___7__,y=_25____。
int i, k, num;
gets(str1); gets(str2);
i=strlen(str1);
k=strlen(str2);
num=______? ____: ____;
printf("%d\n", num);
}
2. 下面程序是计算字符串中实际字符的个数,即实现和字符串处理函数strlen相同的功能,补充空白处的程序。
for (j=0;j<n-1-i;j++)
if (a[j]>a[j+1])
{c=a[j];a[j]=a[j+1];a[j+1]=c;}
}
2. 本题20分.总体程序完整性3分,结构体定义正确3分,结构体数组定义以及初始化正确6分,指针定义正确3分,输出判断正确3分,输出姓名地址2分。以下代码为参考代码,答案不唯一。
(B)在指针操作中,运算符“&”是取指针指向的对象的值。
(C)在指针操作中,运算符“*”的操作对象是一个地址。
(D)语句int *ip;定义了指针变量只能存放整型变量的地址。
14.判断字符串str1是否大于字符串str2,应当使用___d________。
(A)if (str1>str2)

c语言期末考试题及详细答案

c语言期末考试题及详细答案

c语言期末考试题及详细答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中合法的变量名?A. 2variableB. intC. _first_variableD. for答案:C2. C语言中,用于定义一个整型数组的关键字是?A. charB. intC. floatD. double答案:B3. 在C语言中,哪个运算符用于比较两个值是否不相等?A. ==B. !=C. =D. <答案:B4. 下列哪个函数用于计算数组中元素的个数?A. strlenB. sizeofC. strcpyD. strcmp答案:B5. C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. typedef答案:A6. 下列哪个选项是C语言中合法的常量?A. 0x1AB. 1.23e-5C. 2.3.4D. 0b101答案:A7. 在C语言中,哪个关键字用于定义一个函数?A. intB. voidC. structD. return答案:B8. C语言中,用于定义一个指针的关键字是?A. intB. charC. floatD. *答案:D9. 下列哪个选项是C语言中合法的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello\nWorld"D. "Hello\tWorld"答案:A10. 在C语言中,哪个运算符用于执行算术运算?A. %B. &C. +D. ||答案:C二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:______。

答案:int variable_name;2. 用于将一个字符串复制到另一个字符串的C语言函数是:______。

答案:strcpy3. C语言中,用于声明一个指向整型变量的指针的语法是:______。

C++期末复习--1.练习题-选择

C++期末复习--1.练习题-选择

C++期末复习--1.练习题-选择面向对象程序设计综合练习(单选题)单选题1.C++源程序文件的缺省扩展名为( )。

A. cppB. exeC. objD. lik2.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( )符号作为分隔符。

A. 空格或逗号B. 逗号或回车C. 逗号或分号D. 空格或回车3.关于封装,下列说法中不正确的是()。

A. 通过封装,对象的全部属性和操作结合在一起,形成一个整体B. 通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)C. 通过封装,每个对象都成为相对独立的实体D. 通过封装,对象的属性都是不可见的4.面向对象软件开发中使用的OOA表示()。

A. 面向对象分析B. 面向对象设计C. 面向对象语言D. 面向对象方法5.面向对象软件开发中使用的OOD表示()。

A. 面向对象分析B. 面向对象设计C. 面向对象语言D. 面向对象方法6.在一个类的定义中,包含有()成员的定义。

A. 数据B. 函数C. 数据和函数D. 数据或函数7.在类作用域中能够通过直接使用该类的()成员名进行访问。

A. 私有B. 公用C. 保护D. 任何8.在关键字public后面定义的成员为类的()成员。

A. 私有B. 公用C. 保护D. 任何9.在关键字private后面定义的成员为类的()成员。

A. 私有B. 公用C. 保护D. 任何10.假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a的格式为()。

A. x(a)B. x[a]C. x->aD. x.a11.假定AA为一个类,a()为该类公有的成员函数,x为该类的一个对象,则访问x对象中成员函数a()的格式为()。

A. x.aB. x.a()C. x->aD. x->a()12.假定AA为一个类,a为该类公有的数据成员,px为指向该类对象的一个指针,则访问px所指对象中数据成员a的格式为()。

C期末考试复习题(答案)

C期末考试复习题(答案)

C期末考试复习题(答案)C语言复习题一、单项选择题1、C语言源程序文件经过C编译程序编译连接之后生成一个后缀为( C )的文件。

A).c B).obj C).exe D).bas2、)完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( B )A)连接、编译B)编译、连接 C)连接、运行D)运行3、关于C语言的叙述中,不正确的是(D)A)C程序可由一个或多个函数组成B)C程序必须包含一个main ()函数C)C程序的基本组成单位是函数D)注释说明只能位于一条语句的后面4、一个C程序的执行是从(A )。

A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束5、以下正确的叙述是(C )A) 在C语言中,main函数必须位于文件的开头B) C语言每行中只能写一条语句C) C语言本身没有输入、输出语句D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误6、下列选项中,不能用作标识符的是( D)。

A) _1234_ B) _1_2 C) int_2_ D) 2_int_7、常数的书写格式决定了常数的类型和值,0x1011是( C )A)8进制整型常量B)字符常量 C)16进制整型常数D)2进制整型常数8、以下4组用户定义标识符中,全部合法的一组是( A )A)_total clu_1 sum B)if -max turbC)txt REAL 3COM D)int k_2 _0019、_( D )是合法的用户自定义标识符。

A) b-b B)float C)123a D) _isw10、以下选项中不正确的整型常量是( C )。

A) 12L B) -10 C) 1,900 D) 123U11、表达式( C )的值是0。

大学生C语言期末考试试题汇总

大学生C语言期末考试试题汇总

第1-3章习题一、单项选择题1C语言属于()。

A.机器语言B.低级语言C.中级语言D.高级语言2一个C程序可以包含任意多个不同名的函数,但有且仅有一个。

A.函数B.主函数C.includeD.过程3系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才能运行。A.编辑、编译B.编译、连接C.编辑、改错D.编辑、连接4C语言程序从开始执行。

A.程序中第一条可执行语句B.程序中第一个函数C.程序中的main函数D.包含文件中的第一个函数5C语言程序是由构成的。

A.一些可执行语言B.main函数C.函数D.包含文件中的第一个函数6一个算法应具有“确定性”等5个特性,则对另外4个特性描述错误的是。

A.有效性B.有穷性C.有零个或多个输入D.有零个或多个输出7设变量a是整型,f是实型,i双精度型,则表达式10+’a’+i*f值的数据类型。

A.intB.floatC.doubleD.不确定8在C语言中,变量所分配的内存空间大小是由。

A.均为一个字节B.由用户自己定义C.由变量的类型决定D.是任意的9执行scanf (“a=%d,b=%d”,&a,&b)语句,若要使变量a和b的值分别为3和4,则正确的输入方法为。

A. 3 ,4B.a:3 b: 4C.a=3,b=4D. 3 410在算术表达式中允许使用的括号类型是。

A.{ }B.[ ]C.( )D.以上三项皆错11存储以下数据,占用存储字节最少的是。

A. 0B. ‘0’C. “0”D. 0.012设n=10,i=4,则运算n%=i+1执行后,n 的值是。

A.0B.3C.2D.113C语言中运算对象必须是整型的运算符是。

A.%B. /C. =D.〈=14已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是.A .0 B. 1 C. 5 D. 615若有以下类型说明语句:char w;int x;float y;double z;则表达式w-x*y/z的结果为类型A.floatB.charC.intD.double16在C语言的库函数中,可以输出char型变量x值的语句是。

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

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

大学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.-a1B.a[i]C.a2_iD.intt5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。

A)3a某B)某C)caeD)-e2E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。

A)%某B)a+bC)a123D)123选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。

A、print_3ddb8aBcB、I\\amone_halftart$it3paiC、tr_1CpppowwhileD、P某qMy->bookline#Hi.age选项B中的“\\”,”$”,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。

C语言理论复习题

C语言理论复习题
判断题 第 3 页
序号
题目
正 确 A B 答 案
51 52 53 54 55 56 57 58 59 60 61
使用strlen函数可以求出一个字符串的实际长度 对错 B (包含‘\0’字符)。 如有定义char a[]="student";则数组a的长度为7 对错 B 如有定义char a[20];则可以通过a=“I am a 对错 B boy”;给a赋值。 如有定义int a[2][3];则数组a的最后一个元素为 对错 A a[1][2]。 如有定义int a[3][4]={0}; 则数组a的所有元 对错 A 素初值均为0 C语言中数组名实质上是数组的首地址,是一个变 对错 B 量地址,可对其进行赋值 对错 B 构成数组的各个元素可以有不同的数据类型。 若有说明:int a[10];,则可以用a[10]引用数组a 对错 B 的第10个元素。 函数的形参为一个数组,则调用此函数时将数组名 对错 A 作为对应的实参。 do...while的循环体可能一次也不会执行。 对错 B
char *p[10];定义了一个指向字符数组的指针 对错 B 变量。 数组名实际上是此数组的首地址,所以数组名相当 62 对错 B 于一个指针变量。 do...while语句与while语句的区别仅仅是关键字 63 对错 B while的位置不同。 64 使用文件前必须先打开文件 对错 A
判断题 第 4 页
判断题
第 8 页
判断题
第 9 页
判断题
第 10 页
判断题
第 11 页
判断题
第 12 页
判断题
第 13 页
判断题
第 14 页
判断题
第 15 页
判断题
第 16 页

国家开放大学C语言程序设计课程期末练习题

国家开放大学C语言程序设计课程期末练习题

C语言程序设计课程期末练习题一、单项选择题。

把合适的选项编号填写在括号内。

1.不符合C语言规定的复合语句是()。

DA.{} B.{;} C.{x=0;} D.{y=10}2.C语言中的选择类语句有两条,它们是()。

AA.if和switch B.if和else C.switch和case D.else和case3.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。

AA. mainB. MAINC. nameD. function4. 在C语言程序中,多行注释语句使用的开始标记符为()。

BA. //B. /*C. */D. **5. 用于输出表达式值的标准输出函数是()。

CA. scanf()B. print()C. printf()D. output()6. 在printf()函数调用的格式字符串中,每个格式符的先导字符为()。

BA. #B. %C. $D. @7. 由C语言源程序文件编译而成的目标文件的扩展名为( )。

CA. cppB. exeC. objD. C8. 由C语言目标文件连接而成的可执行文件的扩展名为( )。

BA. cppB. exeC. objD. c9.每个C程序文件在编译时可能出现有警告性错误,其对应的标识符号为()。

A A. warning B. error C. warn D. err10. 在C语言中,表示换行符的转义字符为()。

CA. \fB. \rC. \nD. \m11. 字符串“a+b=12\n”的长度为()。

BA. 6B. 7C. 8D. 912. 要定义a和b为两个整型变量,则使用的定义语句为()。

BA. int a;b;B. int a,b;C. int a b;D. int a:b;13. 下列数值中最大值是()。

CA. 28/8B. 35/13C. 28%8D. 35%514. 下列数值中最小值是()。

DA. 28/8B. 35/3C. 28%8D. 35%315. 已知x的初值为5,则下列各表达式中的最大值为()。

c语言期末考试题库

c语言期末考试题库

习题一一、选择题1.C语言是一种(C )。

A。

低级语言 B. 汇编语言C。

高级语言 D. 机器语言2.以下不是C语言的特点的是( D )。

A. 语言简洁紧凑B. 可以直接对硬件进行操作C. 数据类型丰富D。

是面向对象的程序设计语言3.一个C程序的执行是从( A )。

A。

本程序的main函数开始,到main函数结束B。

本函数的第一个数开始,到本程序文件的最后一个函数结束C。

本程序的main函数开始,到本程序文件的最后一个函数结束D。

本函数的第一个数开始,到本程序main函数结束4.以下叙述正确的是(C )。

A。

在C程序中,main函数必须位于程序的最前面B。

C程序的每行只能写一条语句C。

C语言的本身没有输入输出语句D. 在对一个C程序进行编译的过程中,可以发现注释中的拼写错误5.以下叙述不正确的是(D )。

A. 一个C源程序可由一个或多个函数组成B. 一个C源程序必须包括一个main函数C。

C程序的基本组成单位是函数D。

在C程序中,注释说明只能位于一条语句的后面6.C语言规定:在一个源程序中,main函数的位置( C ).A。

必须在最开始B。

必须在系统调用的库函数的后面C。

可以任意D。

必须在最后7.一个C语言程序是由( B )。

A. 一个主程序和若干子程序组成B。

函数组成C. 若干过程组成D. 若干子程序组成8.以下叙述中正确的是( C )。

A. C程序的基本组成单位是语句B。

C程序中的每一行只能写一条语句C。

C语句必须以分号结束D。

C语言必须在一行内写完9.以下叙述中正确的是( C )。

A。

C程序中的注释只能出现在程序的开始位置和语句的后面B。

C程序书写格式严格,要求一行内只能写一个语句C。

C程序书写格式自由,一个语句可以写在多行上D. 用C语言编写的程序只能放在一个程序文件中10.以下叙述中正确的是( C )。

A. C语言程序将从源程序中第一个函数开始执行B. 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C。

C语言期末考试题库

C语言期末考试题库

本题要求编写程序,计算2个正整数的和、差、积、商并输出。

题目保证输入和输出全部在整型范围内。

输入格式:输入在一行中给出2个正整数A和B。

输出格式:在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。

输入样例:3 2输出样例:3 + 2 = 53 - 2 = 13 * 2 = 63 / 2 = 12.程序每次读入一个正3位数,然后输出按位逆序的数字。

注意:当输入的数字含有结尾的0时,输出不应带有前导的0。

比如输入700,输出应该是7。

输入格式:每个测试是一个3位的正整数。

输出格式:输出按位逆序的数。

输入样例:123输出样例:3213.模拟交通警察的雷达测速仪。

输入汽车速度,如果速度超出60 mph,则显示“Speeding”,否则显示“OK”。

输入格式:输入在一行中给出1个不超过500的非负整数,即雷达测到的车速。

输出格式:在一行中输出测速仪显示结果,格式为:“Speed: V - S”,其中V是车速,S或者是Speeding、或者是OK。

输入样例1:40输出样例1:Speed: 40 - OK输入样例2:75输出样例2:Speed: 75 - Speeding中国有句俗语叫“三天打鱼两天晒网”。

假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?输入格式:输入在一行中给出1个不超过1000的正整数N。

输出格式:在一行中输出此人在第N天中是“Fishing”(即“打鱼”)还是“Drying”(即“晒网”),并且输出“in day N”。

输入样例1:103输出样例1:Fishing in day 103输入样例2:34输出样例2:Drying in day 345.三个球A、B、C,大小形状相同且其中有一个球与其他球重量不同。

要求找出这个不一样的球。

输入格式:输入在一行中给出3个正整数,顺序对应球A、B、C的重量。

输出格式:在一行中输出唯一的那个不一样的球。

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

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

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC classD char答案:C解析:在 C 语言中,class 不是关键字,int、float 和 char 都是常见的数据类型关键字。

2、以下变量定义中,正确的是()A int a=b=5;B char a='A';C float a=55, b=66;D double a; b;答案:C解析:A 选项中不能在定义时连续赋值;B 选项应该是 char a ='A';注意单引号;D 选项应该是 double a, b; 中间用逗号分隔。

3、以下程序段的输出结果是()```cint a = 5, b = 4, c = 6;if (a > b && a > c)printf("a 最大\n");else if (b > a && b > c)printf("b 最大\n");elseprintf("c 最大\n");```A a 最大B b 最大C c 最大D 编译错误答案:C解析:因为 5 不大于 6,所以执行 else 部分,输出“c 最大”。

4、以下循环语句执行的次数是()```cfor (int i = 0; i < 5; i++){printf("%d ", i);}```A 4 次B 5 次C 6 次D 无限次答案:B解析:从 0 到 4 ,一共 5 次。

5、以下数组定义中,正确的是()A int a5 ={1, 2, 3, 4, 5, 6};B int a ={1, 2, 3};C int a5 ={1, 2};D int a3 =(1, 2, 3);答案:B解析:A 选项数组长度为 5,却初始化了 6 个元素;C 选项只初始化了前两个元素,后面三个元素默认为 0;D 选项初始化方式错误,应该用花括号。

C语言选择题(1_4章期末复习)

C语言选择题(1_4章期末复习)

第1章1.以下叙述不正确的是()。

A、C程序的基本组成单位是函数B、在C程序中,注释说明只能位于一条语句的后面C、一个C源程序必须包含一个main函数D、一个C源程序可由一个或多个函数组成2.C语言的注释定界符是()。

A、\* *\B、{ }C、[ ]D、/* */3.C语言规定,在一个源程序中,main函数的位置()。

A、必须在最开始B、必须在系统调用的库函数的后面C、必须在最后D、可以任意4.一个C程序的执行是从()。

A、本程序文件的第一个函数开始,到本程序main函数结束B、本程序的main函数开始,到main函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束5.以下叙述中正确的是()。

A、C程序中注释部分可以出现在程序中任意合适的地方B、分号是C语句之间的分隔符,不是语句的一部分C、花括号“{“和”}”只能作为函数体的定界符D、构成C程序的基本单位是函数,所有函数名都可以由用户命名6.以下叙述正确的是()。

A、在对一个C程序进行编译的过程中,可发现注释中的拼写错误B、C语言本身没有输入输出语句C、在C程序中,main函数必须位于程序的最前面D、C程序的每行中只能写一条语句7.C语言源程序的基本单位是()。

A、子程序B、过程C、函数D、标识符8.下列标识符中,不合法的C语言用户自定义标识符是()。

A、printfB、sinC、enumD、_9.下列四个选项中,均是C语言关键字的选项是()。

A、if struct typeB、switch typedef continueC、signed union scanfD、auto enum include10.以下叙述中错误的是()A、用户所定义的标识符应尽量做到"见名知意"B、用户所定义的标识符允许使用关键字C、用户定义的标识符中,大、小写字母代表不同标识D、用户所定义的标识符必须以字母或下划线开头11.下列字符序列中,可用作C标识符的一组字符序列是()。

C语言题库(判断)河南工业大学 河工大 c语言期末考试题库

C语言题库(判断)河南工业大学 河工大 c语言期末考试题库
~y
~~~5
int s=36;while(s) --s;构成的是死循环。
~n
~~~5
程序段 int =0;while(t=1){printf("%d\n",t);}在运行时,printf语句的执行次数是0次。
~n
~~~5
程序 #include <stdio.h> int main() {int x=23;。do {printf("%d",x--); while(!x); }运行时的输出结果是23
~y
~~~7
所谓动态存储方式是指在程序运行期间由系统分配固定的存储空间的方式。
~n
~~~7
静态存储方式则是在程序运行期间根据需要进行动态的分配存储空间的方式。
~n
~~~7
C语言中,如果用指针变量作实参调用函数,先使指针变量有确定值,指向一个已定义的单元。
~y
~~~7
C语言中,函数的调用只可以得到一个返回值,而运用指针作函数参数可以得到多个变化的值。
~n
~~~7
用scanf函数向已定义的变量中输入数据时,在变量名前面必须加&。
~y
~~~7
用scanf函数向已定义的变量中输入数据时,当遇非法输入时,该数据输入结束。
~y
~~~7
有关输入输出函数的使用,putchar(getchar( ));语句是错误(正确)的。
~n
~~~8
~~~1
一般而言,我们把用高级语言编写的程序称为目标程序。
~n
~~~1
在生成可执行程序前,应该先编译再连结。
~y
~~~1

C语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案装 C. C++; D.a+b+c|2.已知int j , i=1 ;执行语句“ j=i++ ; ”后,变量i 的值是B 。

A. 1B. 2C. - 1D. -2 3. 执行下面程序:#i nclude "stdio.h" void mai n()订 {int a=1,b=2,c=3 ;c=(a+=a+2),(a=b,b+3); printf(“ %d,%d,%d ,a,b,c);丨}线则输出结果是:_A _______ 。

A. 2,2,4 B. 4,2,3 C. 5,5,3 D. 4,2,5[4.若要求在if 后一对圆括号中表示 a 不等于0的关系,则能正确表示这一关系的表达式为D 。

—A. a< >0B. !aC. a=0D. a:5. for (j=0;j<11;j++);循环结束后,j 的值是 B _________ 。

A. 12B. 11C. 10D. 96. C 语言中函数返回值的类型由 _D ___ 决定的。

[ A. return语句中的表达式类型B.调用该函数的主调函数的类型 :C.调用函数时临时决定D.定义函数时所指定的函数类型7. 下列说法中正确的是 B 。

- A 在调用用户自定义函数时,必须对其进行声明。

1B 函数可以返回一个值,也可以什么值也不返回。

:C 说明函数时,必须明确参数的类型和返回值。

D 在程序设计中空函数没有什么作用。

C 语言程序设计试题','g','s','\0'};8. 若int i=10 ;执行下列程序后,变量 i 的正确结果是_D_switch ( i ) {case 0: i+=1 ; case 10: i+=1 ; case 11: i+=1 ; default: i+=1 ;}A. 10B. 11C. 12D. 139. 下列语句中不正确的字符串赋值或初始化的是 C 。

【期末复习】C 期末复习题及答案

【期末复习】C  期末复习题及答案

优选教育资源共赢共享共进1. 下列语句中错误的是( D)A. int *p=new int(10) ;B. int *p=new int[10] ;C. int *p=new int ;D. int *p=new int[40](0)2. 假设已经有定义char *const name=”chen” ;下面的语句中正确的是( A)A. name[3]=’q’;B. name=”lin”;C. name=new char[5]D. name=new c har(‘q’);3. 下面的类型声明中正确的是(D )A. int &a[4]B. int &*p ;C. int &&q ;D. int I,*p=& I ;4. 在声明类时,下面的说法正确的是( C)A.可以在类的声明中给数据成员赋值B. 数据成员的数据类型可以是registerC. private、public、protected可以按任意顺序出现D. 没有用private、public、protected定义的数据成员是公有成员5. 构造函数是在(B )时被执行的。

A.程序编译B. 创建对象C. 创建类D.程序装入内存6. 在下面有关友元函数的描述中,正确的说法是(A )A. 友元函数是独立于当前类的外部函数B.一个友元函数不能同时定义为两个类的有友元函数C.友元函数必须在类的外部定义D.在外部定义友元函数时,必须加关键字friend7. 使用派生类的主要作用是(A )A.提高代码的可重用性B.提高程序的运行效率C.加强类的封装性D.实现数据的隐藏8. 关于虚函数,正确的描述是(A )A.构造函数不能是虚函数B.析构函数不能是虚函数C.虚函数可以是友元函数D.虚函数可以是静态成员函数9. 如果在基类中将成员函数show声明为不带返回值得纯虚函数,正确的写法是(C )A.virtual show( )=0;B.virtual void show( )C.virtual void show( )=0;D.void show( )=0 virtual;10. 使用myFile.open(“sales.dat”,ios::app)语句打开文件sales.dat后,则(A )A.该文件只能用于输出B.该文件只能用于输入C.该文件既能用于输出,又能用于输入D.若该文件存在,则清除该文件的内容二、分析下列程序中的错误,并说明原因(前2题每题6分,第三题8分,共20分)1.#include"iostream.h"class student{char name[10];int age;float aver;void printStu( ){} };void main( ){student p1,p2,p3;p1.age=16;//…}2. #include"iostream.h" class stack{public:stack(int sz); private:char *p;int size;};stack::stack(int sz) {p=new char[size=sz];}void main(){stack stt;//...}3. #include"iostream.h"class CTest{public:const int y2;CTest(int i1,int i2):y1(i1),y2(i2) {y1=10;x=y1;}int readme()const;//...private:int x;const int y1;};int CTest::readme()const{int i;i=x;x++;return x;} {CTest c(2,8);int i=c.y2;i=c.y1;}三、写出下列程序的运行结果(前2题每题6分,第三题8分,共20分)1.#include"iostream.h"class toy{public:toy(int q,int p){ quan=q; price=p;}int get_quan(){return quan;}int get_price(){return price;}private:int quan,price;};int main(){toyop[2][2]={toy(10,20),toy(30,48),toy(50,68),toy( 70,80)};int i;for(i=0;i<2;i++){cout<<op[i][0].get_quan()<<",";cout<<op[i][0].get_price()<<"\n";cout<<op[i][1].get_price()<<"\n"; }cout<<"\n";return 0;}2.#include"iostream.h"class Stock{public:void print(){cout<<"Stock class.\n";}};class Der1_Stock:public Stock{public:void print(){cout<<"Deri1_Stock class.\n";} };class Der2_Stock:public Stock{public:void print(){cout<<"Deri2_Stock class.\n";} };void main(){Stock s1;Stock *ptr;Der1_Stock d1; ptr=&s1;ptr->print();ptr=&d1;ptr->print();ptr=&d2;ptr->print();}3.#include"iostream.h" class A{public:A(int i):xi(i){}A(){xi=0;}friend A operator++(A a); friend A operator--(A &a); void print();private:int xi;};A operator++(A a){++a.xi;return a;}A operator--(A &a){--a.xi;return a;}void A::print()void main(){A i(7);++i;i.print();--i;i.print();}二 1.答案:p1.age=16; 有错(3分),因为age是私有数据成员,不能直接访问(3分)2. 答案:stack stt; 有错,(3分)类中没有定义无参构造函数(3分)3. 答案:错误1:y1=10;有错(2分),y1是常成员,不能修改(1分)错误2:x++;有错(2分),readme函数是常成员函数,不能修改对象的数据成员(1分)错误3:i=c.y1;有错(1分),y1是私有变量,不能直接存取(1分)三 1.答案:10,20;30,48;50,6870,80 2.答案:Stock class.Stock class.Stock class.3.答案:76B卷一、选择题(每题2分,共20分,答案填写在题后的表格内)1. 假设已经有定义const char *const name=”chen” ;下面的语句中正确的是(D )A. name[3]=’a’;B. name=”lin”;C. name=new char[5]D. cout<<name[3];2. 假设已经有定义const char * name=”chen” ;下面的语句中错误的是( A)A. name[3]=’q’;B. name=”lin”;C. name=new char[5]D. name=new char(‘q’);3. 在下面有关对构造函数的描述中,正确的是(B )A.构造函数可以带有返回值B. 构造函数的名字与类名完全相同C. 构造函数必须带有参数D. 构造函数必须定义,不能缺省4. 在下面有关析构函数特征的描述中,正确的是(C )A. 一个类可以定义多个析构函数B.析构函数名与类名完全相同C. 析构函数不能指定返回类型D.析构函数可以有一个或多个参数5. 在下面有关静态成员函数的描述中,正确的是( B)A. 在静态成员函数中可以使用this指针B.在建立对象前,就可以为静态数据成员赋值C. 静态成员函数在类外定义时,要用static前缀D. 静态成员函数只能在类外定义6. 友元的作用之一是( A)A. 提高程序的运行效率B.加强类的封装性C.实现数据的隐藏性D.增加成员函数的种类A.class derived::student privateB. class derived:student publicC.class derived:private student{//… }D.class derived::public student{//… }8. 要实现动态联编,派生类中的虚函数(D )A.返回的类型可以与虚函数的原型不同B.参数个数可以与虚函数的原型不同C.参数类型可以与虚函数的原型不同D.以上都不对9. 有关运算符重载正确的描述是(D )A.C++语言允许在重载运算符时改变运算符的操作个数B. C++语言允许在重载运算符时改变运算符的优先级C. C++语言允许在重载运算符时改变运算符的结合性D. C++语言允许在重载运算符时改变运算符的原来的功能10. 假设定义了函数模板:template<class T>T max(T x,T y){ return (x>y)?x:y; }并定义了int i=6; char c=’a’; 错误的调用语句是( D)A. max( i,i)B. max(c,c)C.max((int )c,i)D.max(i,c)二、分析下列程序中的错误,并说明原因(前2题每题6分,第三题8分,共20分)1. #include"iostream.h"class point{public:int x,y;private:point( ){x=1;y=2;}};void main( ){point cpoint;cpoint.x=2;}2. #include"iostream.h"template<class T>class Stack{public:Stack(int sz){delete []v;}void push(T x){*p++=x;}T pop(){return *--p;}int lenth()const{return (p-v);}private:T *v,*p;int size;};void main(){Stack obj(5);obj.push(10);}3.#include"iostream.h"class student{int sno;int age;void printStu( );void setSno(int d);};void printStu( ){cout<<”\nStudent No.is “<<sno<<”,”; cout<<”age is”<<age<<”.”<<endl; } void setSno(int d){sno=d;}void setAge(int a){age=a;}void main( ){student lin;lin.setSno(20**1);lin.setAge(20);三、写出下列程序的运行结果(前2题每题6分,第三题8分,共20分)1.#include"iostream.h"class b1{public:b1(int ii){i=ii;}void display(){cout<<i<<endl;}protected:int i;};class b2{public:b2(int jj){j=jj;}void display(){ cout<<j<<endl;}protected:int j;};class b3:public b1,public b2{public:b3(int ii,int jj,int kk):b1(ii),b2(jj){k=kk;}void setall(int ii,int jj,int kk){i=ii;j=jj;k=kk;}void display(){cout<<i<<endl;cout<<j<<endl;cout<<k<<endl;}private:int k;};o1.display();b2 o2(50);o2.display();b3 o3(10,20,30);o3.display();o3.setall(50,60,70);o3.display();}2.#include"iostream.h"class Stock{public:virtual void print(){cout<<"Stock class.\n";}};class Der1_Stock:public Stock {public:void print(){cout<<"Deri1_Stock class.\n";}}; class Der2_Stock:public Stock {public:void print(){cout<<"Deri2_Stock class.\n";}}; void main(){Stock s1;Stock *ptr;Der1_Stock d1;Der2_Stock d2;ptr=&s1;ptr->print();ptr=&d1;ptr->print();3.#include<iostream.h>const int size=10;template<class Type> //声明一个类模板class stack{ public:void init(){ tos=0; }void push(Type ch); //参数取Type类型Type pop(); //返回类型取Type类型private:Type stck[size]; //数组的类型为类型参数Type,即可取任意类型 int tos;};template <class Type>void stack<Type>::push(Type ob){ if (tos==size){ cout<<"stack is full"; return ; }stck[tos]=ob; tos++; }template <class Type>Type stack <Type>::pop(){ if (tos==0){ cout<<"stack is empty";return 0;}tos--;return stck[tos];}int main(){ //定义字符堆栈stack <char> s1,s2; //创建两个模板参数为char型的对象int i;s1.init(); s2.init();s1.push('a'); s2.push('x');s1.push('c'); s2.push('z');for(i=0;i<3;i++) cout<<"pop s1: "<<s1.pop()<<endl;for(i=0;i<3;i++) cout<<"pop s2: "<<s2.pop()<<endl;return 0;}二、分析下列程序中的错误,并说明原因(前2题每题6分,第三题8分,共20分)1.答案:point cpoint;是错误的(3分),因为构造函数是私有成员(3分)2. 答案:Stack obj(5); 有错(3分),因为Stack是类模板,应将模板实例化,才可定义对象(3分)3.答案:错误1:printStu、setSno两个成员函数不是公有成员,不允许在类外访问(4分)错误2:成员函数在类外定义,应加上类名“student::”(2分)错误3:setAge函数应在类中说明(2分)三、写出下列程序的运行结果(前2题每题6分,第三题8分,共20分)1.答案:40 50 10 20 30 50 60 702.答案:Stock class.Deri1_Stock class.Deri2_Stock class.3.答案:pop s1:cpop s1:bpop s1:apop s2:zpop s2:ypop s2:xA 卷一、单项选择题:(每小题2分,共20分)1、假设已经有定义const char *name=”chen”;下列语句中错误的是_____________A. name[3]=’q’B. name=”lin”C. name=new char[5]D. name=new char(‘q’)2、在下列关键字中,用于说明类中公有成员的是____________A. publicB. privateC. protectedD. friend3、下列哪项不是面向对象程序设计的主要特征_______________。

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)。

C期末复习题库Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】C++程序设计试题一、单项选择题1.对C++语言和C语言的兼容性,描述正确的是(A)A.C++兼容CB.C++部分兼容CC.C++不兼容CD.C兼容C++2.在C++中使用流进行输入输出,其中用于屏幕输出的对象是(C)A.cerrB.cinC.coutD.cfilecerr:标准错误输出;cin:标准输入3.对使用关键字new所开辟的动态存储空间,释放时必须使用(C)A.freeB.createC.deleteD.release4.如没有使用private关键字定义类的数据成员,则默认为(A)A.PrivateB.publicC.protectedD.friend5.使用值传递方式将实参传给形参,下列说法正确的是(A)A.形参是实参的备份B.实参是形参的备份C.形参和实参是同一对象D.形参和实参无联系6.在函数调用时,如某一默认参数要指明一个特定值,则有(A)A.其之前所有参数都必须赋值B.其之后所有参数都必须赋值C.其前、后所有参数都必须赋值D.其前、后所有参数都不必赋值7.设存在函数intmax(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是(C)A.intm=max(22,max(59,70));B.intm=max(max(22,59),70);C.intm=max(22,59,70);D.intm=max(59,max(22,70));8.下列哪个类型函数不适合声明为内联函数(A)A.函数体语句较多B.函数体语句较少C.函数执行时间较短D.函数执行时间过长9.intFunc(int,int);不可与下列哪个函数构成重载(B)A.intFunc(int,int,int);B.doubleFunc(int,int);C.doubleFunc(double,double);D.doubleFunc(int,double);说明:不能以形参名来区分函数;不能以函数返回值来区分函数。

必须是形参的个数或者类型不同才能构成函数重载。

10.对类中声明的变量,下列描述中正确的是(C)A.属于全局变量B.只属于该类C.属于该类,某些情况下也可被该类不同实例所共享D.任何情况下都可被该类所有实例共享11.类的私有成员可在何处访问(D)A.通过子类的对象访问B.本类及子类的成员函数中C.通过该类对象访问D.本类的成员函数中12.如果没有为一个类定义任何构造函数的情况下,下列描述正确的是(A)A.编译器总是自动创建一个不带参数的构造函数B.这个类没有构造函数C.这个类不需要构造函数D.该类不能通过编译13.一个类可包含析构函数的个数是(B)A.0个B.1个C.至少一个D.0个或多个只有一个,多了编译器都不知道调用哪个好。

而构造函数可以有多个,因为构造函数调用时编译器可以根据变量的类型和数量来确定调用哪个构造函数,而析构函数是系统调用的,不能做到这种效果。

14.this指针存在的目的是(B)A.保证基类公有成员在子类中可以被访问B.保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码C.保证基类保护成员在子类中可以被访问D.保证基类私有成员在子类中可以被访问15.下列关于类的权限的描述错误的是(A)A.类本身的成员函数只能访问自身的私有成员B.类的对象只能访问该类的公有成员C.普通函数不能直接访问类的公有成员,必须通过对象访问D.一个类可以将另一个类的对象作为成员16.在编译指令中,宏定义使用哪个指令(B)A.#includeB.#defineC.#ifD.#else17.设类A将其它类对象作为成员,则建立A类对象时,下列描述正确的是(B)A.A类构造函数先执行B.成员构造函数先执行C.两者并行执行D.不能确定类的组合,描述的是一个类内嵌其他类的对象作为成员的情况,它们之间的关系是一种包含与被包含的关系。

在声明一个组合类的对象时,不仅它自身的构造函数将被调用,而且还将调用其内嵌对象的构造函数。

这时构造函数的调用顺序是:(1)按照内嵌对象在组合类的声明中出现的次序,依次调用内嵌对象的构造函数;(2)执行本类构造函数的函数体,析构函数的调用执行顺序与构造函数刚好相反。

18.下列描述错误的是(A)A.在创建对象前,静态成员不存在B.静态成员是类的成员C.静态成员不能是虚函数D.静态成员函数不能直接访问非静态成员说明:静态成员函数可以直接访问该类的静态数据和函数成员,而访问非静态成员,必须通过参数传递方式得到对象名,然后通过对象名来访问。

19.对于友元描述正确的是(B)A.友元是本类的成员函数B.友元不是本类的成员函数C.友元不是函数D.友元不能访问本类私有成员20.在哪种派生方式中,派生类可以访问基类中的protected成员(B)A.public和privateB.public和protectedC.protected和privateD.仅protected二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。

错填、不填均无分。

21.设要把一个文件输出流对象myFile与文件“f:\myText.txt相关联,所用的C++语句是:_____myFile.open(“f:\\myText.txt”);_____。

22.C++中ostream类的直接基类是___ios类_____。

23.运算符[]只能用_____成员___运算符来重载,不能用友元运算符来重载。

24.定义虚函数所用的关键字是___virtual_____。

25.vector类中用于返回向量中第1个对象的方法是___front()_____。

26.在C++中,利用向量类模板定义一个具有20个char的向量E,其元素均被置为字符‘t’,实现此操作的语句是___vector<char>E(20,‘t’)____。

27.类的继承是指子类继承基类的___数据成员_____和成员函数。

28.不同对象可以调用相同名称的函数,但可导致完全不同的行为的现象称为____多态性或(类的多态性)____。

29.___#include_____指令指示编译器将一个源文件嵌入到带该指令的源文件之中。

30.设类A有成员函数voidFun(void);若要定义一个指向类成员函数的指针变量pafn来指向Fun,该指针变量的声明语句是:____void(A::*pafn)(void);____。

31.设在程序中使用如下语句申请了一个对象数组:Point*ptr=newPoint[2];则在需要释放ptr指向的动态数组对象时,所使用的语句是__delete[]ptr;______。

32.在保护派生中,基类权限为Private的成员在派生类中__不可访问_____。

33.类A有如下成员函数intA::fun(doublex){return(int)x/2;}intA::fun(intx){returnx*2;}设a为类A的对象,在主函数中有ints=a.fun(6.0)+a.fun(2),则执行该语句后,s的值为_____7___。

34.对象传送的消息一般由3部分组成:接收对象名、调用操作名和____必要的参数____。

35.将指向对象的指针作为函数参数,形参是对象指针,实参是对象的____地址值____。

36.在使用string类的find成员函数来检索主串中是否含有指定的子串时,若在主串中不含指定的子串,find函数的返回值是____-1____。

37.在C++中,声明布尔类型变量所用的关键字是____bool____。

38.执行下列代码inta=29,b=100;cout<<setw(3)<<a<<b<<endl;程序的输出结果是:____29100__。

(2前面有个空格)39.执行下列代码cout<<″Hex:″<<hex<<255;程序的输出结果为___Hex:ff_____。

40.C++语言中可以实现输出一个换行符并刷新流功能的操控符是____endl____。

三、改错题(本大题共5小题,每小题2分,共10分)下面的类定义中有一处错误,请用下横线标出错误所在行并给出修改意见。

41.#include<iostream.h>voidmain(){intx=5,y=6;constint*p=&x;*p=y;cout<<*p<<endl;}*p=y;指针p所指向的为一常量,不能进行左值操作42.#include<iostream.h>classf{private:intx,y;public:f1(){x=0;y=0;}print(){cout<<x<<″<<y<<endl;}};voidmain(){fa;a.f1(1,1);a.print();}a.f1(1,1);f1()调用时实参与形参数量不一致43.#include<iostream.h>classf{private:intx=0,y=0;public:voidf1(inta,intb){x=a;y=b;}voidget(){cout<<x<<’<<y<<endl;}};voidmain(){fa;a.f1(1,3);a.get();}private:intx=0,y=0;数据成员声明时不允许直接赋值44.#include<iostream.h>classpoint{private:floatx;public:voidf(floata){x=a;}voidf(){x=0;}friendfloatmax(point&a,point&b);};floatmax(point&a,point&b){return(a.x>b.x)?a.x:b.x;}voidmain(){pointa,b;a.f(2.2);b.f(3.3);cout<<a.max(a,b);}cout<<a.max(a,b);max()不是类的成员函数,不能用a.max()方式调用45.#include<iostream.h>template<classT>classf{private:Tx,y;public:voidf1(Ta,Tb){x=a;y=b;}Tmax(){retum(x>y)?x:y;}};voidmain(){fa;a.f1(1.5,3.8);cout<<a.x<<a.y<<a.max()<<endl;}cout<<a.x<<a.y<<a.max()<<endl;x,y是私有类型,不能在主函数中直接使用四、完成程序题(本大题共5小题,每小题4分,共20分)46.完成下面类中的成员函数的定义。

相关文档
最新文档