C语言是结构化的程序设计语言——顺序结构、选择结构、循环结构
C语句可分为以下五类: 1. 表达式语句 2. 函数调用语句 3. 控制语句 4. 复合语句 5. 空语句
控制语句用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成,C语言有九种控制语句。 可分成以下三类:
1. 条件判断语句也叫分支语句:if语句、switch语句;
2. 循环执行语句:do while语句、while语句、for语句;
3. 转向语句:break语句、goto语句、continue语句、return语句
目录
if语句
else的匹配:else是和它离的最近的if匹配的。
例:输出1-100之间的奇数
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//输出1-100之间的奇数
int main()
{
int i=0 ;
while (i < 100)
{
i++;
if (i % 2 != 0)
{
printf("%d\n",i);
}
else
{
;
}
}
return 0;
}
Switch语句
switch语句是一种分支语句,用于多分支情况
1.基本格式
switch(整型表达式)
{
语句项;
}
2.语句项——是一些case语句:
如下:
case 整形常量表达式:
语句;
3.break——跳出/停止
break将语句列表划分为不同的分支部分
4.default子句
每个switch语句中只能出现一条default子句,但是它没有顺序问题,而且语句流也会像执行一个case标签一样执行default子句
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//switch语句
int main()
{
int day = 0;
scanf("%d", &day);
switch (day)
{
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
case 5:
case 6:
case 7:
printf("周末\n");
break;
default:
printf("火星\n");
break;
}
return 0;
}
While语句
1.while 语法结构
while(表达式)
{
循环语句;
}
2.break——在while循环中,break用于永久的终止循环
3.continue——在while循环中,跳过本次循环continue后面的代码,直接去判断部分,看是否进行下一次循环
//while语句
int main()
{
int ch = 0;
while ((ch = getchar()) != EOF))//getchar获取一个字符
{
putchar(ch);//putchar输出一个字符
}
return 0;
}
getchar,scanf等输入函数——>在中间的缓冲区取数据<——键盘
//一个缓冲区的概念
int main()
{
char password[20] = {0};
printf("请输入密码:>");
scanf("%s", password);
//清理缓存
//清理缓冲区的多个字符
int t = 0;
while ((t = getchar() )!= '\n')
{
;
}
printf("请确认密码(Y/N):>");
int ch = getchar();
if (ch == 'Y')
{
printf("确认成功\n");
}
else
{
printf("确认失败\n");
}
return 0;
}
例如:密码输入071503 abcdef
若不清理缓冲区数据,scanf先取071503,getchar就可以取缓冲区保留的 abcdef\n;
正确处理:scanf先取071503,while循环getchar取完 abcdef\n,这样余后的getchar可以读取Y或者N
存在问题:此时password的值并不是071503 abcdef,而成了071503