C期末考试试卷及参考答案

合集下载

最新c语言期末考试试题及答案

最新c语言期末考试试题及答案

最新c语言期末考试试题及答案1. 一个C程序的组成部分可以是()。

A)一个主函数和一至若干个其他函数B)一至若干个主函数C)一个主程序和一至若干个其他函数D)一个主程序和一至若干个子程序2. 一个C程序的执行是从()。

(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束3. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。

A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一种字符4. 设有定义:int m=1,n=-1;则执行语句printf("%d\n",(m--&++n);后的输出结果是()。

A)–1 B)0 C) 1 D) 25. 表达式11&10的结果用二进制表示为()。

A)11B)3C)1D)106. 设有语句int a=3;则执行语句a+=a-=a*a后,变量a的值是()。

(A)3(B)0(C)9(D)-127. 在下列选项中,不的赋值语句是()。

A)t/=5;B)n1=(n2=(n3=0));C)k=i==j;D)a=b+c=1;8. 下列( )表达式不满足:当x的值为偶数时值为"真",为奇数时值"假"。

A)X%2==0B)!x%2!=0C)(x/2*2-x)==0D)!(x%2)9. 若有定义:int a=8,b= 5,c;执行语句c=a/b+0.4 后c的值为()A)1.4 B)1 C)2.0 D)210. 假设a=3,b=4,c=5,则逻辑表达式:!(a+b)+c-1&&b+c/2的值是()。

A)true B)false C)0D) 111. 若int a=3,b=4;则执行c=a++>2||b-->=4之后,b变量的值为()。

吉林师范成人教育《C语言程序设计试题》期末考试复习题及参考答案

吉林师范成人教育《C语言程序设计试题》期末考试复习题及参考答案

吉林师范成人教育期末考试试卷《C语言程序设计》A卷年级专业姓名分数一、选择题(每题1分共10分)1. 一个C语言程序是由。

A)一个主程序和若干个子程序组成 B)若干函数组成C)若干过程组成 D)若干子程序组成2. 不是整数。

下面不正确的字符串常量是。

A)'abc' B)"12'12" C)"0" D)" "3. 下面四个选项中,均是合法的浮点数的选项是。

A)+1e+1 B)-.60 C)123e D)-e35e-9.4 12e-4 1.2e-.4 .8e-403e2 -8e5 +2e-1 5.e-04. 以下正确的叙述是。

A)在C程序中,每行只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符5. 根据定义和数据的输入方式,输入语句的正确形式为。

已有定义:float f1,f2;数据的输入方式:4.523.5A)scanf("%f,%f",&f1,&f2); B)scanf("%f%f",&f1,&f2);C)scanf("%3.2f %2.1f",&f1,&f2); D)scanf("%3.2f%2.1f",&f1,&f2);6. 下面四个选项中,均是正确的数值常量或字符常量的选项是。

A)0.0 B)"a" C)'3' D)+0010f 3.9e-2.5 011 0xabcd8.9e 1e1 0xFF00 2e2'&' '\"' 0a 50.7. 若x、i、j和k都是int型变量,则计算下面表达式后,x的值为。

完整word版,C语言程序设计期末考试试题(含答案)

完整word版,C语言程序设计期末考试试题(含答案)

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

#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( )#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。

c语言期末复习试题附答案

c语言期末复习试题附答案

试卷编号:1120所属语言:C语言试卷方案:C语言期末考试试卷总分:100分共有题型:4种一、单项选择共30题(共计60分)第1题(分)设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A ).A:k++B:k+=1C:++kD:k+1第2题(分)已知int i=5,执行语句i+=++i后,i的值是(C).A:10B:llC:12D:A、B、C都不对第3题(分)以下程序的功能是:给r输入数据后,计算半径为r的圆面积s.程序在编译时出错. ttinclude <>void main()/* Beginning */{ int r;float s;scanf (〃%d〃,&r);s=p*r*r; printf (〃s=%f\n〃,s);出错的原因是(D).A:注释语句书写位置错误B:存放圆半径的变量r不应该定义为整型C:输出语句中格式描述符非法D:计算圆面积的赋值语句中使用了非法变量第4题(分)〃\\\〃 ABC\〃 \\〃的长度是(B ).A:llB:7C:5D:3第5题(分)已知int j, i=l执行语句j=-i++;后,j的值是(C ).A:1B:2串中的内容为“abcdefg”时,c 所指数组中的内容应该为 “lg2f3e4dcba” 。

*/ttinclude <>#include <>#include <>void fun ( char char *b, char *c )int i , j;char ch;i = 0;j 二 strlen(b)-l;/**********FOUND**********/ch = b [ i];b[j] = ch; i++; j —;/**********FOUND**********/while ( *a &&*b )//此处&&改为| | (逻辑或)if ()*c =*a;c++;/**********FOUND**********/a+;)if ( *b )*c 二*b; c++;b++;*c = 0;main()char sl[100],s2[100],t[200];clrscr ();printf (,z \nEnter si string : 〃);scanf (〃如〃,si);printf (,z \nEnter s2 string : 〃);scanf (〃%s 〃, s2);fun( si, s2, t );printf (/z \nThe result is : %s\n 〃,t );i j四、程序设计共1题(共计20分)第1题(分)/*【程序设计】功能:判断一个整数w 的各位数字平方之和能否被5整除, 可以被5整除则返回1,否则返回0。

大学《C语言程序设计》期末考试试卷及参考答案

大学《C语言程序设计》期末考试试卷及参考答案

大学《C语言程序设计》期末考试试卷及参考答案《C语言程序设计》期末考试试卷参考答案一、判断题(10分)1、对2、对3、错4、错5、对6、错7、错8、错9、错10、错二、填空题(30分,,1到10题1分1空,10到18题2分1空)1.2.5 2. a!=0&&b!=0 3. m=1b 4. windows 95 5. x[i]>='A'&&x[i]<='Z' 6.234567 7.文件的首纪录前8、struct tree *Ltree,*Rtree 9. i<=10010. char a[10]="continue"; 11. p*pow(1+r,5) 12. 'D' 13. 10、514.#define utol(ch) ch=ch>='A'&& ch<='Z' ? ch+'a'-'A':ch15.首行第i+1个元素的地址,第i+1行的首地址,a[0][0]的值16.p=(int*)mallo(n);17. (-b+sqrt(b*b-4*a*c))/2/a 18. float(*fg)(float **,int,int);三、单项选择题(在每小题的四个备选答案中选出一个正确的,10分))1、A2、B3、C4、B5、D6、A7、A8、B9、C 10、A四、程序阅读题(20分,每题4分)1、 A C E G2、 x=3 y=23、the two string are same:fthe two string are same:r4、 K=85、1《C语言程序设计》期末考试试卷及参考答案一、判断题(10分)1、C语言是一种结构化程序设计语言。

()2、在标准C中,整型变量与字符变量是可以通用的。

()3、在标准C中,“=”是判断两个数是否相等。

大学C++期末考试试卷(含答案)

大学C++期末考试试卷(含答案)

一、单项选择题(每题2分,共40分)1-5。

BDABC 6—10. BDAAC11-15。

CADBB 16—20。

CADDAB 1。

______不是属于面向对象程序设计的特性A。

抽象性 B. 数据相关性 C. 多态性 D. 继承性D 2。

将对某一类数据的处理算法应用到另一类数据的处理中,要用到C++的______A。

类 B. 虚函数 C. 运算符重载 D。

模板A 3. C++与C语言最根本的不同之处在于_______A。

使用了类 B. 能够实现变量自动初始化 C. 支持软件重用 D. 支持接口重用B 4. 动态内存分配的主要目的是_______A。

使程序按动态联编方式运行 B。

正确合理的使用内存C. 提高程序的运行速度D. 提高程序的可维护性C 5. 在C++函数的形参前加const关键字,是为了提高函数的_______A。

数据封装性 B。

可理解性 C。

可维护性 D. 可重用性B 6. 函数重载的目的是________A。

实现共享 B. 使用方便,提高可读性 C. 提高速度 D. 减少空间D 7. 从程序片断:char name[] = ”C++”; course(name);可判断函数course的调用采用的是_______ A。

传值调用 B. 带缺省参数值的函数调用 C. 引用调用 D。

传址调用A 8. 用来说明类中公有成员的关键字是________A。

public B. private C。

protected D。

friendA 9。

如果一个类的成员函数print()不修改类的数据成员值,则应将其声明为A。

void print() const; B。

const void print();C。

void const print(); D。

void print(const);C 10. 下列关于构造函数的论述中,不正确的是_______A。

构造函数的函数名与类名相同 B. 构造函数可以设置默认参数C. 构造函数的返回类型缺省为int型 D。

《化工安全管理与应用》期末考试试卷C卷附答案

《化工安全管理与应用》期末考试试卷C卷附答案

工业职业技术学院20 -20 学年第 1 学期应用化工〔本〕《化工平安管理与应用》期末考试试卷(C 卷)班级 姓名 学号一 .选择题〔在备选答案中选出正确答案,并将其号码填在题中的括号内。

每题1分共20分〕01.重大危险源中的单元指一个〔套〕生产装置、设施或场所,或同属于一个工厂的且边缘距离小于〔 〕米的几个〔套〕生产装置、设施或场所。

A 、100 B 、300 C 、500 D 、70002.《危险化学品平安管理条例》所称重大危险源,是指生产、运输、使用、储存危险化学品或处置废弃危险化学品,且危险化学品数量等于或超过〔 〕的单元。

A 、平安量B 、储存量C 、临界量D 、危险量 03.代号为E 的压力容器表示的是〔 〕A.反响容器B.换热容器C.别离容器 D .贮存容器 04. 控制生产性毒物的根本措施是〔 〕A 、生产密闭化、自动化;B 、 生产的流水线作业;C 、戴防毒面具;D 、安装防毒装置 05.关于平安阀及其安装说法错误的选项是〔 〕A 、垂直安装在容器本体上B 、液化气储罐平安阀要安装在气相部位C 、平安阀上应有标牌D 、平安阀的公称压力越低越好06.根据半数致死量〔浓度〕给毒物分为( )A.剧毒、高毒、中等毒、低度和微毒B.有毒和无毒C.高毒、中毒、微毒和无毒D.高毒、中等毒、低度、微毒和无毒07.以下关于危险化学品的储存过程中的平安技术的说法错误的选项是〔〕。

A.危险化学品应当储存在专门地点,不得与其他物资混合储存B.互相接触容易引起燃烧、爆炸的物品及灭火方法不同的物品,应该分类储存C.性质不稳定、容易分解和变质以及混有杂质而容易引起燃烧、爆炸危险的危险化学品,应该经常进行检查、测温、化验,防止自燃、爆炸D.不准在储存危险化学品的库房内或露天堆垛附近进行试验、分装、打包、焊接其他可能引起火灾的操作08.国内常用的卤代烷灭火剂1211是指〔〕。

A.二氟一氯一溴甲烷B.二氟二溴甲烷C.三氟一溴甲烷D.四氟二溴乙烷09.由认证机构指派的审核组对组织的职业平安健康管理体系进行审核属于〔〕。

《C语言程序设计基础》期末考试试卷‘B’及答案

《C语言程序设计基础》期末考试试卷‘B’及答案

一、单项选择题(每小题2分,共30分)答案填入下表1. 在C语言中,下面字符串能用作变量名的是( )。

A、a+bB、autoC、2-andD、a22. 若double x=2,y;则执行y=x+3/2;后,y的值是( )。

A、3.500000 B. 3.000000 C. 2.000000 D. 33. 下列关于C语言中字符常量与字符串常量的叙述中,错误的是( )。

A、字符常量是用单撇号括起来的一个字符B、空格字符也可用作字符常量C、字符串常量是用单撇号括起来的一个字符序列D、字符串常量是用双撇号括起来的一个字符序列4. 若有以下变量说明和数据的输入方式,则正确的输入语句为( )。

变量说明:float x1,x2;数据的输入方式:4.52<回车>3.5<回车>A、scanf(“%f,%f”,&x1,&x2);B、scanf(“%f%f”,&x1,&x2);C、scanf(“%3.2f,%2.1f”,&x1,&x2);D、scanf(“%3.2f%2.1f”,&x1,&x2);5. 下列程序段的执行结果是( )。

char s[10];s=″abcd″;printf(″%s\n″,s);A、输出abcdB、输出aC、输出abcduuuuuD、编译不通过6. 在一个源文件中定义的全局变量的作用域为()。

A. 本文件的全部范围B. 从定义该变量开始至本文件结束C. 本函数的全部范围D. 本程序的全部范围7.当调用函数时,实参是一个数组名,则向函数传送的是( )。

A、数组的长度B、数组的首地址C、数组每一个元素的地址D、数组每个元素中的值8.若j为整型变量,则下面while循环( )。

j=10;while(j!=0) j=j-1;A、执行0次B、执行1次C、执行10次D、执行无限次9. 在while(x)语句中的x与下面条件表达式等价的是:( )。

C语言期末考试试卷附参考答案

C语言期末考试试卷附参考答案

一、单项选择题(请将答案填在下面表格中20×1)1.以下叙述中正确的是()。

A.C语言比其他语言高级B.C语言可以不用编译就能被计算机识别执行C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D.C语言出现的最晚,具有其他语言的一切优点2.以下叙述中正确的是()。

A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C.main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3.以下叙述中正确的是()。

A.C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分4.以下有关for循环的正确描述是()。

A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5.对下面程序段的描述,正确的是()。

x=-1;do{x=x*x;}while(!x);A.是死循环B.循环执行一次C.循环执行两次D.有语法错误6.以下有关C语言数组说法正确的是()。

A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。

A.inta(20);B.inta[]={1,2,5,7,0};C.inta[n];D.inta[2]={1,2,4,6};8.在定义intb[2][10];之后,对b数组元素引用正确的是()。

A.b[0][9]B.b[2,3]C.b(1)(5)D.b[10][0]9.如有定义语句intc[]={1,5,3,4,6,7,0};,则数组c有()个元素。

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程序设计期末考试习题(含答案)

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。

(完整版)C语言程序设计试卷及参考答案

(完整版)C语言程序设计试卷及参考答案

《C语言程序设计》期末考试模拟试卷及参考答案(B)2012.6.5整理一、选择题(每题2分,共30分)1、# include <stdio.h>的结果是______void main ( ){ int a[3][3]={1,2,3,4,5,6,7,8,9};int s=0,i;for (i=0;i<3;i++)s+=(*(a+i))[i];printf("%d",s);}A.9B.12C.14D.15参考答案—D2、设有说明语句:char a= '\123abc';则变量a __________A. 包含7个字符B.包含6个字符C. 包含5个字符D. 包含4个字符参考答案—D3、有以下程序段int k=0while(k=1)k++;while 循环执行的次数是_____A. 无限次B.有语法错,不能执行C. 一次也不执行D. 执行1次参考答案—A4、在C语言中,_____。

A.函数定义可以嵌套,但函数调用不能嵌套B.函数定义不可以嵌套,但函数调用可以嵌套C.函数定义和调用均不能嵌套D.函数定义和调用均可以嵌套参考答案—B 5、以下叙述正确的是________A)do-while语句构成的循环不能用其它语句构成的循环代替。

B)do-while语句构成的循环只能用break语句退出。

C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。

D)用do-while语句构成的循环,在while后的表达式为零时结束循环。

参考答案—D6、以下关于函数叙述中,正确的是。

A.在函数体中可以直接引用另一个函数中声明为static类别的局部变量的值B.在函数体中至少必须有一个return 语句C.在函数体中可以定义另一个函数D.在函数体中可以调用函数自身参考答案—D7、以下数组声明语句中正确的是。

A.int a,a[n];B.int a[ ];C. int a[2][3]={{1},{2},{3}};D.int a[ ][3]={{1},{2},{3}};参考答案—C8、以下不能正确进行字符串赋初值的语句是________A.char str[5]= "good!";B.char str[ ]= "good!";C.char *str="good!";D.char str[5]={ 'g','o','o','d'};参考答案—A9、以下关于switch语句和break语句的描述中,只有______是正确的。

c面向对象程序设计期末考试题及完整参考答案

c面向对象程序设计期末考试题及完整参考答案
2.Iflyable接口定义中的public float Run(float distanee);,改为float Run(float distanee);
3.distanee/400.0改为distanee/400或者distanee/400.0f;
4.public float ISwimmable.Run(float distanee)改为float ISwimmable.Run(float distanee)
7.类索引函数的参数类型必须为或。
8.类对接口方法的实现时,在方法名称之前加上接口名,这叫做对接口方法的实现,此时这个方法是这个
类的员,不能通过类的实例来访问。
9.作为一种特殊的函数成员,重载类的操作符时,被重载的操作符必须被声明为公有的和,并通过在关键
字operator后跟操作符来声明。
二、判断题(每小题1分,共5分)
public virtual float Run( float dista nce)
{
retur n dista nce/Speed;
}
public Automobile(float speed)
{
Speed = speed;
}
}
public class Amphicar:Automobile, ISwimmable
Console.WriteLine("{0}空中飞行1000公里需{1}小时", plane, plane.Run(1000)); //调用IFlyable接口Run方法
Con sole.ReadL in e();
}
}
public in terface IFIyable
{
public float Run( float dista nee);

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

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

13.若有定义语句:int a[4][10],*p,*q[4];且0<=i<4,则错误的赋值是()。

A)p=a B)q[i]=a[i]C)p=a[i]D)p=&a[2][1]14.有以下程序struct S{int a,b;}data[2]={10,100,20,200};main(){struct S p=data[1];printf("%d\n",++(p.a));}程序运行后的输出结果是()。

A)10B)11C)20D)2115.下列叙述中,正确的是()。

A)C 语言中的文件是流式文件,因此只能顺序存取文件中的数据B)调用fopen 函数时若用"r"或"r+"模式打开一个文件,该文件必须在指定存储位置或默认存储位置处存在C)当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到该文件中的第1个数据D)无论以何种模式打开一个已存在的文件,在进行了写操作后,原有文件中的全部数据必定被覆盖二、输出结果(本题共30分)1.以下程序运行后的输出结果是()。

void main(){int a,b,c;a=25;b=025;c=0x25;printf("%d %d %d\n",a,b,c);}2.以下程序运行后的输出结果是()。

void main(){int m=3,n=4,x;x=-m++;x=x+8/++n;printf("%d\n",x);}3.如果输入3,9,5,则以下程序输出的结果为()。

void main(){int a,b,c,t;scanf("%d,%d,%d",&a,&b,&c);if(a<b ){t=a;a=b;b=t;}if(a<c )t=a;else if(b>c )t=b;else得分t=c;printf("t=%d\n",t);}4.以下程序运行后的输出结果是()。

C语言期末考试试卷及答案3

C语言期末考试试卷及答案3

一、单项选择题(本大题共20小题,每小题1分,共20分)1.下列说法正确的是()A.C程序可以从任何一个函数开始执行B.main函数可以被其它函数调用C.一个C程序只能有一个main函数D.main函数中不能有形参2.下列属于正确的标示符是()A.?aB.a=2C.a.3D.a_33.下列数据中属于“字符串常量”的是A.ABCB.“ABC”C.‘abc’D.‘a’4.char型常量在内存中存放的是()A.ASCII代码B.BCD代码C.内码D.十进制代码5.设字符型变量a=3,b=6,计算表达式c=(a^b)<<2后c的二进制值是()A.00011100B.00000111C.00000001D.000101006.若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c的值的类型为()A.floatB.intC.charD.double7.以下程序的输出结果是a=5,b=4,则输入数据的形式应该是()#include“stdio.h”main(){int a,b;scanf("%d,b=%d",&a,&b);printf("a=%d,b=%d",a,b);}A54B5,4C5b=4D5,b=48.C语言中,while和do…while循环的主要区别是()A.while的循环控制条件比do…while的循环控制条件严格B.do…while的循环体至少无条件执行一次C.do…while允许从外部转到循环体内D.do…while的循环体不能是复合语句9.循环语句for(x=0,y=0;(y!=123)||(x<4);x++);的循环执行()A.无限次B.不确定次数C.4次D.3次10.在C语言中,设有数组定义char array[]="China";则array所占的空间为()A.4个字节B.5个字节C.6个字节D.7个字节11.若变量已正确说明为int类型,要通过语句scanf(“%d%d%d”,&a,&b,&c);给a,b,c分别赋值3,5,8,不正确的输入形式是()A.3<enter>B.3,5,8<enter>5<enter>8<enter>C.3<enter>D.35<enter>58<enter>812.char*p="happy new year";char*q=p;int k;for(k=1;k<8;k++){putchar(*q);q++;}上面C程序段的输出结果是()A.happy new yearB.happy newC.happy nD.happyE.appy n13.设double*p[5];则A.p是指向double型变量的指针B.p是double型数组C.p是指针数组,其元素是指向double型变量的指针D.p是数组指针,指向double型数组14.两个指针变量不可以()A.相加B比较C相减D指向同一地址15.对C语言函数描述正确的是A.在C语言中调用函数时,只能把实参的值传给形参,形参的值不能传回给实参B.C函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D.函数必须有返回值,返回值类型不定16.设有如下定义,则对data中的a成员的正确引用是()struct test{int a;float b;}data,*p=&data;A.(*p).data.aB.(*p).aC.p->data.aD.p.data.a17.有如下程序(提示:注意宏替换的规则)#define N2#define M N+1#define NUM2*M+1#main(){int i;for(i=1;i<=NUM;i++)printf(“%d\n”,i);}该程序中的for循环执行的次数是()A.5B.6C.7D.818.若有以下定义,则printf(“%d\n”,sizeof(them));的输出是()typedef union{long x[2];int y[4];char z[8];}MYTYPE;MYTYPE them;A.32B.16C.8D.2419.下列语句中,将c定义为文件型指针的是()A.FILE c;B.FILE*c;C.file c;D.file*c;20.下列关于C语言数据文件的叙述中正确的是A.文件由ASCII码字符序列组成,C语言只能读写文本文件B.文件由二进制数据序列组成,C语言只能读写二进制文件C.文件由记录序列组成,可按数据存放形式分为二进制文件和文本文件D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件二、填空题(本大题共10小题,每小题2分,共20分)1.在定义变量的同时给变量赋予初值就称为___________________________________ 2.下面程序段的输出结果是___________________________________________ int a=28;a=a&21;printf(“%d%o\n”,a,a);3.能正确表示0≤a≤10的逻辑表达式是_________________________________4.若有定义int a[3],*p;则使p指向数组a的赋值语句是_______________________ 5.strcmp函数的功能是________________________________________6.写出数学式a acbbx24 2-+-=的C语言表达式________________________________ 7.将以下程序写成三目运算符的表达式是____________________________________if(a>b)max=a;else max=b8.设有定义如下:#define F(N)2*N,则表达式F(2+3)的值是_____________________. 9.在C语言中,指针运算符为___________________,取地址运算符________________。

C语言期末考试试卷附参考答案

C语言期末考试试卷附参考答案

一、单项选择题(请将答案填在下面表格中20×1)1. 以下叙述中正确的是()。

A. C语言比其他语言高级B. C语言可以不用编译就能被计算机识别执行C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D. C语言出现的最晚,具有其他语言的一切优点2. 以下叙述中正确的是()。

A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C. main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3. 以下叙述中正确的是()。

A. C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分4. 以下有关for循环的正确描述是()。

A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5. 对下面程序段的描述,正确的是()。

x=-1;do{x=x*x;}while(!x);A.是死循环B. 循环执行一次C. 循环执行两次D. 有语法错误6. 以下有关C语言数组说法正确的是()。

A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。

A. int a(20);B. int a[ ]={1,2,5,7,0};C. int a[n];D. int a[2]={1,2,4,6};8.在定义int b[2][10];之后,对b数组元素引用正确的是( )。

A. b[0][9]B. b[2,3]C. b(1)(5)D. b[10] [0]9. 如有定义语句int c[ ]={1,5,3,4,6,7,0};,则数组c有()个元素。

C语言期末考试试卷及答案3

C语言期末考试试卷及答案3

一、单项选择题(本大题共20小题,每小题1分,共20分)1.下列说法正确的是()A.C程序可以从任何一个函数开始执行B.main函数可以被其它函数调用C.一个C程序只能有一个main函数D.main函数中不能有形参2.下列属于正确的标示符是()A.?aB.a=2C.a.3D.a_33.下列数据中属于“字符串常量”的是A.ABCB.“ABC”C.‘abc’D.‘a’4.char型常量在内存中存放的是()A.ASCII代码B.BCD代码C.内码D.十进制代码5.设字符型变量a=3,b=6,计算表达式c=(a^b)<<2后c的二进制值是()A.00011100B.00000111C.00000001D.000101006.若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c的值的类型为()A.floatB.intC.charD.double7.以下程序的输出结果是a=5,b=4,则输入数据的形式应该是()#include“stdio.h”main(){int a,b;scanf("%d,b=%d",&a,&b);printf("a=%d,b=%d",a,b);}A54B5,4C5b=4D5,b=48.C语言中,while和do…while循环的主要区别是()A.while的循环控制条件比do…while的循环控制条件严格B.do…while的循环体至少无条件执行一次C.do…while允许从外部转到循环体内D.do…while的循环体不能是复合语句9.循环语句for(x=0,y=0;(y!=123)||(x<4);x++);的循环执行()A.无限次B.不确定次数C.4次D.3次10.在C语言中,设有数组定义char array[]="China";则array所占的空间为()A.4个字节B.5个字节C.6个字节D.7个字节11.若变量已正确说明为int类型,要通过语句scanf(“%d%d%d”,&a,&b,&c);给a,b,c分别赋值3,5,8,不正确的输入形式是()A.3<enter>B.3,5,8<enter>5<enter>8<enter>C.3<enter>D.35<enter>58<enter>812.char*p="happy new year";char*q=p;int k;for(k=1;k<8;k++){putchar(*q);q++;}上面C程序段的输出结果是()A.happy new yearB.happy newC.happy nD.happyE.appy n13.设double*p[5];则A.p是指向double型变量的指针B.p是double型数组C.p是指针数组,其元素是指向double型变量的指针D.p是数组指针,指向double型数组14.两个指针变量不可以()A.相加B比较C相减D指向同一地址15.对C语言函数描述正确的是A.在C语言中调用函数时,只能把实参的值传给形参,形参的值不能传回给实参B.C函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D.函数必须有返回值,返回值类型不定16.设有如下定义,则对data中的a成员的正确引用是()struct test{int a;float b;}data,*p=&data;A.(*p).data.aB.(*p).aC.p->data.aD.p.data.a17.有如下程序(提示:注意宏替换的规则)#define N2#define M N+1#define NUM2*M+1#main(){int i;for(i=1;i<=NUM;i++)printf(“%d\n”,i);}该程序中的for循环执行的次数是()A.5B.6C.7D.818.若有以下定义,则printf(“%d\n”,sizeof(them));的输出是()typedef union{long x[2];int y[4];char z[8];}MYTYPE;MYTYPE them;A.32B.16C.8D.2419.下列语句中,将c定义为文件型指针的是()A.FILE c;B.FILE*c;C.file c;D.file*c;20.下列关于C语言数据文件的叙述中正确的是A.文件由ASCII码字符序列组成,C语言只能读写文本文件B.文件由二进制数据序列组成,C语言只能读写二进制文件C.文件由记录序列组成,可按数据存放形式分为二进制文件和文本文件D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件二、填空题(本大题共10小题,每小题2分,共20分)1.在定义变量的同时给变量赋予初值就称为___________________________________ 2.下面程序段的输出结果是___________________________________________ int a=28;a=a&21;printf(“%d%o\n”,a,a);3.能正确表示0≤a≤10的逻辑表达式是_________________________________4.若有定义int a[3],*p;则使p指向数组a的赋值语句是_______________________ 5.strcmp函数的功能是________________________________________6.写出数学式a acbbx24 2-+-=的C语言表达式________________________________ 7.将以下程序写成三目运算符的表达式是____________________________________if(a>b)max=a;else max=b8.设有定义如下:#define F(N)2*N,则表达式F(2+3)的值是_____________________. 9.在C语言中,指针运算符为___________________,取地址运算符________________。

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

读书破万卷下笔如有神的正确性,在下面表格中号—对应的题号下填入是非选择,学—若正确,则打钩(√);否则,打叉(×)。

—线题号 1 2 3 4 5 6 7 8 9 10 —是/否——1. 说明函数原型时不需要指明每个函数参数的名字,只需要说明每个参数的类型和—返回值类型就可以了。

—2. 函数定义中的形参的作用域是该函数的函数体。

—__—3. 用 new 动态申请的内存空间,必须用 delete 来释放。

__—_4. 构造函数和析构函数都可以声明为虚函数。

_—_5. 在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。

_—__—6. 类的静态数据成员需要在定义每个类的对象时进行初始化。

_名—7. 使用关键字 class 定义的类中缺省的访问权限是私有(private)的。

姓—8. 在基类中被说明为虚函数的类的成员函数必须在每个派生类中说明为虚函数,才能具有——多态的特征。

订9. C++程序中,程序将流对象看作是文件的化身。

—10.如果程序中有多处要抛掷异常,应该用不同的操作数类型来相互区别,操作数的值不—能用来区别不同的异常。

——__—_二、填空题(每小题 1. 5 分,共15 分)_—__1 .变量名是变量的标识,由组成,而且必须以—__—开头。

__—_2.有了函数原型,函数的作用域就不是从开始,而是从开始。

级—3.获取一个变量的地址所采用的操作符是。

班装—4.使用 const 语句定义一个标识符常量时,则必须对它同时进行。

—5.假定类AB 中有一个公用属性的静态数据成员bb,在类外不通过对象名访问该成—员bb 的写法为。

—6.typedef 语句的作用为。

—__—7.平时所提到的使用MFC 编程,这里的 MFC 是的缩写。

__—_8.若要在程序文件中进行标准输入输出操作,则必须在开始的 # include 命令中_—__—使用头文件。

__—9.C++中,若将操作符插入到输出流中,则以十六进制格式输出。

院—10.C++程序中,异常处理程序的主要任务是。

—学——三、单选题(在备选答案中选出一个正确答案填入括号内,每小题 2 分,共20 分)1.C++对 C 语言作了很多改进,下列描述中使得 C 语言发生质变,从面向过程变成了面向对象的是(。

)读书破万卷下笔如有神A.增加了一些新的运算符 B. 允许函数重载,并允许设置缺省参数C.规定函数说明必须用原型 D. 引进了类和对象的概念2.当一个函数无返回值时,定义它的函数的类型是( )。

A. voidB. intC. 无D. long3.下列不是构造函数特征的是()。

A. 构造函数的函数名与类名相同B. 构造函数可以重载C. 构造函数可以设置缺省参数D. 构造函数必须指定返回类型4.关于成员函数特征的下列描述中,错误的是()。

A.成员函数一定是内联函数 B.成员函数可以重载C.成员函数可以设置缺省参数值 D.成员函数可以是静态的5.关于new 运算符的下列描述中,错误的是()。

A. 它可以用来动态创建对象和对象数组B. 使用它创建的对象或对象数组可以使用运算符delete 删除C. 使用它创建对象时要调用构造函数D. 使用它创建对象数组时必须指定初始值 6.派生类的对象对它的基类成员中可以访问的是()。

A. 公有继承的公有成员B. 公有继承的私有成员C. 公有继承的保护成员D. 私有继承的公有成员7.下列描述中,正确的是().A. 虚函数是一个static 类型的成员函数B. 虚函数是一个非成员函数C. 抽象类是指具有纯虚函数的类D. 抽象类可以说明其对象8.假定要对类 AB 定义加号操作符重载成员函数,实现两个 AB 类对象的加法,并返回相加结果,则该成员函数的声明语句为 ( )。

A. AB operator+(AB & a, AB & b)B. AB operator+(AB & a)C. operator+(AB a)D. AB & operator+( )9.下列不属于VC消息映射内容的是( )。

A. 通过将 DECLARE_MESSAGE_MAP 添加到类声明,声明消息映射B. 改写MFC相关类的虚函数C. 放置标识消息的宏来执行消息映射D. 添加成员函数来处理消息 10.下列关于 VC++编程描述中,错误的是()。

A. Windows 是一个基于事件驱动、基于消息的操作系统。

B.Windows 程序始终是程序而不是操作系统决定何时调用哪个函数。

C.对于使用 VC 向导生成的程序框架,我们也可以用手工的方式写出。

D.MFC 类库其实是对 windows API 函数的封装。

四、根据下面各小题题目要求进行简单回答(第 1 小题 6 分,第 2 小题 3 分,第 3 小题 6 分,共15 分)(1) 已知类 B 和类 D,它们的类关系如下。

请以类对象 b1,d1 和指针 pb1 为例简要说明 C++赋值兼容规则。

(本小题 6 分)class B{ … };class D :pubic B读书破万卷下笔如有神{ … };B b1, * pb1;答:a)b)C)(2) 下列的程序定义了一个交换两个浮点数的函数swap,并在主函数中调用这个函数进行两个浮点数的交换(本小题 3 分)void swap (float a , float b){float temp=a;a=b; b=temp;}void main( ){float a=1,b=2;swap ( a, b );}错误为:改正方法为:(3) 写出下面程序运行结果。

(本小题 6 分)#include <iostream.h>class A{public:virtual void act1() { cout<<A::act1() called. <<endl; }void act2() { act1(); }};class B : public A{public:void act1() {cout<<B::act1() called. <<endl;}读书破万卷下笔如有神};void main(){B b;p=&b;b.act1 ();p->act1();p->act2 ();}答:五、下面的程序共有17 行,程序的每行前面加上了行号。

程序中变量num、i 、temp、对象cout 和函数func()的作用域范围分别是什么?在程序的下面用行号来回答。

(每小题 1 分,共10 分)1.#include <iostream.h>2.int num;3.void func();4.void main()5. {6.char name[20];7.int i;8. for(i=0; i<20; i++)9. {10.char temp;temp=name[i];11.读书破万卷下笔如有神12.cout<<temp;14. }15. void func()16.{17. cout<<”A function!”;18. }回答:num 的作用域为从第行到第行。

行。

行到第i 的作用域为从第行。

行到第temp 的作用域为从第行。

行到第cout 的作用域为从第行。

行到第func 的作用域为从第六、程序回答题(每小题 1 分,共 5 分)说明:读懂程序,为便于提问,程序每行前面加有行号,请对所提的问题做出准确解答。

1.#include <iostream.h>2.int CircleArea()3.{4.double *pd=new double;5.if(!pd)6.{7.cout<<Error Memory Allocation!<<endl;8.return 1;9.}10.double &rd=*pd;11.cout<<The radius is: ;12.cin>>rd;13.cout<<The Area of Circle is: <<rd*rd*3.14<<endl;14.delete &rd;15.return 0;16.}17.void main()18.{19.if(CircleArea())20.cout<<The programn failed!<<endl;21.else22.cout<<The programn successed!<<endl;23.}请写出下列问题答案:行起何作用?4 第a)读书破万卷下笔如有神答:b) 第5-9 行可否省去?并说明原因。

答:c) 第14 行起何作用?答:d) 此程序功能是什么?答:e) 解释14 行中&符号的意义?答:七、请完成下面 2 个运算符重载函数,并对程序最后一行分析错误原因并改正(本题运算符重载函数各 3 分,分析错误原因并改正 4 分,共10 分)给定整数类:class Integer{public:void Set ( int ii=0 ) { i=ii; }Integer operator + ( int c );Integer operator + (Integer & c);void Display() {cout<<i<<endl;}private:int i; };请完成上面 2 个运算符重载函数,并以下面的主函数进行测试。

void main(){Integer A, B, C;A.Set(20);C.Set(10);B=A+4;B.Display();B=A+C;B.Display();B=4+A; // 此行代码有误,请分析错误原因并改正}读书破万卷下笔如有神八、编程题。

声明一个shape 抽象类,在此基础上派生出Rectangle 和Circle 类,二函数计算对象的面积,按下面的要求完成程序的编制工作。

GetArea ( ) 者都有.读书破万卷下笔如有神( 1 ) Rectangle 类有m_Width, m_Height 属性;( 2 ) Circle 类有m_Radius 属性;( 3 ) 分别编写Rectangle 类和Circle 类带默认参数的构造函数;( 4 ) 编写主函数对Rectangle、Circle 类进行测试,使它们以统一的操作界面输出面积;(提示:利用for 循环进行输出)( 5 ) 回答将Shape 类声明为抽象类的方法及意义。

(每小题2 分,本题共10 分):)卷(A 答案和评分标准.读书破万卷下笔如有神一、是非题(每小题 1.5 分,共 15 分)评分标准:选对者得 1.5 分,否则不得分题12345678910对/二、填空题(每小题 1. 5 分,共15 分)评分标准:每题与参考答案相同者得 1.5 分,否则不得分。

相关文档
最新文档