C语言语法易错点全揭(不断更新中……)

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时,没有执行的分支,程序出错。第四个程序也是如此。

可以对第四个程序中间部分改为:

------------------------------------------------------------------------------------------------------------

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值