#include <stdio.h>
# define prize 324;
# define name 'w';
int main(void)
{
// 整型数据类型
//char 字符型
//short 短整型
//int 整型
//long 长整型
//long long 加长整型
//sizeof(数据类型,变量,常量) 返回占用的字节数,如下:
printf("%lu\n", sizeof(int));
printf("%lu\n",sizeof(134534645334));
char a = 1;
short b = 2312324546566467436;
printf("%d\n",a);
printf("%d\n",b);
//这一步输出为-20628,原因是short存不下这个数
//无符号整型就是在正常的整型前加上unsigned关键词
unsigned char v = 255;
printf("%d\n",v);
// 浮点数据类型
//float 单精度浮点型。至少能表示6位有效数字,并且取值范围至少是10^-37~10^+37
//double 双精度浮点型。更加精确。
//float占用四字节,double占用八字节
float f = 1237442.2343284;
printf("%f\n",f);
double d = 1237442.2343284;
printf("%f\n",d);
//常量分为字面常量与符号常量
//字面常量可以直接按形式书写,无需声明
//符号常量使用define声明
int pri;
char nam;
pri = prize;
nam = name;
printf("%d--%c\n",pri,nam) ;
// 字符常量与字符串
//使用单引号框住的就是字符,字符串是字符组成的
//在c语言中,字符本身就是以整型的方式存储的,所以本身就是数字
//输出时选择%d便输出数字,选择%c便输出字符
char word = 'A';
printf("%c %d\n",word,word);
//暂不清楚中文字符如何声明
//字符串就是字符的组合,但是最后会有一个独立的字节专门存储0表示字符串结束
//字符0的编码是48,并不是0,所以字符0并不能让字符串截断
//转义字符是\与后的字符共同构成的字符,将会采取其他的编码方式,如\0的编码将会是0
printf("hello\0world");
//此行的运行结果是hello
//转义字符本身也是一个字符
//\后面跟一个数值,这时这个数值会被认为是八进制,并被编码为二进制
//如h的八进制编码为150,则下列语句将输出hh
printf("\n\150\150\n");
//转义字符有自己的编码,例如换行符的八进制编码是12,如
printf("h\12h\12");
//为了方便记忆,把字母n作为助记符,使得\n就是\12,与此相同:
//\a报警 \b退格 \f换页 \r回车 \t水平制表 \v垂直制表
//这些都属于不可见字符,在ASCII表上,十进制前31个为不可见字符
return 0;
}