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。