c语言--分支和循环

分支语句和循环语句

  • c语言是一门结构化的程序设计语言
  • 1.顺序结构
  • 2.选择结构
  • 3.循环结构
  • 什么是语句??
  • c语言中由一个分号;隔开就是一条语句
  • eg:
  • int a=10; 语句的结束标志就是;
  • 如果只打印一个 ; 这也是一条语句,只不过它叫空语句

分支语句(选择结构)

if语句
  • 这种语句比较简单在这里插入图片描述

if的嵌套

  • 结论:else离它更近的if匹配

#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;
}
什么都没有打印,因为它连第一个if的条件都没有满足

练习

判断一个数是否为奇数???

在这里插入图片描述

把1-100的奇数打印出来
  • 法一
    在这里插入图片描述
  • 法二
  • 在这里插入图片描述
  • 法三
  • 在这里插入图片描述
switch语句
  • switch(整型表达式) 注意:一定要为整型表达式,不能为浮点数或者其他
  • {
  • }
  • case 1: case后面一定要为整型常量
  • 在这里插入图片描述
case后面的break不是必须的

在这里插入图片描述

default的用法
  • default看需要而定
  • break;在这里插入图片描述
switch的练习题

在这里插入图片描述

  • 最后答案:m=5,n=3
  • 解释:第一个break只退出那个{}
  • n=1 m=2
  • n=2 m=3
  • n=3 m=4
  • n=3 m=5

循环语句

  • while
  • for
  • do while
while循环
  • 语法结构:
  • while()
  • {
  • }
  • 用while打印1-10
  • 法一:
  • 在这里插入图片描述
  • 法二:
  • 在这里插入图片描述
break跳出循环

在这里插入图片描述

continue
  • continue的作用:终止continue后面的代码,后面的代码不再执行 直接跳转到判断部分
  • 对比以下两个代码 就是i的位置不同在这里插入图片描述
    在这里插入图片描述
getchar和putchhar的用法
  • getchar 接受键盘输入的字符(只能输入字符 如果整型都不行)
  • 而putchar跟printf的用法差不多
  • 在这里插入图片描述
getchar和循环结合

在这里插入图片描述

for循环

  • 打印1-10

  • 在这里插入图片描述

  • 打印任意区间的数字

  • 在这里插入图片描述

  • 打印1-10阶乘和

  • 在这里插入图片描述

  • 打印任意区间的阶乘和

  • 注意:int;类型有个范围不能超出那个数字范围在这里插入图片描述

对比(for和while)
  • for在这里插入图片描述
  • while
  • 打印1,2,3,4
  • 原因:进入死循环 主要是i++的位置造成
  • 在这里插入图片描述
对for循环的建议
    1. 不可以在for循环体内,改变循环变量,防止for循环失去控制
  • 2.建议for循环语句的循环变量的取值采用“前闭后开区间”写法

  • 在这里插入图片描述

for循环的一些变种
  • 变种一 死循环
  • 在这里插入图片描述
  • 1.for循环的初始化,调整,判断都可以省略,但是:
  • for循环的判断部分被省略的话,那么语句判断条件:恒为真
  • 2.如果不是非常熟练,建议不要省略

在这里插入图片描述

  • 加上j=0
  • 在这里插入图片描述
    在这里插入图片描述
  • 变种二
  • 打印两个呵呵呵在这里插入图片描述
do-while循环
  • 特点:循环至少执行一次,使用场景有限,不是经常使用
  • 在这里插入图片描述

计算n的阶乘

在这里插入图片描述

计算[n,m]的阶乘

在这里插入图片描述

计算1-10的阶乘和

在这里插入图片描述

打印九九乘法表

  • 一步步来,不要着急
  • 打印矩形
  • 先打印十个星星
  • 在这里插入图片描述
  • 再打印九行星星
  • 在这里插入图片描述
  • 再打印三角形
  • 在这里插入图片描述
  • 最后打印九九乘法表
  • 在这里插入图片描述

用while循环打印九九乘法表

  • 注意:这里一定要注意全局变量和局部变量
  • 以及自加位置不同,就造成结果不同,一定得特别注意,不然很容易错
  • 在这里插入图片描述
在一个有序数组中查找一个具体的数字n,编写int binsearch(int x,int v[],int n);
  • 遍历法
  • 这种方法比较麻烦
    在这里插入图片描述
  • 二分查找算法
  • 这个是一个非常牛逼的算法
  • 后期会用函数来表示在这里插入图片描述
编写代码,演示多个字符从两端移动,向中间汇聚

在这里插入图片描述

编写代码实现,模拟用户登录情景,并且只能登陆三次。(只允许输入三次密码,如果密码正确则登录成功,如果三次都错误,则退出程序)

在这里插入图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值