当前位置: 首页> 汽车> 行情 > 个人主页背景图_网络营销主要做哪些事情_个人网站搭建_淘宝推广软件

个人主页背景图_网络营销主要做哪些事情_个人网站搭建_淘宝推广软件

时间:2025/7/8 19:22:40来源:https://blog.csdn.net/x777777x/article/details/148050140 浏览次数: 0次
个人主页背景图_网络营销主要做哪些事情_个人网站搭建_淘宝推广软件

《小菜狗 C 语言入门 + 进阶笔记》目录:《小菜狗 C 语言入门 + 进阶笔记》(0)简介

文章目录

      • 1、三大语句结构
        • 1.1、白话文解释
        • 1.2、顺序结构
      • 2、判断语句
        • 2.1、C 语言的判断语句
        • 2.2、true 和 false
        • 2.3、if 和 else
      • 3、只使用 if 语句
      • 4、if 包含多条语句
      • 5、if else 语句
      • 6、多个 if else 语句
      • 7、嵌套 if 语句
        • 7.1、if 和 else 的配对问题


1、三大语句结构

C 语言中有三大结构,分别是顺序结构、选择结构和循环结构

1.1、白话文解释
  • 顺序结构就是让程序按照从头到尾的顺序依次执行每一条 C 语言代码,不重复执行任何代码,也不跳过任何代码。
  • 选择结构也称分支结构,就是让程序“拐弯”,有选择性的执行代码;换句话说,可以跳过没用的代码,只执行有用的代码。
  • 循环结构就是让程序“杀个回马枪”,不断地重复执行同一段代码。

在 C 语⾔中,我们可以使用 if 、 switch 实现分⽀结构使用 for 、 while 、 do while 实现循环结构

1.2、顺序结构

前面我们看到的代码都是顺序执行的,也就是先执行第一条语句,然后是第二条、第三条……一直到最后一条语句,这称为顺序结构

顺序结构很好理解,无需多说,本章重点讲解选择结构,后面再讲循环结构。

顺序结构和选择分支结构示意图:

在这里插入图片描述

2、判断语句

2.1、C 语言的判断语句
语句描述
if 语句一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。
if…else 语句一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。
嵌套 if 语句您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。
switch 语句一个 switch 语句允许测试一个变量等于多个值时的情况。
嵌套 switch 语句您可以在一个 switch 语句内使用另一个 switch 语句。
2.2、true 和 false

在 C 语⾔中,0 为假,非 0 表⽰真。

即 C 语言把任何非零非空的值假定为 true,把null 假定为 false

2.3、if 和 else

今天我们先来讲使用 ifelse 关键字对条件进行判断,下一节使用 switch 关键字对条件进行判断。

if 和 else 是两个新的关键字if 意为如果else 意为否则用来对条件进行判断,并根据判断结果执行不同的语句

3、只使用 if 语句

if 语句语法形式如下:

 if ( 判断表达式 )语句

或者规范写法

if ( 判断表达式 )
{语句
}

或者括号另起新行

if ( 判断表达式 ) {语句
}

只使用 if 语句 结构示意图:
在这里插入图片描述

表达式成立(为真【非 0】),则语句执行,表达式不成立(为假【0】),则语句不执行。

也就是表达式的结果如果是 0,则语句不执行,表达式的结果如果不是 0,则语句执行。

举例:

输入⼀个整数,判断是否为奇数

#include <stdio.h>
int main()
{int num = 0;scanf("%d", &num);if (num % 2 == 1)printf("%d 是奇数\n", num);return 0;
}

奇数判断示意图:

在这里插入图片描述

  • 如果 5 % 21 == 1

num % 2 == 1 条件成立,那就是为真(1),printf 打印信息,下一行 return 结束;

  • 如果 4 % 20 != 1

num % 2 == 1 条件不成立,那就是为假(0),不走printf 打印的代码,直接下一行 return 结束;

注意:

上面输入⼀个整数,判断是否为奇数例子中的 if 语句规范写法是要加上代码块 { } 的。

如下:

    if (num % 2 == 1) {printf("%d 是奇数\n", num);}

这是因为 if 语句只能控制⼀条语句,就是 printf("%d 是奇数\n", num);;

注意: 后面要讲的 else 语句,while 语句,for 语句都是这样!

那如果我们要 if 语句同时控制 2 条以上的语句,怎么办呢?那就要使用 {} 将代码括起来。

如下 4、if 包含多条语句

4、if 包含多条语句

#include <stdio.h>
int main()
{int age = 0;scanf("%d", &age);if (age >= 18)printf("成年了\n");printf("可以交⼥朋友了\n");return 0;
}

举例输入输出 1:

//输入
18
//输出
成年了
可以交⼥朋友了

举例输入输出 2:

//输入
2
//输出
可以交⼥朋友了

上⾯的代码,你会发现输入的值不管是 >=18 还是 <18,“可以交⼥朋友了” 都会打印在屏幕上! 2 岁怎么能交女朋友了呢?不行不行!

原因刚才说过了,因为 if 语句只能控制⼀条语句

修改代码如下:

#include <stdio.h>
int main()
{int age = 0;scanf("%d", &age);if (age >= 18){printf("成年了\n");printf("可以交⼥朋友了\n");}return 0;
}

if使用 {} 控制多条语句,这个块也叫:程序块,或者复合语句

在之前文章 (2.14)作用域 -> 局部变量和全局变量 文章中提到过语句块,就是由{ }包围的一个或多个语句的集合。

如果语句块中只有一个语句,也可以省略{ }

5、if else 语句

如果⼀个数不是奇数,那就是偶数了,如果任意⼀个整数,我们使用 C 语⾔要清楚的判断是奇数还是偶

数怎么编写代码呢?这⾥就需要 if…else… 语句了。

C 语言中 if…else 语句的语法:

  • 一个 if 语句 后可跟一个可选的 else 语句。

如果判断表达式为 true,则执行 if 块内的代码。如果判断表达式为 false,则执行 else 块内的代码。

语法形式如下:

if ( 判断表达式 )语句1
else语句2

或者规范写法

if ( 判断表达式 ) {语句1
} else {语句2
}

或者括号另起新行

if ( 判断表达式 )
{语句1
}
else 
{语句2
}

if else 语句结构示意图:
在这里插入图片描述

意思是:

如果判断条件成立,那么执行语句块 1,否则执行语句块 2 。

修改一下上一个章节 if 语句的例⼦:

输入⼀个整数,判断是否为奇数,如果是奇数打印是奇数,否则打印数偶数。

#include <stdio.h>
int main()
{int num = 0;scanf("%d", &num);if(num % 2 == 1)printf("%d 是奇数\n", num);elseprintf("%d 是偶数\n", num);return 0;
}
  • 如果 5 % 21 == 1

num % 2 == 1 条件成立,那就是为真(1),printf 打印信息是奇数,下一行 return 结束;

  • 如果 4 % 20 != 1

num % 2 == 1 条件不成立,那就是为假(0),printf 打印信息是偶数,下一行 return 结束;

回看并修改 4、if 包含多条语句中的代码

如下:

#include <stdio.h>
int main()
{int age = 0;scanf("%d", &age);if (age >= 18) //if 后使用{} 控制多条语句-这个块也叫:程序块,或者复合语句{printf("成年了\n");printf("可以交⼥朋友了\n");}else //else 后使用{}控制多条语句-这个块也叫:程序块,或者复合语句{printf("未成年\n");printf("不可以早恋哦\n");}return 0;
}

举例输入输出 1:

//输入
18
//输出
成年了
可以交⼥朋友了

举例输入输出 2:

//输入
2
//输出
未成年
不可以早恋哦

6、多个 if else 语句

if else 语句也可以多个同时使用,构成多个分支。一个 if 语句后可跟一个可选的 else if…else 语句,这可用于测试多种条件。

当使用 if…else if…else 语句时,以下几点需要注意:

  • 一个 if 后可跟零个或一个 else,else 必须在所有 else if 之后。
  • 一个 if 后可跟零个或多个 else if,else if 必须在 else 之前。
  • 一旦某个 else if 匹配成功,其他的 else if 或 else 将不会被测试。

C 语言中的 if…else if…else 语句的语法:

if (判断条件1) {语句块1
} else if (判断条件2) {语句块2
} else if (判断条件3) {语句块3
} else if (判断条件4) {语句块4
} else {语句块 n
}

意思是:

从上到下依次检测判断条件,当某个判断条件成立时,则执行其对应的语句块,然后跳到整个 if else 语句之外继续执行其他代码。如果所有判断条件都不成立,则执行语句块 n,然后继续执行后续代码。

也就是说

一旦遇到能够成立的判断条件,则不再执行其他的语句块,所以最终只能有一个语句块被执行。

例如,使用多个 if else 语句判断输入的值:

#include <stdio.h>int main ()
{/* 局部变量定义 */int a = 100;/* (1)检查布尔条件 */if( a == 10 ){/* (2)如果 if 条件为真,则输出下面的语句 */printf("a 的值是 10\n" );}else if( a == 20 ){/* (3)如果 else if 条件为真,则输出下面的语句 */printf("a 的值是 20\n" );}else{/* (4)如果上面条件都不为真,则输出下面的语句 */printf("没有匹配的值\n" );}printf("a 的准确值是 %d\n", a );return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

没有匹配的值
a 的准确值是 100

7、嵌套 if 语句

在 C 语言中,嵌套 if-else 语句是合法的,这意味着您可以在一个 ifelse if 语句内使用另一个 ifelse if 语句。有了嵌套 if 语句,就可以完成更多复杂逻辑的判断。

您可以嵌套 else if…else,方式与嵌套 if 语句相似。

嵌套 if 语句的语法:

if (判断条件1) {if (判断条件3) {语句块3} else if (判断条件4) {语句块4} else {语句块5
} else if (判断条件2) {语句块2
} else {语句块 n
}

⽐如:

要求输入⼀个整数,如果是正数,再判断是奇数还是偶数,并输出;如果不是正数则输出 “不是正数”。

#include <stdio.h>
int main()
{int num = 0;scanf("%d", &num);if (num > 0){if (num%2 == 0)printf("偶数\n");elseprintf("奇数\n");}else{printf("不是正数\n");}return 0;
}

上⾯的代码中橙⾊背景的代码也是嵌套在 if 语句中的,构成了嵌套的 if 语句。

7.1、if 和 else 的配对问题

if 语句嵌套时,要注意 if 和 else 的配对问题。

如果有多个 if 和 else ,可以记住这样⼀条规则【else 总是与它前面最近的 if 配对】

例如:

if (a!=b)  // ①
if (a>b) printf("a>b\n");  // ②
else printf("a<b\n");  // ③

③ 和 ② 配对,而不是和 ① 配对。

再如:

#include <stdio.h>
int main()
{int a = 0;int b = 2;if(a == 1)if(b == 2)printf("hehe\n");elseprintf("haha\n");return 0;
}

程序运行的结果是啥?

很多初学者,上来以判断 a 是 0,不等于 1,那就执行 else ⼦句,打印 haha

但是当你去运行代码,结果是:啥都不输出

为什么呢?

else 总是跟最接近的 if 匹配。

详细说明:

上⾯的代码排版,让 else 和第⼀个 if 语句对⻬,让我们以为 else 是和第⼀个 if 匹配的,当 if 语句不成立的时候,⾃然想到的就是执行 else ⼦句,打印 haha ,但实际上 else 是和第⼆个 if 进行匹配的,这样后边的 if…else 语句是嵌套在第⼀个 if 语句中的,如果第⼀个 if 语句就不成立,嵌套 if 和 else 就没机会执行了,最终啥都不打印。

代码修改:

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

只要带上适当的大括号,代码的逻辑就会更加的清晰,所以大家以后在写代码的时候要注意括号的使用,让代码的可读性更⾼。

《小菜狗 C 语言入门 + 进阶笔记》目录:《小菜狗 C 语言入门 + 进阶笔记》(0)简介


每日一更!

公众号、CSDN等博客:小菜狗编程笔记

谢谢点赞关注哈!目前在飞书持续优化更新~

日更较慢有需要完整笔记请私我,C/C++/数据结构-算法/单片机51-STM32-GD32-ESP32/嵌入式/Linux操作系统/uboot/Linux内核-驱动-应用/硬件入门-PCB-layout/Python/后期小程序和机器学习!

关键字:个人主页背景图_网络营销主要做哪些事情_个人网站搭建_淘宝推广软件

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: