C语言的三种结构

1.顺序结构

从头到尾按顺序执行(简单易懂)

2.选择结构

(一)分支语句
语句:
C语言中有一个;就是一个语句 int a = 10;//一条语句
只有一个;也是语句(空语句)

if语句

语法结构:
if(表达式1)
语句1;
else if(表达式2)
语句2;
else
语句3;
具体代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main(){
int a;
while (1){
scanf("%d", &a);
if (a < 18)
{
printf("未成年\n");
}
else if (a >= 18 && a < 30) //注意两个条件要中间用逻辑符来连接&&或||
{
printf("青年\n");
}
else
{
printf("中年\n");
}
}
return 0;
}
0为假其余都为真(负数也为真)
注意:
else的匹配是与else最近的if(未匹配的)相互匹配的

在判断语句中尽量将常量放到左边
if(5 == num)//不会只写一个=赋值

例题:

输出1-100之间的奇数。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

int main(){
int i;
for (i = 1; i <= 100; ++i){
if (1 == i%2)
{
printf("%d\n", i);
}
}
return 0;
}

switch语句

简化多重if的语句
switch允许嵌套
结构:
switch(整型表达式)
{
语句项; //case 整型常量表达式:+语句
}
具体代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

int main(){
int day=2;
switch (day)//day必须是整型
{
case 1:
printf("星期一");
break; //中断语句
case 2:
printf("星期二");
break;
case 3:
printf("星期三");
break;
case 4:
printf("星期四");
break;
case 5:
printf("星期五");
break;
}
return 0;
}//输出结果为星期二 若不加break;则进入对应case后会继续输出语句
结论:
case为入口 break为出口

例题:

输出1-5为工作日,6-7为休息日
具体代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

int main(){
int day;
while (1){
scanf("%d", &day);
switch (day){
case 1:
case 2:
case 3:
case 4:
case 5:
printf("工作日\n");
break;
case 6:
case 7:
printf("休息日\n");
break;
}
}
return 0;
}
若输入范围超过case的有限值时加
default: //即输入22时会输出none
printf("none\n");
break;

3.循环结构

while语句

打印1-10:
int main(){
int i = 1;
while (i<=10)
{
printf("%d\n", i);
++i;
}
return 0;
}

break语句和continue语句

二者都是作用于循环语句的
break;//跳出循环
continue;//结束当前一次循环重新开始新的一次循环即终止continue后面的代码开始新的一轮

getchar()函数和putchar()函数

输入和输出字符串//但是只返回第一个字符
用法:
int main(){
char ch=getchar(); //char换成int float double 都可以但int时xzc只能输出x而不是xzc,10只能输出1
printf("%c\n", ch); //putchar(ch);//两者等价
return 0;
}//输入什么字符输出什么字符