C程序结构
2021-1-16
| 2023-8-2
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
Property
 
 
 

#include指令和头文件

#include <stdio.h>的作用相当于把stdio.h文件中的所有内容都输入该行所在的位置,实质是一种“拷贝-粘贴”的操作。 include 文件提供了一种方便的途径共享许多程序共有的信息。#include这行代码是一条C预处理器指令。通常,C编译器在编译前会对源代码做一些准备工作,即预处理。 所有的C编译器软件包都提供stdio.h文件。该文件中包含了供编译器使用的输入和输出函数(如 printf())信息。该文件名的含义是标准输入/输出头文件。通常,在C程序顶部的信息集合被称为头文件(header)。 在大多数情况下,头文件包含了编译器创建最终可执行程序要用到的信息。例如,头文件中可以定义一些常量,或者指明函数名以及如何使用它们。但是,函数的实际代码在一个预编译代码的库文件中。简而言之,头文件帮助编译器把你的程序正确地组合在一起。 ANSI/ISO C规定了C编译器必须提供哪些头文件。有些程序要包含stdio.h,而有些不用。特定C实现的文档中应该包含对C库函数的说明。这些说明确定了使用哪些函数需要包含哪些头文件。例如,要使用printf()函数,必须包含stdio.h头文件。省略必要的头文件可能不会影响某一特定程序,但是最好不要这样做。
注意 为何不内置输入和输出 原因之一是,并非所有的程序都会用到I/O(输入/输出)包。轻装上阵表现了C语言的哲学。正是这种经济使用资源的原则,使得C语言成为流行的嵌入式编程语言。#include中的#符号表明,C预处理器在编译器接手之前处理这条指令。
 

main()函数

C程序一定从main()函数开始执行(目前不必考虑例外的情况)。除了main()函数,可以任意命名其他函数。
圆括号有什么功能?用于识别main()是一个函数。 int是main()函数的返回类型。这表明main()函数返回的值是整数。返回到哪里?返回给操作系统。 通常,函数名后面的圆括号中包含一些传入函数的信息。该例中没有传递任何信息。因此,圆括号内是单词void。 如果浏览旧式的C代码,会发现程序以如下形式开始:
C90标准勉强接受这种形式,但是C99和C11标准不允许。
 
还有下面这种形式:
一些编译器允许这样写,但是所有的标准都未认可这种写法。因此,编译器不必接受这种形式,而且许多编译器都不能这样写。只要坚持使用标准形式,把程序从一个编译器移至另一个编译器时就不会出什么问题
 

注释

 

花括号、函数体和块

一般而言,所有的C函数都使用花括号标记函数体的开始和结束。
 
 

声明

声明是C语言最重要的特性之一。在该例中,声明完成了两件事:
  • 在函数中有一个名为num的变量(variable)
  • int表明num是一个整数
在C语言中,所有变量都必须先声明才能使用
 
给变量命名时要使用有意义的变量名或标识符。可以用小写字母、大写字母、数字和下划线(_)来命名。而且,名称的第1个字符必须是字符或下划线,不能是数字。
C99和C11允许使用更长的标识符名,但是编译器只识别前63个字符。对于外部标识符,只允许使用31个字符。
 

赋值

赋值是指把数据放到内存的过程
 

return语句

int main(void)中的int表明main()函数应返回一个整数。C标准要求main()这样做。有返回值的C函数要有return语句。该语句以return关键字开始,后面是待返回的值,并以分号结尾。如果遗漏 main()函数中的 return 语句,程序在运行至最外面的右花括号(})时会返回0。因此,可以省略main()函数末尾的return语句。但是,不要在其他有返回值的函数中漏掉它。
  • C
  • C语言标准关键字和保留标识符
    目录