作者: 丿水木灬年华 | 来源:发表于2016-12-13 17:24 被阅读0次

    一: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:跳出本次循环,进行下一次循环。

    相关文章

      网友评论

          本文标题:

          本文链接:https://www.haomeiwen.com/subject/gcjbmttx.html