宏也可以带参数,其定义的一般形式为:#define标识符 字符串其中标识符是宏名,字符串中包含括号内指定的参数,称为宏扩展。这时由于带参数的宏从形式上看很像函数,为了统一,多数人在定义带参数的宏时喜欢使用小写字母。......
2023-11-18
1.案例引入
函数要先定义,然后才能使用。定义就是对函数所要完成的功能(或者操作)进行描述的过程。包括函数名的命名和类型说明、形式参数的类型说明、变量定义和语句。
【例5.1】下面举例说明主函数和自定义函数。
上例包含了两个函数,即主函数main()和用户定义函数max(),主函数main()可以位于程序中的任意位置。函数的定义是平行的,彼此相互独立,不能嵌套定义。
2.函数的定义
函数定义通常包括以下内容:
函数定义由函数头部和函数体两部分组成。函数头部是指定义一个函数时的第一行,包括函数类型标识符、函数名和由“()”括起来的参数列表。大括号{}内称为函数体,语法上是一个复合语句。
说明:(www.chuimin.cn)
(1)类型标识符:也是函数类型,是指函数被调用执行后返回给主调函数的数据类型。函数返回值不能是数组,也不能是函数,除此之外任何合法的数据类型都可以是函数的类型。函数的类型可以省略,默认为整型数据类型。不返回函数值的函数,可以定义为“空类型”, 类型说明符为“void”,也可以将“void”关键字省略。函数的类型和函数返回值的类型应保持一致。如果两者不一致,则以函数类型为准,自动进行类型转换。
(2)函数名:是用户自定义的标识符,也是C 语言函数定义中唯一不可缺省的部分,代表该函数的入口地址,应符合C 语言标识符命名规定。
(3)形式参数列表:简称为形参,是用逗号分隔的一组变量说明,包括形参的类型说明和形参标识符。形参可以是任何类型的变量,只有函数被调用时才逐个接收来自主调函数的数据,确定各参数的值。
(4)有参函数比无参函数多了一个参数表。调用有参函数时,调用函数将赋予这些参数实际的值。
【例5.2】以两个数求和为例,说明函数的定义。
以上函数是通用函数的定义,在实际运用中,还可以定义无参函数和有参函数、无返回值函数和有返回值函数,甚至有无参数和有无返回值交叉定义。此外,C 语言中还允许有“空函数”,其形式如下:
空函数是程序设计的一个技巧,在一个软件开发的过程中,模块化设计允许将程序分解为不同的模块,由不同的开发人员设计,也许某些模块暂时空缺,留待后续的开发工作完成,为了保证整体软件结构的完整性,将其定义为空函数,作为一个接口,为其完善时只需加入函数体的语句即可。
有关C语言程序设计实用教程的文章
宏也可以带参数,其定义的一般形式为:#define标识符 字符串其中标识符是宏名,字符串中包含括号内指定的参数,称为宏扩展。这时由于带参数的宏从形式上看很像函数,为了统一,多数人在定义带参数的宏时喜欢使用小写字母。......
2023-11-18
使用带参数宏定义时,除了前面提到的使用宏定义预处理的注意事项外,还要注意下面几点:①带参宏定义中,宏名和形参表之间不能有空格出现。②带参宏定义中,形式参数不分配内存单元,因此不必作类型定义。而带参数的宏对实参表达式不作计算直接照原样代换,只是进行简单的替换。③带参数宏的形式参数与函数中的形式参数不同,它没有确定的数据类型。带参数宏调用替换问题的理解示例。......
2023-11-20
书写在特定函数内部时,用于向该函数声明被调用函数的特征,此时仅有书写了函数声明语句的函数知道被声明函数的存在。当被调函数与主调函数位于同一源文件,且被调函数的定义出现在主调函数之前时,不必对被调函数进行声明,其原因是编译系统此时已经知道了被调函数的所有特征。对被调函数不必进行声明的示例。......
2023-11-20
“struct结构体名”为结构体数据类型名字,使用结构体类型名才能在程序中定义结构体变量。③“数据类型名结构体成员i;”指定了结构体类型中的一个结构体成员,结构体成员必须像以前的变量定义一样进行说明,成员名的命名规则与变量名相同,要符合标识符的命名原则。④结构体类型定义语句是一条完整的C语句,所以结构体类型的声明要用“;”作为结束符。......
2023-11-20
图5.7两层函数嵌套调用示意图函数的嵌套调用即一个函数在被调用的过程中又调用了另外的一个函数。函数fac和powers的返回值类型均被设计为double型,其主要目的是为了避免n!x:0.5//0.5从键盘输入的数据0.50 powers of e=1.648721//程序执行结果......
2023-11-20
字符数组的初始化与一般数组的初始化类似,可以有完整赋值、部分赋值等情况。②使用字符串常量初始化字符数组。使用字符串常量对字符数组进行初始化时,系统会自动在末尾加上字符串结尾符号'\0',但定义的字符数组必须提供足够的长度。·如果没有指定字符数组的长度,系统自动指定为字符串常量中有效字符的个数+1。......
2023-11-20
变量是指程序在运行过程中其值可以发生变化的量。一个变量有3 个要素:变量名、变量类型和变量值。另外,系统还根据变量的类型检查该变量所进行的运算是否合法等。C 语言中,变量必须先声明,然后使用。整型变量的定义和使用。程序执行结果为:浮点型数据的舍入误差举例。由于实数存在舍入误差,使用时需要注意以下几点:不要试图用一个实数精确表示一个大整数,因为浮点数是不精确的。字符变量应用举例,字母大小写转换。......
2023-10-21
不带参数的宏定义一般形式是:#define宏名字符串例如:#definePI3.1415926其中,宏名用标识符表示,也就是前面讨论过的符号常量,上面示例中的PI就是宏名。正确使用“宏定义”的关键是宏调用时的“原样替换”。宏定义使用的简单示例。④宏定义不存在类型问题,它的参数也是无类型的。⑦宏定义允许嵌套。如:#defineN100#defineM2*N#defineK5+M⑧可以用#undef或不带替换字符串的宏定义终止宏定义的作用域。......
2023-11-20
相关推荐