C语言第二次

1.C语言基本数据类型及其占用的内存空间大小分别是:

【有符号】 整型int:4字节;【有符号】短整型short[int]:2字节;【有符号】长整型long[int]:4字节; 无符号整型unsigned[int]:4字节;无符号短整型unsigned short[int]:2字节;

 无符号长整型unsigned long[int]:4字节;字符型char:1字节;单精度浮点型float:4字节;双精度浮点型double:8字节

2.算数运算符有:+   -    *   /    %    ++      --

3.关系运算符有:>   <   >=   <=   ==   !=   <>

4.逻辑运算符的优先顺序是:! &&  ||

5.赋值运算符有:=   +=   -=   *=   /=   %=

6.char c=132; printf(“%d”,c);

#include<stdio.h>
int main()
{
    char c=132;
    printf("%d",c);
}

运算结果是-124。因为132=128+4。所以c对应的二进制为1000 0100。因为第一位是1,所以计算机识别为负数,1000 0100取反得到0111 1011,然后进一得到0111 1100.所以输出-124。

7.int a=-7; printf(“%d”,a>>1);

#include<stdio.h>
int main()
{
    int a=-7; 
    printf("%d",a>>1);
}

运算结果是-4。

7:00000000 00000000 000000000 00000111;取反进一得-7:11111111 11111111 11111111 11111001

-7>>1得:11111111 11111111 11111111 11111100;取反进一得00000000 00000000 00000000 00000100。所以输出-4。

8.int a=7;int b=8;printf(“%d”,a&b);

#include<stdio.h>
int main()
{
     int a=7;
     int b=8;
     printf("%d",a&b);
}

运算结果是0。

a=7:00000000 00000000 00000000 00000111;b=8:00000000 00000000 00000000 00001000.

&是与,相同位都是1为1,否则为0.所以得00000000 00000000 00000000 00000000。所以输出0。

9.int a=7;int b=8;printf(“%d”,a^b);

#include<stdio.h>
int main()
{
    int a=7;
    int b=8;
    printf("%d",a^b);
}

运算结果是15。

a=7:00000000 00000000 00000000 00000111;b=8:00000000 00000000 00000000 00001000.

^是或,相同位有一则为一,否则为0.所以得00000000 00000000 00000000 00001111。所以输出15。

心得:第二次课要比第一次课要抽象,但我相信只要静下心来慢慢领悟,应该是可以的。*-*

原文地址:https://www.cnblogs.com/bgdzc/p/5894314.html