用户自己定义的结构体类型,与系统定义的标准类型一样,是可以用来定义结构体类型的变量。这种方法定义的结构体类型在程序后面不可使用,因为缺少完整的结构体类型名。......
2025-09-30
不带参数的宏用指定标识符来代替一个字符串。其一般格式为:
define标识符 字符串
例如:
define PI 3.1415926
用标识符PI来表示3.1415926,这叫做宏定义。这时的字符串是一个字符序列,除非是表示一个字符串常量,一般不用双引号括起。另外,宏不是语句,它不以分号结束,而以换行符结束。当宏比较长(在一行写不下)时,可在行尾加上符号\表示下一行是这一行的继续,例如:
define MESSAGE"if the length of this message\
is very long"
一个宏的作用域是从定义处一直到本文件的结束。但多数人习惯把所有的宏定义都写在文件的前面虽然这不是必须的。
一个宏定义后,就可以在程序中使用了,例如:
这个函数返回圆的面积。如果不用宏可以写成
上面两个程序结果是完全一样的。
在实际情况中,预处理程序对宏的处理是:遇到宏名(标识符)就用其代表的字符串替换,即所谓的宏替换。因此,上面第一个程序在正式编译之前,系统就将其先预处理为上面第二个程序的形式。预处理是编译时由系统自动完成的,用户不必关心。从用户角度看,使用宏可以使程序具有更好的可读性。
程序中使用的常量一般都有一定的物理意义,人们很难从数字本身中看出这种意义。比如,C语言中没有专门的逻辑变量,为了进行逻辑运算,规定表达式非0时为真(true),给出的逻辑值为1;表达式为0时为假(false),给出的逻辑值为0。这里的1、0与一般意义下的1、0形式上没有任何不同,不容易让人理解,有了宏,我们就可以很方便地解决这个问题了。例如:
define TRUE 1
define FALSE 0
定义之后,当需要给出逻辑值真时就使用TRUE,当需要给出逻辑值假时就用FALSE。
在定义宏时,还可以用到以前定义的宏,如(https://www.chuimin.cn)
define PI 3.1415926
define R 2.0
define AREA PIRR
这里定义AREA时用到了另外两个宏PI和R。
最后指出在程序设计中,使用宏定义预处理命令时应特别注意的地方:
(1)宏定义以换行结束,不要用分号结束,如果PI定义为
define PI 3.1415926;
则
return(PIrr);
经替换后变成
return(3.1415926; rr);
一看就知道是错误的。
(2)如果双引号内出现与宏名相同的字符串,则这个字符串不被替代。例如
运行结果:
what is your name
HELLO
相关文章
用户自己定义的结构体类型,与系统定义的标准类型一样,是可以用来定义结构体类型的变量。这种方法定义的结构体类型在程序后面不可使用,因为缺少完整的结构体类型名。......
2025-09-30
表1.4scanf()附加说明字符注意:“*”符:用以表示该输入项读入后不赋予相应的变量,即跳过该输入值。例1.4输入输出数据类型控制。现将改动程序如下:则运行结果为:input a long integer12345678901234567890当输入数据改为长整型后,输入输出数据相同。......
2025-09-30
变量是指程序在运行过程中其值可以发生变化的量。一个变量有3 个要素:变量名、变量类型和变量值。另外,系统还根据变量的类型检查该变量所进行的运算是否合法等。C 语言中,变量必须先声明,然后使用。整型变量的定义和使用。程序执行结果为:浮点型数据的舍入误差举例。由于实数存在舍入误差,使用时需要注意以下几点:不要试图用一个实数精确表示一个大整数,因为浮点数是不精确的。字符变量应用举例,字母大小写转换。......
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
机器语言由0和1两个字符组成,称为二进制数。指令是计算机语言的最小组成单元,机器语言就是机器指令的集合。对人而言,不管是机器语言还是汇编语言,可读性都差,一般的人也难以理解,不利于计算机语言的推广普及。当然,计算机不能直接识别用高级语言编写的源程序,需要通过编译器将其翻译成机器语言产生目标程序,才能被计算机执行。......
2025-09-30
例4.16从键盘上输入一行英文字符串,判断该字符串的每一单词的第一个字母是否是大写,若不是,则改为大写字母。利用大小写对应ASCII码值之间的差值,可以很方便地完成大小写间的转换操作,如“ch[i]=ch[i]-32;”语句便实现了将小写字母转换成对应的大写字母。例4.17编写一个简单的密码程序。7438jkd你不是合法用户,不能进入本系统!例4.18从键盘上输入4个字符串,比较它们之间的大小关系,然后按从小到大的顺序存放到二维数组中并输出。......
2025-09-30
相关推荐