C语言基本语法-学习笔记-2

从一个简单的代码入手

这一节,我们拆分一个完整的C语言代码,对代码有一个基本的了解,做到以后看到代码不再害怕。
这节课涵盖的内容比较多,但也比较基础,后期会有详细的说明,如果看不懂,也不要着急。

1
2
3
4
5
6
7
8
9
#include <stdio.h>
int main(){
int a,b,sum;
a=2;
b=3;
sum=a+b;
printf ("a+b的和为 %d",sum);
return 0;
}

输出结果为

1
a+b的和为 5

上面这就是一个简单的 C 语言程序了,如果在大学考过 C 语言等级的话,我想这些简单的语句并不陌生。我们就从这个简单的求和程序开始,一点点把 C 语言的结构剥离出来。

拆分这个C程序

在程序代码里,我们一般用行数进行定位,比如我说第3行,就是上面代码框中int a,b,sum ;这一行。好了,了解了这些,我们先简单看一下这个程序,程序大致分为两个部分:

上方是函数库声明

1
#include <stdio.h>

我们称上面的部分为使用的函数库,在编译时,方便编译器知道我们调用了哪些函数库。这里我们使用的是stdio.h这是系统自带的函数库,stdio 是 “standard input & output” 的缩写,表示标准输入输出库。后面的.h扩展名,是 “header file” 的缩写,表示头文件的意思。
例如我们第7行使用的printf打印,使用的就是 stdio.h 函数库中包含的一个函数,函数库会在后续章节中继续介绍。

下方是主函数

1
2
3
4
5
int main(){ 

//这里是各种代码组成的函数体

}

C语言编写的程序,首先执行的就是主函数,无论这个主函数写在第几行,系统都会率先找到主函数,然后执行主函数中的内容。
C语言函数一般由函数类型+函数名+()+{}组成,后面介绍函数的时候会详细说明。main函数用{...}花括号包住了一些代码,这些代码我们称之为函数体
主函数前面的int就是主函数的函数类型,在 C 语言中,main函数的函数类型,必须为int,int类型表示整型,后面也会详细说明。int后面跟着的就是函数名main

主函数的函数体

下面我们继续拆分主函数的函数体

1
2
3
4
5
6
7
8
int main(){
int a,b,sum;
a=2;
b=3;
sum=a+b;
printf ("a+b的和为 %d",sum);
return 0;
}

定义变量

第1行我们介绍过了,函数体的第2行int a,b,sum;定义了3个变量a,b,sum,并且这三个变量都是 int 型的。也就是说,在定义变量前,要先声明这个变量的类型,所以要把变量类型写在变量名的前面。
如果需要一次性定义多个同类型变量时,可以用英文逗号分隔

给变量赋值

在函数体的第3、4行a=2; b=3;我们分别给a和b赋值2和3,赋值时我们使用等号将变量名和值进行连接。
在第5行,同样也是一个变量赋值的过程,赋值的对象是sum。但是这里呢,我们不是给sum一个具体的值,而是把a和b相加的结果赋值给sum。

stdio.h 库中的打印函数 printf

在第6行printf ("a+b的和为 %d" , sum);使用了printf函数,这个函数再stdio.h函数库中,所以我们可以直接使用,使用 printf 函数,可以将变量值打印到终端中显示。后面我们会详细说明 printf 函数的使用方法。

每个函数都有返回值

记住,每个函数都需要一个返回值,连主函数也不例外,当然了你不写也不会影响到运行,但是还是推荐写上返回值
在第7行return 0;表示的就是main函数的返回值为0,还记得嘛?因为规定了main函数的函数类型为int型,所以返回值也必须是int类型。

函数体必须在花括号内

main函数后面有一对 {...} 花括号不是吗?函数体必须包裹在花括号中,最后一行的 {...} 花括号,就是main函数的结束,表示main函数的函数体到此结束。所以,如果有什么需要写在某个函数中的,我们需要将这些内容写在函数后面的花括号中。

再回顾一遍这节课的代码吧

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h> 
// 上方是编译预处理程序
// 下方是main函数
int main(){ //定义了一个主函数
int a,b,sum ; //自定义了3个变量,他们是int型的。
a=2; // 给变量名为a的变量赋值为数字2。
b=3; // 给变量名为b的变量赋值为数字5。
sum=a+b; // 将a+b的计算结果赋值给sum变量
printf ("a+b的和为 %d" , sum); //将a+b的和sum变量值进行输出
return 0 ; //将主函数的返回值设置为0
} //函数结束

再次看到他们,是不是感觉亲切多了?那这节课就成功啦!

注释框

上面的双斜杠表示注释内容,也就是编程人员做的笔记和提示,这些内容在程序编译是会自动省略。
注释也分为两种,分别是单行注释块状注释
上面我是用的,是单行注释。即//这里是注释内容,这种单行注释,可以独占一行,也可以在代码后面跟着写。单行注释由双斜线开头换行符结尾,一换行就结束了,所以适合写少量的注释内容。
如果需要写大量的注释内容,可以使用块状注释 / * 这里是注释内容,注释内容可以换行*/ 这种块状注释适用于需要写大量、多行的注释内容,以/* 开始 */ 结束,所以中间可以使用换行符。

尾巴

这是我的个人学习笔记,主要是应付考研复习使用,充斥着一些吐槽和个人观点,并不严谨,欢迎大家参考、指正。


-------------The End-------------
欢迎请我喝咖啡哦~!