获取用户输入以及条件选择语句
获取用户输入
但我们想要从设计一个程序将用户的输入进行打印时,首先要获取用户输入的内容。我们使用scanf语句来获取。代码如下:
我们首先还是要定义一个箱子i来存储用户输入的数字,这里相当于先定义然后在通过用户的输入将i的值改变。这里的&有什么作用呢?其实这是将用户的输入的值向一个地址送去。(具体会在指针中部分中说明,只用记住像int等定义的箱子中要加上&符才能将值成功的赋值进去)
在运行之后会出现这种乱码是什么问题呢?一般就是文件编码错误。在右下角将utf8改为gbk就可以解决。
条件选择
一.if else语句
if else语句的基本语法是
if(表达式){语句块1}
else{语句块2}
if在英文中的意思是如果,那么if else语句就是如果满足if中的表达式就执行语句块1,如果不满足就执行语句块2(当满足之后是不会执行语句块2 的,当不满足时也不会执行语句块1,但是都得进行if中的表达式判断。)
二.Switch case语句
条件选择语句时Switch case语句当满足Switch中的表达式时将分几种case来进行。例如我们定义i之后将用户输入是1 时就打印“我是1”。
Switch中的语句就是判断语句,这里可以将i改成i-1这样当用户输入是2时就会对应到case 1。运行结果如下
为什么我们选择的是2但还是将3 的输出了呢?这里就要说到break和continue两个语法了。
break和continue
break语句是结束循环,continue是结束本次循环。
那么具体有何差别呢?我们在代码中体现。
这个代码就是获取用户输入的开头然后从用户输入的数字开始进行打印,在这里有两个if语句,首先是i==50时(前面讲过大于等于小于等于,没讲过等于在c中等于不能直接写,要使用==来判断且==是判断语句不是赋值语句单个=是赋值语句)。这里都是先打印所以会将50打印但是在if里会将i再加上1这样就会跳过51直接打印52。在75时执行break会直接将循环关闭。按照for循环中语句会一直打印到99.我们看一下结果
两次是不同的。一个只是结束了本次循环但没有退出循环,一个是直接结束循环。
break和Switch的结合
这样一来我们就知道了,如果我们不在case后面加上break语句的话,就会从符合条件的case开始依次将后面的case都执行一次,所有我们一般都会在case后面加上一个break。
#漏讲了default是在没有情况符合时的语句#
因为没有case5所以直接转到default。
下一篇文章我会试着将前面三篇文章的内容结合起来做一个用户操作界面。