C期末复习题2010(答案)
期末C程序考试复习题答案
29、设有程序段
int a=8;
while(a=0) a++;
则下面描述正确的是( C )。
A、while循环执行10次 B、循环是无限循环
C、循环体一次也不执行 D、循环体只执行一次
C、ch=‘7’+‘9’ D、ch=7+9
2、以下4组用户定义标识符中,全部合法的一组是 (A ) 。
A、s_5 B、If C、txt D、int
about -max REAL k_2
24、下列形式的常数中,C程序不允许出现的是( D )。
A、 0.98 B、 6e4 C、 77.6e-2 D、 E8
25、分析以下程序:
void main( )
{ int x=5,a=0,b=0;
if(x=a+b) printf("** **\n");
( A )
A、1 0 B、0 1 C、非0 非0 D、1 1
22、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( C )。
[转] 期末C程序考试复习题答案(选择题和填空题) 转载自 万洪超 转载于2010年06月18日 16:37 阅读(2) 评论(0)
分类: 转转 举报
一、单选题:
1、已知ch是字符型变量,下面不正确的赋值语句是( B )。
A、ch=‘\0’ B、ch=‘a+b’
A、1 B、2 C、-1 D、-2
5、已知:int i=5;执行语句i+=++i;后,i的值是( C )
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)
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语言复习题一、单项选择题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) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是 ( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
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语言考试期末考试复习题及答案一、选择题(1)一个C语言程序总是从()开始执行A)书写顺序的第一个函数B)书写顺序的第一条执行语句C)主函数main( )D)不确定(2)设int x=3,y=4,z=5,则下列表达式中的值为0的是()A) ‘x'&&’y’B)x||y+z&&y—z C) x〈=y D)!((x〈y)&&!z||1)(3)执行以下程序段后,i的值是()int i=10;switch(i+1){case 10:i++; break;case 11:++i;case 12:++i;break;default :i=i+1;}A) 11 B)13 C) 12 D) 14(4)语句while(!e);中的条件!e等价于()A)e==0 B)e!=1 C) e!=0 D)运行时出错(5)用int a[4]={1,2}; 对数组进行初始化后,数组元素a[3]的值是()A)随机值B) 0 C) 1 D)F(6)在执行char str[10]=“china\0”;strlen(str)的结果是()A)5 B) 6 D) 7 D 9(7)若有定义,char *p=”computer";则语句printf(“%c”,*(p+2))运行结果是()A) 随机值B) m C)o D)omputer(8)在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)));函数fun1参数的个数为()A) 8 B) 4C)5 D)编译出错(9)在说明一个结构体变量时系统分配给它的存储空间是()A)该结构体中第一个成员变量所需存储空间B)该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和Key:CDCAB ABBD1。
用C语言编写的代码程序A)可立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释才能执行2。
C语言程序设计期末考试复习题及答案
C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
有机化学II期末复习题2010级
有机化学II期末复习题2010级2010级药学班有机化学II复习题⼀、命名题:命名下列化合物:1、CH3CH CHCH2CH2CHO2、CH3CH2COOCOCH(CH3)23、CH3CH2OOCCH2CH2CH2COOH4、CH3CH2CHCHCOCH3CH3CH2CH2CH35、CHOBrH3C6、COOHBrBr7、OHCH2CH3O2N8、OHH2C=HCH2COCH39、COOCH2C6H5HOH3CO10、2COOHOCH3CHOOCH2CH312、HOOCCH2CH2CHCOOH NH213、HSCH2CHCOOH NH214、H3CNCH2CH3H3CCH315、CHOH OHHO HCH2OHH OH16、CH2OHH OHHO HCH2OHH OH17、N2BrBrBrBr18、NN N HNCH3NO2HO20、NN S21、N HN22、NNNH2H2N23、H3C CH3NHCH324、N(CH3)CH2CH3H3CH2C25、CHO H OH H OH CH 2OH H OH26、CHO OH H H HO OH H OH HCH 2OH27、CH 2OH OH HO OH H OH H CH 2OH 28、CHOH H H OH CH 2OH H OH29、COOH H Cl CH 2OH HOH30、Br (CH 3CH 2)3NCH 2C 6H 531、Br (CH 3)3NCH 2(CH 2)12CH 3 32、OH (CH 3CH 2CH 2)4NCH 2OOCCH 2CH 2CH 3CHOOCCH 2CH 2CH 3CH 334、COOH H 3COH35、N 2H 3CCl⼆、单项选择题:1、下列化合物酸性最强的是()。
A. 对氯苯甲酸B. 对甲基苯甲酸C. 对硝基苯甲酸D. 苯甲酸A. 对甲基苯酚B. 苯酚C. 对硝基苯酚D. 对氯苯酚 2、下列化合物中酸性最强的是()。
Word2010复习题及答案
Word复习题一、选择题1.中文word是(A )A 字处理软件B 系统软件C 硬件D 操作系统2.在word的文档窗口进行最小化操作(C )A 会将指定的文档关闭B 会关闭文档及其窗口C 文档的窗口和文档都没关闭D 会将指定的文档从外存中读入,并显示出来3.若想在屏幕上显示常用工具栏,应当使用(A )A “视图”菜单中的命令B “格式"菜单中的命令C “插入”菜单中的命令D “工具”菜单中的命令4.在工具栏中 按钮的功能是( A )A 撤销上次操作B 加粗C 设置下划线D 改变所选择内容的字体颜色5.用word进行编辑时,要将选定区域的内容放到的剪贴板上,可单击工具栏中( C )A 剪切或替换B 剪切或清除C 剪切或复制D 剪切或粘贴6.在word中,用户同时编辑多个文档,要一次将它们全部保存应(A)操作。
A按住Shift键,并选择“文件"菜单中的“全部保存”命令。
B按住Ctrl 键,并选择“文件”菜单中的“全部保存”命令。
C直接选择“文件”菜单中“另存为”命令。
D按住Alt键,并选择“文件”菜单中的“全部保存”命令。
7.设置字符格式用哪种操作( A )A “格式”工具栏中的相关图标B “常用”工具栏中的相关图标C “格式”菜单中的“字体"选项D“格式”菜单中的“段落"选项8.在使用word进行文字编辑时,下面叙述中(C)是错误的。
Aword可将正在编辑的文档另存为一个纯文本(TXT)文件。
B使用“文件”菜单中的“打开”命令可以打开一个已存在的word 文档。
C打印预览时,打印机必须是已经开启的。
Dword允许同时打开多个文档。
9.使图片按比例缩放应选用( B )A 拖动中间的句柄B 拖动四角的句柄C 拖动图片边框线D 拖动边框线的句柄10.能显示页眉和页脚的方式是( B )A 普通视图B页面视图 C 大纲视图 D 全屏幕视图11. 在word中,如果要使图片周围环绕文字应选择( B )操作.A “绘图”工具栏中“文字环绕”列表中的“四周环绕”。
《C程序设计》期末复习练习题及参考答案(3)
《C程序设计》期末复习练习题及参考答案(3)《C程序设计》期末复习练习题及参考答案(3)一、单项选择题1.若有定义int (*p)[4],则标识符p是一个。
A)指向整型变量的指针变量B)指向函数的指针变量√C)指向有四个整型元素的一维数组的指针变量D)指针数组名,有四个元素,每个元素均为一个指向整型变量的指针2.下列对字符串的定义中,错误的是:。
√A) char str[7] = "FORTRAN";B) char str[] = "FORTRAN";C) char *str = "FORTRAN";D) char str[] = {'F','O','R','T','R','A','N',0};3.针对下面程序段,下面哪些说法是正确的?#include <stdio.h>void Swap(int *x, int *y);main()1{ int a, b;a = 5;b = 9;Swap(&a, &b);printf("a=%d,b=%d",a,b);}void Swap(int *x, int *y){ int *pTemp;*pTemp = *x;*x = *y;*y = *pTemp;}A) 程序运行结果为乱码;B) 程序运行后将导致程序崩溃;C) 程序编译时出错导致程序无法运行;√ D) 程序执行了危险的操作;4.已知学生记录描述为:struct student{ int no;char name[20];char sex;struct{ int year;char month[15];2int day;}birth;};struct student s;设变量s中的生日是1984年11月11日,下列对生日的正确赋值方式是_____A) s.birth.year = 1984; s.birth.month = "11"; s.birth.day = 11;B) s.birth.year = 1984; s.birth.month = 11; s.birth.day = 11;√ C) s.birth.year = 1984; strcpy(s.birth.month, "11"); s.birth.day = 11;D) s.birth.year = 1984; strcpy(s.birth.month, 11); s.birth.day = 11;5. 要使下面程序的输出1, 2, 34,则从键盘输入的数据格式应为。
2010复习题参考答案全解
PowerPoint 2010复习题一.单选题1.PowerPoint2010 系统默认的视图方式是( C )A.大纲视图 B.幻灯片浏览视图C.普通视图D.幻灯片视图2. 在演示文稿中,给幻灯片重新设置背景,若要给所有幻灯片使用相同背景,则在“背景”对话框中应单击( A )按钮。
A. 全部应用B. 应用C. 取消D. 重置背景3.创建动画幻灯片时,应选择 "动画" 选项卡的“动画”组中( A )。
A.自定义动画 B. 动作设置 C. 动作按钮 D. 自定义放映4.在Powerpoint2010中,对已做过的有限次编辑操作,以下说法正确的是( D )A.不能对已作的操做进行撤消B.能对已经做的操作进行撤消,但不能恢复撤消后的操作C. 不能对已做的操作进行撤消,也不能恢复撤消后的操作D. 能对已做的操作进行撤消,也能恢复撤消后的操作5. 放映幻灯片时,要对幻灯片的放映具有完整的控制权,应使用( A )。
A. 演讲者放映B. 观众自行浏览C. 展台浏览D. 重置背景6.在Powerpoint2010中,不属于文本占位符的是( D )A. 标题B. 副标题C. 普通文本D. 图表7. 下列( B )不属于 PowerPoint2010 创建的演示文稿的格式文件保存类型。
A.PowerPoint放映 B.RTF 文件 C.PowerPoint模板 D.WORD文档8. 下列( B )属于演示文稿的扩展名。
A..opx B..pptx C..dwg D..jpg9. 在 PowerPoint 中输入文本时,按一次回车键则系统生成段落。
如果是在段落中另起一行,需要按下列( B )键。
A.Ctrl+Enter B.Shift+Enter C.Ctrl+Shift+Enter D.Ctrl+Shift+Del 10.在幻灯片上常用图表( B )。
A.可视化的显示文本B.直观地显示数据C.说明一个进程D.直观地显示一个组织的结构11. 绘制图形时,如果画一条水平.垂直或者45度角的直线,在拖动鼠标时,需要按下列( C )键。
大学C语言期末考试题库试题及答案汇总-填空 复习题
大学C语言期末考试题库试题及答案汇总-填空复习题1.以下程序的输出结果是______。
main(){ int a=0;a+=(a=8);printf("%d\n",a);}答案:16知识点:赋值表达式2.若有定义:int a=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是______。
c=(a-=(b-5));c=(a % 11)+(b=3);答案:3知识点:赋值表达式3.以下程序运行后的了输出结果是______。
main(){ int a=1,b=2,c=3;if(c=a) printf("%d\n",c);else printf("%d\n",b);}答案:1知识点:赋值表达式4.若有语句int i=-19, j=i%4;printf("%d\n",j);则输出结果是______。
答案:-3知识点:算术表达式7.设y 是int型变量,请写出判断y为奇数的关系表达式______。
答案:y%2知识点:算术表达式12.下面程序的输出是______。
main(){ int x=2;while(x--);printf("%d\n", x);}答案:-1知识点:自加、自减运算符和逗号运算符19.以下程序的输出结果是______。
void fun(){ static int a=0;a+=2; printf("%d",a);}main(){ int cc;for(cc=1;cc<4;cc++) fun();printf("\n")}答案:246知识点:函数的调用21.若有以下程序int f(int x,int y){ return(y-x)*x; }main(){ int a=3,b=4,c=5,d;d=f(f(3,4),f(3,5));printf("%d\n",d);}执行后输出结果是______。
【期末复习】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语言期末复习填空题部分(含答案)work Information Technology Company.2020YEAR期末复习填空题部分一、填空题1 设x为int型变量,写出描述“x是偶数与y是奇数”的表达式是 x%2==0 && y%2==1 。
2 以下程序的输出结果是 -27 。
#include<stdio.h>void main(){ char c;c=0345;printf("%d\n",c);}3 设有语句int a=3;,则执行了语句 a+=a-=a*a后,变量a的值是 -12 。
4 若float x;以下程序段的输出结果是 5.142000x=3.1415926;printf("%f\n",(int)(x*1000+0.5)/(float)1000);5 下面的程序运行时从键盘上输入1234567890<回车>,程序的输出结果是a=123,b=456.0,c=789。
#include<stdio.h>void main(){int a;float b,c;scanf("%3d%3f%3f",&a,&b,&c);printf("a=%d,b=%.1f,c=%.0f",a,b,c);}6 若输入字符串:abcdefg<回车>,则以下while循环体将执行 0 次。
while((ch=getchar())=='g') printf("*");7 下面程序的输出结果是_67,D__。
main(){ char ch1,ch2;ch1='A'+'5'-'3'; ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}8 执行下面的语句:printf("%d\n",(a=3*5,a*4,a+5));,输出是 20 。
2010级C语言复习题(精简)
A 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对
B 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错
C语言复习题(判断题)
序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 题目 注释语句必须用/*和*/括起来,且只能位于某一语句的后面 “a”和‘a’均是占用1个字节的内存空间 数据 的 语句while(!E);中的条件!E等价于E==0。 语句while(E);中的条件E等价于E!=0。 若有for( ; ; ){„„},是指循环体执行0次。 程序有死循环的时候,上机编译不能通过。 强制终止死循环可以使用CTRL+BREAK组合键。 执行for(I=0;I<3;I++);后I的值为2。 执行for(i=0,j=0;i<4;i++);j=j+1;后j的值为1。 所有类型的循环都可以进行嵌套使用。 利用break语句可以提前终止循环的执行。 利用continue语句可以提前终止循环的执行。 break语句和continue语句不可以同时出现在同一个循环体内。 switch语句中,每一个case的冒号后面都必须至少跟有一条语句 关于if语句中,条件表达式只能是关系表达式或逻辑表达式 for循环表达式的括号内的3个表达式均不可以省略。 用1作while循环的判断条件,则循环一次也不执行。 在C语言中,实型数据在内存都中占4个字节。 在C语言中,参加算术(+,-,*,/,%)运算的数据可以是任何类型的数据。 若有定义和语句:int a;char c;scanf("%d,%c",&a,&c);当通过键盘输入: 10,‘A’之后,则变量a中存放的是10,变量c中存放的是‘A’。 C语言中,变量名只能是小写字母表示,符号常量名可用大写表示 在C语言中,变量可以不要定义,直接使用 一个C语言程序总是从main主函数开始执行的 程序段:i=8,j=10;printf("%d,%d,%d,%d\n",i,j,++i,j++);其结果9,10,9,10. while循环的循环体可能一次也不会执行。 表达式j=-i++和j=-(i++)不相等 C语言中多个以“;”结束的语句不能放在同一行。 以下常数:'101',e3,’\78’,12e2.5都是不合法的。 变量说明语句int a=b=c=23;是正确的。 C语句:3*x*x+4*x+1+6sin(x)=y是可以允许的。 C语言中/*..*/之间的注释内容是不能跨行的。 C语言中强制类型转换不会改变原变量的原有数据类型。 C语言中放在""之间的内容都被视为字符串的一个构成部分,都可以在屏幕上原样显示。 字符型数据不可以和整数数据一起进行算术运算。 C语言是严格区分大写和小写的,因次主函数不能写成main()以外的其他形式。 C语言程序是从源文件的第一条语句开始执行的。 C语言对其数据在内存中所占用的实际字节数是有明确规定的。 在程序中可以对数值数组中的数据进行整体使用 如果strcmp(s1,s2)的返回值为一个负数,则表明字符串s1一定小于字符串s2 字符数组的输出不能一次性的整体输出。 用scanf函数输入的字符串不可以带空格。 用gets函数输入的字符串可以带空格。 实现两个字符串的复制可以使用str1=str2;语句。 使用strcpy函数可以实现两个字符串的复制。 使用strcat函数可以实现两个字符串的连接。 字符数组的输出不能一次性的整体输出。 引用数组元素时,其数组下标的数据类型允许的是:整型常量或整型表达式。 若有int a[10]={6,7,8,9,10};,则是将5个初值依次赋给a[0]至a[4]。 一个一维数组,它的每一个元素也是类型相同的一维数组时,便构成二维数组 在C语言中,允许用字符串来直接初始化字符数组。 使用strlen函数可以求出一个字符串的实际长度(包含‘\0’字符)。 如有定义char a[]="student";则数组a的长度为7 如有定义char a[20];则可以通过a=“I am a boy”;给a赋值。 如有定义int a[2][3];则数组a的最后一个元素为a[1][2]。 如有定义int a[3][4]={0}; 则数组a的所有元素初值均为0 C语言中数组名实质上是数组的首地址,是一个变量地址,可对其进行赋值 构成数组的各个元素可以有不同的数据类型。 若有说明:int a[10];,则可以用a[10]引用数组a的第10个元素。 判断题 A 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 第 B 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 1 页 正 确 B B A A B B A B A A A B B B B B B B B B B B A A A B B A B B B A B B A B A B A B A A B A A B A A A A B B B A A B B B
2010年中国近现代史纲要期末考试复习试题1及答案
一、单项选择题(1-16小题,每小题1分,共16分。
下列每小题给出的四个选项中,只有一个选项是符合题目要求的,请将正确答案在答题卷中相应位置的〇涂黑。
)1.中国近代史的起点是( A )A.1840年鸦片战争B.1900年八国联军侵华战争C.1911年辛亥革命D.1919年五四运动2.下列哪个条约规定允许外国公使常驻北京( A )A.《天津条约》B.《南京条约》C.《五口通商章程》D.《北京条约》3.中国近代史上中国人民第一次大规模的反侵略武装斗争是( A )A.三元里人民抗英斗争B.台湾军民抗日之战C.太平天国农民起义D.义和团运动4.1856年发生的严重削弱了天平天国军事力量,成为太平天国由盛转衰分水岭的事件是( B )A.北伐失利B.天京事变C.洪秀全病逝D.天京陷落5.洋务运动时期洋务派兴办的最大的兵工厂是( C )A.金陵机器局B.福州船政局C.江南制造总局D.天津机器局6.清末“预备立宪”的根本目的在于( C )A.推进政体变革B.发展资本主义C.延续反动统治D.缓和阶级矛盾7.同盟会的机关刊物是( A )A.《民报》B.《新民丛报》C.《苏报》D.《国民报》8.1919年五四运动至1949年新中国成立以前,中国是( B )A.封建社会B.半殖民地半封建社会C.资本主义社会D.社会主义社会9.在中国大地率先举起马克思主义旗帜的是( D )A.陈独秀B.毛泽东C.周恩来D.李大钊10.中共确定建立抗日民族统一战线的方针的会议是( C )A.八七会议B.遵义会议C.瓦窑堡会议D.洛川会议11.以国共合作为基础的抗日民族统一战线正式建立的标志是( B )A.西安事变的和平解决B.国民党中央通讯社公布《中国共产党为公布国共合作宣言》C.中共中央发布《停战议和一致抗日》D.中国工农红军改编为八路军、新四军12.中国人民抗日战争胜利纪念日是( D )A.8月14日B.8月15日C.9月2日D.9月3日13.1946年5月4日,中共中央发布指示,决定将减租减息的政策改为没收地主土地分配给农民,揭开了解放区土地改革的序幕,该指示是( D )A.《中国土地法大纲》B.《土地改革法》C.《战时土地政策纲领》D.《关于清算减租及土地问题的指示》14.1949年1月22日,民主党派和无党派人士联合发表( C ),表示愿意接受中国共产党的领导,拥护建立人民民主的新中国。
C语言期末复习题附答案
1、凡是函数中未指定存储类型的局部变量,其隐含的存储类型为( A )。
A、autoB、 staticC、externD、 register2、若有定义:int *ptr[6];则标识符ptr( B )。
A、是一个指向整形变量的指针B、是一个指针数组名C、是一个指针,它指向一个含有四个整形元素的一维数组D、说明不合法3、结构化程序设计的基本结构主要是( D )A、分支结构、平行结构、循环结构B、分支结构、函数结构、循环结构C、平行结构、选择结构、函数结构D、顺序结构、选择结构、循环结构4、一个C程序中,主函数的个数是( B )。
A、2个B、 1个C、任意个D、 10个5、在Visual C++6、0环境下,C源程序文件名的默认后缀是( A )。
A、、cppB、、exeC、、objD、、dsp6、根据C语言的语法规则,下列( B )是用户定义的合法标识符A、elseB、ElseC、user$2D、5_object7、以下叙述中正确的是( C )。
A、break语句只能用于switch语句体中B、continue语句的作用是:使程序的执行流程跳出包含它的所有循环C、break 语句只能用在循环体内和switch语句体内D、在循环体内使用break语句和continue语句的作用相同8、若定义int x=136,y;,执行语句y=x/10%10;后y的值是( B )A、1B、3C、6D、09、下列关于C语言注释的叙述中错误的是( D )。
A、以"/*"开头并以"*/"结尾的字符串为C语言的注释内容B、注释可出现在程序中的任何位置,用来向用户提示或解释程序的意义C、程序编译时,不对注释作任何处理D、程序编译时,需要对注释进行处理10、若有定义:intx,a;则语句x=(a=3,a+1);运行后,x、a的值依次为( C )。
A、 3,3B、 4,4C、 4,3D、 3,411、以下程序运行结果是( A )voidmain(){ int x=28;do{printf("%d",x--);}while(!x);}A、28B、27C、26D、012、如果a=1,b=2,c=3,d=4,则条件表达式a<b?a:c<d?c:d的值为(A )。
2010C++程序设计复习题及参考答案
中南大学现代远程教育课程考试复习题及参考答案C++程序设计一、选择题:1.下列标识符作为变量名称,合法的是 [ ]A. gotoB. StudentC. 123D. k-ld2.设x和y均为int型,则x && y为真的条件是 [ ]A.其中一个为0B.其中一个为非0C.它们均为0D.它们均为非03.存储以下数据,占用存储字节最多的是 [ ]A. 0B. ’0’C. ”0”D. ’\n’4.如果有以下语句:int a,b;char m,n;cin>>a>>b>>m>>n;则下列输入数据的方式中正确的是 [ ]A. 10,20,X,YB. 1020 XYC. 10 20 X YD. 10、20、X、Y5.下列for循环的次数为 [ ]for (int I=0,x=0;!x && I<=5;I++)A. 5B. 6C. 1D. 无限6. 若有定义为“int *r =new int [10];”,则释放指针所指内存空间的操作是 [ ]A. delete [ ]r;B. delete *rC.delete r;D.delete r[ ];7. 有函数原型声明语句“int test(int a, int b=1, int c=0);”,在以下函数调用语句中,不合法的是 [ ]A. test(0);B. test(0,0);C. test( );D. test(0,0,0);8. 选择出合法的if语句(设有int x,a,b,c;) [ ]A. if (a==b) x++;B. if (a=<b) x++;C. if (a<>b) x++;D. if (a=>b) x++;9. 声明或定义一个内联函数时,必须在函数开始使用保留字 [ ]A. staticB. constC. externD. inline10. 在下面的函数声明中,存在着语法错误的是 [ ]A. BC(int a, int);B. BC(int, int);C. BC(int, int=5);D. BC(int x; int y);11. 将两个字符串连接起来组成一个字符串时,选用的函数是 [ ]A. strlen()B. strcpy()C. strcat()D. strcmp()12. 在程序中,预处理命令开头的字符都是 [ ]A. *B. #C. &D. @13. 若已知“char str[20];”,有语句“cin>>str;”,当输入为:This is a program 时,所得的结果是str= [ ]A. This is a programB. ThisC. This isD. his is a14. 在下面的do循环语句中,其循环体被执行的次数为 [ ]int i=0;do { i++; }while(i*i<10);A. 4B. 3C. 5D. 215. 在下面的一维数组定义中,有语法错误的语句是 [ ]A. int a[ ]={1,2,3};B. int a[10]={0};C. int a[ ];D. int a[5];16. 下面的保留字中,不能作为函数的返回类型 [ ]A. voidB. intC. newD. long17. 下面的函数声明中,“void BC(int a, int b);”的重载函数是 [ ]A. int BC(int x, int y);B. void BC(int a, char b);C. float BC(int a, int b, int c=0);D. int BC(int a, int b=0);18. 假定AB为一个类,则该类的复制构造函数的声明语句为 [ ]A. AB&(AB x);B. AB(AB x);C. AB(AB* x);D. AB(AB&);19. C++程序的基本功能模块为 [ ]A. 表达式B. 标识符C. 语句D. 函数20. 函数模板:“template <class T> T add(T x, T y){return x+y;}”,下列对add函数的调用不正确的是 [ ]A. add<>(1,2)B. add<int>(1,2)C. add(1.0, 2)D. add(1.0,2.0)21. 在下面的一维数组定义中,有语法错误的是 [ ]A. int a[ ]={1,2,3};B. int a[10]={0};C. int a[ ];D. int a[5];22.C++语言中的每条简单语句是以哪个符号作为结束符的 [ ]A. 分号B. 逗号C. 空格D. 换行符23. 设“int f(int); ”和“int g(int); ”是函数f和g的原形,以下将f作为语句调用的是[ ]A. g(f(3))B. f(g(3));C. g(f(3)+2);D. p=f(g(3)+1);24. 下面对构造函数和析构函数正确定义的项是 [ ]A. X::X(参数), X::~X()B. void X::X(), void X::~X()C. X::X(参数), X::~X(参数)D. void X::X(参数), void X::~X(参数)25. 在下列double型常量表示中,错误的是 [ ]A. E15;B. .35;C. 3E5;D. 3E-526. 下列各运算符中,优先级最低的是 [ ]A. ?:B. |C. ||D. !=27. 下列定义中,定义指向数组的指针p的是 [ ]A. int *p[5];B. int (*p)[5]C. (int *)p[5]D. int *p[ ];28. 设有以下定义:void f1(int * m, long & n);int a;long b;则以下调用合法的是 [ ]A. f1(a,b)B.f1(&a,b)C. f1(a,&b)D.f1(&a,&b)29. 下列各类变量中,不是局部变量的是 [ ]A. register int x; B.void f(int w)C.int z; D.static int y;(定义在函数外)30. 已知p是一个指向类A数据成员m的指针,A1是类A的一个对象。
C语言期末复习题
C语言期末复习题您的姓名: [填空题] *_________________________________1、在每个C程序中都必须包含有这样一个函数,该函数的函数名为 [单选题]A、main(正确答案)B、MAINC、nameD、 function2、下列合法的标识符为 [单选题]A、abde+B、 #KDJFC、 67KDJD、DK3_(正确答案)3、关于字符串和字符的关系正确的是 [单选题]A、“A”与’A’是相同的B、字符串是常量,字符是变量C、“A”与’A’是不同的(正确答案)D、“A”与“A”是相同的4、以下各标识符中,合法的用户标识符组为 [单选题]A、 PAd,P#d,b-b,abc,_0123,ssipedB、cin,a10,CPP,float,del_word,signedC、void,max,hiy,<fr>,list,*jerD、a,temp,_isw,INT,keep,wind(正确答案)5、C语言中,表示一条语句结束的标号是 [单选题]A、#B、;(正确答案)C、//D、}6、每个C程序中都必须有且仅有一个 [单选题]A、类B、预处理命令C、主函数(正确答案)D、语句7、运算符 +、<=、=、% 中,优先级最低的运算符是 [单选题]A、+B、<=C、=(正确答案)D、%8、下列字符列中,可以作为“字符串常量”的是 [单选题]A、 ABCB、″xyz″(正确答案)C、′uvwD、′a′9、设x和y均为逻辑型变量,则x && y为真的条件是 [单选题]A、它们均为真(正确答案)B、其中一个为真C、它们均为假D、其中一个为假10、在if语句中,用作判断的表达式为 [单选题]A、关系表达式(正确答案)B、逻辑表达式C、算术表达式D、任意表达式11、下面合法的C语言字符常量是 [单选题]A、'\t'(正确答案)B、 "A"C、 65D、 A12、表达式: 10!=9的值是 [单选题]A、trueB、非零值C、0D、1(正确答案)13、C语言提供的合法的数据类型关键字是 [单选题]A、 DoubleB、 short(正确答案)C、 integerD、 Char14、C语言程序的基本单位是 [单选题]A、程序行B、语句C、函数(正确答案)D、字符15、设有如下定义: int x=10,y=3,z; 则语句 printf("%d\n",z=x%y);的输出结果是 [单选题]A、 1(正确答案)B、 0C、 4D、 316、表达式5!=3的值是 [单选题]A、TB、非零值C、0D、1(正确答案)17、下列数据中哪个是整型数 [单选题]A、6(正确答案)B、6.00C、”a”D、7.e+018、下列数据中哪个是实型数 [单选题]A、6B、6.00(正确答案)C、”a”D、abc19、下面对变量的定义语句哪个是正确的 [单选题]A、int a;(正确答案)B、char a1,int a1;C、a,b char;D、int x,y20、下面对变量的定义语句哪个是正确的 [单选题]A、int x,y ;(正确答案)B、char a1,int a1;C、a,b char;D、char if21、一个C程序的执行是从 [单选题]A、本程序的main函数开始,到main函数结束(正确答案)B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言期末复习题(2010)一、单项选择题:1. 下列变量名中,( b )是不合法的。
A、JohnB、floatC、B 43D、sum2. 以下不正确的C语言标识符是( d )。
A、_abcB、MCC、IntD、a.c3. 以下叙述不正确的是( d )。
A、C语言本身没有输入输出语句B、一个可执行的C源程序必须包含一个main函数C、程序的执行总是从main函数开始执行的D、C程序中的main函数必须放在程序的开始部分4. 以下叙述正确的是( b )A、while语句循环体至少执行一次B、do-while语句的循环体至少执行一次C、for语句的循环体至少执行一次D、while语句用于循环次数已知的循环5、将字符g赋给字符变量c,正确的表达式是( c )。
//g的ASCII值为103A、c=\147B、c="\147"C、c='\147'D、c='0147'6. 下列表达式的值为0的是( c )。
A、4﹪5B、4/5.0C、4/5D、 4<57、已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是( c )。
A、0B、1C、5D、68. 设有数组定义: char array [ ]="China"; 则数组 array所占的空间为 ( c )A、 4个字节B、 5个字节C、6个字节D、7个字节9、已知int x=12,y=3;执行下述程序后,变量x的值是( d )。
do{ x/=y--;}while(x>y);A、1B、2C、3D、程序运行有错误10、当a=1,b=2,c=3,d=1时,执行下面一段程序后,x的值为( a )。
if(a<b)if(c<d) x=1;else x=6;else x=7;A、6B、3C、 2D、111.若要求在if后一对园括号中表示a不等于0的关系,则能正确表示这一关系的表达式是( d )A、a<>0B、 !aC、 a=0D、 a12、对二维数组的定义和初始化,正确说明是( c )A、int a[][]={1,2,3,4,5,6};B、int a[2][]={1,2,3,4,5,6};C、int a[][3]={1,2,3,4,5,6};D、int a[2,3]={1,2,3,4,5,6};13. 若有说明:int x[20]; 则对x数组元素的正确的引用是( a )。
A、x[11-10]B、x[20]C、x(5)D、x[6.7]14、若用数组名作为函数调用时的实参,则实际上传递给形参的是( a )。
A、数组首地址B、数组的第一个元素值C、数组中全部元素的值D、数组元素的个数15. 描述a 是偶数的表达式是( b )。
A、a%2B、a%2==0C、a%2!=0D、a%2=016、已知int i=0;执行语句while (i++<3) ;后,变量i的值为( b )。
A、3B、4C、5D、617. 任何复杂的程序,都是由( c )构成。
A、选择结构、顺序结构、过程结构B、选择结构、循环结构、过程结构C、选择结构、顺序结构、循环结构D、选择结构、循环结构18、对字符数组s赋值,不合法的一个是( c )。
A、char s[]="Beijing";B、char s[20]={"beijing"};C、char s[20];s="Beijing";D、char s[20]={'B','e','i','j','i','n','g'};19、函数a有2个形参,一个数组x一个变量n对函数形参的说明有错误的是( d )。
A、int a(float x[],int n)B、int a(float *x,int n)C、int a(float x[10],int n)D、int a(float x,int n)20. 下述语句执行后,变量j的值是( b )。
int j=1;while (++j<7) ;A、6B、7C、 8D、此为无限循环,其值不定A、6B、3C、 2D、121、下列函数的功能是( b )。
fun(char s1[],char s2[]){ int i=0;while(s1[i]=s2[i])i++ ;}A、字符串比较B、字符串复制C、字符串连接D、字符串反向22. 下述循环语句是( d )for(a=0,b=0;a<3&&b!=3;a++);A、无限循环B、循环次数不定C、循环4次D、循环3次23. 以下程序段执行后,a3中的值是( b )。
int a1=1,a2=2,a3;a3=1.0/a2*a1;A、0B、0.5C、1D、226. 在C语言中,合法的字符常量是( b )。
A、’\084’B、’\x43’C、’ab’D、”/0”27. 下列各语句定义了数组,其中哪一个是正确的( d )A、int a[2,3];B、char a(30);C、int x[];D、int x[5]={1,2,3};28. 表达式:10!=9的值是( d )。
A、trueB、非零值C、0D、129. 设有如下定义:int x=10,y=3,z;则语句printf(“%d\n”,z=(x%y,x/y));的输出结果是( d )。
A、1B、0C、4D、330、以下一维数组x的正确定义是( d )。
A、int x(10);B、int n=10, x[n];C、int n;scanf(“%d”,&n);int x[n];D、 #define SIZE 10 int x[SIZE];31、调用函数strlen(“axyz\0ef\0g”)的结果是( a)。
A、 4B、 6C、11D、 732、写出|x|<2的C语言表达式。
33表示图中坐标轴上阴影部分的正确表达式是 c 。
////////////////Xa b cA (x<=a)&&(x>=b)&&(x<=c)B (x<=a)||(b<=x<=c)C (x<=a)||(x>=b)&&(x<=c)D (x<=a)&&(b<=x<=c)34、能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是 c 。
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)35、以下能正确计算1×2×3×…×10的程序段是 c 。
A)do{i=1; s=1; B)do{i=1; s=0;s=s*i; s=s*i;i++; i++;}while(i<=10); }while(i<=10);C)i=1; s=1; D)i=1; s=0;do{s=s*i; do{s=s*i;i++; i++;}while(i<=10); }while(i<=10);36、下列程序段不是死循环的是 d 。
A int i=100;while(1){i=i%100+1;if(i>100) break;}B for(;;);C int k=0;do{ ++k; }while(k>=0);D int s=36;while(s); --s;二、填空题:1.下列运算符按优先级别最高的是 ! ,最低的是 += 。
+ , > ,!= ,!, && , +=2.下列运算符按优先级别最高的是,最低的是 , 。
算术运算符,关系运算符,赋值运算符,&& ,|| ,!(非),逗号运算符3、若想通过以下输入语句给x赋1、y赋2,则输入数据的形式应该是(x=1,y=2 )。
…int x,y;scanf(″x=%d,y=%d″,&x,&y);…4、若有char str1[20], str2[ ]={"boy"};能把str2中的字符串赋值给str1的函数调用语句是(ctrcpy(s1,s2) )。
5.已知:x=4.2, y=3.6;则表达式(int)(x+y)%2/5的值为( 0 )。
6、若有定义 a=1,b=2,c=3,d=4,m=n=1;则执行表达式(m=a>b)&&(n=c>d)后,m和n的值分别为( 0 ),( 1 )。
7、若x=y=5;则表达式 !(1<3)‖(x<=y)的值为( 1 )。
8、若int i=6, j=0;则执行下列语句后,变量j结果值为(3 )。
switch( i ){ case 4: j++;case 5: j++;case 6: j++;case 7: j++;default: j++;}9、‘y’在内中占( 1 )字节,"y"在内中占( 2 )字节。
10、设int a[10]={1,2,3,4,5,6,7,8,9,10};。
则a[a[0]+2]的值是 4 。
11、在执行int a[ ][3]={{1,2},{3,4}};语句后,a[0][2]的值是( 0 )。
12、如果a=10,b=2,c=3,d=4, 则条件表达式a<b?a:c<d?c:d的值为( 3 )。
13、写出判断某年y是闰年的逻辑表达式((y%4==0&&y%100!=0 )|| y%400==0 )。
闰年条件是符合下面二者之一a. 能被4整除,但不能被100整除。
b. 能被4整除,又能被400整除。
14、下面程序输出结果是(12BOY )。
#include <stdio.h>main(){ int i;for(i=1;i<=3;i++)switch(i){ case 1:case 2: printf("%d",i); break;default:printf("BOY");} }15.阅读以下程序,写出程序运行的结果__11235_______。