第二章 C语言概述

4/16/2022
  1. 2C语言概述 >>

 

  1. 组成C程序的几个部分 >>


 

 

  1. 如果遗漏 main()函数中的 return 语句,程序在运行至最外面的右花括号(})时会返回0 >>

 

  1. main的形式 >>
    如果浏览旧式的C代码,会发现程序以如下形式开始:  main()  C90标准勉强接受这种形式,但是C99C11标准不允许这样写。因此, 即使你使用的编译器允许,也不要这样写。 你还会看到下面这种形式:  void main()  一些编译器允许这样写,但是所有的标准都未认可这种写法。 因此,编译器不必接受这种形式,而且许多编译器都不能这样写。需要强调的是,只要坚持使用标准形式,把程序从一个编译器移至另一个编译器时就不会出什么问题。

 

  1. 无论main()在程序文件处于什么位置,所有的C程序都从main()开始执行。但是,C的惯例是把main()放在开头,因为它提供了程序的基本框架。 >>

 

  1. 语法错误&语义错误 >>
    如果不遵循 C 语言的规则就会犯语法错误。这类似于英文中的语法错误

编译器无法检测语义错误,因为这类错误并未违反 C语言的规则。编译器无法了解你的真正意图,所以你只能自己找出这些错误。

 

  1. 程序状态(program state)是在程序的执行过程中,某给定点上所有变量值的集合。它是计算机当前状态的一个快 >>

 

  1. 一门语言的语法是一套规则,用于管理语言中各有效语句组合在一起的方式。 >>

 

  1. 标识符命名 >>

 

  1. C99C11允许使用更长的标识符名,但是编译器只识别前63个字符 >>

对于外部标识符(参阅第12),只允许使用31个字符
你可以使用更长的字符,但是编译器会忽略超出的字符

 

  1. 可以用小写字母、大写字母、数字和下划线(_)来命名 >>

1个字符必须是字符或下划线,不能是数字
名称区分大小写

 

a)        在一条声明中声明了两个变量 >>

用逗号隔开两个变量

 

  1. 关键字 >>

 

a)        操作系统和C库经常使用以一个或两个下划线字符开始的标识符 >>

最好避免在自己的程序中使用这种名称

 

b)        关键字是C语言的词汇。它们对C而言比较特殊,不能用它们作为标识符(,变量名) >>

 

(1)        在表 2.2 中所列的C语言关键字中,粗体表示的是C90标准新增的关键字,斜体表示的C99标准新增的关键字,粗斜体表示的是C11标准新增的关键字 >>

 

  1. C99C11根据通用字符名(UCN)机制添加了扩展字符集。其中包含了除英文字母以外的部分字符 >>

以前的C语言,还要求把变量声明在块的顶部
C99C11遵循C++的惯例,可以把声明放在块中的任何位置

 

  1. C语言中,所有变量都必须先声明才能使用 >>

选择有意义的函数名和写注释

 

  1. C90 标准新增了函数原型 >>
    C90 标准新增了函数原型

函数原型是一种声明形式,告知编译器正在使用某函数,因此函数原型也被称为函数声明(function declaration)。函数原型还指明了函数的属性

 

  1. 早期的C语言支持一种更简单的函数声明,只需指定返回类型,不用描述参数: void butler(); 早期的C代码中的函数声明就类似上面这样,不是现在的函数原型。 C90C99 C11 标准都承认旧版本的形式,但是也表明了会逐渐淘汰这种过时的写法。 >>

 

  1. 何时执行 butler()函数取决于它在 main()中被调用的位置 >>

 

  1. 所有的C编译器软件包都提供stdio.h文件 >>
    ANSI/ISO C规定了C编译器必须提供哪些头文件

该文件中包含了供编译器使用的输入和输出函数
标准输入/输出头文件

 

  1. 为何不内置输入和输出 >>
    并非所有的程序都会用到I/O(输入/输出)包。轻装上阵表现了C语言的哲学