C语言(4)
任务:
1、三元表达式
2、二元表达式
3、循环结构
---------------------------------------
回顾:
五种选择结构:
1、if
2、if...else
3、if...else if...else
4、嵌套if
5、switch
C语言中的运算式:
1、算术运算式 + - * / %
2、赋值运算符 = int age = 23;
3、关系运算符 > >= < <= == !=
4、逻辑运算符 && || !
5、三元运算符 ?:
6、二元运算符 ++ --
三元运算符:
表达式 ? 代码1 : 代码2 ;
如果表示式是成立的,执行?后的代码,否则,执行:后的代码
char val = 23>21 ? 'y':'n';
接收两个整数,利用三元表达式找出两个数中,最小的一个值,并且打印输出
二元运算符:
++ --
i++,++i, i--,--i
++: 表示在当前的值上加1
--:表示在当前的值上减1
--------------------------------------------
int i = 5;
i++; // i = i +1
i++与++i的区别
答:共同点,都是在i的值上加1
区别是:加的时机不同
int i = 5;
int a = ++i;
如果++在变量的后面,表示,先执行语句,语句执行完成以后,再让自身的值加1
i++ 它是先执行语句,语句执行完成以后再让当前的值+1
++i 它是先让当前的值+1,然后再来执行语句
int i = 5;
printf("%d\n",i++); 5
printf("%d\n",i); 6
++i,先自加,然后再执行语句
int i = 5;
printf("%d\n",++i); //6
printf("%d\n",i); //6
算术运算符的另一种写法:
int a = 6;
a = a+2; a+=2;
a = a - 2; a-=2;
a = a * 2; a*=2;
a = a / 2; a/=2;
a = a % 2 ; a%=2;
程序中的循环
什么是循环?
答:当代码满足某一个条件时,重复的执行,这样的结构就称“循环结构”
程序中的循环结构有哪些?
答:有三种,while循环,do...while循环,for循环
--------------------------------------------------------------------------
第一种循环:
while循环
语法:
while(循环条件){
循环体;
}
这种结构,当循环条件成立的情况下,循环体的代码,就会一直运行,直达循环条件不满足
输入1到100的每一个数
while循环的特点:
首先判断循环条件,如果循环条件成立,才执行循环体,如果条件不成立,循环体一次也不会执行
小明工作5天,每一天可以赚10元钱,5天以后,累计可以赚多少钱?
一共有100个馒头,每天吃5个,几天可以吃完?
---------------------------------------
第二种循环:
do...while循环
语法:
do{
循环体;
}while(循环条件);
这种循环的特点是:
先执行一次循环,再来判断循环条件,如果循环条件满足,则继续循环,如果循环条件不满足,则退出循环
这种循环,不管循环条件是否满足,一定会循环一次
输出1---50之间所有的奇数
判断是否是偶数:
i % 2 ==0
while与do...while的不同点:
while循环是先判断条件,条件满足才循环
do...while循环,先循环一次,再来判断条件,如果条件满足才继续循环.
while有可能一次也不会循环,do...while不管条件是否成立,至少会循环一次
如果先判断条件,再循环,使用while效果比较好
如果要先循环一次循环体,再来判断循环条件,用do...while比较好
do..while实现吃包子的小例子
do{
}while();
for循环
语法:
1
2 4
for(给循环变量赋初始值 ; 判断循环条件; 让循环变量值不断改变){
3
循环体;
}
例如:
int i;
for(i=1;i<10;i++){
printf("%d\t",i);
}
输出20---1之间所有数
利用for循环,输出1---100之间,所有7的倍数
输出一个数的阶乘
5!= 5*4*3*2*1;
如果可以确定要循环的次数,使用for效果更好
如果不确定要循环的次数,一般使用while与do...while
如果先判断,再循环,使用 while
如果先循环,再判断,使用 do...while