再进行循环学习时先说说自己学习的成果,通过一段时间的学习,学会了基本的编写简单的程序,
但是接触它时间越长,越发觉得自己知识面的渺小;
一.学习准备
对前面其它函数有大致的了解,更方便你理解下面的
二.分支结构
循环里常常需要用到if语句,下面先介绍
2.1 一般形式if(条件语句)工作语句
#include<stdio.h>
int main()
{
int a, b;
printf("输入俩不相等的整数,用,或者空格隔开");
scanf("%d%d", &a, &b);
if (a > b)
printf("%d", a);
if (b > a)
printf("%d", b);
}
对应这里的条件语句,要区分=与==的区别,在数学中我们把=看作等式俩边相等的标识符,但是在C语言中,=表示就是赋值的意思(就是把等号右边的值给左边的,右边只可以是常量或者是已经被赋值的未知数,左边则是未知数);==这个符号就是判断两边的数是否相等,相等就可以执行下面的工作语句,反之就不可以,会向下进行;
2.2 if(条件语句).....else......(非此即彼!!!)
#include<stdio.h>
int main()
{
int a, b;
printf("输入俩不相等的整数,用空格隔开");\\%d,%d这样写的话就需要要,隔开
scanf("%d%d", &a, &b);
if (a > b)
printf("%d",a);
else
printf("%d",b);
}
这个程序的意思就是输入俩不相等整数,如果a>b就输出a,反之就输出b;这个else就是所表达的就是if(a<b),它对应的是从它开始向上的碰到的第一个if;下面有关于这个的详细介绍;
2.3 if 的嵌套
#include<stdio.h>
main()
{
int a=0,b=0;
scanf("%d,%d,%d",&a,&b);//输入俩个数
if(a>5)
if(b<6)
printf("hehe");
else
printf("wuwu");
}
我按情况来分别说明(这里简单的补充一下scanf输入的规则,比如你要输入5和6"%d%d"双引号里面是这样写的,你输入就要写为5空格6;"%d,%d"就要输入5,6;确保%d%d之间的符号相同,还要注意的是%d%d出现因为你输入的是整数你直接写56会被认为输入的是一个数,所以这里我在56之间加了空格;)
2.3.1 输入6,5输出结果就是hehe ;
输入6,7结果就是wuwu(因为这个程序的else对应的是if(b<6)表达的是if(b>6);
输入5,5或者5,7什么也不会返回因为当不满足if(a>5)这个条件时,就不会执行if(b<6),不执行这个它对应的else 里面的也不会被执行,所以什么也不会返回;
2.3.2
#include<stdio.h>
main()
{
int a=0,b=0;
scanf("%d,%d,%d",&a,&b);//输入俩个数
if(a>5)
{
if(b<6)
printf("hehe");
}
else
printf("wuwu");
}
来看看这个条件
输入6,5输出结果就是hehe ;输入6,7什么也不会返回;
输入5,7则会返回wuwu;为什么会出现这样的情况,仔细观察,这个程序的第一个if后面加了一个{ }把下一个if包在里面了,那么这个时候else对应的就是第一个if,表达的就是if(a<5);
2.4 if的复合
什么意思呢,字面意思!我们都知道 ; 这个符号是一个语句的结束语句,表示这个语句完毕,if往下执行碰到 ;这个就停止继续向下执行了,但是如果你想一个if里面有多个语句,不会写好几个if+语句吧,怎么能让它们就判断一次呢,这时候复合语句出现了,想加多条语句在一起,就在if后面加一个{ },就可以把这些语句全包括进去了,也就可以都执行了;
#include<stdio.h>
main()
{
int a=0;
scanf("%d",&a);//输入俩个数
if(a>5)
{
printf("hehe\n");
printf("what");
}
}