是将函数max的值赋给变量c,其中a和b是参数(称为实在参数),执行时将变量a和b的 值传给被调函数max。max的作用是将x、y中较大的数送z,并通过语句 将其作为函数值返回给主调函数。函数头 封tx,y; 表示max带有两个形式参数x和y,在max被调用时,这两个参数的值由主调函数中对应 的实在参数(本程序中是a和b的值)传过来,函数体中求出x、y中较大的数值送乙,并返回 主调函数,语句 if(x> y 是C中的一种判定控制语句结构,它根据x是否大于y来选择执行 本程序的执行情况如下 max=6 例1.4 # include Stdio. h" maino while((c= getchar())!= EOF putchar(c); 这个程序的功能是将输入的内容复制到输出第一行 #t include "stdio h" 是C语言中的文件包含 stdio. h是一个头文件,通过文件包含命令# include,程序把si.h 包含在自己所在的文件中。stdo.h是关于标准输入输出的头文件,其中包括使用标准输入 输出库函数的许多信息。在本程序中,由于使用 getchar和 putchar函数(实际上是宏,将在 第九章中介绍),因此需要用命令包含将存有必要信息的 stdio. h包含进来。符号EOF也在 stdio.h中定义,实际中,它定义为 define eof-1 意思是在程序中遇到EOF就用-1代替EOF是文件结束标志,对于任意一个文件,系统会 自动在其尾部加一个EOF标志。当文件是从键盘上输入时,在微机DOS操作系统下,打入
z(ctr+z)后,系统自动为输入流加上一个EOF(UNX系统下,可打入^d)。函数 getchar 用于读一个字符, putchar用于输出一个字符,语句 while表示当括号内的表达式值为真时 反复地执行后面跟着的语句因此 hile((c=getchar O)!=EOF) putchar (c); 的意思是:当读入的字符不是EOF时,就输出它直到读入EOF,所以我们可以这样运行这 个程序 abc1234xyz789^z(输入) abcl234xyz789(输出) 在本章的例子中,我们让每个语句单独占据一行的位置,并且书写时作了适当的缩进, 这些都不是C语言语法所要求的,而是为了阅读方便如例1.4也可以写成 # include“ stdio.h main(lint ci while((c=getchar())!=EOF)putchar(c); I 其结果也是一样的。C语言不是靠回车,而是靠分号来标识一个语句的结束,回车的功能与 个空格是相同的。虽然可以把程序写成上面那个样子,而且可以正确地执行,但实际中几 乎没有人那么写即使是很短的程序。计算机界有句名言:程序是给人读的。看到这个命题, 你也许会奇怪,程序不是为了在计算机上运行的吗?确实如此,但不仅仅如此,你写一个程序 以后可能要修改别人也可能会阅读或修改你的程序,在没有完全读懂的情况下做修改,将 会带来许多麻烦即使不改,一个表达清楚的程序也会给人带来愉快。再者连你自己都不能 清楚地表达思路的话,还能指望计算机作什么呢 为了清晰而正确地写程序,首先要使程序具有良好的结构如使用将实现细节隐蔽得很 好的函数,少用外部变量,不采用非结构化的控制结构等。同时,也要注意书写风格如每个 语句独立占一行,适当的缩进尽量选择有实际意义的标识符,适当的加入注释等等,这些在 我们今后的讨论中还会反复提到。总之,从一开始写程序就要培养好的风格 第三节C程序上机运行 学习编程,上机是非常重要的。在计算机上编程并运行,从结果中了解程序的运行过程 进而了解程序的结构,比只看书要有效得多。另外,你可以对已有的程序做各种修改进而了 解语言更多的知识,也可以向别人学到很多东西。上机可以提高你编程的兴趣,也可以提高 自信心,当看到自己编写的程序在计算机上正确地运行时,你会感到自己的创造力 本节中,我们介绍 turbo C上机的简单步骤如果你使用其他的C,或希望对 turbo C 有更多的了解请参考相应的用户手册 用 turbo C上机的步骤: 先将 turbo C软件安装到机器的硬盘上。 调入 turbo C 只要打入te,然后回车,屏幕顶部将显示出 turbo C的命令菜单(见图1-2)
FILE EDIT RUN COMPILER PRLJECT OPTIONS DEBUG 图1-2命令菜单 用键盘上的“←”和“→”键可以移动屏幕上的光标如果光标不在顶部的命令菜单行中 可以打F10键将光标移到顶部。将光标移到“FLE”处,打回车键FLE下面出现一个子菜 单,如图1-3,用“↓”键将光标移到Load(或New)处打回车键表示要输入源程序,屏幕上又 出现一个小窗口如图1.4所示要求你输入文件名,此时可打入 filel.c 如果原来没有这个名字的文件,将建立一个新文件如果已有此文件则将此文件调入并在 屏幕上显示,然后自动转为编辑(EDT)状态。 FILE EDIT RUN COMPILER PRLJECT OPTIONS DEBU Pick Alt-f3 Write to Quit Alt-x 乙 甲 图1-3子菜单 Load File Name file l. c 图1-4文件名输入框 你也可以直接进入编辑状态,这时在DOS命令行中打入 tc filel 系统就自动进入编辑屏幕。也可不打c,这时系统取缺省值.c。 2.编辑源文件。 你可以根据需要输入或修改源程序。 3.编译源程序 只需要简单地打F9键就可以进行源程序的编译和连接,并在屏幕上显示有无错误 如有错误按任一键后屏幕显示源程序,光标停在出错的位置上。屏幕的下半部分将显示出
有错误的行和错误原因。根据提供的信息可以修改错误,这时按下“F6”键后就可修改错误, 修改完后再按“F6”键,接着打“、”键,光标就停到下一个出错的行。所有错误修改完后,再 按“F9”进行编译,如此反复,直到没有编译错误为止 4.执行程序 你只要打入^F9(按下ctrl键的同时按F9键)即可执行程序。如果程序中需要输入数 据,就在此时将所需数据输入,接着程序执行,输出结果 如果发现结果不对,可再按步骤23、4修改程序、编译执行程序直到得到正确的结 5.保存文件 编辑完源程序或准备退出 turbo C时,也可打“F2”键将源程序存在硬盘上 6.退出 turbo C 同时按下A和X键,便退出 turbo C回到操作系统命令状态。此时可以用系统命令 来显示源程序或运行程序。如 type filel.c↓(显示源程序清单) fill↓(执行程序 file l. exe 如果想再输入或修改源程序,可以再从步骤1开始。 以上的步骤是对一个程序只放在一个源文件中时采用的,如果一个程序放在多个文件 中,就要使用 PROJECT项生成所谓pri文件。考虑到初学时程序通常都较小,不必放在多 个文件中分别编译,这里就不多介绍了 最后讲一下本书附带磁盘的使用方法。本书中全部例子的源程序附在一张磁盘上,文件 名是字母E开头后跟章、例号,如例1.1为 E1-1.c 你可以直接调入 turbo C编译并执行这些例子,有些例子有多个程序,这时文件名中再含有 个标识版本的数字放在最后如例1.1有两个版本的话程序名分别是 和 E1-1-2. 书中有些例子只给出了一个被调函数,而没有maim,为了便于上机操作盘中都给了用 于测试这些例子的主调函数,上机时也可以直接编译
第二章数据类型、运算符与表达式 本章学习重点 本章介绍C语言的基本数据类型:整型浮点型、字符型相应类型的变量和常量以及 类型之间的转换,并介绍算术赋值和逗号表达式的慨念和使用。通过本章的学习应能掌握 C语言数据和运算的基本概念,为以后各章的学习打下基础 第一节C语言的数据类型 许多人总爱形象地把计算机程序与做菜用的菜谱做个类比。确实如此,菜谱中规定了厨 师烹饪的步骤就象计算机程序中一条条指令规定了计算机应怎样运行。菜谱中的指令总是 把各种食品原料当作自己操作的对象,而计算机中要被处理的对象就是数据 图21给出了C语言中所能处理的各种数据类型。 本类型双精度浮点型( double) 字符型(char) C语言的数据类型 构造类犁 联合( union 枚举(enum) 针 图2-1数据类型 在本章中我们介绍基本数据类型而其他数据类型留在后面章节中讨论。 第二节标识符 标识符是一个字符序列,在C语言中用来标识常量、变量、函数数据类型的名字。C语 言规定:标识符只能由字母、数字及下划线“”(不是减号)组成并且数字不能做为标识符 的第一个字符,下面是一些合法的标识符 Num of_ lin