1. if语句
语法:if(表达式)
{};
如果表达式为真则执行{}(如果需要执行的语句只有一条,可以省略{})中的内容,如果为假则不执行(如果是数字的话,0为假 非0为真)。
else语法:if(表达式)
{};
else
{};
else与if语句搭配使用,可以理解为如果表达式为真执行if 语句后面{}中内容,如果为假,执行else{}中的内容(如果…那么…)
#include <stdio.h> int main() { int num=0; scanf("%d",&num);//如果你输入值>0则输出冲!如果为<=0则输出冲冲!! if(num>0) { printf("冲!"); } else { printf("冲冲!!"); } return 0; }
嵌套if:即在一个if语句{}中还包含着if语句。
#include <stdio.h> int main() { int num=0; scanf("%d",&num); if(num>=18) { if(num<=30) { printf("青年\r\n");//这个if语句就是嵌套if } } }
悬空else:铭记一点 else 与最近的if相匹配。
#include <stdio.h> int main() { int a = 0; int b = 2; if(a == 1) if(b == 2) printf("hehe\n"); else printf("haha\n");//最终打印结果为空(原因留白 结尾揭晓!) return 0; }
2. 关系操作符又称关系表达式:可以理解为表示数字关系的符号 比如: > 、< 、= 、! 、!=、>=、<=。
一般表达式返回值就是0 或非0,代表真或假。
注:==是等于 =是赋值。
又卑微的注:如果你想显示自己功底很不错,可以把变量数字改为 数字变量(因为如果你使用把==错写为=编译器会报错。)
多个关系运算符不能连用。
如生活习惯10<x<20,到了计算机编译运行该语句时,因为计算机是从左向右读取语句,那么这句话的意思就会变成(x先和10比较),如果为假 x就会变成0 那么就会满足<20这个条件
int main() { int a=15; if(18<=a<=35) { printf("嗯...不知道该输出什么\r\n");//原本15是不满足该条件的,但是运行却打印语句,此时就是多个关系运算符连用导致的后果。 } }
3. 逻辑操作符:&& , || , !
&&:与运算符(并且) ||: 或运算符(或者) !:逻辑取反运算符(可理解为非)
短路 如果使用&&时,计算机从左向右读取语句,如果左边条件不满足,就会直接结束,不会再执行另外一个条件
int main { int num=0; scanf("%d",&num);//如果a==0,那么就直接结束if()语句的判断,不会再进行a<=10的判断。 if(a>0&&a<=10) { printf("输出\r\n"); } return 0; }
4. switch case语句
语法:switch(expression)
{
case value 1://如果expression==value 1 则执行语句一
语句一;
case value 2://如果expression==value 1 则执行常量表达式2
语句二;
default :如果expression!=value 则执行常量表达式3
语句三;
}
expression 必须为整型表达式、字符(字符本质就是数字)。不能是浮点数,case 后必须是常量表达式。
注 1.case 后面必须有空格再写常量表达式+:
2.每一个case 执行完后比如加入break;停止执行,不然就会继续执行下面的语句。(但是并不是一定每个case都需要加入break,具体根据个人需求更改(比如,输入1 、2 、3、 4、 5)打印工作日)。
5. while循环
语法:while(表达式)
{
语句;
};
6. for循环
for 循环是三种循环中使⽤最多的, for 循环的语法形式如下:for(表达式1; 表达式2; 表达式3) 语句;//如果循环体想包含更多的语句,可以加上⼤括号
表达式1 ⽤于循环变量的初始化
表达式2 ⽤于循环结束条件的判断
表达式3 ⽤于循环变量的调整
7. do-while循环
语法:do
{
语句;
}
while(表达式);
do-while()特殊点在于,该循环是先运行一次,如果表达式,为真再继续运行。
8. break和continue语句
break 结束循环,执行循环下面的语句
continue 停止本次循环,进入下一次循环
9. goto语句
C语⾔提供了⼀种⾮常特别的语法,就是 goto 语句和跳转标号, goto 语句可以实现在同⼀个函数内跳转到设置好的标号处。
#include <stdio.h> int main() { printf("回忆"); goto next; printf("初中"); next: printf("高中");//这里就会跳过初中 打印回忆高中 return 0; }
建议循环较多情况,可以方便跳出循环
悬空else彩蛋揭晓
整理语句如下
#include <stdio.h> int main() { int a = 0; int b = 2; if(a == 1) { if(b == 2) { printf("hehe\n"); } else { printf("haha\n"); } } return 0; }
//打印空白