C语言程序设计复习题

合集下载

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

C语言程序设计期末考试复习题及答案
5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则 ( B )
A)称为函数的直接递归调用 B)称为函数的间接递归调用
C)称为函数的循环调用 D)C语言中不允许这样的递归调用
6.以下叙述中正确的是 ( A )
{ char a='a',b;
printf("%c,",++a);
printf("%c\n",b=a++);}
程序运行后的输出结果是a)b,b B)b,c C)a,b D)a,c
9.有以下函数定义:(c)
void fun(int n, double x) { …… }
1 main()
2 { int x;
3 if (x=90) printf(“right”);
4 else printf(“error”);
}
行号: 改为: main()
2 { char s[]=”china”;
(4) main()
{ int a,b;
a=5;
b=8;
p(a,b);
p(a+b,a);
}
p(int x,int y)
{
y=x+y;
printf(“%d %d”,x,y);
}
程序的运行结果是:
A)for(i=1,p=1;i<=5;i++) p*=i;B)for(i=1;i<=5;i++){ p=1; p*=i;}
C)i=1;p=1;while(i<=5){p*=i; i++;}D)i=1;p=1;do{p*=i; i++; }while(i<=5);

c语言程序设计考试题库及答案

c语言程序设计考试题库及答案

c语言程序设计考试题库及答案1. 选择题1.1 下列关于C语言的描述,错误的是:A. C语言是一种过程式编程语言B. C语言支持面向对象编程C. C语言支持结构化编程D. C语言具有丰富的库函数答案:B1.2 在C语言中,以下哪个关键字用于定义一个函数?A. structB. intC. voidD. function答案:C1.3 下列选项中,哪个不是C语言中的合法变量名?A. _myVarB. myVar2C. 2ndVarD. var$答案:D2. 填空题2.1 在C语言中,用于定义一个整型变量的关键字是______。

答案:int2.2 C语言中,用于输入数据的库函数是______。

答案:scanf2.3 C语言中,用于输出数据的库函数是______。

答案:printf3. 简答题3.1 简述C语言中数组的定义方式。

答案:在C语言中,数组可以通过指定数据类型和数组大小来定义。

例如,定义一个整型数组可以写作:int arrayName[arraySize];。

3.2 解释C语言中的指针是什么,并给出一个指针的定义示例。

答案:指针是一种变量,它存储的是另一个变量的内存地址。

定义指针的示例:int *ptr; 这里ptr是一个整型指针。

4. 编程题4.1 编写一个C语言程序,计算并输出100以内所有偶数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```4.2 编写一个C语言函数,实现字符串反转的功能。

答案:```cvoid reverseString(char *str) {int length = 0;while (str[length] != '\0') {length++;}for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}```。

大学c语言程序设计考试试题

大学c语言程序设计考试试题

大学c语言程序设计考试试题一、单项选择题(每题2分,共20分)1. C语言中,一个整型变量int所占的字节数是:A. 1字节B. 2字节C. 4字节D. 8字节2. 下列哪个关键字用于定义一个类?A. structB. classC. unionD. enum3. 在C语言中,用于计算两个浮点数平均值的函数是:A. pow()B. sqrt()C. fabs()D. average()4. 下列哪个选项不是C语言的标准输入输出库函数?A. printf()B. scanf()C. getchar()D. readline()5. 在C语言中,字符串的结束标志是:A. 'E'B. '\n'D. '\0'6. 下列哪个是C语言中的合法标识符?A. 2classB. class2C. class+2D. class=27. C语言中,数组的下标默认从哪个数字开始?A. 0B. 1C. -1D. 随机数8. 在C语言中,sizeof运算符的作用是:A. 返回变量的类型B. 返回变量的值C. 返回变量的内存大小D. 返回变量的地址9. 下列哪个不是C语言中的控制流语句?A. ifB. forC. whileD. switch10. C语言中,函数的返回值类型定义在函数名的:A. 前面B. 后面C. 上面D. 下面二、填空题(每空3分,共30分)11. 在C语言中,使用________运算符可以实现逻辑与功能。

12. 当需要频繁修改数组中的元素时,应使用________类型的数组,以提高程序的运行效率。

13. C语言中,函数________可以用来获取字符串的长度,但不包括字符串结束标志'\0'。

14. 在C语言中,________关键字用于声明一个函数。

15. 一个C语言程序的执行是从________函数开始的。

16. 在C语言中,________关键字用于声明一个结构体。

C语言程序设计复习题

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语言程序设计复习题库

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语言程序设计试题及答案

c语言程序设计试题及答案C语言程序设计试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个是合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable-2答案:C2. 以下哪个语句不是C语言中的输入语句?A. scanf("%d", &x);B. printf("%d", x);C. gets("string");D. getchar();答案:B3. C语言中,以下哪个不是标准库函数?A. printf()B. malloc()C. strcpy()D. main()答案:D4. 以下哪个选项是C语言中正确的数组声明?A. int array[];B. int [10] array;C. int array[10];D. int [10] = array;答案:C5. 以下哪个是C语言中正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello World"答案:C6. C语言中,以下哪个是正确的函数声明?A. int function();B. void myFunction(int x, int y);C. int myFunction(int x, int y) {}D. int myFunction(int x, int y) { return x + y; }答案:B7. 在C语言中,以下哪个是正确的条件语句?A. if (x = 5)B. if (x == 5)C. if (x = 5) { x++; }D. if (x == 5) { x++; }答案:D8. 在C语言中,以下哪个是正确的循环语句?A. for (int i = 0; i <= 10; i++) {}B. for (int i = 0; i < 10; i--) {}C. while (x != 0) { x--; }D. do { x++; } while (x != 0);答案:D9. 在C语言中,以下哪个是正确的指针声明?A. int *ptr;B. *int ptr;C. int ptr*;D. int * ptr;答案:A10. C语言中,以下哪个不是运算符?A. +B. -C. :D. *答案:C二、简答题(每题5分,共30分)1. 请简述C语言中数组和指针的区别。

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) 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语言程序设计考试题及答案一、选择题1. 下列选项中,哪一个是C语言的关键字?a) mainb) inputc) ifd) print答案:c) if2. C语言中用于定义整型变量的关键字是:a) intb) charc) floatd) double答案:a) int3. 在C语言中,以下字符常量的定义方式错误的是:a) 'A'b) '\n'c) 'AB'd) '\t'答案:c) 'AB'4. 下面哪个运算符优先级最低?a) +b) =c) *d) /答案:b) =5. 在C语言中,执行循环操作的语句是:a) forb) whilec) ifd) switch答案:b) while二、填空题1. 在C语言中,输出字符常量的函数是_______。

答案:printf2. 以下是定义数组的正确方式:int numbers[10];答案:int numbers[10];3. 在C语言中,用于判断条件是否成立的关键字是_______。

答案:if4. 以下是C语言中声明一个指针变量的方式:int *ptr;答案:int *ptr;5. 在C语言中,用于输入整型变量的函数是_______。

答案:scanf三、编程题请编写一个C语言程序,计算输入的两个整数相加的结果并输出。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```四、解答题1. 请解释C语言中的指针概念以及指针与变量的关系。

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语言程序设计复习题库

C语言程序设计复习题库

一、填空1.break语句通常用于switch。

2.C语言源程序经过连接后,生成文件的后缀名是.exe。

C语言中,关系表达式和逻辑表达式的值是1数B.标识符C.表达式D.语句2、在每个C程序中都必须包含有这样一个函数,该函数的函数名为A3、C语言规定,在一个源程序中,main函数的位置CA.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后4、在以下关于C语言的注释的叙述中,不正确的是CA.注释可用"/*"、"*/"形式表示,也可用"引文件和文本文件两种B.目标文件和可执行文件C.二进制文件一种码文件和二进制文件两种9、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符CA)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母,数字或下划线中的任意一种10、C语言中非空的基本数据类型包括BA)整型,实型,逻辑型B)整型,实型,字符型C)整型,字符型,逻辑型D)整型,实型,逻辑型,字符型11、下列哪一个表达式的值是整数类型A2+、设变量a是整形,f是实型,i是双精度型,则表达式10+′a′+i*f值的数据类型C不确定13、设有说明:charw;intx;floaty;doublez;则表达式:w*x+z-y值的数据类型DA)floatB)charC)intD)double14、在C语言中,char型数据在内存中的存储形式是DA.补码B.反码C.源码码15、下列字符列中,可以作为“字符串常量”的是BA.ABCB.″xyz″C.′uvw′D.′a′16、以下运算符中,优先级最高的运算符是DA.=B.!=C.*(乘号)D.()17、设有定义intk=0;则以下四个表达式中与其它三个的值不同的是CDA、k++B、k+=1C、++kD、k+118、设有语句scanf(“%d,%d”,&m,&n);要使m、n的值依次为2,3,正确的输入是B3↙,3↙;↙3↙19、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后c2中的值为AA)D B)68 C)不确定的值D)C20、设a=6,b=4,则表达式b*=a+3的值为DA)3B)18C)27D)3621、若有定义:inta=8,b=5,c;执行语句c=a/b+;后c的值为B (A)(B)1(C)(D)222、若已定义x和y是整型变量,x=2;,则表达式y=+x/2的值是CA)5C)3D)23、设有以下语句:intx=10;x+=3+x%(3),则x的值是AA)14B)15C)11D)1224、在C语言中逻辑值“真”是用B表示的。

C语言考试复习专用三套题附答案

C语言考试复习专用三套题附答案

C语言考试复习专用三套题附答案《C语言程序设计》习题集习题一一、语言基础(共20分,每题2分)(一)设某为一数字字符,则其所对应的十进制数值为A)某B)某-‘0’C)某某D)&某(二)说明语句char=‘\\t’,使包含了几个字符?A)1B)2C)3D)说明有错(三)设a=6,b=4,则表达式b某=a+3的值为A)3B)18C)27D)36(四)若给定表达式(m)?a++:a--,则其中表达式m和等价。

A)m==0B)m!=0C)m=0D)m=1(五)设有说明语句inta[10],则数组a包括了个数组元素。

A)1B)9C)10D)20(六)以下函数tet返回值类型为tet(int某){printf(“%f\\n”,(float)某);}A)intB)floatC)voidD)不确定或错误(七)C语言规定,main函数的参数A)只能有0个B)只能有0个或一个C)只能有0个或2个D)可有任意个(八)设某为整型变量,p基类型为整型的指针变量,则正确的赋值表达式是A)p=&某B)p=某C)某p=&某D)某p=某某(九)TurboC中,int型数据在存储器中占二个字节,则以下类型数据在存储器中占的字节数为:tructtet{int某;floaty;charz;};A)2B)3C)6D)7(十)rewind()函数的作用是A)重新打开文件B)使文件位置指针重新回到文件的开始C)使文件位置指针重新回到文件的末D)返回文件长度值二、阅读下列程序,写出运行结果(共18分,每题3分)[程序1]#includevoidmain(){inta=1,b=4,c=2;运行结果:1a=(a+b)/c;printf(“%d\\n”,--a);}[程序2]voidmain(){charc1=67;/某‘A’的ASCII码值为65某/if(‘A’<=c1&&c1<=’Z’)运行结果:67,Dprintf(“%d,%c”,c1,c1+1);eleprintf(“%c”,c1);}[程序3]viodmain(){inta=0,n=5;运行结果:1,5,4,3,2,0for(;;){a++;n--;printf(“%d,”,a);a=n;if(n==0)break;}printf(“%d”,a);}[程序4]main(){inti,j;运行结果:1,2,4,8,16,32,64,128,256,512taticinta[10]={1,1,1,1,1,1,1,1,1,1};for(i=0;i<10;i++)for(j=0; jprintf(“%d,”,a[i]);}[程序5]intk=2;f(intm)运行结果:6,8{m+=k;k+=m;5,9printf(“%d,%d\\n”,m,k++);}main(){inti=4;for(i++);printf(“%d,%d\\n”,i,k);}[程序6]voidmain(){taticinta[10],i;运行结果:13579for(i=0;i<10;i++)a[i]=i+1;for(i=0;i<10;i=i+2)printf(“%d”,某(a+i));}三、阅读分析下列程序,在处填上适当的内容使程序(或函数)完整(共21分,每空3分)(一)以下程序输出所有大写字母和其对应的ASCII码值。

C语言程序设计考前复习题_赵鲁涛老师

C语言程序设计考前复习题_赵鲁涛老师

《C语言程序设计》考前复习题_赵鲁涛老师一、选择题(每小题1分,共30分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填写在答题卡相应位置上,答在试卷上不得分。

1. 以下叙述不正确的是: DA)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数 D)在C程序中,注释说明只能位于一条语句的后面格式控制符与变量类型不符合2.以下选项中,不能作为合法常量的是 BA)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e03.有以下语句:int b;char c[10];,则正确的输入语句是 BA)scanf("%d%s",&b,&c); B) scanf("%d%s",&b,c);C)scanf("%d%s",b,c); D) scanf("%d%s",b,&c);4.已有定义:char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是 CA)数组a和b的长度相同B)a数组长度小于b数组长度C)a数组长度大于b数组长度D)上述说法都不对5.以下符合C语言语法的实型常量是 CA)1.2E0.5 B)3.14.159E C).5E-3 D)E156.有以下程序main(){ int p[8]={11,12,13,14,15,16,17,18},i=0,j=0;while(i++<7)if(p[i]%2)j+=p[i];printf("%d\n",j); }程序运行后的输出结果是 BA)42 B)45 C)56 D)607.表达式 18/4 * sqrt(4.0)/8值的数据类型为 CA)int B)float C)double D)不确定8.设有说明:char w;int x;float y;double z;则表达式 w*x+z-y值的数据类型为 D 。

C语言程序设计复习题

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语言程序设计复习题

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语言程序设计》复习题一、填空题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语言程序设计》复习题

《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语言程序设计复习题

《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语言程序设计复习题

《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语言程序设计试卷复习题(精品)

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

C语言程序设计复习题(含参考答案)一、单项选择题(本题共30小题,每小题2分,共60分)在每小题列出的四个备选项中只有一个是符合题目要求的。

1. 以下正确的C语言自定义标识符是______。

A. _1aB. 2a_C. doD. a.122、假设所有变量均为整型,则表达式(x=3,y=4,y++,y-x)的值是______。

A.7B.1C.6D.23. 设int a, x=2; 执行语句a=x>0?3*x:x=10; 后,变量x的值是_______。

A. 1B. 2C. 6D. 104.设有以下程序段:int x=2,y=2,z=0,a;a=++x||++y&&z++;printf("%d,%d,%d\n",x,y,z);执行后输出的结果是_________。

A. 2, 2, 0B. 3, 3,1C. 3, 2, 0D. 3, 2, 15. 在C语言中,strlen("\\TOP\t\65\"")的值是_______。

A. 5 B.7C. 8D. 126. 设float x,由键盘输入:12.45, 能正确读入数据的输入语句是_________。

A. scanf("%5f",&x);B. scanf("%5d",&x);C. scanf("%f",x);D. scanf("%s",&x);7.若有int a=5;则逗号表达式a=2*6,a*3,a+5的值是_________。

A. 12B. 17C.36 D. 108. C语言程序中,整型常量的书写形式不包括_________。

A. 二进制B. 八进制C. 十进制D. 十六进制9.下面程序的输出结果是_____。

#include<stdio.h>main(){ float d=2.2; int x,y;x=6.2;y=(x+3.8)/5.0;printf("%f",d*y);}A. 4B. 4.4C. 2.2D. 010. 设int x;,则与计算︱x︱等价的表达式是_________。

A. x>0?-x:xB. x>0?x:-xC. x<0?x:-xD. x<0?-x:-x11. 执行下面的程序段后,k的值是_______。

int k=1,n=325;do { k*=n%10;n/=10;}while(n);A. 3B. 30C. 523D. 32512. 表达式的值为0的是_________。

A. 5/5%5B. 5>2C. !4D. 0x7&&713. 设int a=11, b=2;执行下述程序段后,变量a和b的值分别是_______。

do{ a/=b++;}while(a>b);A. 1,3B. 1,4C. 2,3D. 2,414、若有以下定义,则能使值为1的表达式是______。

int x=6,y=7;A:y%=x-x%4B:y%=(x-x%4)C:y%=(x%=4)D:(y%=x)-(x%=4)15.int a[2][3]={{1},{2,3}};,则a[1][0]的值是_________。

A.0 B. 1C. 2D. 316. 有如下程序,输出的结果是_________。

#include<stdio.h>main(){ int x=1,a=0,b=0;switch (x){case 0:b++;case 1:a++;case 2:a++;b++;}printf("%d,%d\n", a,b);}A.2,1 B.1,1 C. 1,0 D. 2,217.设char s[10]= "abcd",t[]="12345";,则s和t在内存中分配的字节数分别是_______。

A.6和5 B. 6和6C. 10和5D. 10和618.以下叙述正确的是________ 。

(A) 在C程序中,main函数必须位于程序的最前面(B) C程序的每行中只能写一条语句(C) C语言本身没有输入输出语句(D) C程序不一定要从main函数开始执行19、阅读以下程序,当输入数据的形式为:1,2,3 <CR>,其输出结果为_______。

(<CR>表示回车)#include<stdio.h>main( ){ int a,b,c;scanf("%d%d%d",&a,&b,&c);printf("%d\n",a+b+c);}A:3 B:6 C:1 D:不确定值20. 以下程序的运行结果是______。

#include<stdio.h>main(){ int x=20;char a='A';printf("%d\n",(x>15)&&(a<'a’));}A. 0B. 1C. 2D. 321. 设int i,j;for(i=5;i;i--)for(j=0;j<4;j++) {…}则循环体执行次数是________。

A. 5B.4C. 20D.无限次22.下面程序的运行结果是______。

#include<stdio.h>void main(){ int a=1, b=2,c=3,t;while(a<b<c){t=a;a=b;b=t;c--;}printf("%d\n",a+b+c);}A. 5B.4C. 3D.623.正确的变量定义是________。

A. unsigned long d=1000;B. float m1=m2=10.0;C. char c1='A',c2=A;D. double x=0.618,x=3.14;24.下面程序的输出结果是_______。

#include <stdio.h>void main(){ int s,k;for(s=1,k=2;k<5;k++)s+=k;printf("%d\n",s);}A. 1B. 9C. 10D. 1525.以下程序#include <stdio.h>main(){ while (putchar(getchar())!=’!’); }当输入”qwert!”时,程序的执行结果是______。

(A) qwert (B) rxfsu (C) qwert! (D) rxfsu!26、以下程序的运行结果是_____。

#include<stdio.h>void main(){ int a=12, b=8,c;while (b){ c=a%b;a=b;b=c;}printf("%d\n",a);}A. 12B. 8C. 4D. 2427、以下程序的运行结果是_____。

#include<stdio.h>fun(int a,int b){ return a-b;}main(){ int x=5,y=2,z=1;printf("%d\n", fun(fun(x,y),z++));}A. 1B. 2C. 3D. 不合法28、if语句的控制条件是_______。

A:只能用关系表达式B:只能用关系表达式或逻辑表达式C:只能用逻辑表达式D:可以用任何表达式29、C语言中,数字0187是一个_______。

A. 二进制数B. 十进制数C. 八进制数D. 非法数30、已知a、b、c为float类型,执行语句:scanf("%f %f %f",&a,&b,&c);使得a为10,b为20,c 为30,则以下不正确的输入形式是_______。

A.10B.10.0,20.0,30.0C.10.0D.10 2020 20.0 30.0 3030二、填空题(本题共15小题,每小题2分,共30分)31. 数组在内存中占一片连续的存储区,由_________代表一维数组的首地址。

32. 设int x=3,y=5; 则执行printf("%d\n",x&&y);后输出______。

33. 设有float y=25.9; 则表达式(int) y/5值是_____。

34. 若函数调用语句为f(a,b,f(a+b,a-b,b));,则函数f的参数个数是_______。

35. 设int a=2;,则执行a+=a*=15;后,变量a的值是_______。

36. 设double y[4][5];,则数组y中元素的个数是_______。

37. 设int x=7,y=3; 则表达式x%y+x/y的值是________。

38. 设char s[ ]={"apple"};,则执行printf("%d\n",strlen(s));后输出的值是_____。

39. 下面程序的运行结果为________。

#include <stdio.h>void main(){ int x=1;do { printf("%d", ++x);}while(!x);}40.设int a[3][4]={{1,2,5,3},{2,4,7,9},{3,6,5,8}};则表达式a[1][2]+a[2][3]的值是________。

41. 下面程序的运行结果为________。

#include<stdio.h>main(){ int i=7,s=0;while(--i)if(i%3==0)s+=i;s++;printf("%d\n",s);}42. !2<3的值为________。

43. 在C语言中,要输出一个反斜杠(’\’),要使用转义符______。

44.执行下列程序时输入:123□456□789 (注:本题目的"□"代表空格符),输出的结果是______。

#include <stdio.h>void main(){ char a[100];int b,c;scanf("%c%d%s",&b,&c,a);printf("%s\n",a);}45. 下面程序的运行结果为________。

#include <stdio.h>void main(){ int i,j,a=0;for(i=0;i<2;i++)for(j=4;j>=0;j--)a++;printf("%d\n",a);}三、是非题(本题共5小题,每小题2分,共10分)1、下面程序段可实现求10!int s=1,i=1;for(;i<=10;)s*=i; i++;2、以下程序段可给数组x的所有元素输入数据。

相关文档
最新文档