前言
C语言:结构化的程序设计语言
顺序结构、选择结构、循环结构
一、for 循环
- 导引
过于分散
![](https://img-blog.csdnimg.cn/e0fc053f6b1040169af6e9e45dcf74d4.png)
1.1语法
![](https://img-blog.csdnimg.cn/0aaa5ef3bdab4d8892e92f0d6ef8a6b9.png)
使用for循环打印1~10
![](https://img-blog.csdnimg.cn/355f0d3c875f44c19724ffba3bdaf338.png)
循环体默认只能控制一条语句
想控制多条语句的话,要加大括号
![](https://img-blog.csdnimg.cn/eb5ac100c12242c0bb34b28e548bd6cd.png)
示例
![](https://img-blog.csdnimg.cn/e9b0fc13580540e3ba318c1b32e0b372.png)
1.2 for 语句的循环控制变量
建议:
- 1.不可在 for 循环体内修改循环变量,防止 for 循环失去控制。
- 2.建议 for 语句的循环控制变量的取值采用“前闭后开区间”写法
![](https://img-blog.csdnimg.cn/2734de0312154d07854a51bc2c6e9bad.png)
错误示例(循环体内修改)
![](https://img-blog.csdnimg.cn/43c41b3136c441da9c9d590277de78e6.png)
1.3 一些 for 循环的变种
(判断部分省略,意味着判断恒为真)
![](https://img-blog.csdnimg.cn/b8f5a1be0e4b437a85f2e393bf715235.png)
二、do … while()循环
2.1 do 语句的语法
![](https://img-blog.csdnimg.cn/aaeef6ce5a6142f7a060b2838136ae6c.png)
2.2 do … while 循环中的 break 和 continue
![](https://img-blog.csdnimg.cn/6207ce3b3a804c92aefd9972619bc282.png)
2.3 练习
1 - 计算n的阶乘
![](https://img-blog.csdnimg.cn/fa68a2b2463d4b0b9de31418279b4558.png)
2. - 在一个有序数组中查找具体的某个数字 n
二分查找算法;折半查找算法(前提,有序)
![](https://img-blog.csdnimg.cn/02af33056b3c4748b0f594ac9fd92306.png)
![](https://img-blog.csdnimg.cn/76777ddca61245c3b876bdb810d5d508.png)
3. - **编写代码,演示多个字符从两端移动,向中间汇聚
效果:**
![](https://img-blog.csdnimg.cn/5f54cc9f200c446fb65b122cc934f25d.png)
![](https://img-blog.csdnimg.cn/0065dd226a8e418bb46ca7db3979f5f3.png)
![](https://img-blog.csdnimg.cn/937c670a81b64a94b40f779e18170882.png)
4. - 编写代码实现,模拟用户登录情景,并且只能登录三次(只允许输入三次密码,如果密码正确则提示登录成功,如果三次均输入错误,则退出程序。)
![](https://img-blog.csdnimg.cn/018776db781447c0b5a946991fa58245.png)
5. - 两个字符串的比较
两个字符串比较相等是不能使用 == 的 , 应该使用strcmp 库函数比较
strcmp 返回0 表示2个字符串相等
strcmp 返回>0 的数字 , 表示第一个字符串大于第二个字符串。
strcmp 返回<0 的数字 , 表示第一个字符串小于第二个字符串。