目录
1.C语言历史
B语言(1969年)-> C语言(1972年)-> Unix系统使用C重写(1973年)-> C语言标准化(1988年)-> 至今
2.编译器
- c语言是编译型语言
- c语言源代码是文本文件,文本文件本身无法执行,必须通过编译器翻译和链接器的链接,生成二进制的可执行文件
- c语言代码放在.c后缀的文件中,中间经过编译和链接过程得到可执行文件
-
每个源⽂件(.c)单独经过编译器处理⽣成对应的⽬标⽂件(.obj为后缀的⽂件)
-
多个目标文件和库文件经过连接器处理生成对应的可执行文件(.exe文件)
-
- 集成开发环境(IDE)
- 集成开发环境(IDE)
3.项目、源文件、头文件、main函数、库函数等
- 源文件 .c 后缀
- 头文件 .h 后缀
- 运行代码快捷键 ctrl + f5
- main函数(主函数)(有且只有一个)是程序入口,main前面的int表示main函数执行结束的时候返回一个整型的值,在main函数的最后写return 0;相呼应
- printf是一个库函数,功能是在标准输出设备上进行信息的打印(需要头文件stdio.h)https://cplusplus.com/reference/clibrary/
https://cplusplus.com/reference/clibrary/
4.关键字
- 关键字不能自己创建
- 关键字是保留给c语言使用
- 程序员自己在创建标识符的时候是不能和关键字重复
auto break case char const continue default do double else enum exfloat for goto if int long register return short signed sizeofstruct switch typedef union unsigned void volatile while
5.字符和ASCII码
https://zh.cppreference.com/w/cpp/language/ascii
- 字符A~Z:65~90
- 字符a~z:97~122
- 对应的大小写字符的ascii码差值是32
- 数字字符0~9:48~57
- 换行\n的ASCII值是10
- ASCII值从0~31这32个字符是不可打印字符,无法打印在屏幕上
6.字符串、\0、转义字符
- 使用双引号扩起来的一串字符称为字符串
- 字符串打印格式可以使用%s来指定
- c语言字符串的末尾隐藏一个 \0 字符,这字符是字符串的结束标志
转义字符:
\? 在书写连续多个问号时使⽤,防⽌他们被解析成三字⺟词,在新的编译器上没法验证了。
\' ⽤于表⽰字符常量'
\" ⽤于表⽰⼀个字符串内部的双引号
\\ ⽤于表⽰⼀个反斜杠,防⽌它被解释为⼀个转义序列符
\a 警报,这会使得终端发出警报声或出现闪烁,或者两者同时发⽣。
\b 退格键,光标回退⼀个字符,但不删除字符。
\f 换⻚符,光标移到下⼀⻚。在现代系统上,这已经反映不出来了,⾏为改成类似于
\n 换行符
\r 回车符,光标移到同一行的开头
\t 制表符,光标移到下⼀个⽔平制表位,通常是下⼀个8的倍数。
\v 垂直分隔符,光标移到下⼀个垂直制表位,通常是下⼀⾏的同⼀列。
字符的8进制或者16进制表⽰形式\ddd d d d表⽰1~3个⼋进制的数字。 如: \130 表⽰字符X
\xdd d d表⽰2个⼗六进制数字。 如: \x30 表⽰字符0
链接: https://zh.cppreference.com/w/c/language/escape
7.语句
c语言代码是由语句构成,主要分以下:
- 空语句
- 表达式语句
- 函数调用语句
- 复合语句
- 控制语句(条件判断语句(分支语句):if/switch。循环语句:do while 、while、for。转向语句:break、goto(慎用)、continue、return)
//1.空语句
int main()
{
;//空语句
}
//2.表达式语句
int main (){int a = 20 ;int b = 0 ;b = a + 5 ; // 表达式语句return 0 ;}//3.函数调用语句
int Tester ( int x, int y){return x+y;}int main (){printf ( "***\n" ); // 函数调⽤语句int ret = Tester(34 , 44 ); // 函数调⽤语句return 0 ;}//4.复合语句
//代码块
//5.控制语句
8.注释
- /* */不支持嵌套注释
- // 只能单行