1. C语言发展史,学习C语言的必要性?
C语言是一门计算机语言,是人与计算机交流的一种语言。
![](https://img-blog.csdnimg.cn/direct/55242d9273524228a9c20a0ea0ba2fa3.png)
C语言是一门计算机语言,是人与计算机交流的一种语言。
2.编译和链接是什么?过程是什么?
2.1 编译和链接
C语言是一门编译型计算机语言,C语言代码都是文本文件,文本文件本身无法执行,必须通过编译器翻译和链接器的链接,生成二进制的可执行文件(计算机能识别/执行的是二进制的指令),可执行文件才能执行。
2.2 过程
一个工程一般会有多个源文件构成,如下图所示,演示了源程序经过编译器编译和链接器处理的过程。
注:
1.每个源文件(.c)单独经过编译器处理生成对应目标文件(.obj为后缀的文件)
2.多个目标文件和库文件经过链接器处理生成对应的可执行程序(.exe文件)
3. 各个编译器我该使用什么?vs的优势?
3.1 编译器的对比
注意区分编译器(msvc、clang、gcc)和集成开发环境(VS2022、XCode、CodeBlocks、DevC++、Clion等)!
集成开发环境(IDE)用于提供程序开发环境的应用程序,一般包括代码编辑器、 编译器 、 调试器和 图形用户界面 等工具。 集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。
- VS2022 集成了MSVC(安装报包较大一些,安装简单,无需多余配置,使用起来非常方便)
- XCode集成了clang(苹果电脑上的开发工具)
- CodeBlocks 集成了gcc(这个工具比较小众,需要配置环境,不太推荐)
- DevC++ 集成了gcc(小巧,但是工具过于简单,对于代码风格的养成不好,一些竞赛使用)
- Clion 是默认使用CMake,编译器是可以配置的(工具是收费,所以暂时推荐大家使用)
注意:vscode—编辑器—装插件—C/C++ ,使得vscode可以搭建出C/C++的开发环境,但不推荐新手使用!
3.2 VS22022 的优缺点
优点:
- VS2022 是一个主流的集成开发环境,企业中使用较为普遍
- VS2022 包含了:编辑器+编译器+调试器,功能强大
- 直接安装即可使用,基本不用额外配置环境,上手容易
- 默认界面是中文的,初学者友好缺点:
缺点:
- 功能丰富,安装包大,占用空间多。
3.3 在VS上写代码
1.创建项目
🔺打开解决方案资源管理器操作
2.创建源文件
C语言后缀为“.c”;C++后缀为“.cpp”(C plus plus)。
3.写程序
如何运行代码?
按一个快捷键:(Fn+)ctrl+f (即编译+链接+运行) 或 点击开始运行但不调试
Fn是辅助功能键。有些电脑厂商会将F1~F12的功能进行重定义,按Fn+F1即为原来的功能。
4. main函数究竟是啥?
🔺main函数
程序的执行是从main函数的第一行开始执行的。main函数又称主函数,其实是程序的入口。
main函数有且仅有一个。
5.库函数与printf
printf是一个库函数,它的功能是在标准输出设备(一般是指屏幕)上进行信息的打印。只要把想要打印的一串字符放在双引号中并传递给printf函数就可以打印。
C语言标准中,只是规定了一些类的函数,让程序员提升开发效率。
这些函数组成了一个函数库,被称为标准库,库里的函数叫做库函数。
6.包含头文件
头文件的名字叫stdio.h
#include <stdio.h>
- std -- standard -- 标准
- i -- input -- 输入
- o -- output -- 输出
- 标准输入输出
7. 关键字有哪些? 要背诵吗?
关键字介绍
C语言中有一批保留名字的符号,比如:int、if、return,这些符号被称为保留字或关键字。
- 关键字都有特殊的意义,是保留给C语言使用的
- 程序员自己在创建标识符的时候是不能和关键字重复的
- 关键字也是不能自己创建的。
C语言的32个关键字如下:
8.字符与ASCII编码
C语言中字符是用单引号括起来的,如'a', 'b' , '@' 。
美国国家标准学会()出台ASCII编码
🔺图为ASCII码表
(ASCII码表不用背哈,用时查表)
掌握几组特殊的数据:
ASCII码值和字符是一致的:
9.字符串和\0
单引号引起来的是字符,双引号将多个字符放在一起组成字符串"abcdef"。
%s 打印字符串
在字符串末尾隐藏放着 \0 字符,为字符串的结束标志。
假装是个字符串,要自带 \0。
注意 \0和 \n。
\0 字符 --字符串的结束标志
\n 字符 -- 转义字符 (转变字符原本的意思,产生了一个新的字符)
10.转义字符 ( \ )
三字母词 : ??( -- [ ; ??) -- ]
- \b :(回退一格)
- \t:水平制表符 -- tab ;4-8个字符的位置
- 介绍2种特殊的转义字符:
\ddd:d d d 表示1~3个八进制数字,作为ASCII码值代替他, 如\130 表示字符X
\xdd:d d 表示2个16进制数字, 如\30 表示字符0
10进制数字(不能0开头):它的每一位是0~9的数字
8进制数字(0开头):它的每一位是0~7的数字
16进制数字(0x或0X开头):0 1 ....10 11 12 13 14 15
a b c d e f (大小写均可)
🔺不同进制数字计算方法
\0是字符串的结束标志
\0也是一种转义字符,即是\ddd
11.strlen
printf()和 strlen 遇到 \0 就停止了
strlen (即string length):求的是\0之前的字符串长度
头文件include<strlen.h>
- 计算字符串长度的时候注意转义字符!
12.语句和语句分类
C语言的代码是由一条一条的语句构成的,C语言中的语句可为以下五类:
- 空语句:一个分号就是一个语句
- 表达式语句:表达式之后加个分号
- 函数调用语句:函数调用之后加个分号
- 复合语句:即 { 代码块 } ,成对括号中的代码就构成一个代码块,也被称为复合语句
- 控制语句:用于控制程序的执行流程,以实现程序的各种结构方式
13.注释是什么?为什么写注释?
对代码的说明,对代码实际上没有影响
注释的两种形式:
/**/ (不支持注释嵌套,但是非常灵活,可跨行)和 //
14.其他
- 个性化:
- 一些快捷键:
- 注释:ctrl+k+c
- 取消注释:ctrl+k+u
- 字体大小的调整:按住ctrl+滑动鼠标滚轮
- 复制:ctrl+c
- 粘贴:ctrl+v
- 插一行:ctrl+d
🔺快捷键概览