一:1类型转化
(1)隐视转化,
当赋值号两边类型不同时,自动转化为精度较高的类型。
5/3= 1
5/3 = 1.000000
9.120000/5= 1.8240000
float_f=int_t/int_t1
(2)显视转化:
强制类型转化,
float_f= (float)int_t/int_t1
强制类型转化,并不改变变量的类型,是临时的做一次类型转化。
2位运算符
&:位与:将十进制数,八进制,十六进制数,转化为二进制数,进行位与运算,即:对应位相同时为1时,结果为1,否则为零。4&3=0
|:位或:将十进制数,八进制,十六进制数,转化为二进制数,进行位或运算,即对应位只要有一位是1,就为1,都为零是,为零,
~:非(取反)
^:异或 即对应位相同为0,不同为1
<<:左移即转化成二进制,然后左移两位,低位补零如:1000左移动后的100000,左移几位,则诚意2的几次方。 如:8 ×2^3=64
>>:右移 与左移相反,方法类似。
补充:正数的原码是他本身,最高位,符号位不变,其他按位取反,补码是它本身;负数的补码是其正数的原码取反加1,23:0001 0111
补码:1110 1000
反码:1110 0111
原码:00011000
(1)二进制数:由0和1组成的序列。
二进制数每一位代表的数有多少,我们往往通过对应位×(n-1)[次方]
(2)八进制数,由0-7组成,八进制数开头是数字零,以区分八进制数。
(3)十六进制数,由数字0-9和字母a-f或者A-F组成,并且以0x或者0X开头。
如:0x2340xab34wxABF
(4)二进制十进制八进制十六进制
注意各种进制数之间的转化,小技巧 十六进制八进制和二进制之间的转化,一个十六进制位相当于4个二进制位数,同理八进制相当于三个二进制位,可以快速转化。
3,赋值操作符
=
+=
num == i;-------> num = num +i;
-=×=/=%=
&=
num == i;-------> num =(num ==i);
|=
num == i;-------> num = num +i;
>>=
num == i;-------> num =(num == i);
<<=
num == i;-------> num = (num <<=i);
4逻辑运算符
1)逻辑运算符
&&:逻辑与:
表达式1 &&表达式2当表达式1和2同时为真时,结果为真,否则为假
||逻辑或: 表达式1||表达式2表达式1和表达式2只要有一个是真,则结果为真当表达式1为真时,表达式2无需计算整体结果即判断为真
! 非
!表达式
条件运算符/又称为三目运算符
?:
表达式1?表达式2:表达式3
若表达式1为真,则执行表达式2,否则执行表达式3
a>b?a:b
a,b,c---->max
5)运算优先级
括号成员第一,全体单目第二,乘除余第三位,加减第四,位移五,关系六,等与不等排第七,;
位于异或,或位或,八九十,
逻辑或和与十二与十一;
条件高于赋值,逗号运算最低。
a>b?(a>c?a:c):(b>c?b:c)
1分支结构
(1)if(表达式)
如果括号内的数据是真是,则执行{}里的语句;
若为假,则不知心()里的数据不知行。
2)if else
3)多重if...else语句
4)if...else的嵌套使用,
注意使用if注意事项,80 <
num <= 100,//这种写法错误,
num > 80 && num <100,这是正确的写法。
if条件句后面只有一条语句时,可以不加{};但此语句不能是变量定义语句。
例子:if的有效语句只有:
if(1)
printf("hello\n");
说明:if的有效语句只有:printf(“lello\n”);
在if的{}里面定义的变量,只能在大括号中使用,跳出大括号,则无效。
if(1)
{
printf("hello\n");
intnum =10;
printf("num= %d\n");
}
printf("num= %d\n",num);注释这句错误,就因为,num没有定义,花括号中的定义对他无效。
6)switch....case
根据option'的值选择性知行case语句,若没有预支对应的case语句则知行default语句。
注意事项,default语句可以放在,switch{}语句的任意位置,
case语句后的花括号可以省略不写,当case后的执行语句超过三条,则建议加{}
case语句中的break视情况而定是否写。若case中没有break则顺次知行所有的case语句。直到把case语句执行完,退出switch。
三:循环结构,
1)while{}do{} while()for(;;)
1>while(表达式)
先判断循环条件,若条件满足,则执行循环体,每执行一次循环体,进行ICI条件判断。
2> break/continue循环
break;跳出当前循环;
continue:跳出本次循环,进行下一次循环。
网友评论