C语言理论作业—2

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);
解:char的范围为-127~128,132超出范围,132变为二进制是10000100,因为在计算机中0为正1为负所以该数为负数,而负数需要取反加一,所以该数为-01111011+1=-01111100,输出结果为-124。
7.int a=7;printf("%d",a?1);
解:7:00000000 00000000 00000000 00000111
   -7:11111111 11111111 11111111 11111001(取反加一)
   a>>1:111111111 11111111 11111111 1111100(右移一位)
   -00000000 00000000 00000000 00000100(取反进一)
   所以向右移1位为-4.
8.int a=7;int a=8;printf("%d",a&b);
解:a=7:00000000 00000000 00000000 00000111
    b=8:00000000 00000000 00000000 00001000
    因为没有相同为1的项
    所以输出值为0.
9.int a=7;int b=8;printf("%d",a^b);
解:a=7:00000000 00000000 00000000 00000111
    b=8:00000000 00000000 00000000 00001000
           00000000 00000000 00000000 00001111
    所以输出值为15.

原文地址:https://www.cnblogs.com/yypfd/p/5894849.html