只要你愿意 开始总比放弃好。 Roman.
愿我们都有自己的目标并正在为其不懈努力。
最近学习的小结 算是给愿意重新的自己的一种交代 告别2021.
一、大致了解C语言
1、C语言主要用于底层开发:系统开发、驱动开发
2、C语言以ANSI C为标准,其中C89/90使用最广泛
3、计算机语言:人与计算机进行交流的语言
二、数据类型
(注:字节byte 下面的顺序为:类型 所占空间大小)
1、char 1byte
2、short 2byte
3、int 4byte
4、long int 4or8byte
5、long long int 8byte
6、float 4byte
注意点:数字后面可以加 f 指明类型,否则容易被误解为double型
7、double 8byte
8、自定义类型
9、 注意:sizeof() 计算一个类型大小,单位:字节,返回类型时size_t,即无符号整型,故可用%u返回
如:sizeof(char)
三、变量、常量
(一)变量
1、形式:类型 名称
如:char ch='a';
2、全局变量:是一定的,定义在大括号外面(即:main函数外面)
3、局部变量:是一定的,定义在大括号里面
注意:只要放在大括号里面的就是局部变量!即使不在同一个大括号里面也是局部变量!
4、当全局变量名称和局部变量冲突时,局部变量优先!
5、变量的使用:scanf函数输入,需要用&
6、变量的作用域:即变量可以使用的范围
1)局部变量作用域即局部变量所在范围
2)全局变量作用域整个工程;甚至其它的项目工程,通过外部函数extern,如:extern int a;
(extern 用于声明外部符号)
7、生存时间:即从变量建立到销毁的时间 变量出了范围就销毁
1)局部变量:从进入作用域开始,出了作用域生命结束
2)全局变量:整个程序的生命周期
3)静态变量属性等同于全局变量
4)全局变量可以跨工程
(二)常量
1、字面常量:直接写出的常量
如:10是整型常量 ‘a’是字符常量 “abcdefg”是字符串常量等
可以将字面常量赋值给变量
2、const修饰的常变量:const是一个C语言关键字,其是默认的(C语言本身提供的)
1)(注:可被修改则为变量,若变量不能被修改则为常变量)
如:const int num;
2) 常变量:本质是变量,但是不能被修改! 故:const修饰的常变量不可以被修改
3)注意: 数组【常量】 【常量】处不能存放被const修饰的变量来指定数组大小,因为其本质是变量
3、#define定义的标识符常量
1)形式:如 #define M 100 (注意:中间无 ‘=’ 连接,最后也没有;)
2)其定义的量是一个彻彻底底的常量,可以用于指明数组长度
4、枚举常量
1)枚举:可以一一列举 如:性别、三原色等
2)enum是枚举关键字:
①如:enum Sex {MALE,FEMALE,SECRET} 注意:中间用,隔开 最后无符号
② 枚举常量默认被赋值是从0开始,依次增大,打印时可以看到此现象
③后面运用枚举常量时 如:enum Sex s=Male;
四、字符串、转义字符、注释
(一)字符串
1、C语言无字符串类型 表示时:用双引号引起一串字符,如"abandon";
2、字符串结束标志:转义字符\0
3、区别 ''abc" 与{'a','b','c'}
①"abc" 实际是4字节大小:a b c \0 ; {'a','b','c'}只有3字节大小:a b c
②以%s进行打印时,前者因为会遇到\0停止打印,输出 abc
后者因为没有结束标志,故会一直往后随机打印,知道遇到'\0'结束打印 ;如想要正常打印,可手动添加'\0'
③'\0'是一个字符,占1byte(对于由“”引起的数组而言,计算大小时要计入'\0'一个字节)
4、strlen是库函数,用于求字符串长度
1)包含头文件 #include<string.h>
2)strlen计算的是'\0'之前的字符个数!! 即:'\0\是结束标志,但是不算作字符串内容
3)注意:其对下对象是 字符串!! 形如:strlen(arr);
(二)转义字符:转变原来的意思
常见转义字符
1)\? 书写连续?时 防止被解析为三字母词
2)\' 若想输出打印' 防止解析错误
3)\t 水平制表符
4)\a 报警 蜂鸣
5)\b 退格
6)\r 回车 回到本行首部
7)\v 垂直制表符
8)\ddd ddd表示1-3个八进制数字:
①代表的是把此八进制数字转换为十进制数字作为ASCII码值,找到对应的字符,故其只代表一个字符
②ASCII码值最大:127
③注意:八进制数为0-7
9)\xdd dd表示2个十六进制数字,同上转换为十进制数字后ASCII码对应的字符
(三)注释
1、C++风格:// 快捷键:注释ctrl+k+c 取消ctrl+k+u (针对vs2019)
2、C语言注释风格:/* */ (不支持嵌套注释)
3、注释是用来解释代码的 (注释复杂代码即可 适当就行)
4、也可以注释一些不需要的代码
五、选择语句
1) if () else if() else 实现分支效果
2)switch语句
六、循环语句
1)while(循环条件)
2)for
3)do while
补充:C语言是一种结构化的程序语言
七、函数
1、封装成函数,可随时调用
如:int Add(int x,int y) { int z=0; z=x+y; return z; }
运用时 如:int sum=Add(a,b);
2、写在main函数之外,在main函数内调用
八、数组:存放一组相同类型的元素
1、若不完全初始化,从头开始计,后面默认为0
2、数组有下标,下标从0开始! 数组可以通过下标访问!
如:arr [8] 表示下标为8的元素
3、数组名
1)如:arr是数组名 不包括【】
2)访问时arr【可以是变量,用于标识下标】
4、C99标准编译器引入变长数组 支持 数组名【变量】
好了 今天的分享结束啦!
part1 over-
“人的一切痛苦,都是来源于对自己无能的愤怒。”
Roman. 2021/12/25