600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > C语言 初学者使用 if语句 常见的错误

C语言 初学者使用 if语句 常见的错误

时间:2020-03-13 01:42:36

相关推荐

C语言 初学者使用 if语句 常见的错误

文章声明:本系列博客为本人,在学习C语言过程中的一些心得与总结,可能会出现一些错误,希望大家指正,我定会虚心接受并改正。

我们在学习编程的时候一定离不了三种基本结构,即选择结构、循环结构和分支结构。其中在使用选择结构时必定少不了if语句,if语句使用的好会让你的程序干净整洁,运行流畅,但是初学者在使用的时候常常会出现一些错误,导致程序崩溃无法运行。

废话不多说,我们直接来看一下新手使用if语句常见的错误!

一.在if语句的括号后面添加分号

if(a>1);{printf("该值比a大\n");}

将此代码运行之后会发现无论a为何值,结果都会输出 “该值比a大” 的结果,这显然不是我们想要的结果。其原因就是 括号后面的“;”惹的祸,我们仔细分析发现,上面这个代码等价于下面这个代码,我们发现在括号后面多了一句空语句。我们知道,if语句后面没有大括号的时候,只执行离它最近的一条语句,所以在当前代码下,if语句判断为真之后执行了空语句(执行空语句之后什么也不会发生),接着顺序执行了printf语句。

if(a>1){;}{printf("该值比a大\n");}

二.判断相等时使用 =

if(a=0) //错误的写法if(b==0)

在C语言中 = 称为赋值运算符,而 == 才是判断相等的运算符,上面代码执行后,0会把值赋给a,会导致条件恒为假(C语言中0为假,非0为真)。所以在使用的过程中一定要分清,不要弄混淆。

三.判断多个变量是否相等时使用 ==

if(a==b==c) //错误写法if(a==b && b==c)

在C语言中 == 是双目运算符(在使用的过程中需要的变量是两个),所以不能使用这种链式判断,第二句中使用 && (与 运算符,可以理解为并且)即a与b 相等 并且 b等于c,来判断三个变量是否相等。

四.判断条件多个条件时,链式判断

if(1 < x < 5) //错误写法if(x > 1 && x < 5)

如,在判断x大于1小于5的时候,数学中会使用第一种方法,但是在C语言中这种方法是错误的。

五.&&与&混淆

if(x > 1 & x < 5) //错误写法if(x > 1 && x < 5)

&这个符号在C语言中有多种含义,切忌乱用。

1、&符号是指取地址符,是单目运算符

常用于scanf,指针中。

2、&符号是位运算符,表示“按位与”,是双目运算符

用于二进制序列中,全1出1,有0出0。

3、当两个&符号同时使用,即&&符号,代表逻辑运算中的逻辑与

用于比较两个对象,全部条件为真才为真,只要有一个条件为假则全为假,可以理解为并且。

学习编程就是在锻炼自己的逻辑思维,每天进步一点,发现更好的自己!一起加油!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。