相信很多朋友在上一节中都是晕乎乎的,还没看完就来到了这一节。的确,上一节更多的作用是以后使用时用来查询的,没必要现在就去记住那些东西。在这一节中,您将接触到C语言的一种判断和一种循环结构,希望您能够充分理解,以便我们在学完它们后,能使用它们编写一个小游戏,当然还有其它的判断和循环结构我们将在之后的章节中逐步学习。好了,不说那么多了,接下来让我们真正来“抚摸”一下C语言吧。
引言:
很多朋友不清楚计算机如何执行程序的,然后在学习计算机基础过程中遇到进制转换一片迷茫,又在上一节中看得云里雾里。现在请各位朋友忘掉那些让人发懵的东西,一起来真正看看C语言是如何运作的。
(预警:接下来的引言内容为了通俗易懂,存在一些错误,但不影响理解,大神勿喷)
其实现在的计算机编程已经很少接触到那些让人迷茫的东西了(玩单片机的别评论这句话),很多让人迷茫的东西都是在考试中才会出现的。我们一般的编写程序基本用到的都是别人已经封装好的函数(相当于:别人写了个在计算机显示正方形的东西,你如果要显示那正方形,只要在程序中写上要用那显示正方形的东西,并告诉那东西正方形位置和边长即可)。
我们最常使用到的主要还是一些基础的逻辑结构:
第一种:判断:如果怎么样,那么怎么样,否则怎么样
第二种:循环:如果满足什么条件,就重复执行哪段代码
这里我们来讨论一下判断,判断中我们将涉及到两个关键词:如果“if”和否则“else”。在C语言中他们的格式是:
if(/*要判断的条件*/){ /*满足条件执行的代码*/ } else{ /*不满足条件执行的代码*/ }举个例子:
if(今天没吃早饭){ //如果今天没有吃早饭 去吃早饭; //那么去吃早饭 } else{ //否则 出去玩; //出去玩 }
当然直接这样肯定无法运行的,因为大多数编译器不支持中文变量名。
我们可以在代码中来试一试如果、那么、否则语句
#include <stdio.h> int main(){ int a,b,c; //声明程序中要用到的2个整数 a=20; b=3; printf("a的值为%d,b的值为%d\n",a,b); if(a < b){ //如果a小于b printf("a小于b\n"); } else if(a > b){ //否则如果a大于b printf("a大于b\n"); } else{ //否则 printf("a等于b"); //a既不大于b,也不小于b,只能等于b了 } return 0; } /*相信我,程序运行结果如下: a的值为20,b的值为3 a大于b */
在C语言中如果否则可以像上面那样连环使用,也可以只使用如果“if”而不使用否则“else”。当然你也可以嵌套使用:
if(a > b){ printf("a大于b"); if(a+b > 25){ printf("a加b大于25"); } }
题外话,在如果那么的判断条件中等于不是“=”而是两个等号“==”。因为一个等号被用作了赋值运行“int a=10;”中的给一个变量a赋值为10。
引言:其实判断还有一些方法,那些不常用的我们以后再讨论。好了,先不讲那么多,直接开始讨论C语言的另一个常用逻辑结构:循环
开始吃饭; while(没吃饱){ //循环常用的有两种while循环和for循环,我们先讲while这一种 接着吃; } 洗碗;
这里的while后面括号中是循环的判断条件,满足“没吃饱”这个条件时,那么我们“接着吃饭”,直到不满足“没吃饱”这个条件(也就是吃饱了),那么我们再继续执行后面的内容。
#include <stdio.h> int main(){ int i=0; //这里的a,b,c,i之类的变量的名字随意取 while(i < 10){ //当i小于10时执行这个循环 printf("变量i的值为%d\n",i); i = i + 1; //给i加1 } return 0; }运行代码后输出的结果为:
变量i的值为0 变量i的值为1 变量i的值为2 变量i的值为3 变量i的值为4 变量i的值为5 变量i的值为6 变量i的值为7 变量i的值为8 变量i的值为9
这段代码执行完毕后i为10,因为是在i为10时,不满足循环条件结束的循环。
其实还有一些判断和循环的代码,但那些我们以后再讨论,先说一说上面判断和循环涉及到的运算符算数运算符见下表:
运算符 | 举例 | 说明 |
---|---|---|
+ | c=a+b | 就是数学中的加号 |
- | c=a-b | 就是数学中的减号 |
* | c=a*b | 相当于数学中的乘号,通常在电脑键盘数字8上面 |
/ | c=a/b | 相当于数学中的除号,通常在电脑键盘问号下面 |
% | c=a%b | 求余数,通常在电脑键盘数字5上面的百分号 |
++ | a++ | 对a加1,类似a=a+1 |
-- | a-- | 对a减1,类似a=a-1 |
注意:
“int a=10;c=a++;”是先给c赋值a当前的值,然后a再自加1,这里c为10,a为11
“int a=10;c=++a;”是先a自加1,然后再给c赋值a当前的值,这里c为11,a为11
“--”运算符也是同理。
注意:除号斜杠方向,
“/”是除号,两个的话“//”是单行注释,方向反过来“\”是转义
运算符 | 举例 | 说明 |
---|---|---|
== | a==b | 检查两个操作数的值是否相等 |
!= | a!=b | 检查两个操作数的值是否不相等 |
> | a>b | 大于 |
< | a<b | 小于 |
>= | a>=b | 大于等于 |
<= | a<=b | 小于等于 |