本文对应书 C Primer Plus 第二章

简单的示例

示例代码如下

#include<stdio.h>
int main(void)
{
    int num;
    num = 1;

    printf(".....\n")

    return 0;
}

如果不想程序瞬间结束,在return之前添加getchar();语句

C语言中有六种语句:

  1. 标号语句
  2. 复合语句
  3. 表达式语句
  4. 选择语句
  5. 迭代语句
  6. 跳转语句

程序细节

  1. #include指令和头文件

    这一行代码是一条C预处理器指令(preprocessor directive),给编译器看的

    被包含的文件被称作为头文件(header)

    为什么不内置输入和输出呢?

    ​ 因为轻装上阵才能体现C的哲学啊

  1. main() 函数

    C的程序一定从main开始执行,并且推荐返回值为int

  1. {} 花括号

    请另起一行使得逻辑更加清晰

  1. 声明

    int num;

    这行代码叫做声明(declaration),完成了两件事情,创建了一个叫做num的变量(variable),以及表明num是个int型

    其中,int是C语言中的关键字(key word),num被称作为标识符(identifier)

    推荐将变量的声明放到函数的最上面

    标识符的名称被编译器限制在63个字符,外部标识符限制在31个字符。

    没有人知道如果你名字过长编译器会如何翻译你的代码

    名称可以用小写字母,大写字母,数字和下划线组成,且数字不能是第一位

  1. 赋值

    又称作”赋值表达式语句”

    赋值号(=)的实际含义就是把左边的值给了左边的变量

  1. return 语句

    浅显的理解,可以把它认做为函数结束的标志,但是在C语言中,return是一种跳跃语句。

    一般的系统中默认main函数的返回值为0表示代码运行正常。

简单的函数结构

一般的函数由两个大部分组成

  1. 函数头

    • 返回类型

    • 函数名

    • 参数

  2. 函数体

    • 声明
    • 语句
    • return语句

提高程序可读性的技巧

最基本的:

  • 选择有意义的函数名
  • 简单明了的注释

当然更多的还有

  • 函数中使用空行分割多个部分(C语言默认忽略换行)
  • 每个语句各占一行

下面会说一下细节

程序说明

在代码的最上面使用//简单明了的说出函数的大体信息(文件名和程序目的),举例

//print.c -- 输出输入的语句

多条声明

尽量一个逻辑中的变量放在一段之中,且每个变量都换行,并使用//做出注释。举例

// 宽度和长度声明
int width;
int lenght;

// 重量和高度声明
int weight;
int hight;

多个函数

先看一段代码

// print.c -- 输出输入的函数
#include<stdio.h>
void RUN();
int main(void)
{
    RUN();
    return 0;
}
void RUN(void){
    printf("...");
}

讲解关于RUN()

  • 第三行:在过去叫做函数原型(prototype),在C90之后被称作为(function declaration)

  • 第六行:函数调用(function call)

  • 第九行至第十一行:函数声明(function declaration)

根据C语言的哲学,推荐把main函数放到最上面写,然后再写函数。

关键概念

编程是一个非常有挑战性的事情。你需要由抽象和逻辑思维,并谨慎的处理细节问题。