C语言

您所在的位置:网站首页 本田cg125白金点火坏了 C语言

C语言

2023-06-11 02:11| 来源: 网络整理| 查看: 265

1、什么是语句

C语言语句可以分为五类:

表达式语句函数调用语句控制语句复合语句空语句

C语言有九种控制语句

可以分成一下三类:

条件判断语句也叫分支语句:if语句,switch语句;循环执行语句:do while语句、while语句、for语句;转向语句:break语句、goto语句、continue语句、return语句。 2、if语句

if语句的语法结构:

if (表达式) //表达式结果如果为真或者非0,那这个表达式就会运行 语句; if (表达式) 语句; //这里如果只有一条语句,那就不需要带{},也可以带 else 语句2; if (表达式) 语句1; //这里大于一条语句,那就需要带{} 语句2; else 语句2; //多分支 if (表达式1) 语句; else if(表达式2) 语句2; else 语句3; //注意:如果一个表达式同时满足if语句有满足else if语句,因为if语句先接收的这个表达式,那这个表达式只会进入到if语句里面。 2.1、if是和靠的最近的else相匹配的

下面先来看段代码:

#include int main() { int a = 0; int b = 2; if (a == 1) if (b == 2) printf("hehe\n"); else printf("haha\n"); return 0; }

输出:

在这里插入图片描述

显而易见这里的输出竟然为空!!!

这是问什么呢?不应该是输出:haha 的结果吗?为什么不对呢?

这是因为else是会和最近的if进行匹配,所以输出为空。

在这里插入图片描述

所以说代码的结构应该是这样:

#include int main() { int a = 0; int b = 2; if (a == 1) if (b == 2) //它们的缩进在一起的!!! printf("hehe\n"); else //它们两个是一对 printf("haha\n"); return 0; }

总结:else和if是靠的最近进行匹配的,不是说else和if在同一缩进进行匹配的。

3、switch语句

switch语句也是一种分支语句

常常用于多分支的情况

比如:

输入1,输出星期一 输入2,输出星期二 输入3,输出星期三 输入4,输出星期四 输入5,输出星期五 输入6,输出星期六

语法:

switch (整型表达式) { 语句项; }

而语句项是什么呢?

//语句项是一些case语句 //如下: case 整形常量表达式 //case后面必须是整形常量,当然使用字母表示也行,因为字母的ASCII也是整数 语句;

使用switch实现星期查询

#define _CRT_SECURE_NO_WARNINGS #include int main() { int day = 0; scanf("%d", &day); switch (day) { case 1: printf("星期一\n"); break; case 2: printf("星期二\n"); break; case 3: printf("星期三\n"); case 4: printf("星期四\n"); break; case 5: printf("星期五\n"); break; case 6: printf("星期六\n"); break; case 7: printf("星期日\n"); break; } return 0; }

说下switch原理:

从switch中输入相对应的编号,根据编号找到相对应的case语句,这样就算进入switch语句了,然后匹配后经过break语句出switch语句。

3.1、新的需求

要求:

输入1-5,输出“weekday”输入6-7,输出“weekend” #define _CRT_SECURE_NO_WARNINGS #include int main() { int day = 0; scanf("%d", &day); switch (day) { case 1: case 2: case 3: case 4: case 5: printf("weekday\n"); break; case 6: case 7: printf("weekend\n"); break; } return 0; }

这说明case语句在没有遇到break语句之前是一下向下执行,知道遇见break语句才会跳出switch语句。

3.2、default字句

如果表达的值与所有的case标签的值都不匹配怎么办?

其实也没什么,都不匹配最终肯定是会全部跳过而已。

程序也不会终止,也不会报错,但是当在都不匹配的情况下我们最后提示一下。

那这就需要default字句了。

注意:switch语句中只能出现一个default字句

#define _CRT_SECURE_NO_WARNINGS #include int main() { int day = 0; scanf("%d", &day); switch (day) { case 1: case 2: case 3: case 4: case 5: printf("weekday\n"); break; case 6: case 7: printf("weekend\n"); break; default: //所示 printf("输出错误"); break; } return 0; }

输出:

在这里插入图片描述

4、循环语句 whilefordo while 4.1、while

语法结构

while (表达式) { 循环语句; } 4.1.1、break语句

只要while循环中执行了break语句,那么整个while循环将会停止,这个break语句在while循环的那任何部分中,while都会立即终端

代码示例:

#include int main() { int a = 1; while (a < 11) { if (5 == a) { break; //这个break语句看着是在if语句中。但是一旦它被执行,那么整个while语句将会停止 } printf("%d\n",a); a++; } return 0; }

输出:

在这里插入图片描述

4.1.2、continue语句

一旦在while语句中执行了continue语句,那么此次循环将会直接跳过continue后面的代码,然后判断循环,如果继续则直接进行下一次循环(就直接从while (a printf("hehe\n"); } return 0; }

__结论:__for循环的判断部分省略意味着判断或恒成立,而初始化,调整省略没事(但最好不要省略)。

2、for循环采用多个变量去控制

#include int main() { int x, y; for (x = 0, y = 0; x < 2 && y>5; ++x, y++) { printf("hehe\n"); } return 0; } 6、do-while循环 6.1、do语法 do { 循环语句; } while(表达式);

打印1-10:

#include int main() { int i = 1; do { printf("%d ", i); i++; } while (i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3