C语言是结构化的程序设计语言主要有顺序结构、选择结构和循环结构
C语言中由 分号(;) 隔开的就是一个语句
1.分支语句
1.1 if else 语句
```C++
//判断一个数是否为奇数
int main()
{
int a = 15;
if (a % 2 == 1)
{
printf("是奇数");
}
return 0;
}
//打印1-100之间的奇数
int main()
{
int i = 0;
for (i = 1; i <= 100; i++)
{
if (0 == i % 2)
{
printf("%d\n", i);
}
}
return 0;
}
#### 1.2 switch case语句
```C++
//伪代码
switch(整形表达式)
{
case 整型常量表达式:
语句;
default:
break;
}
switch 语句允许嵌套使用,而且case语句不要求顺序
```C++
int main()
{
int day = 0;
scanf("%d", &day);
switch (day)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("工作日");
break;
case 6:
case 7:
printf("休息日");
break;
default:
printf("输入错误");
break;
}
### 2.循环语句
#### 2.1 while循环
```C++
int main()
{
//写够三万行代码后迎娶白富美
int i = 0;
while (i <= 30000)
{
i++;
printf("正在通往迎娶白富美的路上,目前写了%d行代码。\n", i);
}
printf("白富美到手");
return 0;
}
2.2 for循环
```C++
int main()
{
int i =0;
for ( i = 0; i < 10; i++ )
{
printf("呵呵");
}
return 0;
}
#### 2.3 do...while循环
```C++
int main()
{
int i = 1;
do
{
printf("%d\n", i);
i++;
} while (i <= 10);//注意后面还有一个分号
return 0;
}
3.goto语句
一般在存在多重嵌套时使用,且goto语句只能在本函数中使用
```C++
#include <stdlib.h>
#include <string.h>
//关机程序
//只要运行起来,电脑就在一分钟内关机,如果输入:我是猪,就取消关机
int main()
{
char input[20] = { 0 };
system("shutdown -s -t 60"); //system的头文件是stdlib.h
again:
printf("请注意,你的电脑将在一分钟内关机,如果输入“我是猪”,就取消关机");
scanf("%s", input);
if (strcmp(input, "我是猪") == 0) //两个字符串比较不能使用==,而应该使用string compare函数,即strcmp,对应头文件是string.h
{
system("shutdown -a");
}
else
{
goto again;
}
return 0;
}
### 4.补充
#### 4.1.break、continue和pass的区别
1. break是终止循环
2. continue是跳过本次循环,跳到逻辑判断部分
3. pass只做占位符,没有实际意义
#### 4.2 EOF标志
EOF的值为-1,全称文件结束标志end of file
```C++
int main()
{
int ch = 0;//当按下ctrl+z时读取结束
while ((ch = getchar()) != EOF)
{
putchar(ch);
}//自动换行是因为按下Enter键后输入的字符后有一个\n进入缓存区
return 0;
}