C语言习题集
第 1 章
C语言概述
一. 填空题
1. C程序是由 构成的,一个C程序中至少包含 。 是C程序的基本单位。 2. 任何C程序必须有且只有一个_______函数。
3. C程序注释是由 和 所界定的文字信息组成的。
二. 判断题
1. 2. 3. 4. 5.
一个C程序的执行总是从该程序的main函数开始,在main函数最后结束。 main函数必须写在一个C程序的最前面。 一个C程序可以包含若干的函数。
可用Visual C++ 6.0编译、连接、运行、调试C程序。
C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。但是可以增加程序的可读性。
6. C程序的注释只能是一行。
7. C程序的注释不能是中文文字信息。
三. 简答题
1. 2. 3. 4.
简述C语言的特点。 写出C程序的基本结构。
简述使用Visual C++ 6.0编译和运行C程序的步骤。 简述C语言程序设计课程的学习方法。
四. 编程题
1. 编写C程序,输出如下信息:
**************************************************************** The only way to learn a new programming language is by writing programs in it. **************************************************************** 2. 编写C程序,输出如下信息:
C has proven to be a pleasant, expressive and versatile language for a wide variety of programs. It is easy to learn, and it wears well as on's experience with it grows. 3. 编写C程序,输入4个整数,输出其中最大者。
第 2 章
一. 填空题
程序的灵魂——算法
1. + = 程序。 是程序的灵魂。 2. 一个计算机程序应包括 和 的内容。
3. 算法是 。计算机算法的特性
是 、 、 、 、 。
4. 计算机算法可以用 , 和 等方法表示。 5. 三种基本程序结构是 , 和 。
6. 结构化程序设计的主要方法是 。
二. 简答题
1. 分别用ANSI流程图、N-S图、自然语言描述求解下面问题的步骤。 (1) 依次输入10个数,要求将其中最大的数打印出来。
(2) 有3个数a,b,c,要求按由大到小的顺序把它们打印出来。 (3) 求两个正整数m和n的最大公约数和最小公倍数。 (4) 有一函数:
输入x,输出y值。
(5) 求两个正整数m和n的最大公约数和最小公倍数。
2. 分别用ANSI流程图和N-S流程图表示求解下面问题的算法。 (1) 依次输入10个数,要求将其中最大的数打印出来。
(2) 有3个数a,b,c,要求按由大到小的顺序把它们打印出来。 (3) 判断一个数n能否同时被3和5整除。
?x(x?1)?y??2x?11(1?x?10)?3x?11(x?10)?
23581321,,,,,,?(4)有一个分数数列: 1235813求出这个数列前20项之和。
第 3 章
一. 选择题
数据类型、运算符与表达式
1. C语言的关键字是( )。
A. NULL B. file C. include D. typedef 2. 正确的自定义标识符是( )。
A. if B. a*b C. iF D. 8pq 3. 错误的转义字符是 ( )
A.'\\091' B. '\\\\' C. '\\0' D. '\\'' 4. 在C语言中,错误的常数是 ( )
A.1E+0.0 B.5 C.0xaf D.0L 5. 在C语言中,要求参加运算的数必须时整数的运算符是( )。
A./ B.* C. % D. = 6. 在C语言中,数字029是一个( )。
A.八进制数 B.十六进制数 C.十进制数 D.非法数 7. C语言中整数-8在内存中的存储形式为( )。
A.1111111111111000 B.100000000001000 C.000000000001000 D.1111111111110111 8. 对于char cx=? \\039?;语句,正确的是( )。
A.不合法 B.cx的值是?\\03?
C.cx的值为四个字符 D.cx的值为三个字符 9. 若int k=7,x=12; 则能使值为3的表达式是( )。
A. x%=(k%=5) B. x%=(k-k%5) C. x%=k-k%5 D. (x%=k)-(k%=5) 10. 为了计算s=10!(即10的阶乘),则s变量应定义为( )。
A.int B.unsigned C.long D.以上三种类型均可 11. 以下所列的C语言常量中,错误的是( )。
A.0xFF B.1.2e0.5 C.2L D.?\\72? 12. 假定x和y为double型,则表达式x=2, y=x+3/2的值是( )。
A.3.500000 B.3 C.2.000000 D.3.000000
13. 设变量n为float型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四
舍五入运算的表达式是( )。
A. n=(n*100+0.5)/100.0 B. m=n*100+0.5, n=m/100.0 C. n=n*100+0.5/100.0 D. n=(n/100+0.5)*100.0 14. 以下选项中不属于C语言的类型是( )。
A.signed short int B.unsigned long int C.unsigned int D.long short
15. 设以下变量均为int类型,则值不等于7的表达式是( )。
A.(x=y=6,x+y,x+1) B.(x=y=6,x+y,y+1) C.(x=6,x+1,y=6,x+y) D.(y=6,y+1,x=y,x+1)
16. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是( )。
A.a=20000+20000; B.a=4000*10; C.30000+10000; D.a=4000L*10L; 17. 对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,( )是正确的。
A. 语法错误 B. f为5.0 C.f为0.0 D.f为2.0
x?y18. 与代数式u?v不等价的C语言表达式是( )。
A.x*y/u*v B.x*y/u/v C.x*y/(u*v) D.x/(u*v)*y
二. 填空题
1. 在C语言中(16位PC机),一个char数据在内存中所占字节数为 ,其数值范围
为 ;一个float数据在内存中所占字节数为 ,其数值范围为 。 2. C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须
为 。
3. 在C语言中,不同运算符之间运算次序存在 的区别,同一运算符之间运算次序存在
的规则。
4. 设x,i,j,k都是int型变量,表达式x=(i=4,j=16,k=32)计算后,x的值为 。 5. 设x=2.5,a=7,y=4.7, 则x+a%3*(int)(x+y)%2/4为 。
6. 设a=2,b=3,x=3.5,y=2.5,则(float)(a+b)/2+(int)x%(int)y为 。
1?a?x?ax???24a??的C语言表达式为 。 7. 数学式子
8. 定义:double x=3.5,y=3.2;则表达式(int)x*0.5的值是 ,表达式y+=x++的值
是 。
9. 定义:int m=5,n=3;则表达式m/=n+4的值是 ,表达式m=(m=1,n=2,n-m)的值
是 ,表达式m+=m-=(m=1)*(n=2)的值是 。 10. 若a是int变量,则执行表达式a=25/3%3后,a的值是 。
11. 数学表达式x?2x?3x?4x?5x?6x?7对应的C语言表达式
为: 。
12. 已知a,b,c是一个十进制数的百位,十位,个位,则该数的表达式是 。
65432三. 判断题
1. 2. 3. 4. 5. 6. 7. 8. 9.
在C程序中对用到的所有数据都必须指定其数据类型。 一个变量在内存中占据一定的存储单元。 一个实型变量的值肯定是精确的。
对几个变量在定义时赋初值可以写成:int a=b=c=3;
自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式。 在C程序的表达式中,为了明确表达式的运算次序,常使用括号“()”。 %运算符要求运算数必须是整数。
若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数。 在C程序中,逗号运算符的优先级最低。
10. C语言不允许混合类型数据间进行运算。
四. 简答题
1. c语言中运算符的优先级和其结合性有和区别? 2. \与 'A' 有何区别?
5c?(F?32)93. 华氏温度F与摄氏温度c的转换公式为:,则float c,F;c=5/9*(F-32)是其对应的C
语言表达式吗?如果不是,为什么?
五. 程序阅读题
1. 写出以下程序运行的结果。
main ( ) {
char c1=?a?,c2=?b?,c3=?c?,c4=?\\101?,c5=?\\x41?; printf(“a%c b%c\\tc%c\\tabc\\n”,c1,c2,c3); printf(“\\t\\b%c %c”,c4,c5); }
2. 写出以下程序运行的结果。
main ( ) { int i,j,m,n; i=8; j=10; m=++i; n=j++;
printf(“%d,%d,%d,%d”,i,j,m,n); }
六. 编程题
1. 输入三位十进制正整数m,将m的个位,十位,百位反序而成的三位数(如:123反序为321)输出。 2. 输入两个整数x,y,将其值互换后输出。
3. 利用ASCII表,输出笑脸及扑克牌符号、10个数字符号、26个大写字母。
第 4 章
一. 选择题
最简单的C程序设计
1. C语言的程序一行写不下时,可以( )。
A.用逗号换行 B.用分号换行 C.在任意一空格处换行 D.用回车符换行 2. putchar函数可以向终端输出一个( )。
A. 整型变量表达式值 B. 实型变量值
C. 字符串 D. 字符或字符型变量值 3. 执行下列程序段时输出结果是( )。
unsigned int a=65535; printf(“%d”,a); A.65535 B.-1 C.-32767 D.1 4. 执行下列程序段时输出结果是( )。
int x=13,y=5;
printf(“%d”,x%=(y/=2));
A.3 B.2 C.1 D.0 5. 下列程序的输出结果是( )。 main ( )
{ int x=023;
printf(“%d”,--x);
}
A.17 B.18 C.23 D.24 6. 执行下列程序段时输出结果是( )。 int x=5,y;
y=2+(x+=x++,x+8,++x); printf(“%d”,y);
A.13 B.14 C.15 D.16 7. 若运行时输入:12345678↙,则下列程序运行结果为( )。
main ( ) { int a,b;
scanf(“--=”,&a,&b); printf(“%d\\n”,a+b); }
A.46 B.579 C.5690 D.出错
8. 有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量 a的值为1,b的值为3,c的值为2,
则正确的数据输入方式是( )。
A.132↙ B.1,3,2↙
C.a=1 b=3 c=2↙ D.a=1,b=3,c=2↙
9. 若运行时输入:12345678↙,则下列程序运行结果为( )。
main ( ) { int a,b;
scanf(“--=”,&a,&b); printf(“%d\\n”,a+b); }
A.46 B.579 C.5690 D.出错
10. 已知i,j,k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1,j的值为2,k的值为3,
以下选项中正确的输入语句是( )。
A.scanf(“---”,&i,&j,&k); B.scanf(“%d_%d_%d”,&i,&j,&k);
C.scanf(“%d,%d,%d”,&i,&j,&k); D.scanf(“i=%d,j=%d,k=%d”,&i,&j,&k); 11. 若int x,y; double z;以下不合法的scanf函数调用语句是( )。
A. scanf(“%d%lx,%le”,&x,&y,&z); B. scanf(“-*%d%lf”,&x,&y,&z); C. scanf(“%x%*d%o”,&x,&y); D. scanf(“%x%o%6.2f”, &x,&y,&z);
12. 有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量 a的值为1,b的值为3,c的值为2,
则正确的数据输入方式是( )。
A.132↙ B.1,3,2↙
C.a=1 b=3 c=2↙ D.a=1,b=3,c=2↙
二. 填空题
1. C程序由若干个 文件组成,而此类文件可由若干个 和 以及
部分组成。
2. C语句可以分为 , , , 和 等5种类型。 3. 一个表达式要构成一个C语句,必须 。 4. 复合语句是用一对 界定的语句块。
5. printf函数和scanf函数的格式说明都使用 字符开始。 6. scanf处理输入数据时,遇到下列情况时该数据认为结束:(1) ,
(2) ,(3) 。
7. 已有int i,j; float x;为将-10赋给i,12赋给j,410.34赋给x;则对应以下scanf函数调用语
句的数据输入形式是 。
8. C语言本身不提供输入输出语句,其输入输出操作是由 来实现的。
9. 一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命
令: 。
三. 程序阅读题
1. 用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1='A',c2='a',问在键盘上如何输入?
百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库C语言各章习题集在线全文阅读。
相关推荐: