C语言从0到0.1
                
C语言中的基本数据类型
1.软件=数据+指令;
 2.文件是一个外存的概念可分为:
 (1)可执行文件:由指令加数据构成
 Windows:*.exe; *.bat; *.com;
 Linux:靠文件属性来判断是否可执行
 (2)不可执行文件:其内容由数据构成;
 3.贪心算法:十进制转二进制
 
 4.C语言中的基本数据类型
 整型(int):可分为无符号数(unsigned)和有符号数(signed)
 (1)char: 1字节
 (2)short: 2字节
 (3)int:4字节
 (4)long int: 4字节
 (5)long long: 4字节
 浮点类型:
 (1)float: 4字节
 (2)double: 8字节
 (3) long double: vs2019中占8字节;DEV中占12字节;其他16字节
 (不同系统所占字节不一样)
 bool类型: 1字节
 无类型: void
 数据类型的用处:
 (1)知到每种类型所占字节大小在指针加1时指针和内存的解释就与类型有关
 (2)计算结构体的大小(结构体中定义了不同类型的变量)
 例题:
代码1:
  for(int i=-4;i<sizeof(int);i++)
  {
  printf("%d",i);
  }
  //不打印,sizeof(int)虽然等于4,但是无具体类型
代码2:
  ***int n=sizeof(int);***
  for(int i=-4;i<n;i++)
  {
  printf("%d",i);
  }
  // -4-3-2-10123
5.定义与声明
 定义创建了对象并为这个对象分配了内存;声明只是创建了对象并没有为对象分配内存。
 (1)定义:
int sum = 10;

 定义变量sum时就会在内存中开辟一处占4字节的存储空间,这个存储空间的名字叫sum,10并不是给sum,而是将10给了sum所代表的存储空间里
 (2) 声明:
 类似于函数声明
变量与常量
6.变量与常量:
 
注:当局部变量名与全局变量名发生命名冲突时,编译器可以编译通过,此时看标识符(变量名)离谁近(就近原则):向上看离谁近。
 即:上述 a=0;
C语言的常量
7.C语言的常量
 (1)字面常量
 (2)用#define定义的宏常量 //无类型;不开辟内存空间;预编译时替换
 (3)用const关键字修饰的变量,称为常变量4.
 (4)枚举常量 //有符号的受限制的整型 (取值范围是枚举的值,不允许自加或自减)
 
 (5)字符常量和字符串常量
 
 char stra[ ]=" "; //双引号是字符串定界符,存放\0,所以sizeof(stra)=1;
 char ch=‘a’; // char ch=97;ch中存放的是字符a的ASCLL码值97
 打印ch的值取决于自己
printf("%d", ch); // 97
printf("%c", ch); // 'a'
char a = '0';  //存字符0的ASCLL码值48
char b = 0;    //0
char c = '\0'; //空字符的ASCLL码值为0
转义字符
转义字符
 
printf("xsynhpl");

换行符:\n 将当前位置移动到下一行开头
printf("xsy\nhpl");

 回车符:\r 将当前位置移动到本行开头
printf("xsy\rhpl");

 水平制表符:\t 空4格
printf("xsy\thpl");

 转义字符可以把字符转义为其他意义
 (1)转义‘
    char ch = '\'';
	printf("%c", ch);

 转义“
printf("%s", "xsy\"C++\"jiayou");
	char stra[] = { "xsy\"C++\"jiayou" };
	int n = sizeof(stra);
	for (int i = 0;i < n;i++)
	{
		printf("%c", stra[i]);
	}

 在“ ”中’可以直接使用,字符串定界符认为‘是单引号
    char strb[] = { "xsy'C++'jiayou" };
	int n = sizeof(strb);
	for (int i = 0;i < n;i++)
	{
		printf("%c", strb[i]);
	}
	char strb[] = { "xsy\'C++\'jiayou" };
	int n = sizeof(strb);
	for (int i = 0;i < n;i++)
	{
		printf("%c", strb[i]);
	}

 \000: 1到3位八进制数所代表的字符
printf("\141");//(141)8=(97)10

 \xhh: 1到2位16进制数代表的字符
printf("\x61");//(0x61)16=(97)10

