C试题附答案
C语言考试试题及答案

《C语言》考卷一单选题(每题2分,共25题,共50分)1.要把高级语言编写的源程序转换为目标程序,需要使用( )[2分][2分]A.编辑程序B.驱动程序C.诊断程序D.编译程序参考答案:D2.以下叙述中正确的是( )[2分][2分]A.C语言程序将从源程序中第一个函数开始执行B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D.main可作为用户标识符,用以命名任意一个函数作为主函数参考答案:C3.若变量a是int类型,并执行了语句:a=‘A'+1.6;,则正确的叙述是( )[2分][2分] int a int a=66 = 65 + 1.6 =66.6A.a的值是字符BB.a的值是浮点型C.不允许字符型和浮点型相加D.a的值是字符‘A’的ASCII值加上2参考答案:Aint a = ‘A’;char b = 65;4.若变量已正确定义并赋值,以下符合C语言语法的表达式是( )[2分][2分]A.a:=b+1B.a=b=c+2C.18.5%3D.a=a+7=c+b参考答案:B5.下列可用于C语言用户标识符的一组是( )[2分][2分]A.void, define, WORDB.a3_b3, _123,carC.For, -abc, IF CaseD.2a, DO, sizeof参考答案:B6.若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )[2分][2分]A.scanf("%d",a,b,c);B.scanf("%d%d%d",a,b,c);C.scanf("%d",p); //scanf(“%d”,&c);D.scanf("%d",&p);参考答案:C7.以下关于long、int和short类型数据占用内存大小的叙述中正确的是( )[2分][2分]A.均占4个字节B.根据数据的大小来决定所占内存的字节数 // long a = 1 int b = 1000000C.由用户自己定义D.由C语言编译系统决定参考答案:D8.若变量已正确定义,有以下程序段i=0;do{printf("%d,",i); //0}while(i++); //while(0) i=1printf("%d\n",i); //1其输出结果是( )[2分][2分]A.0,0B.0,1C.1,1D.程序进入无限循环参考答案:B9.有以下计算公式则不能够正确计算上述公式的程序段是( )(提示:库函数sqrt()用来求一个数的平方根)[2分][2分]A.if(x>=0) y=sqrt(x); else y=sqrt(-x); //if/else配合使用B.y=sqrt(x) if(x<0) y=sqrt(-x);C.if(x>=0)y=sqrt(x); if(x<0)y=sqrt(-x); //if单独使用D.y=sqrt(x>=0?x:-x);参考答案:B10.设有条件表达式:EXP ? i++ : j--;则以下表达式与之完全等价的是( )[2分][2分]A.(EXP==0)? i++ : j--;B.(EXP!=0)? i++ : j--;C.(EXP==1)? i++ : j--;D.(EXP!=1)? i++ : j--;参考答案:B11.有以下程序#include<stdio.h>int main(void){int y=9;for( ; y>0; y--){if(y%3 == 0)printf("%d",--y);}}程序的运行结果是( )[2分][2分]A.741B.963C.852D.875421参考答案:C12.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是( )[2分][2分]A.函数的实参和其对应的形参共占同一存储单元B.形参只是形式上的存在,不占用具体存储单元 //局部变量C.同名的实参和形参占同一存储单元D.函数的形参和实参分别占用不同的存储单元参考答案:D13.已知字符‘A’的ASCⅡ代码值是65,字符变量c1的值是‘A’,c2的值是‘D’。
c语言试题及答案

c语言试题及答案c语言试题及答案C语言是一门通用计算机编程语言,应用广泛。
小编收集了c语言试题及答案,欢迎阅读。
c语言试题一选择题(7分,每小题0.5分)1.C语言源程序的基本单位是( )。
A 过程B 函数C 子程序D 标识符2.下列程序的输出结果是( )。
main( ){ int a=7,b=5;printf("%d ",b=b/a);}A 5B 1C 0 D不确定值3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是( )。
A 7B 8C 9D 24.设a为int型变量,执行下列赋值语句后,a的取值分别是( )。
a=125.534; a=(int)125.521%4; a=5<<2;A 125,31,1B 125,1,20C 125,31,20D 125.534,2,205.设有如下程序段,下面描述中正确的是 ( )。
int k=10; while(k=0) k=k-1;A 循环执行一次 B循环是无限循环 C循环体语句一次也不执行 D 循环体语句执行一次6.以下程序的输出结果为( )。
int i;void prt( ){ for(i=5;i<8;i++) printf("%c",'*');printf(" ");}main( ){ for(i=5;i<=8;i++) prt( );}A ***B *** *** *** ***C *** ***D * * *7.在C语言程序中,以下说法正确的是( )。
A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的定义和函数的调用都可以嵌套8.以下函数调用语句中含有( )个实参。
func((e1,e2),(e3,e4,e5));A 2B 3C 5D 语法错误9.以下程序的输出结果为( )。
c语言基础试题及答案

c语言基础试题及答案一、选择题1、在C语言中,引用数组元素时,其数组下标的数据类型允许是。
A、整型常量B、整型表达式C、整形常量或整形表达式D、任何类型的表达式2、以下对一维整型数组a的正确说明是____A、int a(10) ;B、int n=10,a[n];C、int n;scanf(“%d”,&n);int a[n];D、#define SIZE 10int a[SIZE];3、若有定义:int a[10],则对数组a元素的正确引用是A、a[10]B、a[3.5]C、a(5)D、a[10-10]4、以下能对一维数组a进行正确初始化的语句是。
A、int a[10]={0,0,0,0,0};B、int a[10]={} ;C、int a[ ] = {0} ;D、int a[10]={10*1} ;5、若有定义:int a[3][4],则对数组a元素的正确引用是________A、a[2][4]B、a[1,3]C、a(5)D、a[10-10]6、以下能对二维数组a进行正确初始化的语句是_______A、int a[2][]={{1,0,1},{5,2,3}} ;B、int a[][3]={{1,2,3},{4,5,6}} ;C、int a[2][4]={{1,2,3},{4,5},{6}} ;D、int a[][3]={{1,0,1},{},{1,1}} ;7、若有说明:int a[3][4]={0};则下面正确的叙述是_______A、只有元素a[0][0]可得到初值0B、此说明语句不正确C、数组a中各元素都可得到初值,但其值不一定为0D、数组a中每个元素均可得到初值08、下面是对s的初始化,其中不正确的`是_____A、char s[5]={“abc”};B、char s[5]={‘a’,’b’,’c’,’d’,’e’,’0’};C、char s[5]=””;D、char s[5]=”abcdef”;二、程序填空1、以下程序把一个由小到大的有序数列放在a[1]到a[n]中,a[0]用作工作单元,程序把读入的x值插入到a数组中,插入后,数组中的数仍然的序。
安全员C证试题库(附参考答案)

安全员C证试题库(附参考答案)一、单选题(共50题,每题1分,共50分)1、装配式混凝土建筑施工现场,坠落区域应按规范规定的坠落 ( ) 设定。
A、坠落高度B、坠落直径C、坠落半径D、作业高度正确答案:C2、地下连续墙混凝土浇筑过程中,导管埋入混凝土的深度宜在 ( ) m之间,浇筑液面的上升速度不宜小于3m/h。
A、4-5B、2-4C、1-2D、5-6正确答案:B3、建筑施工企业安全生产许可证被吊销后,自吊销决定作出之日起( ) 不得重新申请安全生产许可证。
A、六个月内B、一年内C、三年内D、二年内正确答案:B4、用承插型盘扣式钢管支架搭设双排脚手架时,搭设高度不宜大于 ( ) m。
A、24B、36C、18D、30正确答案:A5、为了提高钢丝绳的使用寿命,滑轮直径最小不得小于钢丝绳直径的( ) 倍。
A、4B、8C、2D、16正确答案:D6、塔机在施工中主要作用是重物的 ( ) 运输和施工现场内的 ( ) 距离水平运输。
A、垂直,短B、垂直,长C、水平,短D、水平,长正确答案:A7、门式脚手架采用落地、密目式安全立网全封闭,其最大的搭设高度不可能超过 ( ) m。
A、45B、24C、30D、60正确答案:D8、对建筑施工临时结构应做安全生产技术分析,并应保证在设计规定的使用工况下保持整体稳定性,这一条是 ( ) 条。
A、指导性B、强制性C、一般性D、推荐性正确答案:B9、所选配的电器能够在配电系统空载或正常负载情况下可靠、有效地分断电路 (非频繁操作) ,即 ( ) 功能。
A、过载、短路、漏电保护B、空载接通与分断电路C、正常接通与分断电路D、电源隔离正确答案:A10、根据《上海市建设工程生产安全事故管理规定》,工程所在地的区建设行政管理部门和工程监督机构接到事故报告后,应当在 ( ) 内以书面形式,向市住房城乡建设管理委和市安质监总站报告。
A、2小时B、30分钟C、12小时D、1小时正确答案:D11、根据《上海市建设工程安全生产责任保险实施意见》规定,在投保人提供已完工工程部分履行 ( ) 的相关法律手续,确认已完工部分施工企业已不再承担安全生产管理责任的情况下,投保人可以按照剩余工程量投保。
C语言试题(部分有答案)

选择题1.1.一个C程序的执行是从()A.本程序的main函数开始,到main函数结束。
B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束1.2.以下叙述正确的是()A.在C语言中,main函数必须位于程序的最前面。
B.C语言的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C语言进行编译的过程中,可发现注释中的拼写错误1.3.C语言规定:在一个源程序中,main函数的位置()A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后2.2.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()A.7 B.8 C.6 D.22.3.若有说明语句:char c=‟\66‟ ; 则说明c ()A.包括1个字符B.包括2字符C.包括3字符D.一个不合法的表达式,c的值不确定2.4.设变量a 是int,f是float, i是double,则表达式10+‟a‟+i*f值的数据类型为()A.int B.float C.double D.不确定3.1.已知ch是字符变量,下面不正确的赋值语句是()A.ch=‟a+b‟B.ch=‟\0‟C.ch=‟7‟+‟8‟D.ch=5+93.2.设x、y均为float型变量,则以下不合法的赋值语句是()A.++x B.y=(x%2)/10 C.x*=y+8 D.x=y=04.1.逻辑运算符两侧运算对象的数据类型()A.只能是0或1 B.只能是0或非0整数C.只能是整型或字符型数据D.可以是任何类型数据4.2.判断char型变量ch是否为大写字母的正确表达式是()A.‟A‟<=ch<=‟Z‟B.(ch>=‟A‟)&(ch<=‟Z‟)C.(ch>=‟A‟)&&(ch<=‟Z‟) D.(…A‟<=ch)AND(…Z‟>=ch)4.3.已知x=43,ch=‟A‟,y=0;则表达式(x>=y&&ch<‟B‟&&!y)的值是()A.0 B.语法错C.1 D.‟假‟4.4.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是()If(x>y)z=x;x=y;y=zA.x=10,y=20,z=30 B.x=20,y=30,z=30C.x=20,y=30,z=10 D.x=20,y=30,z=204.5.以下程序的运行结果是()main(){int m=5;if (m++>5) printf(“%d”,m);else printf(“%d”,m--);}A.4 B.5 C.6 D.74.6.以下程序的运行结果是()main(){ int k=4,a=3,b=2,c=1;printf(“%d”,k<a?k:c<b?c:a);}A.4 B.3 C.2 D.15.1.设有程序段int k=10;while (k=0) k=k-1;则下面描述中正确的是A.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次5.2.语句while(! E);中的表达式!E等价于()A.E= =0 B.E ! = 1 C.E ! = 0 D.E= =15.3.下面程序段的运行结果是()int n=0;while(n++<=2); printf(“%d”,n);A.2 B.3 C.4 D.有语法错5.4.以下程序段()x=-1;do{x=x*x}while(! x)A.死循环B.循环执行二次C.循环执行一次D.有语法错误5.5.以下不是无限循环的语句是()A.for(y=0,x=1;x>y++y;x=i++) i=x; B. for( ; ; x++=i );C.while(1){x++;} D.for(i=10; ;i--)sum+=i5.6.执行语句for(i=1;i++<4; );后变量i的值是()A.3 B.4 C.5 D.不确定6.1.在C语言中,引用数组元素时,其下标的数据类型允许是()A.整型常量B.整型表达式C.A或B D.任何类型6.2.若有说明:int a[][4]={0,0};则下面不正确的叙述是()A. 数组a的每个元素都可得到初值0B. 二维数组a的第一维大小为1C. 因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1D. 只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值06.3.若二维数组a有m列,则在a[i][j]前的元素个数为()A. j*m+iB. i*m+jC. i*m+j-1D. i*m+j+16.4.下面程序的运行结果是()main(){ int a[6], i ;For (i=1; i<6; i++){ a[i] = 9 * (I – 2 + 4 * ( i > 3)) % 5;Printf( “%2d”, a[i] );}}A. -4 0 4 0 4B. -4 0 4 0 3C. -4 0 4 4 3D. -4 0 4 4 06.5 下面程序段的运行结果是()char c[5] = {…a‟, …b‟, …\0‟, …c‟, …\0‟};printf(“%s”, c);A. …a‟‟ b‟B. abC. ab cD. ab6.6 下面程序段的运行结果是()char a[7] = “abcdef”;char b[4] = “ABC”;strcpy(a, b);printf(“%c”, a[5]);A. 空格B. \0C. eD. f6.7 有下面程度段char a[3], b[]= “China”;a = b;printf(“%s”, a);则()A.运行后将输出China B.运行后将输出ChC.运行后将输出Chi D.编译出错6.8 下面程序的功能是将字符串s中所有的字符c删除。
C语言试题库(含答案)

D、print f("%c\n",class[2].name[0]);
标准答案:D
【5】设单精度变量f,g的值均为5.0,则下面的表达式中,使f为10.0的表达式是。
A、f+=g
B、f-=g+5
C、f*=g-5
D、f/=g*5
标准答案:A
if(ch=='/')w=a/b;
B、B)if(ch=='*')w=a*b;
else if(ch=='/')w=a/b;
if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
C、if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
if(ch=='*')w=a*b;
A、15
B、10
C、25
D、20
标准答案:A
【15】程序段的基本结构中,不包含()。
A、函数结构
B、循环结构
C、顺序结构
D、分支结构
标准答案:A
【1】执行语句scanf("%d,%d",&m,&n);使m和n的值分别为1和2,正确输入是。
A、1
B、2
C、1,2
D、12
标准答案:c
【3】若用数组名作为函数调用的实参,传递给形参的是()。
#include<stdio.h>
main()
{int i=1;
C语言试题和答案大全

模块1 C语言基础知识1. 选择题(1)C语言中运算对象必须是整型的运算符是(B )。
A. %=B. /C. =D. <=(2)以下所列的C语言常数中,错误的是(B )。
A. 0xFFB. 1.2E0.5C. 2LD. -.67(3)以下选项中能作为用户标识符的是( C )。
A. voidB. 7_9C. _3_D. Dr.Tom(4)以下所列的C语言字符常量中,合法的是( B )。
A. ”B”B. ’\n’C. ’中国’D. d(5)以下选项中正确的定义语句是( D )。
A. int a:b;B. int ,a,b;C. int a+b=6;D. int a=6,b;(6)以下关于long、int、short型数据占用内存大小的叙述中正确的是( D )。
A. 均占4个字节B. 根据数据的大小来决定所占内存的字节数C. 由用户自己定义D. 由C语言编译系统决定(7)若有定义语句:int x=10;,则表达式x-=x+x的值为( B )。
A. -20B. -10C. 0D. 10(8)表达式((a=3*5,a+4),a+5)的值是( A )。
A. 20B. 29C. 60D. 90(9)若有定义语句:int a=3,b=4,c=5;,则以下表达式中值为0的是( D )。
A. a&&bB. a<=bC. a||b+c&&b-cD. !((a<b)&&c||1)(10)设有以下定义:int i;char c;float f;,以下结果为整型的表达式是( B )。
A. i+fB. i*cC. c+fD. i+c+f2. 填空题(1)设有int n=12;,则表达式(n++*1/3)的值是 4 。
(2)定义以下变量:char c;int x;float y;double z;,则表达式c*x+y-z,所求得的数据类型为double 。
(3)设变量a和b已正确赋初值,请写出a/=a+b等价的赋值表达式a=a/(a+b) 。
c语言试卷集(10套)-试题及答案

c语言试卷集(10套)-试题及答案C语言试卷集(10套)-试题及答案试卷一一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“真”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:B2. 下列哪个选项是C语言中的合法变量名?()A. 2variableB. variable2C. variable_2D. variable!答案:C3. C语言中,用于定义一个整型数组的语句是()。
A. int array[10];B. int [10] array;C. int 10 array;D. int array=10;答案:A4. 下列哪个选项是C语言中的合法字符串常量?()A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A5. C语言中,用于表示逻辑“假”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:A6. 下列哪个选项是C语言中的合法浮点数常量?()A. 3.14B. 314.C. .314D. 3.14E答案:A7. C语言中,用于定义一个整型变量的语句是()。
A. int x;B. var x;C. x int;D. int = x;答案:A8. 下列哪个选项是C语言中的合法字符常量?()A. 'A'B. "A"C. 'AB'D. "AB"答案:A9. C语言中,用于定义一个字符数组的语句是()。
A. char array[10];B. char [10] array;C. char 10 array;D. char array=10;答案:A10. C语言中,用于表示字符常量的是()。
A. 'A'B. "A"C. AD. "A"答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量并初始化为0的语句是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++试题一、选择题:1. 关于类和对象不正确的说法是( C )A) 类是一种类型,它封装了数据和操作B) 对象是类的实例C) 一个类的对象只有一个D) 一个对象必属于某个类2. 在类定义的外部,可以被访问的成员有( C )A) 所有类成员 B) private或protected的类成员C) public的类成员 D) public或private的类成员3. 关于this指针的说法错误的是( A )A) this指针必须显示说明 B) 当创建一个对象后,this指针就指向该对象C) 成员函数拥有this指针 D) 静态成员函数不拥有this指针4. 声明一个类的对象时,系统自动调用( B )函数,撤消对象时,系统自动调用( C )函数A) 成员函数 B) 构造函数 C) 析构函数 D) 普通函数5. 下面对构造函数的不正确描述是( B )A) 系统可以提供默认的构造函数 B) 构造函数可以有参数,所以可以有返回值C) 构造函数可以重载 D) 构造函数可以设置默认参数6. 下面对析构函数的正确描述是( C )A) 系统不能提供默认的析构函数 B) 析构函数必须由用户定义C) 析构函数没有参数 D) 析构函数可以设置默认参数7. 对静态成员的不正确描述是( C )A) 静态成员不属于对象,是类的共享成员 B) 静态数据成员要在类外定义和初始化C) 调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有this指针D) 非静态成员函数也可以操作静态数据成员8. 下面选项中,不是类的成员函数为( C )A) 构造函数B) 析构函数 C)友元函数 D) 缺省参数的构造函数方言9. 下面对友元的错误描述是( D )A) 关键字friend用于声明友元B) 一个类的成员函数可以是另一个类的友元C) 友元函数访问对象的成员不受访问特性影响D) 友元函数通过this指针访问对象成员10. 在C++中,类与类之间的继承关系具有( C )A) 自反性 B) 对称性 C) 传递性 D) 反对称性11. 下列关于类的继承描述中,( A )是错误的A) 派生类可以访问基类的所有数据成员,也能调用基类的所有成员函数B) 派生类也是基类,但基类不一定具有派生类的全部属性和方法C) 继承描述类的层次关系,派生类可以具有与基类相同的属性和方法D) 一个基类可以有多个派生类,一个派生类可以有多个基类12. 当一个派生类仅有继承一个基类时,基类中的所有公有成员成为派生类的( A )A) public成员 B) private成员 C) protected成员D) 友元13. 当一个派生类私有继承一个基类时,基类中的所有仅有成员和保护成员成为派生类的( B )A) public成员 B) private成员 C) protected成员D) 友元14. 不论派生类以何种方法继承基类,都不能使用基类的( B )A) public成员 B) private成员 C) protected成员D) public成员和protected成员15. 下面描述中,错误的是(BC )(两个答案)A) 在基类定义的public成员在公有继承的派生类中可见,也能在类外被访问B) 在基类定义的public和protected成员在私有继承的派生类中可见,在类外可以被访问C) 在基类定义的public和protected成员在保护继承的派生类中不可见D) 在派生类中不可见的成员要变成可访问的,需要进行访问声明16. 在C++中,不能被派生类继承的函数是(BC )(两个答案)A) 成员函数 B) 构造函数C) 析构函数 D) 静态成员函数17. 在创建派生类对象时,构造函数的执行顺序是( D )A) 对象成员构造函数、基类构造函数、派生类本身的构造函数B) 派生类本身的构造函数、基类构造函数、对象成员构造函数C) 基类构造函数、派生类本身的构造函数、对象成员构造函数D) 基类构造函数、对象成员构造函数、派生类本身的构造函数18. 当不同的类具有相同的间接基类时,有特点( AD )(两个答案)A) 各派生类对象将按继承路线产生自己的基类版本B) 派生类对象无法产生自己的基类版本C) 为了建立惟一的间接基类版本,在基类定义前加virtual即可D) 为了建立惟一的间接基类版本,应该声明虚继承19. 在C++中,要实现动态联编,必须使用( D )调用虚函数A) 类名 B) 派生类指针 C) 对象名 D) 基类指针20. 下列函数中,可以作为虚函数的是(CD )(两个答案)A) 普通函数 B) 构造函数 C)成员函数 D) 析构函数21. 在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值( B )A) 不同 B) 相同 C) 相容 D) 部分相同22. 下面函数原型声明中,( B )声明了fun为虚函数A) void fun()=0; B) virtual void fun()=0;C) virtual void fun(); D) virtual void fun(){};23. 若一个类中含有纯虚函数,则该类称为( D )A) 基类 B) 纯基类 C) 派生类 D) 抽象类24. 假设A为抽象类,下列声明( B )是正确的A) A fun(int); B) A *p; C) intfun(A); D) A Obj;25. 下面描述中,正确的是(BD )(两个答案)A) 虚函数是没有实现的函数 B) 纯虚函数的实现在派生类中C) 抽象类是没有纯虚函数的类 D) 抽象类指针可以指向不同的派生类26. 关于函数模板,描述错误的是( A )A) 函数模板必须由程序员实例化为可执行的函数模板B) 函数模板的实例化由编译器实现C) 一个类定义中,只要有一个函数模板,则这个类是类模板D) 类模板的成员函数都是函数模板,类模板实例化后,成员函数也随之实例化27. 下列的模板说明中,正确提(AD )(两个答案)A) template <typename T1, typename T2>B) template <class T1, T2>C) template <class T1, class T2>D) template <typename T1; typename T2>28. 假设有函数模板定义如下:Template <typename T>Max(T a, T b, T &c){ c=a+b; }下列选项正确的是(AD )(两个答案)A) float x,y; float z; Max(x,y,z);B) int x,y,z; Max(x,y,z);C) int x,y; float z; Max(x,y,z);D) float x; int y, z; Max(x,y,z);29. 关于类模板,描述错误的是( D )A) 一个普通基类不能派生类模板B) 类模板从普通类派生,也可以从类模板派生C) 根据建立对象时的实际数据类型,编译器把类模板实例化为模板类D) 函数的类模板参数须通过构造函数实例化30. 建立类模板对象的实例化过程为( C )A) 基类à派生类 B) 构造函数à对象C) 模板类à对象 D) 模板类à模板函数31. 在C++中,容器是一种( D )A) 标准类 B) 标准对象 C) 标准函数 D) 标准类模板32. 下列类中(BD )(两个答案)不是输入/输出流类iostream的派生类A) fstream B) ofstream C)strstream D)ostrstream33. 在下列选项中(BCD )(三个答案)是ostream类的对象A) cin B) cerr C)clog D) cout34. read函数的功能是从输入流中读取( D )A) 一个字符 B) 当前字符C) 一行字符 D) 指定若干个字符35. 下列选项中,用于清除基数格式位置以十六制输出的语句是( B )A) cout<<setf(ios::dec, ios::basefield);B) cout<<setf(ios::hex, ios::basefield);C) cout<<setf(ios::oct, ios::basefield);D) cin>>setf(ios::hex, ios::basefield);36. 下列格式控制符,在iostream.h中定义的是(AD )(两个答案),在iomanip.h中定义的是(BC )(两个答案)A) endl B) setfill C)setw D) oct37. 下列串流类,在strstream.h中定义的是(BD )(两个答案),在sstream.h 中定义的是(AC )A) istringstream B) istrstream C) ostringstream D) ostrstream38. 包含类fstream定义的头文件是( A )A) fstream.h B) ofstream.h C)ifstream.h D) iostream.h39. 要求打开文件 d:\file.dat,可写入数据,正确的语句是( D )A) ifstream infile(“d:\f ile.dat”, ios::in);B) ifstream infile(“d:\\file.dat”, ios::in);C) ofstream infile(“d:\file.dat”, ios::out);D) fstream infile(“d:\\file.dat”, ios::in| ios::out);40. 假定已定义浮点型变量data,以二进制方式把data的值写入输出文件流对象outfile中去,正确的语句是( C )A) outfile.write((float *) &data, sizeof(float));B) outfile.write((float *) &data, data);C) outfile.write((char *) &data, sizeof(float));D) outfile.write((char *) &data, data);二、简答题:1. 什么是预编译,何时需要预编译:回答:总是使用不经常改动的大型代码体。
程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。
在这种情况下,可以将所有包含文件预编译为一个预编译头。