C语言教学-Part1


前置知识:IDE

何为IDE

​ 即集成开发环境(IDE,Integrated Development Environment ),包含编辑器、编译器、调试器、图形界面等工具。因一般都包含项目管理,代码高亮,自动补全,代码调试等功能,故使用IDE开发相比直接在文本编辑器中写代码,在终端中使用命令调试、编译能极大提升开发效率。

C/C++开发常见IDE

Dev-C++、CLion、VS、VSCode

IDE推荐

新人推荐Dev-C++上手,非常轻量化,且安装完不用进行过多配置即可使用,调试功能也能满足日常学习需求;

熟练后推荐尝试Clion/VSCode,两者安装均相对繁琐但功能强大,且可通过安装插件进一步扩展其功能;

VS相对更适合专业的C/C++开发人员使用,对于学习来说太过臃肿

C语言简介

程序基本结构

常有头文件

头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明,而定义文件用于保存程序的实现。

通俗来讲:倘若将程序比作汽车,C语言比作原料,则头文件相当于一个文件夹,文件夹中放的是汽车各部件的图纸。

补充:按照这种类比,则定义文件可以理解为代工厂,工厂将原材料按照图纸加工成部件,编程的工作即是把各部件拼成一辆完整的汽车。

常含有宏定义

宏(Macro),是一种批量处理的称谓。计算机科学里的宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式。

通俗来讲:即是将一段字符串替换成另一串字符串。例如倘若程序中有#define TEMP 20,则程序中所有的TEMP单词均会被替换成20

补充:需注意的是,宏定义在替换文本是会无视前后文内容。若定义了#define TEMP 20,程序中又写了TEMPLE = "寺庙";,则编译前会被转义为20LE = "寺庙";

必含有主函数

必须包含main()函数为C语言的语法规则,必须遵循。

基本的程序结构

Hello World!

下面是一个最简单的C语言程序:

#include <stdio.h>//引用头文件,内部包含输入输出函数
/**
  *主函数
  */
int main(){

    printf("hello world");

    return 0;//返回值,结束函数

}

该代码含有一个头文件和一个主函数以及两种注释。

头文件

关于头文件是什么已经做过介绍,使用方式即#include <头文件名>#include ”头文件名“。两种格式的区别在于前者先在标准库中查找,查找不到在path中查找。后者为文件路径,若直接是文件名则在项目根目录下查找。

补充:path为系统环境变量中的属性,其值为一个或多个目录。

环境变量_百度百科 (baidu.com)

注释

注释就是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。注释是编写程序时,写程序的人给一个语句、程序段、函数等的解释或提示,能提高程序代码的可读性。
注释只是为了提高可读性,不会被计算机编译。

注释有两种格式://注释内容/*注释内容*/。前者的生效范围是//及其之后的一整行内容,换行后即失效;后者的生效范围是/**/及其之间的内容,从以上程序可以看出后者是可以跨行使用的。

补充:因注释不会被编译,以下注释也是可正常使用的:#inc/*注释内容*/lude <stdio.h>。但注释的目的是提高代码的可读性,这么做显然与该目的相悖,所以正常情况下不会出现这种用法。

主函数

即图中的int main(){代码内容},其中:

int称为数据类型(后续将会专门介绍),标识着该函数的运行结果是什么类型的数据;

main是函数名,即函数的名字,主函数的函数名固定为main,其他函数名称在符合规范的前提下可以任意选择;

()内的内容成为形式参数列表,可留空,但主函数的形式参数列表留空的话会默认填充String args[],至于该填充的意义是什么以后将做详细介绍;

{}内包含代码后的整体成为代码块,紧跟在形式参数列表后成为函数体,即函数具体执行的功能描述;

printf("hello world"); return 0;称为语句,语句为C语言的基本构建块,一条语句相当于一条完整的计算机指令,每个语句以分号结尾。

补充:参考函数的概念可知,printf("hello world")就是一个函数

代码规范

规范并非规则,非强制要求,但按照规范书写代码可以提升代码的可读性,方便与人合作开发与后续维护,故代码规范非常需要重视。

1、善用回车保留空行,一个模块一段,模块与模块之间空行分隔;

2、变量、函数命名规范,避免无意义命名、拼音命名,建议驼峰命名或首字母大写命名;

3.1、善用tab键控制缩进而非用空格键控制;

3.2、倘若有跨平台开发的需求,则需注意要用空格控制缩进而非tab。不同平台对\t的不同定义可能会导致用tab键控制缩进的代码排版爆炸。

4、随手写注释

……

C语言中其他基本元素

变量

由于变量让你能够把程序中准备使用的每一段数据都赋给一个简短、易于记忆的名字,因此它们十分有用。变量可以保存程序运行时用户输入的数据、特定运算的结果以及要在窗体上显示的一段数据等。简而言之,变量是用于跟踪几乎所有类型信息的简单工具。

变量正如数学公式里的x,ζ,λ等字符,用来书写时替代特定的数据,方便开发。

其定义方法为数据类型 变量名;,如int x;数据类型后面将作介绍

根据定义位置不同,C语言中存在全局变量(定义于函数外部)与局部变量(定义于某函数内部)。前者可在其定义的位置后的任意位置使用,后者仅能在他所在的函数体内、其定义位置后使用。

但需注意的是,并不是将所有变量都在最开头定义成全局变量就能解决一切问题。编程时应尽力避免全局变量的使用,原因在以后介绍C语言的内存分配机制时会解释。

数据类型

基本数据类型

整型int,浮点型float/double,布尔型bool,字符型char

注:其中布尔型为C99及之后版本加入,且需引入头文件stdbool.h

其他数据类型

如字符串型string,结构体型struct 结构体名称,枚举型enum

修饰符

const(不可修改)、unsigned(无符号,即非负)等

保留字

保留字即C语言中本身具有意义的单词等,无法作为变量名、函数名等使用,如int就是一个保留字。

类型 存储大小 值范围
char 1 字节 -128 到 127 或 0 到 255
unsigned char 1 字节 0 到 255
signed char 1 字节 -128 到 127
int 2 或 4 字节 -32,768 到 32,767 (32位)或 -2,147,483,648 到 2,147,483,647 (64位)
unsigned int 2 或 4 字节 0 到 65,535 (32位)或 0 到 4,294,967,295 (64位)
short 2 字节 -32,768 到 32,767
unsigned short 2 字节 0 到 65,535
long 4 字节 -2,147,483,648 到 2,147,483,647
unsigned long 4 字节 0 到 4,294,967,295
float 4 字节 1.2E-38 到 3.4E+38
double 8 字节 2.3E-308 到 1.7E+308
long double 16 字节 3.4E-4932 到 1.1E+4932

文章作者: Cambria
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Cambria !
评论
  目录