求C语言练习题答案

Python012

求C语言练习题答案,第1张

二、填空题

1. ___变量__是指在程序运行过程中,值可以发生变化的量。

2.C语言是一种____区分_(区分/不区分)字母大小写的语言,Password和password在C语言中是两个___不同__(相同/不同)的标识符。

3.下面的转义字符分别表示:

’\b’__退格___,’\n’__换行___,’\t’__水平制表___,’\地’ __双引号字符逗"地___

4.下面常量的类型分别为:

1.5E12__浮点型___,1288L _整型____,’a’__字符___,"a"__字符串___

08__整形___,’\007’__整型___

5. C语言源程序一定要有而且只有一个__主函数___函数,程序执行时也从它开始。

6. 结构化程序设计主要有___顺序__、__选择___和__循环___三种基本结构。

三、判断题

1. C语言不是一种结构化程序设计语言。(错)

2. C语言是弱类型语言,为了类型转换的方便,对类型的要求很不严格,在许多情况下不做类型检查。( 对 )

3. C语言既具有高级语言的特点,同时也具有部分低级语言的特点。(对)

4. C源程序可以由多个文件组成,每个文件中都可有一个主函数main()。( 错 )

5. C程序从main()函数开始执行,因此主函数main()必须放在程序的开头。(错)

6. 命名标识符时字符个数不得超过6个。(错)

7. 对于同一个数据种类型,变量值越大,它所占内存的字节数越多。(错)

8. 定义一个变量时必须指出变量类型,但是不一定必须给变量初始化。( 对 )

9. ""表示一个空字符串常量,’’表示一个空字符常量。( 对 )

10. 一个表达式中出现多种数值型数据类型,运算前先进行类型转换。( 对 )

11. 浮点数不能作自增或自减运算,只有整型才可作自增或自减运算。( 错 )

12. 已知a、b是整型变量,则表达式a=3,2+4,b=6,7+8是一个逗号表达式。( 对 )

四、问答题

1. 写出下面表达式的值

(1)12/3*9=36

(2)int i=3,j

i*=2+5

i/=j=4

i+=(j%2)

i、j的最终结果是多少看i=5,j=4

(3)int a=3,b,c

b=(a++)+(a++)+(a++)

c=(++a)+(++a)+(++a)a、b、c的最终结果是多少看a=9,b=9,c=25

2. 下列表达式是否正确?若正确,表达式的值是什么?

21/2=10 21/2.0= 10.5 21.0/2=10.5 21%2=1 21.0%2 21%2.0 18%15=3 15%18=15 3%15=3

五、编程题

编写程序,在屏幕上输出如下信息:

===================

= I am a student. =

===================

#include"stdio.h逗

void main()

{

printf("= I am a student. =")

}

if(x==y)——==是关系运算符,是说无论x和y为何值,只要两者的值相等,结果就为“真”,即x==y的取值为1;if(x=y)——=是赋值运算符,x=y写在if的()里是当关系运算处理的,即是(x=y)!=0的简写;可见,只有y的值不为0时x=y的取值为“真”即1,反之y的值为0时取值为“假”即0。所以题目提供的“在if语句里第二个不成立”是胡说。

表达式3==3==3的值为“假”即0。因为==是左至右结合的,所以先算前面的3==3为“真”即1,而1当然不等于3,所以为“假”即0。所以提供的“疑惑结果是为3呢”也是瞎猜。

表达式100<=a<=300在C/C++中不能表达[100,300]。因为100<=a<=300在C/C++中是无定义的错误语句,应该写成100<=a &&a<=300才是表达[100,300]的正确语句。

假如输入的字符已经成功赋给了变量ch,则ch>='a' &&ch<='z'就可以了。

假如年份已经正确赋给y,那么当y%4==0 &&y%100 || y%400==0为“真”即1时就是闰年,否则为平年。

这个办法很多。假设数字已正确赋给整型变量n,举一例如下:

int hw(int n){

    int m,t

    for(t=n,m=0t(m*=10)+=t%10,t/=10)

    return m==n

} 以上函数在n是回文时返回1,否则返回0。