int num = 3;
int num1 = 5;
int sum = num1/num;
printf("sum = %d\n",num1,num,sum);
printf("%d/%d = %f\n",num1,num,num1/num);
float num2 = 7.0;
float num3 = 9.12;
float dev =num3/num2;
printf("dev = %f\n",num3,num2,dev);
float dev1 = num3/num1;
printf("%f/%d = %f\n",num3,num1,dev1);
1.类型转化
(1)隐式转化:
注意:当赋值号;两边类型不同时,自动转化位精度较高的类型。
(2)隐式转化:
强制类型转化,并不改变变量的类型,只临时做一次类型转化
include<stdio.>
int main(){
int num = 3;
int num1 = 5;
int sum = num1/num;
printf("sum = %d\n",num1,num,sum);
printf("%d/%d = %f\n",num1,num,num1/num);
float num2 = 7.0;
float num3 = 9.12;
float dev =num3/num2;
printf("dev = %f\n",num3,num2,dev);
float dev1 = num3/num1;
printf("%f/%d = %f\n",num3,num1,dev1);
return 0;
类型转化:
5/3 = 1
9.120000/7.000000=1.302857
(1)隐式转化:
float_f=int_t/int_t1
当赋值号;两边类型不同时,自动转化位精度较高的类型
(2)
隐式转化:
强制类型转化,并不改变变量的类型,只临时做一次类型转化
位运算符(二进制数)
&: 位与将十进制数,八进制数,十六进制数,转化位二进制数
计算机是补码存储,补码输出
源码:正数的源码就是其本身,
反码:符号位不变,其他位按位取反
补码:负数的补码是其正数的源码取反加1
23 0001 0111
补码: 1110 1000
反码: 1110 0111
源码: 1001 1000
即:数据对应为1,只要有1,则为1,同时为0,才为0.
~: 非(取反)
~23: 0001 0011
0000 0111
---------------
0000 1000
逻辑运算符和条件运算符
逻辑运算符
&&:逻辑与
表达式1 && 表达式2
当表达式1和表达式2同时为真时,结果为真,否则为假
注意:当表达式1为假时,表达式2无需计算,整体结果为假
||:逻辑或
表达式1 || 表达式2
表达式1和表达式2只要有一个为真则为真
注意:
!:逻辑非
!表达式
若表达式为真,则结果位假
若表达式为假,则结果为真
条件运算符
?:表达式1?表达式2:表达式3
若表达式1为真,则执行表达式2
否则执行表达式3;
a>b?a:b
a,b,c-----max
a>b?(a>c?a:c):(b>c?b:c)
(1)二进制数:由0和1组成
2^0` 2^1 2^2 2^3 2^4 2^5 2^6 2^7
(10101) = 12^0 + 02^1 + 12^2 + 02^3 + 1*2^4
(2)八进制数:由0~7组成的,八进制数开头是数字0,以区分八进制数
0345 0123 0765 0456
(3)十六进制数:由数字0~9和字母A~F或者a~f组成
并且以0x或者0X开头
C语言的三大结构
顺序结构/分支结构/循环结构
(1)if(表达式)
{.........}
表达式为真则执行{}里的语句;
若为假,则不执行{}里的语句:
注意
(2)if...else ()
(3)if
else if
else if
(4)if的嵌套使用
使用if 注意事项
80 < num < 90 错误的
num >80 && num<=90 正确的
三循环结构语句
while()
do{}whule()
for(;;)
while(表达式)
{
//执行语句
}
先判断条件是否满足执行条件,不满足则退出循环体,
不满足则退出循环体,若条件满足,则执行循环体,
没执行一次循环体,进行一次循环先判断,后执行。 break/continue
break:
跳出当前循环
continue:
跳过本次循环,进行下一次循环
do{}while()
do
{
//循环体
}while(表达式);
先执行,后判断
for (;;)
for(表达式1;表达式2;表达式3)
{
//循环体;
}
表达式1:循环条件初始化
表达式2:循环结束条件或者循环执行条件
表达式3:循环步长或者变量值的更新
注意:表达式1,2,3可以任意省略,或者全部省略
但是 ";;"不可能省略!!!!!
强制类型转化,并不改变变量的类型,只临时做一次类型转化
float_f = (float)int_t/int_t1
位运算符(二进制数)
&: 位与
C语言的三大结构
顺序结构/分支结构/循环结构
if条件语句后面只有一条语句时,可以不加{};但此语句不能是变量定义语句;
在if的{}里面定义的变量,只能在{}中使用,在{}之外无效!
if(1)
{
根据option的值选择性执行case语句,若没有与之对应的case语句则执行default语句!
default语句可以放在switch{}里任意位置;
case语句后面的{}可以省略不谢,当case后面的执行语句超过3条,则建议加{}!!!
(3)case语句中的break视情况而定是否写;
若case语句中无br。eak,则顺次执行所有的case语句,直到把所有的case语句执行完毕,退出switch
三循环结构语句
while() do{}whule() for(;;)
while(表达式)
{
//执行语句
}
先判断条件是否满足执行条件,不满足则退出循环体,
不满足则退出循环体
若条件满足,则执行循环体,没执行一次循环体,
进行一次循环体
先判断,后执行。
do{}while()
do
{
//循环体
}while(表达式);
先执行,后判断
for (;;)
for(表达式1;表达式2;表达式3)
{
//循环体;
}
表达式1:循环条件初始化
表达式2:循环结束条件或者循环执行条件
表达式3:循环步长或者变量值的更新
注意:表达式1,2,3可以任意省略,或者全部省略
但是 ";;"不可能省略!!!!!
总结语句:
今天学习了循环用语句,单个循环 for while swiatch,学习效率还行可以不过还是没有达到把老师当堂的完全吸收下来,没有达到预期的要求,还有待提高和进步以及效率。