有人怀疑7天是否能学会C语言?如果每天只花5分钟,确实是可以入门的。但是如果你愿意每天花1-3个小时学习,那么7天以后你已经是一个比较厉害的C语言编程高手了。
我愿意花7天,给你讲一点C语言知道,虽然这只是入门,但是万事开头难,只要你入门了,以后的路就顺畅很多。
我们目前为止,学到了以下内容:
1、数据类型:int float double
2、格式控制符:
%d 对应int型的整数
%f 对应float型的单精度实数
%lf 对应double型的双精度实数
3、输出函数printf( )和输入函数scanf( )
4、算术运算符:加( + ) 减( - ) 乘( * ) 除( / ) 取余( % )
5、关系运算符:大于( > ) 大于等于( >= ) 小于( < ) 小于等于( <= )
等于( == ) 不等于( != )
今天我们来学习选择语句。
选择语句:if
我们之前学习的程序,每条语句都是按顺序一条一条执行下来,但是有时候我们会遇到一些条件,满足条件才能执行某些语句。
这个很正常,我们生活中也经常有这样那样的条件的,比如孩子说我考上985了,就给我买手机电脑呀。或者说今天下雨了我就不出门了。这些就是要满足条件才做的事。
if语句就是选择语句。我们来看if语句的语法格式。
if语句有3种语法格式,格式1:
条件为真时,执行语句1,条件为假时,执行语句2。
上述语法格式中,大括号可以去掉。形如:
但是,当条件为真时,要执行多条语句,或者条件为假时要执行多条语句,则大括号不能省略。
所以,为了防止出错,建议大括号什么时候都写上。
几点注意的地方:if的括号后面没有分号,else后面也没有分号。
上图蓝色圆框里的分号不能有。
例1:编写一个程序,输入一个整数,如果该整数不小于60,则输出“恭喜你及格了!”,否则输出”你需要更努力!”。
上节课说了,拿到题目要先写步骤,这样就是训练我们的逻辑思维。上述题目的步骤如下:
第1步:定义一个整型变量,给变量起个名,比如命名为a。(相当于要买一间房,因为要装从键盘输入的一个整数,这间房命名为a,你也可以叫别的名字,但注意命名规则:以字母或者下划线开头,后跟字母或数字或下划线。)
第2步:如果a不小于60分则输出“恭喜你及格了!”; 输出”你需要更努力!”。
我们的C语言程序就是上面两句,把它们放在C语言程序框架中,还记得C程序框架吗?就是:
我们把上面程序写出来:
运行程序,比如我输入89,则输出结果:
再运行一次,这次我输入59,则输出结果:
if语句可以没有else,即if语句的语法格式2:
例2:编写一个程序,输入一个整数,输出该数的绝对值。
正数的绝对值是它本身,负数的绝对值是它的相反数。程序如下:
如下程序也是同样功能:
我们看到第2个程序的if语句是没有else和它配对的,功能一样,如果输入的整数小于0,则把它变成相反数,不小于0呢?那就不用变。最后输出a即可。
前面的选择都是两路选择,非黑即白,也可以有多个选择,这就是if语句的第3种语法格式。
if语句的语法格式3:
例3:编写一个程序,输入一个整数,输出该整数是正数、负数或零。
好了,我们今天学习了if语句,下面我们来写一个猜数游戏。
假设我们要别人猜的数是38,那么我们让别人输入一个整数。
如果这个整数大于38,显示“大了”;
小于38,显示“小了”;
如果输入的正好是38,则显示“你赢了”。
我们先想想,要买几间房来装我们的数?至少得买一间房,装输入的整数,所以至少定义一个变量,假设变量命名为a,我们也可以再定义一个变量来存放38。程序如下:
注意在输入之前有一个提示:请输入你猜的数,这个提示语写在printf输出函数实现。
如果我输入89,结果如下:
重新运行,这次我输入18,结果如下:
重新运行,这次我输入38,结果如下:
这个猜数游戏,是一把定输赢,你主要输入的不是38,那么给出“大了“或者”小了“,程序就结束了,你得重新发出运行命令。
还记得怎样运行吗?在Dev C++里,选上方菜单中的“运行编译运行”,才能重新输入再显示结果。
如果你的这个游戏,每个人都有10次机会来猜大小,可不可以呢?可以的,这个要用到循环语句。比如说,我们给用户10次机会来猜大小,那么就给出一个循环语句,循环10次。程序如下:
注意程序的第4行,定义三个变量的分号后面,有两个斜杠,后面有一行字,那个是注释,就是给解释这句是什么意思,你可以不要注释。如果需要注释,两个斜杠//后面知道这一行末尾的信息都是注释。
程序中加了一个for语句,这个是循环语句。
这里for的大括号中的语句叫循环体,循环次数有for里面的两个分号之间的条件来决定。
注意for语句的格式:
其中表达式2左右的分号都不能去掉,for的圆括号外面没有分号。
表达式2其实就是条件,当这个条件为真时,重复执行循环体,直到表达式2为假。
编写好程序后,按“运行编译运行”,如果是手机的话,就按最上面一行的“运行”按钮,此时程序运行如下:
大家可以看出,我们有10次机会猜数,如果一直猜不出,那么输入10次以后程序就结束。但是,比如我第7次已经猜对了,但是也得运行完10次才能结束。
怎么改进呢?可以加上有一个语句:
break;
break是强制中断循环的意思。,
我们可以修改上述程序,当输入“你赢了”的时候,可以加上break语句强制中断循环。
修改好程序后,按“运行编译运行”,此时当输入数字为38时就结束程序,不用循环10次。
今天的课就讲到这里,明天继续讲循环语句。