1.写一个算法实现各个进制之间的转换
2.写一个算法实现原码,补码,反码之间的关系
3.枚举类型:
答:枚举里的元素是常量并非变量,在枚举里可赋初值,之后不可以赋值,
若无赋值,第一个枚举常量为0,其余递增+1;枚举类型元素不能赋值为实型常量
4.运算符的优先级
优先级 运算符 解释 结合方式
最高 ()【】-> 括号(函数等),数组,两种结构成员访问
!~++ -- + - 非,按位取反,自增,自减,正负号 自右向左
* & (类型) sizeof 解引用(指针),取地址,类型转换,字节大小 自右向左
+ - 加,减
《 》 左移,右移
< <= > >= 小于,小于等于,大于等于,大于
== != 等于 不等于
& 按位与
^ 按位异或
| 按位或
&& 逻辑与
|| 逻辑或
?: 条件 自右向左
=+=-=*=/= 赋值 自右向左
&= ^= |= 《=》= 赋值 自右向左
, 逗号(顺序)
5,无需中间变量,交换两个变量的值
方法一:a=a^b;
b=b^a
a=a^b
方法二:x=x+y;
y=x-y;
x=x-y;
6
sizeof(变量) sizeof(常量)
sizeof(数据类型)
sizeof(数组)数组总字节数
sizeof('a') a的值是常量97 ,四个字节
sizeof((char)‘a')一个字节
7#include<stdio.h>
main()
{
int m=5;
printf(""m=%d,m+=m-=m*m=%d,m=%d",m,,m+=m-=m*m=%d,m)
}
函数调用时参数从右向左压入栈(第一个入为m,值为5)
输出时,从左向右