持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第30天,点击查看活动详情
C 程序主要包括以下部分:
- 预处理器指令
- 函数
- 变量
- 语句 & 表达式
- 注释
让我们看一段简单的代码,可以输出单词 "Hello World":
实例
#include <stdio.h> int main() { /* 我的第一个 C 程序 */ printf("Hello, World! \n"); return 0; }
接下来我们讲解一下上面这段程序:
- 程序的第一行 #include <stdio.h> 是预处理器指令,告诉 C 编译器在实际编译之前要包含 stdio.h 文件。
- 下一行 int main() 是主函数,程序从这里开始执行。
- 下一行 /.../ 将会被编译器忽略,这里放置程序的注释内容。它们被称为程序的注释。
- 下一行 printf(...) 是 C 中另一个可用的函数,会在屏幕上显示消息 "Hello, World!"。
- 下一行 return 0; 终止 main() 函数,并返回值 0。
编译 & 执行 C 程序
接下来让我们看看如何把源代码保存在一个文件中,以及如何编译并运行它。下面是简单的步骤:
- 打开一个文本编辑器,添加上述代码。
- 保存文件为 hello.c。
- 打开命令提示符,进入到保存文件所在的目录。
- 键入 gcc hello.c,输入回车,编译代码。
- 如果代码中没有错误,命令提示符会跳到下一行,并生成 a.out 可执行文件。
- 现在,键入 a.out 来执行程序。
- 您可以看到屏幕上显示 "Hello World" 。
$ gcc hello.c
$ ./a.out
Hello, World!
请确保您的路径中已包含 gcc 编译器,并确保在包含源文件 hello.c 的目录中运行它。
如果是多个 c 代码的源码文件,编译方法如下:
$ gcc test1.c test2.c -o main.out
$ ./main.out
test1.c 与 test2.c 是两个源代码文件。
(1)C语言程序主要由函数构成,函数是C语言程序的基本单位。一个C语言源程序必须有一个main函数,可以包含一个main函数和若干个其他函数。主函数可以调用其他函数,其他函数之间可以互相调用,但其他函数不能调用主函数。被调用的函数可以是系统提供的库函数(如printf和scanf函数),也可以是用户根据自己需要自己编制设计的函数。C语言的函数相当于其他语言中的子程序。用函数来实现特定功能。程序全部工作都是由各个函数分别完成的。编写C语言程序就是编写函数。 (2)一个函数由两部分组成 ①函数首部。即函数的第一行,包括:函数名、函数类型、函数参数(形式参数)名和参数类型。一个函数名后面必须跟一对圆括号,括号内写函数的参数名及其类型。函数可以没有参数,如: int mian() ②函数体。即函数首部下面的花括号内的部分。如果一个函数内有多个花括号,以最外层的一对花括号为函数体的范围。函数体一般包括声明部分(声明有关变量和函数类型)和执行部分(执行函数语句)。 (3)一个C语言程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何。 (4)C语言程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。 (5)每个语句和数据声明的最后必须有一个分号。 C语言本身没有输入输出语句。输入和输出的操作是由库函数scanf和printf等函数来完成的。 可以用“//”对程序进行注释,注释不被编译,不生成目标程序,不影响程序运行结果。
c语言三种基本程序结构是:顺序结构、选择结构(分支结构)、循环结构;
1、程序结构:在C语言程序中,一共有三种程序结构:顺序结构、选择结构(分支结构)、循环结构;
顺序结构:从头到尾一句接着一句的执行下来,直到执行完最后一句;
选择结构:到某个节点后,会根据一次判断的结果来决定之后向哪一个分支方向执行;
循环结构:循环结构有一个循环体,循环体里是一段代码。对于循环结构来说,关键在于根据判断的结果,来决定循环体执行多少次;
注:在逻辑上有一种bool类型(也叫boolean类型,布尔类型),只有两个值,即真和假。C语言的判断表达式最终的值就是一个bool类型,这个判断表达式的bool值就决定了选择结构如何选择,循环结构如何循环;
2、顺序结构:顺序结构很简单,一般我们遇到的除了选择结构和循环结构外,都是顺序结构;
3、选择结构:C语言中常用的选择结构主要有以下两种:
(1) if else: 引入关键字:if else else if (2) switch case: 引入关键字:switch case break default 注:
第一,case中必须是常数,而且必须是整形;
第二,一般来说,每个case中代码段后都必须有一个break;
第三,case之后一般都会有default,虽然语法上允许没有default,但是建议写代码时一定要写;