C++程序设计复习题
C程序设计复习题
二、计算题 1、 2.8 2、5.5 三、选择题 C A D C D B
3、a=60
4、4.5
C B C
A D
03. 分支、循环控制程序
一、 计算题
1.a=3,b=4,c=5,a+b>c&&b= =c 2.3>5?3:5<8?25:40 3.设 a=1,b=2,c=3,d=4,m=n=1,有表达式(m=a>b)&&(n=c>d),计算表达式后 m,n 的值?
二、 计算题
1. 2.8+7%3*11%2/4 2. 5/2+5.0/2+7%6 3. a=12,a*=2+3 4. 设 int b=7;float a=2.5,c=4.7;求下面表达式的值。 5. a+(int)(b/2*(int)(a+c)/2)%4
三、 选择题
1. 在 C 语言中,每个语句和数据定义是用( A)句号 B)逗号 下列字符串是标识符的是( ) 。 A)_HJ B)9_student )结束。 C)分号 D)括号
五、 将以下语句改写成 switch 语句:
if((t>0)&&(t<=10)) if((t>=3)&&(t<=6)) x=2; else if((t>1)||(t>8)) x=3; else x=1; else x=0; 参考答案: 一、计算题 1、0 2、25 二、选择题 B C D
3、m=0,n=1
超文本过程
(D)
子程序
5. 下列说法正确的是( ) (A) 一个函数的函数体必须要有变量定义和执行部分,二者缺一不可 (B) 一个函数的函数体必须要有执行部分,可以没有变量定义 (C) 一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数 (D) 以上都不对 6. 下列说法正确的是( ) (A) main 函数必须放在 C 程序的开头 (B) main 函数必须放在 C 程序的最后 (C) main 函数可以放在 C 程序的中间部分,即在一些函数之前在另一个函数之后, 但在执行 C 程序时是从程序开头执行的 (D) main 函数可以放在 C 程序的中间部分,即在一些函数之前在另一些函数之后, 但在执行 C 程序时是从 main 函数开始的 7. 下列说法正确的是( ) (A) 在执行 C 程序时不是从 main 函数开始的 (B) C 程序书写格式严格限制,一行内必须写一个语句 (C) C 程序书写格式自由,一个语句可以分写在多行上 (D) C 程序书写格式严格限制,一行内必须写一个语句,并要有行号
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程序设计复习题1
复习题1、一个C语言程序是由____B____。
A、函数首部和函数体组成B、一个主程序和若干子程序组成C、若干过程组成D、若干子程序组成2、属于合法的C语言长整型常量的是_____B_____ 。
A、5876273B、0LC、2E10D、(long)58762733、以下合法的赋值语句是____A______ 。
A、x=y=100;B、d――C、x+y;D、c=int(a+b)4、设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为____B____。
A、1B、 2C、3D、 45、若运行时给变量x输入12,则以下程序的运行结果是___D_____。
int main(){int x,y;scanf(“%d”,&x);y=x>12 ? x+10 : x-12;printf(“%d\n”,y);return 0 ;}A、出错B、 10C、 22D、 06、若有以下类型说明语句:char w;int x;float y;double z; 则表达式w*x+z-y 的结果为____B____类型。
A、floatB、doubleC、intD、char7、已知ch是字符型变量,下面不正确的赋值语句是____C_____。
A、ch = ’7’+’9’ ;B、ch = ’\n’;C、ch = “a”;D、ch = 5+7;8、若定义x为double型变量,则能正确输入x值的语句是____C_____。
A、scanf(“%f”,x);B、scanf(“%f”,&x);C、scanf(“%lf”,&x);D、scanf(“%5.1f”,&x);9、若运行时输入:12345678↙,则下列程序运行结果为____A_____。
int main ( ){ int a,b;scanf(“%2d%2d”,&a,&b);printf(“%d\n”,a+b);return 0;}A、46B、579C、569010、设定义“int x=3,y=4,z=1”则表达式!(x+y)+z-1&&y+z/2的值是:_____D_____。
C语言程序设计复习题
C 语言程序设计复习题一、单项选择题1.以下关于C 程序的说法中错误的是( D )。
A )必须有一个且只能有一个主函数B )可以有任意多个不同名的函数C )必须用main 作为主函数名D )主函数必须放在其他函数之前2.以下叙述中正确的是(A )。
A )C 程序中注释部分可以出现在程序中任意合适的地方B )花括号“{”和“}”只能作为函数体的定界符C )构成C 程序的基本单位是函数,所有函数名都可以由用户命名D )分号是C 语句之间的分隔符,不是语句的一部分3.以下叙述中正确的是( C )。
A )C 程序的基本组成单位是语句B )C 程序中的每一行只能写一条语句C )简单C 语句必须以分号结束D )一个C 语句必须在一行内写完4. 下列关于C 程序的说法错误的是( B )。
A )一个程序必须有一个main 函数B )函数首部后面必须有分号C )可以使用“/* */”来注释一段代码D )每个语句的末尾必须有分号5. 下列关于C 程序的说法错误的是( D )。
A )stdio.h 是输入输出头文件B )一个C 语句必须以分号结束C )VC6.0中可以使用“//”来注释一行D )#define 命令不是预处理命令6.下面四个选项中,均是合法的标识符是( )。
A )abc A_4d _student xyz_abcB )auto 12a a_b ab5.xC )A_4d student xyz_abc ifD )abc a_b union scan7.按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是( C )。
A )大写字母B )数字字符C )-D )下划线8.C 语言提供的合法的数据类型关键字是( B )。
A )DoubleB )shortC )integerD )Char9.下列数据中,不合法的C 语言实型数据是( C )。
A )0.123B )123e3C )2.1e3.5D )789.010. 下列选项中,不能作为C 语言标识符的是( C )。
c语言程序设计复习题库
复习题库题号题 目 1. 某铁桶厂应客户要求定做一批铁桶,客户给出了铁桶的规格,高30cm ,半径10cm ,共订做1500个铁桶。
计算出所需的原材料。
2.利用系统库函数实现数学运算,求x y 。
3.从键盘上输入一个小写字母,把它转变为大写字母再输出。
4. 设圆半径r=1.5,圆柱高h=3,求圆柱体积,圆柱底面积,圆柱表面积。
用scanf ()输入数据,输出计算结果。
输出时要有说明,结果取小数点后两位数字。
5.由键盘输入n 的值,编程计算并输出n!的值。
6. 让用户输入一个年份,判断改年份是否是闰年– 被4整除不能被100整除,或者被400整除7. 有一个函数⎪⎩⎪⎨⎧--=11312x x x y ())10()101(1≥<≤<x x x写程序,输入x 的值,输出y 相应的值。
8. 在学生成绩管理中,经常要将成绩的百分制转换成对应的等级制。
90分以上为A 等,80-89为B 等,70-79为C 等,60-69分为D 等,其余为E 等。
编写程序,根据输入的百分制成绩,输出对应的等级。
9. 计算从出生年份(例如1996)到当前年份(例如2014)共经过了多少闰年,输出所有的闰年年份。
10. 从1开始做自然数的累加,当其累加和超过1000的时候,共计累加了多少数?当时的累加和是多少?11.百钱买百鸡问题 12. 计算出自然数SIX 和NINE 满足条件SIX+SIX+SIX=NINE+NINE 的个数CNT,以及所有满足此条件的SIX 与NINE 。
13.求 3—100之间的全部素数14. 图形编程图形编程15. 某歌手大赛,共有10个评委打分,分数采用百分制,去掉一个最高分,去掉一个最低分,然后取平均分,得到歌手的成绩,编程实现。
16.让用户输入10个整数,对10个整数进行降序排列 17.对用户输入的10个整数逆序排列并输出 18. 输出Fibonacci 序列前20项** * ** * * * ** * * * * * ** * * * * * * * ** * * * * * * * * * *19.在一个字符数组中查找一个指定的字符,若数组中含有该字符,则输出该字符在数组中第一次出现的位置,否则输出-1.20.写一个函数,求sn=a+aa+aaa+aaaa+aaaaa.....的值,a的值n的值均由用户指定。
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'。
c程序设计考试试题
c程序设计考试试题C程序设计考试试题一、选择题(每题2分,共20分)1. 在C语言中,以下哪个是合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable-name22. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. stringD. double3. 以下哪段代码可以正确地声明一个整型数组?A. int array[10] = {0, 0, ...};B. int array[] = {0, 1, 2, ...};C. int array[10] = {1};D. int array = {1, 2, 3};4. C语言中,以下哪个关键字用于定义函数?A. ifB. whileC. functionD. void5. 在C语言中,以下哪个语句用于结束程序的执行?A. break;B. continue;C. return;D. exit;6. 以下哪个选项是C语言中的正确注释方式?A. /* This is a comment */B. // This is a commentC. /*/ This is a comment */D. //* This is a comment */7. 以下哪个选项是C语言中的逻辑运算符?A. &&B. ||C. <=D. =8. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello";B. string str = "Hello";C. char str = "Hello";D. string str[] = "Hello";9. 以下哪个选项是C语言中的条件语句?A. switchB. caseC. if-elseD. for10. 在C语言中,以下哪个函数用于计算两个数的和?A. pow()B. sqrt()C. sum()D. printf()二、简答题(每题5分,共10分)1. 解释C语言中的指针是什么,并给出一个简单的示例。
c语言程序设计(复习资料)
c语言程序设计(复习资料)总共50题共100分一、单选题(共20题,共40分)1. 假定一个二维数组的定义语句为“int a[3][4]={{3,4,{2,8,6;”,则元素a[2][1]的值为()。
(2分)A.0B.4C.6D.8★标准答案:A2. 以下说法中正确的是()。
(2分)A.C++程序总是从第一个定义的函数开始执行B.C++程序总是从main函数开始执行C.C++函数必须有返回值,否则不能使用函数D.C++程序中有调用关系的所有函数必须放在同一个程序文件中★标准答案:B3. 在下面循环语句中循环体执行的次数为()。
int i=0,s=0; while(s<20) {i++; s+=i; (2分)A.4B.5C.6D.7★标准答案:C4. 虚函数的定义是在基类中进行的,定义时需要冠以关键字(2分)A.staticB.frendC.virtualD.public★标准答案:C5. 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择()。
(2分)A.内联函数B.重载函数C.递归函数D.函数模板★标准答案:A6. 设x和y均为bool量,则x || y为假的条件是( )。
(2分)A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假★标准答案:C7. 若数组名作实参而指针变量作形参,函数调用时实参传给形参的是(2分)A.数组的长度B.数组第一个元素的值C.数组所有元素的值D.数组第一个元素的地址★标准答案:D8. 字符串”a+b=12\n”的长度为()。
(2分)A.6B.7C.8D.9★标准答案:C9. 程序中主函数的名字为()。
(2分)A.mainB.MAINC.MainD.任意标识符★标准答案:A10. 假定下列x和y均为int型变量,则不正确的赋值为()。
(2分)A.x+=y++B.x++=y++C.x=++yD.++x=++y★标准答案:B11. do语句能够改写为()语句。
C语言程序设计复习题
一.选择题1.以下关于运算符优先顺序的描述中正确的是( C )。
A.关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符B.逻辑运算符< 关系运算符< 算术运算符< 赋值运算符C.赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符D.算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符2.下列选项中合法的变量名是______C___A. #define B. int C. a594_3 D.abs(x)3.以下正确的描述是( A )。
A. break语句的作用是结束整个循环的执行B.在C程序中,注释说明只能位于一条语句的后面C.在循环体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出时, 只能使用goto语句4.以下说法正确的是(C )A.#define 和 printf 都是 C 语句。
B.#define 是C语句,而printf不是。
C.若程序中要调用数学函数,必须在文件开头输入语句 #include “math.h”D. #define 和 printf 都不是 C 语句。
5.下面的函数定义正确的是____D__________A) float fun (float x ; float y) {return x*y;}B) float fun (float x,y) {return x*y;}C) float fun (x,y) {int x,y;return x*y;}D) int fun (int x, int y) {re turn x*y;}6.执行下面语句后的输出为( D )int i=-1;if (i<=0) printf(“****\n”)else printf(“%%%%\n”)A). **** B). %%%%C). %%%%c D). 有语法错误,不能正确执行7.以下程序的输出结果是( A )void main( ){int k=17;printf("%d, %o, %x \n ", k, k, k );}A). 17, 21, 11 B). 17, 17, 17C). 17, 0x11, 021 D). 17, 21, 18.以下不正确的叙述是( C )A)#define是宏定义命令B)宏定义只是做简单的置换,不做正确性检查C)宏定义是C语句,必须在行末加分号D)printf是C语句,但#define不是。
C语言程序设计复习题
一、选择题:1、以下能正确定义数组并正确赋初值的语句是( D )。
A、int N=5,b[N][N];B、int a[1][2]={{1},{3}};C、int c[2][]={{1,2},{3,4}};D、int d[][2]={{1,2},{3,4}};2、执行下面的程序时若从键盘上输入6,则输出结果是( D )。
main(){ int x;scanf("%d",&x);if(x++>5) printf("%d\n",x);else printf("%d\n",x--); }A、7B、 6C、5 D、43、下列四组选项中,不合法的用户标识符的选项是( D )。
A、P_0B、 _AC、temp_123D、b-a4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值为( C )。
x=(i=4,j=16,k=32)A、 4B、 16C、 32D、 525、下列选项中哪个是合法的标识符( B )。
A、 intB、 _a2C、 b#D、 7b6、下列选项定义了整型变量a和b,并为这两个变量赋初值为5,不正确的语句是( B )。
A、 int a=5,b=5;B、 int a=b=5;C、 int a,b;D、 int a=5,b;a=5;b=5; b=5;7、若变量已正确定义并赋值,下面不符合C语言语法的表达式是( A)。
A、a=a+7;B、a=7+b+c,a++C、int 12.3%4D、a=a+7=a+b8、执行下面的程序时若从键盘上输入6,则输出结果是( C )。
main(){ int x;scanf("%d",&x);if(x-->5) printf("%d\n",x);else printf("%d\n",++x); }A、7B、 6C、5 D、49、设有程序段 int k=10;while(k==0) k=k-1;则下面描述中正确的是( B )。
《C语言程序设计》复习题有答案1
《C语言程序设计》复习题有答案1《C语言程序设计》复习题一、填空题1、 C 语言的源程序必须通过编译和链接后,才能被计算机执行。
2、 C 语言的源程序必须通过编译和连接后,才能被计算机执行。
3、C语言中的标示符可分为关键字、拥护标示符和预定义标识符3类。
4、C语言中的标示符可分为关键字、用户标识符和预定义标示符3类。
5、在C语言中,用关键字 float 定义单精度实型变量。
6、在C语言中,用关键字 double 定义双精度实型变量。
7、在C语言中,用关键字 char 定义字符型变量。
8、在C语言的赋值表达式中,赋值好左边必须是变量。
9、设C语言中的一个int型数据在内存中占2个字节,则int型数据的取值范围为-32768--32768 。
10、若有定义语句:int s=6;则表达式s%2+(s+1)%2的值为 1 。
11、若a是int型变量,且a的初值为6,则执行表达式a+=a-=a*a后a的值为-60 。
12、若a是int型变量,则执行表达式a=25/3%3后a的值为 2 。
13、在程序运行过程中,其值不能被改变的量称为常量。
14、C程序中定义的变量,代表内存中的一个存储单元。
15、C语言中,int类型数据字符占内存 2 个字节。
16、C语言中,char类型数据占内存 1 个字节。
17、C语言的字符常量是用单引号括起来的一个字符。
18、语句printf(“\n”);的作用是换行输出。
19、10/3的结果是3 。
20、10%3的结果是 1 。
21、C语句的最后用;结束。
22、要使用putchar函数,在#include命令行中应包含的头文件是#include。
23、要使用getchar函数,在#include命令行中应包含的头文件是#include。
24、为表示关系|x|≥9;应使用的C语言表达式是x<=-9 || x>=9 。
25、为表示关系|x|≤9;应使用的C语言表达式是x>=-9&&x<=9 。
《C语言程序设计》复习题
《C语言程序设计》复习题一、判断题(本大题共60个小题)1.C程序执行的入口是main()函数,所以main函数必须放在程序的开头。
(B)2.定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。
(B)3.注释内容太多会影响程序的执行效率。
(B)4.变量要“先定义,后使用”。
(A)5.字符常量'a'与字符串常量"a"没有区别。
(B)6.数学公式y=-6xz+5[2(a-5)+3]写成C语言表达式是y=-6*x*z+5*[2*(a-5)+3]。
(B)7.数学公式y=|x|+ab-c写成C语言表达式是y=fabs(x)+a*b-c。
(A)8.表达式5/2+5.0/2+7%6 的值为5.5。
(A)9.设int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/2*(int)(a+c)/2)%4 的值为:4.5。
(B)10.设int a=12; 则表达式a/=a+a的值是0.5。
(B)11.在C语言中,运算符!比&&的优先级高。
(A)12.在C语言中,运算符的优先级最小的是逗号运算符。
(A)13.scanf("%d,%d",&x,&y);的输入格式:3,4<回车>。
(A)14.以下程序运行结果是:1,7,0 (A)void main(){int x=1,y=1,z=10;if(z< 0)if(y> 0) x=3;else x=5;printf(" %d," ,x);if(z=y< 0) x=3;else if(y==0) x=5;else x=7;printf(" %d,%d" ,x,z);}15.该程序运行结果是:BCother (A)void main(){ char x=‘B’;switch(x){case ‘A’: printf(“A”);case ‘B’: printf(“B”);case ‘C’: printf(“C”);default: printf(“other”);}}16.下面程序段运行时输出结果是a=2,b=8 (B)void main(){int x=1,y=1,a=2,b=7;switch(x){case 1: switch(y){ case 0: a++;break;case 1: b++;break;}case 2: a++;b++;break;case 3: a++;b++;}printf("a=%d,b=%d\n",a,b);}17.下面程序,当输入为:"abc?" 时,执行结果是:abc (A)void main(){ char c;c=getchar();while (c!='?' ) { putchar(c); c=getchar();}}18.该程序运行结果是:< > < > < > # (A)void main(){ int i;for(i=1;i<=5;i++){if(i%2) putchar(‘<’);else continue;putchar(‘>’);}putchar(‘#’);}19.break语句可用于循环语句和if语句中。
C语言程序设计复习题
《C语言程序设计》(A )卷复习题一、单选题1.下列特性中,C与C++共有的是( D )A.继承B.封装C.多态性D.函数定义不能嵌套2.类的指针成员的初始化是通过函数完成的,这个函数通常是( B )A.析构函数B.构造函数C.其它成员函数D.友元函数3.有关const对象和const成员数据,下列说法不正确的是( C )A.const成员数据不能在定义类时直接赋值B.const对象中的成员数据不能重新赋值C.const对象可以调用它的任何一个成员函数D.const成员数据,只能在构造函数中用初始化列表的方法对它初始化。
4.静态成员函数没有( B )A.返回值B.this指针C.指针参数D.返回类型5.当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中( A )A.都是虚函数B.只有被重新说明时才是虚函数C.只有被重新说明为virtual时才是虚函数D.都不是虚函数6.下面叙述不正确的是( D )A.派生类一般都用公有派生B.对基类成员的访问必须是无二义性的C.赋值兼容规则也适用于多重继承的组合D.基类的公有成员在派生类中仍然是公有的7.在C++中实现封装是借助于( B )A.枚举B.类C.数组D.函数8.所有在函数中定义的变量,都是( B )A.全局变量B.局部变量C.静态变量D.寄存器变量二、填空题1.将关键字const写在函数头之后,函数体之前,说明该函数是一个const成员函数。
它的特点是:不能改变_成员数据的值_也不能调用类中_ 非const __成员函数。
2.一个抽象类的派生类可以实例化的必要条件是实现了所有的纯虚函数 __。
3.C++中,虚函数帮助实现了类的_多态_性。
4为了在对象生存期结束时释放其指针成员所指向的动态存储空间,通常需要为该类定义____ _析构函数_。
5.要把一个函数“void F( );”定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句:friend void F() 。
c语言程序设计复习题
《C语言程序设计》复习题一、单项选择题1.C语言中用于结构化程序设计的三种基本结构是()(A)顺序结构、选择结构和循环结构(B)if、switch 、break(C)for、while、do-while(D)if 、for、continue2.下列说法正确的是()(A)程序的运行可以从任何函数开始(B)符号常量的值,在程序运行中,可随程序的运行而不断发生变化(C)数组中各元素的值可以由互不相同(D)字符串与字符数组是有区别的3.下列各组中不全是字符常量的是()(A)…A‟, “b” , …2‟ (B) …+‟, …\101‟ , …f‟(C ) ...6‟ , ...\n‟, ...x‟ (D) ...3‟ , ...$‟ , (x41)4.下列各组中不全是合法的变量名的是()(A)day , lotus_1 _2_3 ,x1 (B) Abc, _above , basic(C ) M.John , year , sum (D) YEAR, MONTH, DAY5.下列选项中,不能用作标识符的是()。
(A)_1234 (B) _1_2 (C) int_2_ (D) 2_int_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.以下选项中属于C语言的数据类型的是()(A)复数型(B)逻辑型(C)双精度型(D)集合型8.下列常量中不能作为C的常量的是()(A)0xa5 (B) 2.5e-2 (C) 3e2 (D) 05829.C语言中,数字029是一个()(A)八进制数(B)十六进制数(C)十进制数(D)非法数10.下列可以正确表示字符型常数的是()(A)“a” (B) …\t‟ (C) “\n” (D) 29711.字符串“\\22a,0\n” 的长度是()(A)8 (B)7 (C)6 (D)512.要判断char型变量m是否是数字字符,下面正确的表达式是()(A)0<=m && m<=9 (B) …0‟<=m && m<=‟9‟(C) “0”<=m && m<= “9” (D) 以上答案均不正确13.下列关于函数说法正确的是()(A)标准库函数在使用时需要声明(B)用户自定义函数在任何情况下都需要声明(C)用户自定义函数如果出现在调用函数之前需要声明(D)用户自定义函数如果出现在调用函数之后需要声明14.在C语言中,函数返回值的数据类型取决于()(A)函数的名字(B)return语句中表达式的数据类型(C)在定义该函数时所指定的数据类型(D)主调函数的数据类型15.设x,y分别为单精度和双精度类型变量,则下列选项()可将表达式x+y的运算结果强制转换为整型数据。
C程序设计复习题
C程序设计复习题一.选择:1.不属于字符型常量的是:( B )A.‘A’ B “B” C ’\N’ D ‘\X72’2. 属于整型常量的是:( A )A.12 B 12.0 C -12.0 D 10E103. 属于实型常量的是:( D )A.‘A’ B “120” C 120 D 1E-14.’\34’在内存中占( D )个字节,“\34”在内存中占( C )个字节A.4 B 3 C 2 D 1A.4 B 3 C 2 D 15. Char型常量在内存中存放的是( A )A.ASCII代码值 B BCD代码值 C 内码值 D 十进制代码值6.已知字符“A“的ASCII代码值是65,字符变量c1的值是’A’,c2的值是’D’.执行语句”printf(“%d,%d”,c1,c2-2);”后,输出结果是:( D )A.A,B B A,68 C 65,68 D 65,661.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是 A 。
A.x/y*zB.x*(1/(y*z))C.x/y*1/zD.x/y/z2.若变量c为char类型,能正确判断出c为小写字母的表达式是 D 。
A.'a'<=c<= 'z'B.(c>= 'a')||(c<= 'z')C.('a'<=c)and ('z'>=c)D.(c>= 'a')&&(c<= 'z')3. 有以下程序段int x=3do{ printf("%d",x-=2); }while (!(--x));其输出结果是 C 。
A.1B.3 0C.1 -2D.死循环7.字符串”\\\’a\tbcd\’\\”的长度是( A )A.9 B 14 C 8 D 138.设有整型变量n1,n2,其值均为3;执行语句“n2=n1++,n2++,++n1;”后,n1,n2的结果分别是( C ),( B )A.3 B 4 C 5 D 6A.3 B 4 C 5 D 69.执行语句”x=(a=3,b=a--)”后,x,a,b的值依次为( C )A.3,3,2 B 3,2,2 C 3,2,3 D 2,3,210.表达式“1?(0?3:2)(10?1:0)”的值为( B )A.3 B 2 C 1 D 011.设实型变量f1,f2,f3,f4的值均为2,整型变量m1,m2的值均为1。
C语言程序设计试卷复习题(精品)
一、单项选择题(15题30分)1. 假设x=2.5,a=7,y=4.7,则表达式:x+a%3*(int)(x+y)%2/4的值为。
A)2.5 B)2.75 C)3 D)9.52. 设整型变量x的值为5,y的值为2,则值为1的表达式是( )。
A)!(y==x/2) B)y!=x%3 C)x>0&&y<0 D)x!=y||x>=y3. 设有整型变量a, 实型变量f,双精度型变量x,则表达式10+'b'+x*f值的类型为( )。
A) int B) float C) double D) 不能确定4.以下正确的C语言标识符是:A) a+B B) if C) b5_ D) π5.在C语言中,错误的C常量是:A) 2e5 B) ‘{‘ C) 1.23e+2F D) 7ff6. 表达式k=(12<10)?4:1?2:3的值为。
A) 1 B) 2 C) 3 D) 47. 下列哪组运算符的优先级相同且运算次序从左到右。
A)()[ ] -> . B)++ -- +=C) < & | ^ D)&& ||8. 已知:int x=1, y=2, z; 则执行:z=x>y?++x:++y, z的值为。
(A) 1 (B) 2 (C) 3 (D) 49. 在以下一组运算符中,优先级最高的运算符是。
A)<= B)= C)% D)&&10.以下程序段,输出的结果是:int x=0,y=0,z=0;++x||++y&&++z;printf(“x=%d\ty=%d\tz=%d\n”,x,y,z);A) x=1 y=1 z=1 B) x=1 y=1 z=0 C) x=1 y=0 z=0 D) x=0 y=0 z=011.以下程序段,输出的结果是:int x=3,y=4,z=4;printf(“%d\t%d\n”, (x>=y>=x)?1:0 , z>=y&&y>=x);A) 0 0 B) 0 1 C) 1 0 D) 1 112. 在C语言中,若以下变量均为int型,则下面程序段的输出结果是。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2008—2009年度《C++程序设计》复习模拟试题一、单选题1、在每个C++程序中都必须包含有这样一个函数,该函数的函数名为 A 。
A. mainB. MAINC. nameD. function2、设x和y均为bool量,则x&&y为真的条件是 A 。
A. 它们均为真B. 其中一个为真C. 它们均为假D. 其中一个为假3、下面的哪个保留字不能作为函数的返回类型? C 。
A. voidB. intC. newD. long4、假定a为一个整型数组名,则元素a[4]的字节地址为 C 。
A. a+4B. a+8C. a+16D. a+325、假定AB为一个类,则执行“AB a(4) , b[3] , * p[2] ;”语句时,自动调用该类构造函数的次数为 B 。
A. 3B. 4C. 6D. 96、假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为: B 。
A. AB operator+(AB & a , AB & b)B. AB operator+(AB & a)C. operator+(AB a)D. AB & operator+( )二、填空题1、C++语言中的每条基本语句以;作为结束符,每条复合语句以 } 作为结束符。
2、执行“cout<<char('A'+2)<<endl;”语句后得到的输为 C 。
3、float 和 double 类型的大小分别为 4 和 8 。
4、关系表达式x+y>5的相反表达式为 x+y<=5 。
12、在C++中建立参数类型和个数不同的同名函数是可能的,这称为_函数重载____。
13、运算符___new__动态分配一个对象。
14、关键字_enum____、_struct____、_union____和_class____在C++中用来建立新的数据类型。
15、类的_私有____成员只能被该类的成员函数或友元访问。
三、给出下列程序运行后的输出结果1、#include<iostream>using namespace std;class base{int x;public:base(int a){x=a;cout<<"base..."<<x<<endl;}base(base &t){x=t.x;cout<<"base copy..."<<x<<endl;}virtual ~base(){cout<<"~base..."<<x<<endl;}};class derived:public base{int y;public:derived(int a,int b):base(a){y=b;cout<<"derived..."<<y<<endl;}derived(derived &t):base(t){y=t.y;cout<<"derived..."<<y<<endl;} ~derived(){cout<<"~derived..."<<y<<endl;}};void main(){base *pb=new derived(52,54);base a(*pb);delete pb;}2、#include<iostream>using namespace std;class A{public:virtual void fa(void){cout<<"A::fa"<<endl;}void fb(void){cout<<"B::fb"<<endl;}};class B:public A{public:void fa(void){cout<<"B::fa"<<endl;}void fb(void){cout<<"B::fb"<<endl;}};void main(){A *pa=new A;A *pb=new B;pa->fa();pb->fb();pb->fa();pb->A::fa();((B*)pb)->fb();}A::faB::fbB::faA::faB::fb3、# include <iostream.h>void SB(char ch) {switch(ch){case 'A': case 'a':cout <<"well!"; break; case 'B': case 'b':cout <<"good!"; break; case 'C': case 'c':cout <<"pass!"; break; default:cout <<"nad!"; break; }}void main() {char a1='b',a2='C',a3='f';SB(a1);SB(a2);SB(a3);SB('A');cout <<endl; }good! pass! bad! well!4、# include <iostream.h># include <string.h>void main() {char *a[5]={"student","worker","cadre","soldier","peasant"}; char *p1,*p2;p1=p2=a[0];for (int i=0; i<5; i++) {if (strcmp(a[i],p1)>0) p1=a[i];if (strcmp(a[i],p2)<0) p2=a[i];}cout <<p1<<' '<<p2<<endl;}5、# include <iostream.h>int a=5;void main() {int a=10,b=20;cout <<a<<' '<<b<<endl;{ int a=0,b=0;for (int i=1; i<6; i++) {a+=i; b+=a;}cout <<a<<' '<<b<<' '<<::a<<endl;}cout <<a<<' '<<b<<endl; }10 2015 35 510 206、# include <iomanip.h>int LB(int *a,int n) {int s=1;for (int i=0; i<n; i++)s*=*a++;return s;}void main() {int a[]={1,2,3,4,5,6,7,8}; int b=LB(a,5)+LB(&a[3],3); cout <<"b="<<b<<endl;}b=2407、 # include <iostream.h># include <string.h>struct Worker{char name[15]; // 姓名int age; // 年龄float pay; // 工资};void main() {Worker x;char *t="liouting";int d=38; float f=493;strcpy(,t);x.age=d; x.pay=f;cout <<<<' '<<x.age<<' '<<x.pay<<endl; }8、 # include <iostream.h>class A {int a;public:A(int aa=0) { a=aa; }~A() { cout <<"Destructor A!"<<a<<endl; } };class B:public A {int b;public:B(int aa=0,int bb=0):A(aa) { b=bb; }~B() { cout <<"Destructor B!"<<b<<endl; } };void main() {B x(5),y(6,7); // 后定义的变量将先被释放}Destructor B! 7Destructor A! 6Destructor B! 0Destructor A! 5四、写出下列每个函数的功能1、# include <iostream.h>int SA(int a,int b) {if (a>b) return 1;else if (a==b) return 0;else return -1;}2、float FI(int n) {// n为大于等于1的整数float x,y=0;do {cin >>x;n--; y+=x*x;} while (n>0);return y;}3、template <class Type>void WE(Type a[],Type b[],int n) { for (int i=0; i<n; i++)b[n-i-1]=a[i];}4、struct StrNode {char name[15]; // 字符串域StrNode * next; // 指针域};void QB(StrNode * & f ,int n) {if (n==0) { f=NULL; return; }f=new StrNode;cin >>f->name;StrNode * p=f;while (--n) {p=p->next=new StrNode;cin >>p->name;}p->next=NULL;}五、编写程序,把从键盘上输入的一批整数(以-1作为终止输入的标志)保存到文本文件“a:xxk1.dat”中。