前言
回顾我近一年的程序设计学习经历,我想在云平台分享一些我在C语言程序设计基础学习初期所遇到的误区及学习心得。在此,我整理了一些学习重点及思路,希望能为广大学习者提供有益的参考。
我所在学校选用了《C语言程序设计基础(电子科技大学出版社)》作为教材,而我的学习和后续分享中,参考了《C Primer Plus(第6版)》这一经典教材。
对于编译环境,Dev-C 操作最为简单和基础,但我推荐使用Visual Studio 2022(目前最新版本为2022),也看到许多同学使用Visual Studio Code、Clion等等。
C语言概述
1.简单的C程序示例
“C程序到底是什么样子的”这应该是大多数初学者的疑问,那么我们来看一个简单的C程序
代码语言:c复制#include <stdio.h> /*将stdio.h文件中的内容包含在当前程序中*/
int main(void) /*主函数*/
{ /*程序开始*/
printf("Hello World!n"); /*使用printf()函数 打印“Hello World!”*/
return 0; /*return语句*/
} /*程序结束*/
这就是一个典型完整的C程序,C程序由一个main()函数(主函数)和若干个其他函数结合而成。
上述代码片的输出结果为
代码语言:c复制Hello World!
我们再来看看稍复杂点的程序
代码语言:c复制#include <stdio.h>
int main(void)
{
int a; /*定义一个名为a的变量*/
a = 9; /*为a赋值9*/
printf("Hello,my name is Peri.n");
printf("My favorite number is %d.", a);
return 0;
}
上述代码的输出结果为
代码语言:c复制Hello,my name is Peri.
My favorite number is 9.
程序细节
通过少量的注释,或许你还没完全明白上述两段代码中语句的含义,那么我们逐句看看程序细节。
1.#include指令和头文件
#include 是C预处理器指令(preprocessor directive),这是程序的第一行。
#include <stdio.h>的作用相当于把stdio.h文件中的内容都输入进这个程序。值得注意的是所有的C编译器软件包都提供stdio.h文件,该文件包含了供编译器使用的输入和输出函数(如:printf())信息。
后续我们还可能用到stdlib.h文件、math.h文件等等,这些信息集合被称为头文件(header)。
2.main()函数
代码语言:c复制 int main(void)
{
}
这表明该函数名为main,main是一个极其普通的名称,但也是唯一的选择。
C程序一定从main()函数开始执行。main后的圆括号()用于识别main()是一个函数,通常会包含一些传入函数的信息,若无,则加入单词void
你可能会发现,许多C程序会以如下形式开始:
代码语言:c复制 main() /*只有C90标准勉强接受这种形式 尽量不要这么写*/
或是
代码语言:c复制 void main() /*一般编译器允许这么写*/
main前的int决定了main()函数的返回类型,这表明main()函数返回的值是整数。
后续我们还会学到float、double、char等等,这些叫做数据类型关键字。