马上大四了,在学期末学校一年一度的企业实训体验开始了。
其实现在已经接近尾声,只是把学到的东西整理一下,供各位君闲聊查看。
/**********这个是第一天的笔记*************************/
/*
一:程序的结构
工程 sln
文件 .c 文件包括:函数的定义 变量的定义
.h 文件包括:存放声明 类型的定义 宏定义
函数:
主函数
子函数
语句
单词 字母数字下划线 开头不能是数字
二:
数据类型 --->size 范围
分类:
1.基本类型
整形 有符号 无符号
实型
字符型 :unsigned char [全0~~~全1]
char [~~~0+全1] 1 0000000 当看到这种情况 1即看作符号位 又看作数字位
这里特别注意当溢出的时候:(当溢出的时候都是把最前面的1看做符号与数字)
常量:用一对单引号括起来的叫做字符常量 ‘1’
short int b = 0; 2Byte -2^15~~2^15-1
int c = 0; 4Byte -2^31~~2^31-1
long d = 0; 4Byte -2^31~~2^31-1
long long ll = 0;8Byte -2^63~~2^63-1
unsigned short int usi = 0U; 2Byte(0~~2^16-1)
unsigned int ui = 0U; 4Byte(0~~2^32-1)
unsigned long int uil = 0UL; 4Byte(0~~2^32-1)
unsigned long long int ulli = 0; 8Byte(0~~2^64-1)
float f = 0.F; 4Byte
double d = 0; 8Byte
long double ld = 0; 8Byte
2.构造类型
结构体
共同体结构
指针类型
空类型 void
二:常亮及变量
2_1
1、 变量要占据内存 内存的大小由“数据类型决定”
2、 变量的内存是有名字的,名字就是变量名
3、 变量的内存是可读可写的
2_2
1、常亮也是要占据内存的,内存的大小由数据类型决定
2、常亮的内存是只读的,不可以写
3、字符串常亮是用双引号引起来的字符
然而:“\0China"长度是0 但是占据了7个字节的内存
字符串的长度:从左到右计数,遇到第一个‘\0‘截止
字符串的尺寸:字符串占据的字节数
“China”5个长度 6个字节
"\0usa" 0个长度 5个字节
4、字符常亮 用单引号引起来的一个字符 ‘a‘ ‘b‘
分类:‘\n‘ ‘\t‘ 字符转义
‘\ddd‘ ‘\xff‘ 数值转义
小细节:‘\ddd‘ (0~~~377) 不会是\777 已经超出
‘ff‘ (\x0~~~\xff)
"\012345abc" 占用字节数8个
长度是7个
"\378"已经超出 所以 3个/2个
\x0abcd = \x0a b c d
三:函数
作用域:名字的使用范围
在同一个作用域内不能出现相同的标示符
名字只能在作用域内使用
作用域采用就近原则
作用域的分类
1、文件作用域
2、函数作用域
3、语句块作用域
int g_count = 0; global的意思
int g_foo = 0;
nCount = 0;
nFir = 0;
3_4 作用域扩展
只能扩展文件作用域内的名字 不能扩展作用域之外的名字
局部作用域不能扩展
静态变量在编译时确定执行
3_5 递归调用 自己调用自己
要写好终止条件 终止条件放在递归之前
递归会频繁开辟释放内存,影响效率
3_6 字符串存放的是首字母地址 不管作参数还是变量
char str[] = "I Love You";//两个字符串,一个在数组中 一个在常亮中 地址不一样
char *p = "You Love me";//只读,不可写