全局变量不属于哪一个函数,它属于整个源程序文件。在函数中使用全局变量,一般应作全局变量说明。例5.10外部变量与局部变量同名。如果同一个源程序文件中,外部变量与局部变量同名,则在局部变量的作用范围内,局部变量有效,外部变量被“屏蔽”。全局变量使函数的通用性降低,因为函数在执行时要依赖于其所在的外部变量。使用全局变量过多,会降低程序的清晰性,人们往往难以清楚地判断出每个瞬时各个外部变量的值。...
2023-11-18 理论教育
全局变量不属于哪一个函数,它属于整个源程序文件。在函数中使用全局变量,一般应作全局变量说明。例5.10外部变量与局部变量同名。如果同一个源程序文件中,外部变量与局部变量同名,则在局部变量的作用范围内,局部变量有效,外部变量被“屏蔽”。全局变量使函数的通用性降低,因为函数在执行时要依赖于其所在的外部变量。使用全局变量过多,会降低程序的清晰性,人们往往难以清楚地判断出每个瞬时各个外部变量的值。...
2023-11-18 理论教育
当一个指针指向一个结构体变量时,称为结构体指针变量。结构体指针变量中的值是所指向的结构变量的首地址,通过结构指针即可访问该结构变量。结构体指针变量定义的一般形式为:struct结构类型名 *结构指针变量名在定义了struct student结构类型后,如要定义一个指向该结构类型的指针变量pstu,可写为:struct student*pstu;当然也可在定义struct student结构类型的同时定义pstu。与前面讨论的各类指针变量相同,结构指针变量也必须要先赋值后使用。...
2023-11-18 理论教育
从形式上看,带参数的宏调用和函数调用没有什么区别,而且确实在一些情况下它们产生同样的结果。例如:程序1:这两个程序的主函数main()是完全一样的,调用宏和调用函数得到相同的运行结果,都是5。理由是使用宏比函数调用更快。因为宏在真正编译之前已被相应地替换,在执行时,不必打断调用程序的运行,也没有参数的传递。...
2023-11-18 理论教育
这三种整型数据类型都可以指定为“有符号”或“无符号”,如果既不指定为signed,也不指定为unsigned,则默认为signed。归纳起来,整型数据分为以下6种,如表2.1所示。表2.1整型数据类型表2.1中“类型”列中的方括号部分是可以省略的,如signed short int与short等价。例如:int a,b,c,d;unsigned e;long f,g;在程序中,一个int型变量最大允许值为32767,要防止数据的溢出。...
2023-11-18 理论教育
C语言的程序模块称为“函数”。在C语言程序设计中,函数是C语言程序的基本组成单位。例5.1用函数square()计算1到10之间所有整数的平方。运行情况如下:149162536496481100说明:C语言程序的执行从main()函数开始,调用其他函数后再返回到main()函数,在main()函数中结束整个程序的运行。这种函数由用户自行定义,用于完成用户指定的功能。...
2023-11-18 理论教育
而动态数组长度可以随程序的需要而重新指定大小。对于这种问题,用静态数组的办法很难解决。为了解决上述问题,C语言提供了一些内存管理函数,这些内存管理函数结合指针可以按需要动态地分配内存空间,从而构建动态数组,也可把不再使用的空间回收待用,为有效地利用内存资源提供了手段。检查动态内存是否分配成功。所以给array[][]申请内存,程序段如下:3.动态构建三维数组的内存分配函数说明如下:*pArr:指向...
2023-11-18 理论教育
例5.12外部变量的使用。我们把例5.12稍加改动:存储类型标识符extern告诉系统,变量类型和名字已在别处定义过了,这里的extern int i;只是说明一下i是外部变量。如果外部变量的定义在使用之前,不用extern说明也可以;但如果定义在使用后面,说明就是不可缺少的了。最后应说明的是,外部变量提供了一种在函数间自由传递数据的机制,为编写程序带来了一些方便。但是,外部变量也有很大的副作用,它破坏了函数的封闭性,使程序的控制复杂起来。...
2023-11-18 理论教育
条件编译使得同一源程序在不同的编译条件下得到不同的目标代码。商业软件公司总是使用条件编译来提供和维护某一程序的多个顾客版本。条件编译有几种常用的形式,现分别介绍如下:#ifdef标识符这种形式的含义是:如果标识符已被#define行定义,则编译程序段1,否则编译程序段2。例6.1条件编译的简单应用。例6.2输入一行字母序列,根据需要设置条件编译,使之能将字母全改为大写输出,或全改为小写字母输出。...
2023-11-18 理论教育
C语言把括号、赋值、强制类型转换等都作为运算符处理,灵活使用各种运算符可以实现在其他高级语言中难以实现的运算,功能强大。另外,C语言还把括号、下标、强制类型转换、取地址等都作为运算符处理,并通过与算数运算符的组合达到不同的目的,从而使程序更加简洁明了。C语言具有超强的可移植性。总之,C语言在运算符方面是比较容易让人混淆的。...
2023-11-18 理论教育
C语言的最大特点是:功能强、使用方便灵活。由于这个“灵活”给程序的调试带来了许多不便,尤其对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误。在C语言中大写字母和小写字母是两个不同的字符。C语言规定以’\0’作字符串结束标志,它是由系统自动加上的。当一个语句中使用多层括弧时常出现这类错误。main()C语言中对数组的定义或引用数组元素时必须用方括弧。...
2023-11-18 理论教育
掌握选择结构的程序设计思想。完整的源程序:提醒:以上程序也可将case 2换成default,思考一下为什么?项目3:运输公司对用户计算运费。根据距离s的取值范围不同,折扣也相应发生变化,因此该程序为选择结构的程序,可以使用if语句,也可以使用switch语句。在编写程序时,距离s取值区间两端的数据都是250的整数倍,因此,可以通过s/250的方法将区间转换成用整型数据来表达,以便使用switch语句编写程序。...
2023-11-18 理论教育
在C语言中,以函数首部声明函数的形式称为函数原型。使用函数原型是C语言的一个重要特征,主要作用是利用它在程序的编译阶段对调用函数的合法性进行全面检查。...
2023-11-18 理论教育
C语言规定,主函数也可以带参数。若主函数带参数,则执行目标程序时,应按下列格式给出相应的实际参数:程序名实际参数1实际参数2…实际参数n此时,系统会自动在内存中开辟区域依次存放程序名和所有的实际参数,同时给主函数的形式参数赋值,结果如下:形参argc赋值为n+1,表示连同程序名在内共有n+1个参数。例7.22编写一个带参数的主函数。注意:程序运行时,在程序名后带有2个整数,程序的功能是输出这2个整数的和。...
2023-11-18 理论教育
例4.7输出一个形如“丰”字的图形。图4.4例4.7输出结果从例4.7可知,逐个字符的输出,使用的格式符是“%c”;以字符串整体一次输出,使用的格式符是“%s”。例如下面的写法就是错误的:printf;如果数组长度大于字符串的实际长度,也只输出’\0’前的字符。其余的空格和回车符都被作为字符串的分隔符。...
2023-11-18 理论教育
在输出结构体数据时只能对结构体变量中的各个成员分别进行输入输出。引用结构体变量中的成员的方式为:结构体变量名.成员名例如,student1.num表示student1变量中的num成员,即student1的num项。例如,结构体变量student1可以这样访问各成员:student1.numstudent1.birthday.month注意:不能用student1.birthday来访问student1变量中的成员birthday,因为birthday本身是一个结构体变量。scanf;// 输入student1.num的值printf;// 输出student1的首地址但不能用以下语句整体读入结构体变量:scanf;结构体变量的地址主要用作函数参数,传递结构体的地址。...
2023-11-18 理论教育
例9.2中的程序是按处理文本文件的方式来编写的。在文件内部有一个位置指针,用来指向文件的当前读写字节。文件内部的位置指针用以指示文件内部的当前读写位置,每读写一次,该指针均向后移动,它不需在程序中定义说明,而是由系统自动设置的。例9.3将例9.1中的建立的文件A.dat的内容在屏幕上显示。例9.4从A.dat文件中读入一个含10个字符的字符串。例9.6从键盘输入两个学生数据并写入一个文件中,再读出这两个学生的数据显示在屏幕上。...
2023-11-18 理论教育