阅读须知:
小编推荐一个学 C 语言 / C++ 的学习裙 二六三, 六八八, 二七六 , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
1. 如何比较
生活中我们常常会做比较, 通过比较我们知道 6 大于 5, 那么 C 语言中又是怎么来比较的呢?
C 语言是通过>(大于)<(小于)==(等于)>=(大于等于)<=(小于等于)!=(不等于), 这些运算符来进行比较的, 比如:
像上面的表达式叫做关系表达式, 关系表达式的值为 "真" 或者 "假", 像上面 a < b 就为真, a > b 就为假
注意当比较两个变量是否相等时是使用 == 来比较的, 是两个等号连着用哦, 如果只是一个等号 = 这是赋值的意思, 比如 a = 4 是把 4 赋值给 a 这个变量, 而不是 a 是不是等于 4 的意思
2. 如何判断真假
C 语言除了会做比较运算外还有一种新的运算叫做逻辑运算, 那什么叫逻辑运算呢? 就是用 "真" 和 "假" 这两个值来做运算逻辑运算的值也是 "真" 和 "假", 用 "0" 表示假, 用非 0 数字表示 "真", 一般使用 "1" 表示 "真"
首先我们先来介绍三种符号:&& 与运算, 规则:"真 && 真" 为真,"真 && 假" 为假,"假 && 真" 为假,"假 && 假" 为假 || 或运算, 规则:"真 || 真" 为真,"真 || 假" 为真,"假 || 真" 为真,"假 || 假" 为假 ! 非运算, 规则:"! 真" 为假,"! 假" 为真
举个例子:
(a < b) && (b < c) 为真 (a < b) || (a < c) 为真 a < b 为真, !(a < b) 为假
3. 判断是正数还是负数
一个非 0 整数不是正数就是负数, 如果我们想判断一个数字是不是负数, 用 C 语言该怎么解决呢?
我们知道小于 0 的数就是负数, 现在用 C 语言来判断一个数是不是负数, 如果是就让它自己说出来 "我是负数":
这里出现一个新的用法 --if 语句, 它就是 C 语言中的判断语句
if 语句括号中的句子就是条件, 条件可以是关系表达式也可以是逻辑表达式, 比如 a < 0 就是一个条件 if 语句后面都会跟着一对花括号{}, 在这个花括号的里面的内容就是满足 if 条件后的一些处理, 在这里可以写任意的 C 语言的语句
当 if 语句中只有一个 C 语言的语句时可以不适用花括号, 所以
- if (a < 0)
- printf("我是负数!");
也是合法的, 只不过为了代码的可读性考虑, 一般都会加上花括号
4. 如何判断是奇数还是偶数
一个整数不是奇数就是偶数, 现实中我们判断偶数的依据是看这个数是否能被 2 整除, 也就是看看这个数字除以 2 之后的余数是否为 0, 如果不为 0 那肯定就是奇数现在我们把这个想法转化为 C 的语句吧!
在 C 语言中求余数是用 % 这个符号的, 运用上个练习中我们学习的 if()语句来试试吧
嘿嘿, 这里我们又使用了一个新的语句 else, 其实 else 就是它英文字面的意思, 就是除了符合 if 条件之外的它都接收比如上面的例子中如果不是偶数那剩下的肯定是奇数
else 的使用方法和 if 类似, 也要在后面加上 {} 这对花括号, 所有符合 else 条件的处理都要包含在花括号中
5. 分数等级查询小系统
我们知道老师一般会把分数进行分级, 学生可以根据自己的考试分数来查询自己的成绩是哪个等级:
80 < score <= 100 为优秀 60 <= score <= 80 为良好 score < 60 为不及格
既然我们知道了分等级的规则就帮着老师来做一个分数等级查询的小系统吧
优秀等级对应的 C 语言的语句是:
- if (score <= 100 && score >80)
- {
- printf("你的成绩是优秀!");
- }
良好等级对应的 C 语言的语句是:
- if(score <= 80 && score >=60)
- {
- printf("你的成绩是良好!");
- }
不及格等级对应的 C 语言的语句是:
- if (score < 60)
- {
- printf("你的成绩是不及格!");
- }
上面写这么多的 if 语句是不是有点儿烦, C 语言中有一种方法可以把上边所有的 if 语句连起来, 看清楚哦:
小编推荐一个学 C 语言 / C++ 的学习裙 二六三, 六八八, 二七六 , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
这个代码看起来有点儿长, 但是非常好理解如果不符合第一个条件的分支我就走到 else 里面, 结果 else 里面还有条件判断, 再跟这个条件进行匹配, 直到匹配到合适的条件为止使用这么一层一层的 if 和 else 就叫条件语句的嵌套使用时一定要注意格式对齐, 这样你的代码看起来才清楚
6. 星期查询小系统
我们已经学习了 if 和 else 的嵌套使用, 当多层的嵌套使用时出错的可能性就增加了 C 语言中还有一种新的语句能解决这个问题, 我一直叫它开关语句: switch, 下面我们来讲一下怎么使用 switch 语句:
- switch (weekday)
- {
- case1:
- printf("Today is Monday");
- break;
- case2:
- printf("Today is Tuesday");
- break;
- case7:
- printf("Today is Sunday");
- break;
- default:
- printf("You write number is wrong!");
- break;
- }
小编推荐一个学 C 语言 / C++ 的学习裙 二六三, 六八八, 二七六 , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
上面的代码就是 switch 的使用方法, switch 后面的括号 () 里是一个变量, 上面的例子中 weekday 就是个变量, 用来存数字的, 我们希望这个数字是 1-7 之间的整数
case 后面跟着的数字就是用来跟 weekday 进行匹配的, 如果是 weekday 中存 1, 就进入 case 1 中, 进行相应的处理, 否则就不会进去
case 后面不只能写数字, 也可以是一个字母, 但是不能是变量, 每个 case 后面跟的不能重复
default 是用来处理异常的, 比如 weekday 中存的不是 1-7 的数字而是别的, 这时就会进入到 default 这个语句中进行相应的处理
每个 case 后面必须有一个 break, 是跳出的意思
7. 打赌输赢机
生活中我们经常会打赌, 赌你赢了怎么样我赢了怎么样, C 语言中有一个跟这个非常类似的语句, 叫条件运算符:
(表达式 ? 值 1 : 值 2)
"表达式" 就是赌注的内容, 值 1 和值 2 就是赌赢的奖励
y = (x == 2 ? 100 : 50) ;
如果 x 等于 2, 那么 y 就等于 100, 如果 x 不等于 2, 那么 y 就等于 50.
来源: http://www.jianshu.com/p/c59a1f77dbf3