C语言把括号、赋值、强制类型转换等都作为运算符处理,灵活使用各种运算符可以实现在其他高级语言中难以实现的运算,功能强大。另外,C语言还把括号、下标、强制类型转换、取地址等都作为运算符处理,并通过与算数运算符的组合达到不同的目的,从而使程序更加简洁明了。C语言具有超强的可移植性。总之,C语言在运算符方面是比较容易让人混淆的。......
2025-09-30
所谓“文件包含”是指一个源文件可以将另一个源文件的全部内容包含到自己的文件中。文件包含命令的一般形式是:
include"文件名"
它的作用是用指定文件的全部内容来代替本文件中的这一行。文件包含命令的解释如图6.1所示。

图6.1 文件包含
在图6.1(a)中,file1中含有命令
include“file2”
在编译时,预处理程序找到文件file2,然后用file2的全部内容代替命令
include“file2”
预处理后,file1的情况如图6.1(b)所示。
在程序中,文件包含是很有用的。写程序时,经常要定义一些不带参数的宏(符号常量)和带参数的宏,而一个大程序通常是放在几个文件中,如果每个文件都重新定义这些符号常量和带参数的宏,那是很麻烦的,而且可能带来不一致的错误。为了解决这个问题,可以把它们单独放在一个文件中,其他文件在开头都使用文件包含命令将它们包含进来。例如,源程序中要使用到下列常量:
define BUFSIZ 512
define EOF-1
define NULL 0(https://www.chuimin.cn)
define PR printf
define D"%d"
define S"%s"
define TRUE 1
define FALSE 0
现在把它们放在一个文件中,取名defs.h。如果有一个程序的两个源文件用到这些定义,就可以分别在两个文件的开头写上:
include“defs.h”
习惯上,我们总是把这些包括宏定义的文件叫做头文件,文件后缀用.h(.h表示header)。实际上,任何一种C语言编译系统都提供了大量的.h文件,其中包含符号常量、带参数的宏定义、库函数的类型说明及系统中固定使用的结构或联合类型的定义(如我们前面用过的stdio.h和math.h)。当然你也可以对任何名字的文件(如.c文件,即C语言源程序文件)使用文件包含命令。
文件包含命令中的文件名,除了用双引号外,也可以用尖括号括起来。例如:
include<文件名>
两者的区别是:用尖括号括起文件时,系统只在存放C语言库函数头文件所在的目录中寻找要包含的文件,这种方式称为标准方式(在Turbo C中的标准库函数目录为/INCLUDE);而用双引号括起文件时,系统先在当前目录中找,如找不到,再按标准方式查找(即再按尖括号的方式查找)。
一般来说,如果用include命令只为调用库函数时,一般采用尖括号的方式,以节省查找时间。
相关文章
C语言把括号、赋值、强制类型转换等都作为运算符处理,灵活使用各种运算符可以实现在其他高级语言中难以实现的运算,功能强大。另外,C语言还把括号、下标、强制类型转换、取地址等都作为运算符处理,并通过与算数运算符的组合达到不同的目的,从而使程序更加简洁明了。C语言具有超强的可移植性。总之,C语言在运算符方面是比较容易让人混淆的。......
2025-09-30
表1.4scanf()附加说明字符注意:“*”符:用以表示该输入项读入后不赋予相应的变量,即跳过该输入值。例1.4输入输出数据类型控制。现将改动程序如下:则运行结果为:input a long integer12345678901234567890当输入数据改为长整型后,输入输出数据相同。......
2025-09-30
表2.3转义字符表2.3中’\ddd’表示将1~3位数转换成ASCII码值所对应的符号。例2.3转义字符的使用。图2.2例2.3输出结果2.字符变量字符变量用来存放字符常量,并且只能放一个字符。字符变量的使用方式如下:例2.4向字符变量赋值。例2.5字符输入输出函数的使用这个程序运行过程中,从键盘输入任意两个字符,并把第一个字符赋给变量b,第二个字符赋给变量c,最后输出变量a,b,c的值。......
2025-09-30
图1.2分支结构图3.循环结构循环结构可以减少源程序重复编写的工作量,提高程序处理复杂数据的能力,这也是程序设计中最能发挥计算机特长的程序结构。图1.3C语言程序结构......
2025-09-30
例5.12外部变量的使用。我们把例5.12稍加改动:存储类型标识符extern告诉系统,变量类型和名字已在别处定义过了,这里的extern int i;只是说明一下i是外部变量。如果外部变量的定义在使用之前,不用extern说明也可以;但如果定义在使用后面,说明就是不可缺少的了。最后应说明的是,外部变量提供了一种在函数间自由传递数据的机制,为编写程序带来了一些方便。但是,外部变量也有很大的副作用,它破坏了函数的封闭性,使程序的控制复杂起来。......
2025-09-30
例4.16从键盘上输入一行英文字符串,判断该字符串的每一单词的第一个字母是否是大写,若不是,则改为大写字母。利用大小写对应ASCII码值之间的差值,可以很方便地完成大小写间的转换操作,如“ch[i]=ch[i]-32;”语句便实现了将小写字母转换成对应的大写字母。例4.17编写一个简单的密码程序。7438jkd你不是合法用户,不能进入本系统!例4.18从键盘上输入4个字符串,比较它们之间的大小关系,然后按从小到大的顺序存放到二维数组中并输出。......
2025-09-30
我们在前面的例子中已经多次使用过档包含命令#include<stdio.h>,就是将Keil Cx51编译器提供的输入/输出库函数的说明文件stdio.h包含到自己的程序中去。文件包含命令的一般格式如下:或文件包含命令#include的功能是用指定文件的全部内容替换该预处理行。进行较大规模程序设计时,文件包含命令是十分有用的。最后还要指出,使用#include命令只能调入ASCII文本文件。......
2025-09-30
在变量名及其类型之前加上关键字static,就规定该变量的存储类型为静态的。例5.11一个静态变量和自动变量比较的程序。运行结果:auto_var=0,static_var=0auto_var=0,static_var=1auto_var=0,static_var=2auto_var=0,static_var=3auto_var=0,static_var=4上例中,main()函数共5次调用了auto_static()函数,每次调用时自动变量auto_var都输出0值,这是因为每次调用时系统都给auto_var分配存储单元并赋初值0。当auto_static()结束运行时,static_var的值仍然保留,再次调用auto_static()函数时,系统不再为它重新分配存储空间并赋初值,而是采用以前留下的值,因此static_var的值每次调用都会增加1。......
2025-09-30
相关推荐