目录
计算机语言
C语言
计算机语言发展
写C语言代码
数据结构
C语言数据类型
计算机中的单位
变量与常量
前言
定义变量的方法
变量的命名
变量的分类
变量的作用域以及生命周期
关于常量
定义
常量的分类
转义字符
C语言的注释
注释分类
关键字
关键字汇总
关键字的理解
计算机语言计算机语言:人和计算机交流的语言。
C语言C语言是一门通用的计算机编程语言,广泛用于底层软件开发。
C语言是一门有国际标准的语言
计算机语言发展- 二进制语言:0/1这样的序列语言
- 汇编语言:将具有特定功能的0/1序列进行封装,用助记符代替。
- B语言
- C语言
写代码的工具——编译器
怎么写呢?
- 创建一个项目
- 创建一个源文件
- 写代码
- 编译代码
写主函数(main函数)——C语言是从主函数第一行开始执行的,所以C语言代码中得有主函数,并且只能有一个,不然报错。
数据结构定义:计算机语言-解决生活中的问题那么他必须有能力描述生活中的问题——数据结构
C语言数据类型- char:字符数据类型——1字节
- short:短整型——2字节
- int:整形——4字节
- long:长整型——4字节
- long long:更长的整形——8字节
- float:单精度浮点数——4字节
- double:双精度浮点数——8字节
- bit——比特位
- byte——字节=8bit
- kb——1024byte
- mb——1024kb
- gb——1024mb
- tb——1024gb
- pb——1024tb
常量:不能改变的量。
变量:能被改变的量。
%d | 整形 |
%u | 无符号整形 |
%p | 打印地址 |
%f | 单精度浮点型 |
%s | 字符串 |
%lf | 双精度浮点型 |
%c | 字符型 |
定义变量的方法
//数据类型 变量名=值;
int a=5;
变量的命名
- 只能由字母(包括大写和小写)、数字和下划线( _ )组成。
- 不能以数字开头。
- 长度不能超过63个字符。
- 变量名中区分大小写的。
- 变量名不能使用关键字。
- 局部变量:在大括号内部定义的变量
- 全局变量:在大括号外面定义的变量
当局部变量与全局变量名字冲突的情况下——局部优先
变量的作用域以及生命周期程序设计概念,通常来说,一段程序代码中所用到的名字并不是总是有效的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
局部变量的作用域:变量所在的局部范围
全局变量的作用域:整个工程
全局变量写在方法的最前面并且全局变量定义的名称只能定义一次(范围:在一个源文件中)
变量的生命周期:变量生命周期指的是变量的创建到变量的销毁之间的一个时间段。
局部变量的生命周期:进入局部范围生命周期开始,出局部范围生命周期结束。
全局变量的生命周期:程序的生命周期
关于常量 定义常量:不变的量
常量的分类- 字面常量——(eg:‘a'、36……)
- const修饰的常变量(具有常属性的变量)——(eg:const int a=8;)
- #define定义的标识符常量(可以放在任何位置)——(eg:#define MAX 10000)MAX值不可以更改
- 枚举常量——(可以一一列举的常量)
转变了字符本来的意思常用方法,在字符前加\
转义字符 | 意义 | ASCII码值(十进制) | |
\a | 响铃(BEL) | 007 | |
\b | 退格(BS) ,将当前位置移到前一列 | 008 | |
\f | 换页(FF),将当前位置移到下页开头 | 012 | |
\n | 换行(LF) ,将当前位置移到下一行开头 | 010 | |
\r | 回车(CR) ,将当前位置移到本行开头 | 013 | |
\t | 水平制表(HT) (跳到下一个TAB位置) | 009 | |
\v | 垂直制表(VT) | 011 | |
\ | 代表一个反斜线字符''\' | 092 | |
\' | 代表一个单引号(撇号)字符 | 039 | |
\" | 代表一个双引号字符 | 034 | |
空字符(NULL) | 000 | \ddd | |
1到3位八进制数所代表的任意字符 | 三位八进制 | \xhh | |
1到2位十六进制所代表的任意字符 | 二位十六进制 |
- 代码中有些代码比较难懂,可以加一些注释文字
- C语言提供的,不能自己创建关键字
1.单行注释(注释一整行)——(//写的代码)
2.多行注释(注释多行)——(/*写的代码*/)
多行注释不支持嵌套注释:遇到第一个注释开头作为注释开头,遇到第一个注释结尾作为注释结尾。
关键字 关键字汇总- 变量名不能是关键字
//假设在一个源文件中有一个函数,我在另一个源文件中想使用它,那么我可以在要使用的源文件中进行函数声明
extern ADD(int, int);
也可以写成
extern ADD(int a, int b);
//在一个源文件中有2个.c文件,其中一个声明了int类型变量a并为其赋了值那么在另一个.c文件中要想使用,应提前声明一下extern int a;(前提:a是整个工程的全局变量)
auto:是自动的,每个局部变量都是auto修饰的
原因:局部变量都是有作用域的,每个局部变量在作用域内被创建,出了作用域自动销毁,所以每个局部变量前面默认加一个auto
break:用于循环语句的跳出循环
case:用于switch语句的分支选择
char:字符类型修饰符
const:将变量加上const后,此变量便具有常属性,不可以再被更改,其本质还是一个变量
continue:用于循环语句结束当前循环,跳到下一次循环
default:switch语句里的默认选项
do:do……while循环所用
double:双精度浮点型
else:if……else里的选择
enum:枚举类型
extern:用来声明外部符号(声明时不需要指定它的值,指定他的类型即可)
//将unsigned int 用u_int修饰符表示,可以在方法里面(需要使用前定义),方法外面定义
typedef unsigned int u_int;
float:单精度浮点型
for:for循环的使用
goto:goto语句时使用
if:选择语句时使用
int:整形
long:长整型
register:寄存器关键字(用此关键字修饰的属性建议放到寄存器中)
cpu取数据一般都去寄存器里面拿,因为内存速度太慢了
short:短整型
return:返回关键字
signed:有符号的
unsigned:无符号的
sizeof:计算类型的大小
static:静态的
static修饰局部变量,改变了局部变量的生命周期(本质上改变了变量的存储类型)
static修饰全局变量,使得这个全局变量只能在自己所在的源文件内部可以使用,其他源文件中不能使用。
(全局变量在其他源文件内部可以被使用,是因为全局变量具有外部链接属性,但是被static修饰之后,就变成了内部链接属性,其他源文件就不能链接到这个静态的全局变量了。)
static修饰函数,使得函数只能在自己所在的源文件内部使用,不能在其他源文件内部使用,本质上使函数的外部链接属性变成了内部链接属性
struct:结构体
switch:switch分支语句
typedef:类型重定义
union:联合体(共用体)
void:空类型(无具体类型)
volatile:线程可见性,禁止指令重排序
while:while循环
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)