day1
关键字
数据类型:char double enum float int long short struct union void
存储类型:auto extern register static
控制语句: break;switch; case; continue; do; while; for; if; else;goto
const:只读
return:返回函数
signed:有符号数
unsignedl: 无符号数
sizeof:运算符
typedef:给数据类型取别名
volatile:防止编译器优化
标识符:自己定义-函数名和变量名
字母
下划线
数字
注意:第一位不能为数字 :不能与关键字重名
基本数据类型
字符型:char(1byte)
浮点型:float(4),double(8)
整型: int(4),long(64os:8,32os:4)short(2)
#include<stdio.h>
int main(void)
{
printf("sizeof(int)=%ld\n",sizeof(int));
return 0 ;
}
有符号数和无符号数
signed
:有正数和负数,二进制数最高位为符号位,符号位:
1--
负数
0--
正数
unsigned
:没有正负之分
signed int
有符号整数
unsigned int
无符号整数
计算机中默认所有的数都是有符号数
有符号数有原码、反码、补码
计算机中的二进制数都是以补码的形式存在的
无符号数没有原码、反码、补码
signed
:
正数:原码、反码、补码是一样的
负数:
(符号位不变)
•
原码
--
》反码:原码每一位取反
•
原码
--
》补码:原码取反加一
•
补码
--
》原码:减一取反(补码的补码就是原码)
浮点型常量
小数:
0.0001
指数:
1e-4
1*10^
-
4
%e:
表示以指数形式输出
%f %lf
:表示以小数形式输出
%g
:表示选择以指数和小数中更短的形式输出
标识常量(宏)
定义:#define宏名 表达式
注意:宏一般用大写 宏后不加分号
既有宏的特点,又有函数的特点
#define
函数名
(
参数
)
函数体
注意:在整个函数体外面加一个括号,然后给函数体内的每一个参数都加上括号
f(x) = 2x+3
#define ADD(a, b)
(
(a)+(b)
)
#include<stdio.h>
#define ADD(a,b) a+b
int main (void)
{
int x =4;
int y =5;
int sum = ADD(x,y)*ADD(x,y);
printf("sum=%d\n",sum );
return 0;
}