admin 管理员组

文章数量: 887021


2023年12月16日发(作者:免费的设计网站)

C语言1-3章习题(部分)

一、判断题

1、C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。但是可以增加程序的可读性。(√ )

2、自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式。 ( √)

3、c程序可由若干个源程序文件组成。( √ )

4、宏替换时先求出实参表达式的值,然后代入形参运算求值。(× )

5、用%s格式符输出字符串时,输出字符不包括结束符’0’。 (√ )

6、#define指令是一个预处理编译器指令,不是程序语句,因此,#define不能用分号结尾。 (√ )

7、一个程序应包括对数据的描述和对操作的描述,其中对数据的描述也就是算法。 (× )

8、在C程序中对用到的所有数据都必须指定其数据类型。(√ )

9、一个实型变量的值肯定是精确的。 (× )

10、do-while循环的while后的分号可以省略。 (× )

11、c语言中函数定义不允许嵌套,但调用可嵌套。 (√ )

12、与其他语句一样,预处理命令必须以分号结尾。 (× )

13、在一个源程序中,main函数的位置必须在最开始。 (× )

14、函数可以调用自己。 (√ )

15、scanf函数一次只能读取一个值。 (× )

16、一个函数中可以有一个以上的return语句,执行到哪一个return语句,哪一个语句起作用。 (√ )

17、字符串“a”只包含1个字符。 ( × )

18、在C语言中,要求对所有用到的变量作强制定义,也就是“先定义,后使用”。( √ )

19、C程序中,函数的定义可以嵌套,但函数的调用不可以嵌套。 (× )

20、C程序中,无论是整数还是实数,都能被准确无误地表示。(× )

21、一个C源程序中有且仅有一个main()函数。 (√ )

22、语句可以用分号或句号结尾。(×)

23、“0”是字串常量,长度为2。 (× )

24、3/9和9%3的结果都是0。(√ )

25、字符常量是用双引号括起来的一个字符。 (× )

26、3/9和9%3的结果都是0。 (√ )

27、取模运算符%只能用于整数。 (√ )

28、while语句是先判断循环条件,后执行循环体。 (√ )

29、所有变量在声明时都必须给定一个类型。 (√ )

二、填空题

1、计算机算法可以用自然语言、 流程图 和 计算机语言(或伪代码) 等方法表示。

2、scanf处理输入数据时,遇到下列情况时该数据认为结束:(1) 空格或回车或跳格(Tab)键 ,(2) 非法输入 ,(3)按指定的宽度结束。

3、“n是大于整数m的奇数”的C语言表达式是___ n>m&&n%2==1__________。

4、a=12,运行表达式“a/=a+a”后,a的值为 0 。

5、C源程序的基本单位是 函数 。

6、运行C程序的步骤是:编辑源程序→编译,得到 目标 程序→连接,得到 可执行 程序→运行,得到结果。

7、三种基本程序结构是 顺序 , 选择 和 循环 。

8、已知a,b,c是一个十进制数的百位,十位,个位,则该数的表达式是a*100+b*10+c 。

9、printf函数和scanf函数的格式说明都使用 % 字符开始。

10、一般地,调用标准字符或格式输入输出库函数时,文件开头应使用

stdio.h 头文件。

11、“y能被4整除但不能被100整除,或y能被400整除” 的C语言表达式是 (y%4==0&&y%100!=0)||(y%400==0)。

12、至少执行一次循环体的循环语句是 do-while 。

13、设x,y,z均为int型变量,描述“x或y中有一个小于z”的表达式为

x

14、在C语言中的实型变量分为两种类型,它们是 单精度 、 双精度 。

15、C语言中要表示条件x>y>z,正确的逻辑表达式是: x>y&&y>z 。

三、单项选择题

1、以下描述正确的是(C )。

A.在C程序中,main函数必须位于程序的最前面

B.C程序中的每行中只能写的一条语句

C.C语言本身没有输入输出语句

D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误

2、下面四个选项中,不合法的用户标识符选项是(C)。

A._A B._123 C. b-a

3、下面不正确的字符串常量是(A)。

A.‘bc’ B.“12’12” C.“0” D.“ ”

4、在C语言中,要求运算数必须是整型的运算符是(D )。

A./ B. ++ C.!= D. %

5、表达式18/4*sqrt(4.0)/ 8值的数据类型为(C )。

A.int B.float C.double D.不确定

6、C语言中,函数返回值类型的定义可以缺省,此时函数值的隐含类型是(B )。

A. void B. int C. float D. double

7、已知ch是字符变量,下面不正确的赋值语句是(A)。

A.ch=’a+b’;

D.ch=5+9;

B.ch=’0’; C.ch=’7’+’9’;

8、设x和y均为int 型变量,则以下语句:x += y;y = x-y;x -= y;的功能是(D)。

A.把x 和y按从大到小排列

B.把x和y按从小到大排列

C.无确定结果

D.交换x和y中的值

9、一个C语言的语句至少应包一个(C )。

A.{} B. 逗号 C. 分号 D. 什么不要

9、算法的确定性是指(B )。

A. 算法应包含有限的操作步骤

B. 算法中的每一个步骤都应当是确定的

C. 在执行算法时需要从外界取得必要的信息

D. 算法中的每一个步骤都应当能有效地执行,并得到确定的结果

10、下列关于C语言用户标识符的叙述中正确的是( B )。

A 用户标识符中可以出现下划线和中划线(减号)

B 用户标识符中不可以出现中划线,但可以出现下划线

C 用户标识符中可以出现下划线,但不可放在标识符开头

D 用户标识符中可以出现下划线和数字,它们都可放在用户标识符的开头

11、已知梯形的上底为a,下底为b,高为h,用C语言写的正确的面积公式是(B )。

A 1/2*(a+b)*h B 1.0/2*(a+b)*h

C 1.0/2.0(a+b)h D 1.0/2*a+b*h

12、已有定义char s1,s2; ,下面正确的语句是(C )。

A scanf(“%s%c”,s1,s2);

B scanf(“%s%c”,s1,&s2);

C scanf(“%c%c”,&s1,&s2);

D scanf(“%s%c”,s1,s2);

13、为下面的程序输入数据,使得i=10,k=’a’,j=15,正确的键盘输入方法是(D )。

#include

void main ( )

{

}

A 10,a,15<回车> B 10<回车>a<回车>15<回车>

C 10’a’15<回车> D 10a15<回车>

14、设整型变量x、y、z的值分别为3、2、1,则下列程序段的输出是(C )。

If(x>y) x=y;

if(x>z) x=z;

printf(“%d,%d,%dn”,x,y,z);

A 3,2,1 B 1,2,3 C 1,2,1 D 1,1,1

15、putchar函数可以向终端输出一个(D )。

int i,j,k;

scanf (“%d%c%d”,&i,&k,&j);

printf (“i=%d,j=%c,k=%dn”,i,k,j);

A. 整型变量表达式值 B. 实型变量值

C. 字符串 D. 字符或字符型变量值

16、一个C语言程序是由(B )。

A.一个主程序和若干子程序组成的

C.若干过程组成

B.函数组成

D.若干子程序组成

17、在C语言中,char型数据在内存中的存储形式是(D )。

A.补码 B.反码 C.原码 D.ASCII码

18、若有以下定义,则正确的赋值语句是(B )。

int a,b; float x;

A.a=1,b=2, B.b++; C.a=b=5 D.b=int(x);

19、若变量c为char类型,能正确判断出c为小写字母的表达式是( D )。

A. 'a'<=c<= 'z' B. (c>= 'a')||(c<= 'z')

C. ('a'<=c)and ('z'>=c) D. (c>= 'a')&&(c<= 'z')

20、在宏定义 #define PI 3.14159中,用宏名PI代替一个( D )。

A. 单精度数 B. 双精度数 C. 常量 D. 字符串

21、表达式(float)12/8及表达式12/8的值分别是(C )。

A. 1.0 1 B.1.5 1.5 C. 1.5 1 D. 1.5 2

22、C源程序的扩展名为( C )。

A. .doc B. .txt C. .c D. .obj

23、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符:(C )。

A.必须为字母 B.必须为下划线

C.必须为字母或下划线 D.可以是字母、数字和下划线中任一种字符

四 、编程序

1、编写一个程序,从键盘读取3个整数值,并显示输出,说明它们是否是直角三角形的边。(是则输出YES,不是则输出NO)。

2、编写程序对输入两个整数,按从大到小顺序输出。

3、写一个比较两个整数大小的函数,在主函数中输入三个整数,调用此函数,输出三个整数中最大的一个数。


本文标签: 程序 函数 C语言 字符 数据