《C语言程序设计:现代方法(第2版)》第2章 C语言基本概念

第2章 C语言基本概念

某个人的常量可能是其他人的变量。

本章介绍了C语言的一些基本概念,包括预处理命令、函数、变量和语句。即使是编写最简单的C程序,也会用到这些基本概念。后续几章将会对这些概念进行更详细的描述。

首先,2.1节给出一个简单的C程序,并且描述了如何对这个程序进行编译和链接。接着,2.2节讨论如何使程序通用。2.3节说明如何添加说明性解释,即通常所说的注释。2.4节介绍变量,变量是用来存储程序执行过程中可能会发生改变的数据的。2.5节说明利用scanf函数把数据读入变量的方法。就如2.6节介绍的那样,常量是程序执行过程中不会发生改变的数据,用户可以对其进行命名。最后,2.7节解释C语言的命名(标识符)规则,2.8节给出了C程序的布局规范。

2.1 编写一个简单的C程序

与用其他语言编写的程序相比,C程序较少要求“形式化的东西”。一个完整的C程序可以只有寥寥数行。

程序:显示双关语

在Kernighan和Ritchie编写的经典C语言著作The C Programming Language一书中,第一个程序是极其简短的。它仅仅输出了一条hello, world消息。与大多数C语言书籍的作者不同,我不打算用这个程序作为第一个C程序示例,而更愿意尊重另一个C语言的传统:显示双关语。下面是一条双关语:

To C, or not to C: that is the question.

下面这个名为pun.c的程序会在每次运行时显示上述消息。

/**
 * pun.c
 */

#include <stdio.h>

int main() {
    printf("To C, or not to C: that is the question.\n");
    return 0;
}

2.2节会对这段程序中的一些格式进行详尽的说明,这里仅做简要介绍。程序中第一行

#include <stdio.h>

是必不可少的,它“包含”了C语言标准输入/输出库的相关信息。程序的可执行代码都在main函数中,这个函数代表“主”程序。main函数中的第一行代码是用来显示期望信息的。printf函数来自标准输入/输出库,可以产生完美的格式化输出。代码\n告诉printf函数执行完消息显示后要进行换行操作。第二行代码,

return 0;

表明程序终止会向操作系统返回值0。

2.1.1 编译和链接

尽管pun.c程序十分简短,但是为运行这个程序而包含的内容可能比想象的要多。首先,需要生成一个含有上述程序代码名为pun.c的文件(使用任何文本编辑器都可以创建该文件)。文件的名字无关紧要,但是编译器通常要求带上文件的扩展名.c。

接下来,就需要把程序转化为机器可以执行的形式。对于C程序来说,通常包含下列3个步骤。

  • 预处理。首先程序会被送交给预处理器(preprocessor)。预处理器执行以#开头的命令(通常称为指令)。预处理器有点类似于编辑器,它可以给程序添加内容,也可以对程序进行修改。
  • 编译。修改后的程序现在可以进入编译器(compiler)了。编译器会把程序翻译成机器指令(即目标代码)。然而,这样的程序还是不可以运行的。
  • 链接。在最后一个步骤中,链接器(linker)把由编译器产生的目标代码和所需的其他附加代码整合在一起,这样才最终产生了完全可执行的程序。这些附加代码包括程序中用到的库函数(如printf函数)。

原文地址:https://www.cnblogs.com/shenhuanjie/p/11416592.html

时间: 2024-10-11 04:30:29

《C语言程序设计:现代方法(第2版)》第2章 C语言基本概念的相关文章

C语言程序设计现代方法_基本类型(第七章)

C语言支持两种不同的数值类型,整数类型,浮点类型. C语言的整数类型有不同的尺寸.int类型通常为32位,但在老的CPU上可能是16位.有些可能是64位. 因此,int型如果在16位CPU上最大值就是:0111111111111111   对应值是32768(2^15-1). 在32位CPU上当然就是:01111111111111111111111111111111   对应值是2147 483 647(2^31-1). 同理64位上………… 32位上int型与long类型的最大值相等 但是16

C语言程序设计现代方法1,2,3章

1:浮点型(float)运算比int慢,并且可能存在舍入误差 如float存储0.1,以后使用可能会变成0.099999999987 2:宏定义只用大写,这是大多数C程序猿遵循的规范! C语言区分大小写,,基本遵循在标识符中只使用小写字母的规范 如:symbolTable,currentPage表示,有时也可这样SymbolTable, CurrentPage 3:GCC有多个命令行选项来控制程序检查的彻底程度 -Wall    使编译器在检查到可能的错误时生成警告消息.与-o结合使用 -W  

问题 1018: C语言程序设计教程(第三版)课后习题6.8

/******************************************************************** @file Main.cpp @date 2017-05-12 @author Zoro_Tiger @brief 问题 1018: C语言程序设计教程(第三版)课后习题6.8 http://www.dotcpp.com/oj/problem1018.html *************************************************

问题 1041: C语言程序设计教程(第三版)课后习题9.8

/******************************************************************** @file Main.cpp @date 2017-05-28 22:02:55 @author Zoro_Tiger @brief 问题 1041: C语言程序设计教程(第三版)课后习题9.8 http://www.dotcpp.com/oj/problem1041.html ****************************************

问题 1040: C语言程序设计教程(第三版)课后习题9.6

/******************************************************************** @file Main.cpp @date 2017-05-28 21:57:02 @author Zoro_Tiger @brief 问题 1040: C语言程序设计教程(第三版)课后习题9.6 http://www.dotcpp.com/oj/problem1040.html ****************************************

问题 1042: C语言程序设计教程(第三版)课后习题9.10

/******************************************************************** @file Main.cpp @date 2017-05-28 22:10:10 @author Zoro_Tiger @brief 问题 1042: C语言程序设计教程(第三版)课后习题9.10 http://www.dotcpp.com/oj/problem1042.html ***************************************

问题 1023: C语言程序设计教程(第三版)课后习题7.2

/******************************************************************** @file Main.cpp @date 2017-05-20 22:05:39 @author Zoro_Tiger @brief 问题 1023: C语言程序设计教程(第三版)课后习题7.2 http://www.dotcpp.com/oj/problem1023.html ****************************************

问题 1008: C语言程序设计教程(第三版)课后习题5.6

/******************************************************************** @file Main.cpp @date 2017-5-8 @author Zoro_Tiger @brief 问题 1008: C语言程序设计教程(第三版)课后习题5.6 http://www.dotcpp.com/oj/problem1008.html ***************************************************

问题 1006: C语言程序设计教程(第三版)课后习题5.4

/******************************************************************** @file Main.cpp @date 2017-05-07 @author Zoro_Tiger @brief 问题 1006: C语言程序设计教程(第三版)课后习题5.4 http://www.dotcpp.com/oj/problem1006.html *************************************************

问题 1039: C语言程序设计教程(第三版)课后习题9.4

/******************************************************************** @file Main.cpp @date 2017-05-28 21:48:29 @author Zoro_Tiger @brief 问题 1039: C语言程序设计教程(第三版)课后习题9.4 http://www.dotcpp.com/oj/problem1039.html ****************************************