1,C语言中关键字
1)首先,系统保留的32个关键字
auto break case char const continue default do double else enum
extern float for goto if int long register return short signed static sizeof struct switch typedef union unsigned void volatile while
2)其次,一些预处理命令字符不要误以为它们是关键字。
define,include,
3)还有一些是库函数的函数名,不能误认为它们是系统关键字:
printf,scanf,getchar,putchar,gets,puts,pow;
------------------------------------------------------------------------------------------------------------
2,常量书写形式
1)十进制数,不能有前导,不能含有非十进制数码:如:023,23D;
2)八进制数,以0开头,数码值为0~7,八进制数通常为无符号数。下列各数是不合法的:
256(无前缀0),0328A(包含了非八进制数码8与A),-0127(出现了负号);
3)十六进制数,前缀为0x或0X,其数码取值为0~9,A~F或a~f(数据不区分大小写)
4)十进制小数,必须有小数点,并且小数点的前面或后面必须有数字。下面都是合法的:
0.0,3.14,.618,10.0,123.
5)指数形式,字母E(或e)前可以是小数或整数,如果是纯小数,可以将小数点前的0省略,但是E(e)之前必须有数字。如:.23e5
字线E(e)后必须为整数,必须有数字,不能出现小数的情况。
6)转义字符,/ddd:1~3位八进制数所代表的字符,/xhh:1~2位十六进制数所代表的字符;
------------------------------------------------------------------------------------------------------------
3,用if...else语句实现分段函数
要求编写程序,对于输入的每一个X值,计算相应的y值。对应关系为:
y=1/x(x>0);y=0(x=0);y=-1/2x(x<0);
下面有四段代码:
这两个程序都能得出正确的结果,是正确的。
下面两断程序都有错误:
第三个程序断,else与最近的if配对,因此当x的值为0时,没有执行的分支,程序出错。第四个程序也是如此。
可以对第四个程序中间部分改为:
------------------------------------------------------------------------------------------------------------