回顾我的第一个C程序

简介: Hello world

写在最前面〖部分内容源自gnu-c-manual〗

从hello world说起

  某程序员退休后决定练习书法,于是重金购买文房四宝。一日,饭后突生雅兴,一番研墨拟纸,并点上上好檀香。定神片刻,泼墨挥毫,郑重地写下一行字:hello world!

  相信不少初次接触到C的朋友,都写过类似如下的代码:

#include <stdio.h>        /* 为了调用标准库的printf函数 */

int main()
{
    printf("hello world!\n");
    
    return 0;
}

  看到它时,内心作何感想?爱它,它让我走上了编程之路;恨它,它让我走上了编程之路。

  组成C语言源程序的tokens,包含关键字、标识符、常量、操作符和分隔符等。我们来分析一下这段代码包含了哪些C语言的元素。
_
  可以看到,五种tokens这段代码在这段短短的代码中,均有体现。我们知道,一个C程序至少要定义一个函数,而这个必须定义的函数正是main(),它的原型可能为以下三者之一:

int main(void);
int main(int argc, char * argv[]);
int main(int argc, char * argv[], char * envp[]);

其原型之中,至少包含了关键字、标识符、分隔符和操作符四种。接下来分别来看一下。

标识符

  什么是标识符?有什么用?怎样表示它呢?
  首先,标识符是多个字符的序列,它用来给变量、函数、新的数据类型和预处理宏 命名。可以使用字母、数字或下划线(_)来表示一个标识符,但是不能以数字开头,且大小写敏感。
  1abc 不是标识符,因为它以数字“1”开头
  FOO 和 foo 是不同的标识符,因为C语言中大小写敏感
  如果使用GNU扩展的话,也可以在标识符中使用美元符号。

关键字

  关键字是C语言保留的特殊标识符,是语言的一部分。我们不能拿关键字作其他用途。

[]有些关键字用途未全部列出

关键字 说明
auto 自动变量,变量超出其作用域后,其生命自动结束
break 用在循环语句中,结束当前循环,并跳出循环体
case 用在switch语句中,构成一个分支
char 字符类型,基本数据类型
const 常量修饰符
continue 用在循环语句中,结束当前循环,继续执行下一次循环
default 用在switch语句中,构成默认分支
do 与while组合使用,构成do...while循环
double 双精确度实数类型(浮点类型),基本数据类型
else 与if组合使用,构成if...else分支语句
enum 枚举类型,构造类型
extern 用在变量或函数前,表示变量或函数的定义在别的文件中
与“C”组合使用时, extern "C" 表示告诉编译器按C规则翻译函数名
float 单精确度实数类型,基本数据类型
for 用于for循环结构
goto 用于跳转语句
if 用于分支结构
int 整型,基本数据类型
long 长整型,基本数据类型
register 声明变量为寄存器变量
return 用于返回语句
short 短整型,基本数据类型
signed 有符号类型,默认类型,用于修饰char,short,int,long等小整数或整数类型变量
sizeof 小心啦,这是一个披着函数外衣的关键字,用于计算类型或变量占用内存空间的字节数
static 作用于变量时,修改了其存储位置和生命周期;作用于函数时,限制了其使用范围,即仅可被本文件内的函数调用
struct 用于定义结构体,结构类型
switch 与case,default组合,构成分支结构
typedef 定义类型的别名
union 用于定义共用体结构,结构类型
unsigned 无符号类型,与signed相对
void 空类型
volatile 定义volatile变量,提示编译器操作该类型变量时,到变量地址操作,而不是使用缓存在其他地方(如寄存器)的值
while 用于while或do...while循环中,构成循环结构

常量

  常量是数字或字符的字面值。

相关文章
|
5月前
|
C语言 C++
第一个c语言程序
第一个c语言程序
|
5月前
|
编译器 开发者 C++
8086 汇编笔记(三):第一个程序
8086 汇编笔记(三):第一个程序
|
5月前
|
Java C# 开发工具
第一个C#程序
第一个C#程序
|
5月前
|
Unix 编译器 C语言
Hello World!—— 属于我们的第一个C语言程序
C语言最早是由贝尔实验室的Dennis Ritchie为了UNIX的辅助开发而编写的,它是在B语言的基础上开发出来的。尽管C语言不是专门针对UNIX操作系统或机器编写的,但它与UNIX系统的关系十分紧密。由于它的硬件无关性和可移植性,使C语言逐渐成为世界上使用最广泛计算机语言。 为了进一步规范C语言的硬件无关性,1987年,美国国家标准协会(ANSI)根据C语言问世以来各种版本对C语言的发展和扩充,制定了新的标准,称为ANSI C。ANSI C语言比原来的标准C语言有了很大的发展。目前流行的C语言编译系统都是以它为基础的。
93 0
Hello World!—— 属于我们的第一个C语言程序
|
11月前
|
Java 编译器 Linux
第一个C语言程序(认识C语言的第一步)
第一个C语言程序(认识C语言的第一步)
40 0
|
编译器 Serverless C语言
第一个C语言程序(从Hello World开始)
第一个C语言程序(从Hello World开始)
第一个C语言程序(从Hello World开始)
|
SQL Java 数据库连接
第一个JDBC程序
第一个JDBC程序
|
Java 编译器 Linux
第一个程序
一、C语言被淘汰了吗? 二、编程是做什么的 三、机器码 四、汇编语言 五、C语言 六、使用C语言编程 七、C语言的优势 八、第一个程序
第一个程序
|
C语言 C++
第一个C程序
第一个C程序
114 0
第一个C程序