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

相关文章