分支语句和循环语句
- 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循环的建议
-
- 不可以在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);
- 遍历法
- 这种方法比较麻烦
- 二分查找算法
- 这个是一个非常牛逼的算法
- 后期会用函数来表示