C89:论符号
Posted k5bg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C89:论符号相关的知识,希望对你有一定的参考价值。
一.简介
C运算符总共有13种:
1.算术运算符:* - + /
2.关系运算符:> < == != >= <=
3.逻辑运算符:! && ||
4.位运算符:<< >> ~ | ^ &
5.赋值运算符:= 及扩展赋值运算符
6.条件运算符:?:(C语言中唯一的三目/三元运算符)
7.逗号运算符:,
8.指针运算符:* &
9.求字节运算符:sizeof
10.强制类型转换运算符:(类型)
11.分量运算符:->
12.下标运算符:[]
13.其他:如函数调用运算符
二.位运算符
(1)左移(<<)右移运算(>>)
(2)异或运算(^)
三.浮点数
合法的浮点数有两种表示形式:
(1) 十进制小数形式。他有数字和小数点组成,必须有小数点。例如(123.)(123.0)(.123)。
(2) 指数形式。如123e3。字母e(或E)之前必须有数字,e后面的指数必须为整数。
规范化的指数形式里面,小数点前面有且只有一位非零的数字。如1.2345e8
四.变量
1.16位编译器
char :1个字节
char*(即指针变量): 2个字节
short int : 2个字节
int: 2个字节
unsigned int : 2个字节
float: 4个字节
long: 4个字节
unsigned long: 4个字节
double: 8个字节
long long: 8个字节
2.32位编译器
char :1个字节
char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
long: 4个字节
unsigned long: 4个字节
double: 8个字节
long long: 8个字节
3.64位编译器
char :1个字节
char*(即指针变量): 8个字节
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
long: 8个字节
long long: 8个字节
double: 8个字节
unsigned long: 8个字节
五.%(求余)
%(求余)要求两边都是整型
六.<<(左移) >>(右移)
位运算中操作符左移一位表示乘以2,操作符右移一位表示除以2
七.||(逻辑与)
int i=0,a=1,b=2,c=3; i=++a||++b||++c; //i=1 //a=2 //b=2 //c=3
八.操作符Sizeof()
1.结构体
16位机子的编译器无内存对齐
2.数组
char s[]="12345"; cout<<sizeof(s)<<endl; //输出6 char s[100]; cout<<sizeof(s)<<endl; //输出4
3.指针
char* s="12345"; cout<<sizeof(s)<<endl; //输出4 void* p=malloc(100); cout<<sizeof(a)<<endl; //输出4
4.变量
九.[]和*
char* a[10]; //[]的优先级高于*,所以这是一个指针数组,并不是一个指针变量指向的数组
以上是关于C89:论符号的主要内容,如果未能解决你的问题,请参考以下文章