第三课    C语言基础下

C语言位运算

符号 名称 含义
& 按位与 2个操作数同时为1,结果为1
按位或 两个操作数只要有一个为1,结果就为1
~ 取反 操作数为1,结果为0,操作数为0,结果为1
^ 按位异或 两个操作数相同,结果为0,
>> 右移 左边的运算数的各二进位全部右移若干位
<< 左移 左边的运算数的各二进位全部左移若干位

总之左移就是: 丢弃最高位,0补最低位,对于有符号数,而在右移时,符号位将随同移动。当为正数时, 最高位补0,而为负数时,符号位为1,最高位是补0或是补1 取决于编译系统的规定。

sizeof 的用法

注意:sizeof不是函数,是一种运算符
   sizeof量取的是数据类型的长度
   sizeof(++num); ++在sizeof()中无效

常用的运算符的优先级

  1. ! ()  sizeof() ++
  2. 算数运算符 : * / + –
  3. 关系运算符 > <
  4. && 逻辑于
  5. || 逻辑或
  6. 赋值运算符

分支结构

  • if else
  • switch()

循环结构

循环三要素:

1. 循环变量

不一定会是整型变量,具体分析

2. 循环判断

值为真时循环,为假时跳出循环

3. 循环变量更新

不同的循环变量的更新方式也会不一样

while循环  经典案例

  • 取个位数字
#include <stido.h>
    void main()
    {
        int num = 9527;
    /*  每一位:+ 5 % 10 并打印
     *取出每一位的原理:
     *个位 = num % 10
     *十位 = num / 10 % 10 
     *百位 = num / 10 / 10 % 10  ->规律:每次循环都要 num / 10
     */
    while( num != 0)
        {
         int temp = num % 10;
        temp = (temp + 5 ) % 10;
        printf("%d\n",temp);
        num /= num; //每次循环都去尾
    }
}
  • 斐波那契数列
//打印斐波那契数列前二十个数字:1,1,2,3,5,8,13,…………
    int i = 0;a = 1;b = 1;
    for(i = 0;i < 10;i++)
    {
        printf("%d\t%d",a,b);
        a = a + b;
        b = a + b;
    }

                                      -BY 看不懂啊

——————–2017年11月30日———————–

Leave a Comment