C语言基础

数据类型

基本类型
整型
(unsigned)short 2字节
(unsigned)int   4字节
(unsigned)long  4字节
浮点型(实型)
单精度浮点型  float  4字节
双精度浮点型  double  8字节
字符型
(unsigned) char 1字节
构造类型
数组  结构体 共用体 枚举
指针类型

空类型
void 
//没有系统时使用这种方式
void main()
{


//
}
//有系统的时候使用这种方式
int main()
{
return 0;//正确执行完毕的
return -1;//错误执行完毕的
}


——————————————————————————————————————————————————————————————————————————————————————————

1.常量和变量

常量:在程序运行期间内,其值不能够被改变的量
整型: 123 -345 0
实型:3.14 0.618
字符型:'A'  'a' 
字符串型: "hello world"

符号常量
#define 标识符 常量
注意: 符号常量的值不能被更改


变量:在程序运行期间内,其值能够被改变的量
变量代表内存中具有特定属性的一个存储单元,它用来存放这个存储单元的数据(变量的值),而这个值在程序运行期间内
可以被改变


变量名:实际上是一个以一个名字对应一个内存单元地址,在程序编译时有编译系统给每一个变量名分配一个相应的
存储单元。

定义一个变量的形式
类型名 变量名

类型可以是所有C合法的数据类型
变量名: 满足标识符的规定(只能是数字,子母,下划线,打头的不能是数字)
abc afioq7 _jop 
&fh(
3fue_

所有的变量必须先定义,后使用
int a = 4;
int b = 5;
int result = a * b; // int result; result = a * b;
// No 66 是在定义的同时之间执行了初始化。
int i,j;

int num = i * j;

如果一个全局变量没有初始化,那么其值为0,而局部变量的值则是不确定的。
整型常量
十进制   123
八进制   065
十六进制 0x12 0X34
整型数据在内存中是以二进制的形式存放的。
以补码形式存放
正数:原码就是补码
负数:绝对值的原码取反加一

编辑器为了区分有符号数还是无符号数,
signed  最高位为符号位 负数1 正数0 
unsigned  所以位数都是数值位 全部都是正数

C语言 整型之间的赋值问题
长 -> 短 低字节直接拷贝,可能丢失数据
短 -> 长 
unsigned  最低位直接拷贝,高位补0 
signed  低字节直接拷贝,高位补符号位

****************浮点型在内存中的存放形式******************
123.0
1.23e2 <=> 1.23 * 10^2
规范化的指数形式:小数点前面只有一个且必须有一个不为0的有效数字
e前面必须要有数字,e后面的数字必须是整数
45.78
4.578 * 10 ^1 
4.578e1
字符常量
'$' '#'
字符在内存中是以ASCII码形式存放的
char ch = '0'; //char ch = 48;
转义字符
\n 换行
\r 回车 光标回到本行行首
\t 横向跳格(8格)
\b 退格
\\ 反斜杠本身
\ddd 1-3 位 8进制数字
\xhh 1-2位 16进制数字
字符串常量
"hello world";
每一个字符串末尾都有一个"隐形"的字符串结束标志 '\0'
"abc"
'nihao' 字符串必须用双引号才行


--------------------------------------------------------------------------------
运算符及其表达式
什么是表达式?
在C语言中,表达式是用运算符连接操作数的式子

C语言的运算符

1.算术运算符
+ - * / %(操作数必须是整型)
2.关系运算符
3.逻辑运算符
4.位运算符
5.赋值运算符 =  从右到左计算  优先级倒数第二 
int a,b,c;
a = b = c = 5; 正确
5 = a = b = c; 错误
a = 3 + 5;
6. 条件运算符
7.逗号运算符
优先级倒数第一
表达式1,表达式2,…… 表达式n;//这一条语句合起来是逗号表达式,整个表达式的结果是最后一个表达式的结果
a = (15/3,15 * 20);// a = 15 * 20;
a = 15/3,15 * 20

8.指针运算符
9.求字节运算符
sizeof
int a;
sizeof(a); -> 4
sizeof(int) -> 4
sizeof(double) -> 8
sizeof(ch) -> 1
sizeof(short) -> 2
10. 分量运算符 
p->next;
11.下标运算符
[]
12.强制类型转换运算符
(类型) 要转换的数据
(int)3.14 -> 3
(int) 3.14+ 5.46 -> 8.46
(int) (3.14+ 5.46) - > 8

与之相对的是自动类型转换(向高精度靠拢)
1 + 3.14 -> 1.0 + 3.14
13. 自增,自减运算符
i++ ++i
i-- --i;
int i = 3,m = 3;
int j = ++i;// i = i + 1; int j = i;
int n = m++;// int n = m; m = m + 1;
j = 4 n = 3 





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值