6.5 变量的作用范围(课件)-高二《程序设计基础》同步教学(人民邮电版)

2023-07-24
| 11页
| 99人阅读
| 0人下载
普通

内容正文:

6.5 变量的作用范围 变量可分为局部变量和全局变量,它们的作用范围是不同的。局部变量的作用范围只在被定义的函数的内部,而全局变量的作用范围为从该变量定义开始到程序结束。局部变量就像地方法律,只在某一个地方范围内有效,而全局变量就像是国家的宪法,在全国范围内都有效。 1.局部变量 局部变量总是定义在函数体的内部(即大括号内),并且只在该函数内有效。在该函数之外无法使用该变量。如果在变量的作用区域之外使用变量,系统将报告该变量尚未定义。 2.全局变量 全局变量又叫全程变量,它是在所有函数的外部定义的变量。其作用范围从定义开始到整个程序结束。 例如: int x,y; char c; /*x,y,c为全局变量,其作用范围从此开始到程序结束*/ f1() { int m; ….. } float k; /*k为全局变量,其作用范围从此开始到程序结束*/ f2() { int n; … } 全局变量虽然作用范围较局部变量大,但是也存在以下不足。 (1)由于在其作用的整个范围内均占用内存,所以增加了内存的开销,不如局部变量节约系统资源。 (2)易与局部变量发生冲突,降低了程序的可读性。 习题 一、选择题 1.下面关于函数参数传递正确的是 。 A.只能传递地址 B.只能传递数据 C.传值,即为传递地址和数据 D.双向传递 2.void返回类型函数正确的描述是 。 A.返回确定的值 B.返回不确定的值 C.返回值 D.不返回值 3.下面说法中正确的是 。 A.C语言程序总是从第一个定义的函数开始执行的 B.在C语言程序中,要调用的函数必须在main()函数中定义 C.C语言程序总是从main()函数开始执行的 D.C语言程序中的main()函数必须放在程序的开始部分 4.以下正确的函数定义是 。 A.int add(int x, int y) B.int add(int x; int y) C.int add(int x, int y); D.int add(int x, y) 5.若调用一个函数,且此函数中没有return语句,则以下正确的说法是 。 A.没有返回值 B.返回若干个系统默认值 C.能返回一个用户所希望的值 D.返回一个不确定的值 6.关于参数的传递说明正确的是 。 A.地址传递 B.单向值传递 C.由实参传向形参,再由形参传向实参 D.由用户指定传递方式 7.C语言规定,函数的返回值的类型由 。 A.return语句中的表达式类型决定 B.调用该函数时的主调函数类型决定 C.调用该函数时系统临时决定 D.定义该函数时所指定的函数类型决定 8.凡函数中未指定存储类别的局部变量,其默认的存储类别为 。 A.自动 B.静态 C.外部 D.寄存器 二、分析以下程序的功能 #include<stdio.h> f(int n) { int i,j,k; i=n/100;j=n/10-i*10;k=n%10; if(I*100+j*10+k==I*I*I+j*j*j+k*k*k) return n; else return 0; } void main() { int n,k; printf("output"); for(n=100;n<1000;n++) { k=f(n); if(k!=0) printf("%d",k); } printf(" "); } 三、编程题 1.写两个函数,求3个数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,3个数由键盘输入。 2.写一判断素数的函数,在主函数中输入1个整数,输出是否是素数的信息。 3.写一函数,将两字符串连接。 4.写一函数,输入一个十六进制数,输出相应的十进制数。 5.给出年、月、日,计算该日是该年的第几天。 $

资源预览图

6.5  变量的作用范围(课件)-高二《程序设计基础》同步教学(人民邮电版)
1
6.5  变量的作用范围(课件)-高二《程序设计基础》同步教学(人民邮电版)
2
6.5  变量的作用范围(课件)-高二《程序设计基础》同步教学(人民邮电版)
3
6.5  变量的作用范围(课件)-高二《程序设计基础》同步教学(人民邮电版)
4
6.5  变量的作用范围(课件)-高二《程序设计基础》同步教学(人民邮电版)
5
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。