- C语言是一门结构化的程序设计语言
1. 顺序结构 | 2. 选择结构 | 3. 循环结构 |
| |
- 分支语句(选择结构)
(1) if语句
①if(表达式){ 语句1; } | ③if(表达式1){ 语句1; } else if(表达式){ 语句2; } else{ 语句3; } |
②if(表达式){ 语句1; } else{ 语句2; } |
注:else与最近的未匹配的if配对
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//if语句
//int main()
//{
// int age = 10;
// printf("输入年龄1:");
// scanf("%d", &age);
// if (age < 18) {
// printf("单分支:未成年\n");
// }
// printf("输入年龄2:");
// scanf("%d", &age);
// if (age < 18) {
// printf("双分支:未成年\n");
// }
// else {
// printf("双分支:成年\n");
// }
// printf("输入年龄3:");
// scanf("%d", &age);
// if (age < 18) {
// printf("多分支:未成年\n");
// }
// else if (age >= 18 && age < 50) {
// printf("多分支:成年\n");
// }
// else {
// printf("多分支:老年\n");
// }
// return 0;
//}
(2) switch语句:常用于多分支
switch(整型表达式) ——>允许嵌套使用
{
语句项;——>case 整型常量表达式: 语句; break;
} break视情况需要
//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:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 7:
printf("星期七\n");
break;
default:
printf("输入错误\n");
break;
}
switch (day)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("工作日\n");
break;
case 6:
case 7:
printf("休息日\n");
break;
default:
printf("输入错误\n");
break;
}
return 0;
}
- 循环语句
(1) while语句
while(表达式) ——>表达式为真(条件判断部分)
{
循环语句;//条件为真执行
}
while执行顺序 |
1) break; 在while中的作用:
在循环中只要遇到break,就停止后期的所有循环,直接终止循环
2) continue; 在while中的作用:
用于终止本次循环;本次循环中continue后面的代码不会执行,而是直接跳转到while语句的判断部分,进行下一次循环的入口判断
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
// //循环语句:while
//int main()
//{
// int i = 1;
// while (i <= 10)
// {
// printf(" %d", i);
// i++;
// }
// printf("\n");
// i = 1;
// while (i <= 10)
// {
// i++;
// if (i == 5)
// break;
// printf(" %d", i);
//
// }
// printf("\n");
// i = 1;
// while (i <= 10)
// {
// i++;
// if (i == 5)
// continue;
// printf(" %d", i);
//
// }
// return 0;
//}
(2) for循环语句:
for( 表达式1 ; 表达式2 ; 表达式3 )
//初始化部分 条件判断部分 循环条件调整部分
{
循环语句;
}
for执行顺序 |
1) break; 在for的作用:
在循环中只要遇到break,就停止后期的所有循环,直接终止循环
2) continue; 在for中的作用:
用于终止本次循环;本次循环中continue后面的代码不会执行,而是直接跳转到for语句的条件调整部分,再执行条件判断部分,进行下一次循环的入口判断
////for循环
//int main()
//{
// int i = 0;
// // 初始化 判断 调整
// for (i = 1; i <= 10; i++)
// {
// printf(" %d", i);
// }
// printf("\n");
// for (i = 1; i <= 10; i++)
// {
// if (5 == i)
// {
// break;
// }
// printf(" %d", i);
// }
// printf("\n");
// for (i = 1; i <= 10; i++)
// {
// if (5 == i)
// {
// continue;
// }
// printf(" %d", i);
// }
// return 0;
//}
注:1. 不可在for循环体内修改循环变量,防止失控
2. 建议循环控制变量的取值使用“前闭后开区间”写法
(3) do……while()循环:循环体至少执行一次
do
{
循环语句;
}while(表达式);
do……while()执行顺序 |
1) break; 在do……while()的作用:
在循环中只要遇到break,就停止后期的所有循环,直接终止循环
2) continue; 在do……while()中的作用:
用于终止本次循环;本次循环中continue后面的代码不会执行,而是直接跳转到do……while()语句的条件判断部分,进行下一次循环的入口判断
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//// do while 循环
//int main()
//{
// int i = 1;
// do {
// printf(" %d", i);
// i++;
// } while (i <= 10);
// printf("\n");
// i = 1;
// do {
// if (5 == i)
// {
// break;
// }
// printf(" %d", i);
// i++;
// } while (i <= 10);
// printf("\n");
// i = 1;
// do {
// if (5 == i)
// {
// continue;
// }
// printf(" %d", i);
// i++;
// } while (i <= 10);
// return 0;
//}
- 编程练习
//int main()
//{
// int ch = getchar();//输入字符
// int ch1 = 0;
// putchar(ch);//打印字符
// printf(" %c\n", ch);
// while ((ch1 = getchar())!= EOF)//ctrl +z 结束输入
// {
// putchar(ch1);
// }
// return 0;
//}
////while_getchar()的作用
//int main()
//{
// int ch = 0;
// char password[20] = {0};
//
// printf("输入passward:");
// scanf("%s", password);
// while ((getchar()) != '\n')
// {
// ;
// }
// printf("输入(Y/N):");
// ch = getchar();
// if ('Y' == ch){
// printf("输入成功\n");
// }
// else {
// printf("重新输入\n");
// }
//
// return 0;
//}
int main()
{
int ch = 0;
while ((ch = getchar()) != EOF)
{
if (ch<'0' || ch>'9')
{
continue;
}
putchar(ch);
}
return 0;
}