c语言--分支和循环

分支语句和循环语句

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

分支语句(选择结构)

if语句

  • 这种语句比较简单c语言--分支和循环_第1张图片

if的嵌套

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

练习

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

c语言--分支和循环_第2张图片

把1-100的奇数打印出来

  • 法一
    c语言--分支和循环_第3张图片
  • 法二
  • c语言--分支和循环_第4张图片
  • 法三
  • c语言--分支和循环_第5张图片

switch语句

  • switch(整型表达式) 注意:一定要为整型表达式,不能为浮点数或者其他
  • {
  • }
  • case 1: case后面一定要为整型常量
  • c语言--分支和循环_第6张图片

case后面的break不是必须的

c语言--分支和循环_第7张图片

default的用法
  • default看需要而定
  • break;c语言--分支和循环_第8张图片

switch的练习题

c语言--分支和循环_第9张图片

  • 最后答案: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
  • 法一:
  • c语言--分支和循环_第10张图片
  • 法二:
  • c语言--分支和循环_第11张图片

break跳出循环

c语言--分支和循环_第12张图片

continue

  • continue的作用:终止continue后面的代码,后面的代码不再执行 直接跳转到判断部分
  • 对比以下两个代码 就是i的位置不同c语言--分支和循环_第13张图片
    c语言--分支和循环_第14张图片

getchar和putchhar的用法

  • getchar 接受键盘输入的字符(只能输入字符 如果整型都不行)
  • 而putchar跟printf的用法差不多
  • c语言--分支和循环_第15张图片

getchar和循环结合

c语言--分支和循环_第16张图片

for循环

  • 打印1-10

  • c语言--分支和循环_第17张图片

  • 打印任意区间的数字

  • c语言--分支和循环_第18张图片

  • 打印1-10阶乘和

  • c语言--分支和循环_第19张图片

  • 打印任意区间的阶乘和

  • 注意:int;类型有个范围不能超出那个数字范围c语言--分支和循环_第20张图片

对比(for和while)

  • forc语言--分支和循环_第21张图片
  • while
  • 打印1,2,3,4
  • 原因:进入死循环 主要是i++的位置造成
  • c语言--分支和循环_第22张图片

对for循环的建议

    1. 不可以在for循环体内,改变循环变量,防止for循环失去控制
  • 2.建议for循环语句的循环变量的取值采用“前闭后开区间”写法

  • c语言--分支和循环_第23张图片

for循环的一些变种

  • 变种一 死循环
  • c语言--分支和循环_第24张图片
  • 1.for循环的初始化,调整,判断都可以省略,但是:
  • for循环的判断部分被省略的话,那么语句判断条件:恒为真
  • 2.如果不是非常熟练,建议不要省略

c语言--分支和循环_第25张图片

  • 加上j=0
  • c语言--分支和循环_第26张图片
    c语言--分支和循环_第27张图片
  • 变种二
  • 打印两个呵呵呵c语言--分支和循环_第28张图片

do-while循环

  • 特点:循环至少执行一次,使用场景有限,不是经常使用
  • c语言--分支和循环_第29张图片

计算n的阶乘

c语言--分支和循环_第30张图片

计算[n,m]的阶乘

c语言--分支和循环_第31张图片

计算1-10的阶乘和

c语言--分支和循环_第32张图片

打印九九乘法表

  • 一步步来,不要着急
  • 打印矩形
  • 先打印十个星星
  • c语言--分支和循环_第33张图片
  • 再打印九行星星
  • c语言--分支和循环_第34张图片
  • 再打印三角形
  • c语言--分支和循环_第35张图片
  • 最后打印九九乘法表
  • c语言--分支和循环_第36张图片

用while循环打印九九乘法表

  • 注意:这里一定要注意全局变量和局部变量
  • 以及自加位置不同,就造成结果不同,一定得特别注意,不然很容易错
  • c语言--分支和循环_第37张图片

在一个有序数组中查找一个具体的数字n,编写int binsearch(int x,int v[],int n);

  • 遍历法
  • 这种方法比较麻烦
    c语言--分支和循环_第38张图片
  • 二分查找算法
  • 这个是一个非常牛逼的算法
  • 后期会用函数来表示c语言--分支和循环_第39张图片

编写代码,演示多个字符从两端移动,向中间汇聚

c语言--分支和循环_第40张图片

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

c语言--分支和循环_第41张图片

你可能感兴趣的:(笔记)