第三章模块化程序设计03.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 模块化程序设计;3.7 变量的作用域与存储类型;1 局部变量;2、说明:  ①、main函数中定义的变量是局部变量,只能在main函数中使用;#include <stdio.h> void main( ) { int i,a=0; for (i=1; i<=2; i++) { int a=1; a++; printf("i=%d, a=%d\n", i, a); } printf("i=%d, a=%d\n", i, a); };2 全局变量;#include <stdio.h> int p=1, q=5; float f1( int a ) { float r ; : } int s; int f2( int b , int c ); { int sum; : } float m, n; void main( ) { float x, y; : };3、说明:  ①、全局变量增加了函数间的数据联系;   由于在同一文件中的所有函数都能使用全局变量, 所以可以利用全局变量从函数中得到一个以上的返回值   ; ③、全局变量在定义时如果没有初始化,它们则会被系统自动初始化为零,而局部变量在定义时不会自动初始化。  ④、若全局变量与局部变量同名,则在局部变量的作用范围内,全局变量不起作用;3.7.2 变量的存储类型;局部变量的存储类别:;比较下列两个程序的输出结果:;说明:若对变量赋初值,对于自动变量,每次调用都要重新分配内存单元并赋初值;而对于静态变量,只执行一次,再次调用函数时不再赋初值而保留上次函数调用结束时的值;;2.6 指针程序设计;内容;变量的访问方式 直接访问:通过变量名或变量名所对应的地址访问变量的存储区,存取其值。;指针变量的概念 存放变量地址的变量, 它用来指向另一个变量。;指针变量的定义 基类型名 *指针变量名[=初始值];;指针变量的赋值 定义指针变量时进行初始化,或使用赋值语句。 指针变量定义后,若不赋值,其值是不确定的(野指针) 两个运算符 &:取地址运算符。 可作用于一般变量或指针变量 * :指针运算符(在非定义时)只能作用于指针变量;使用指针变量时,需注意的几个问题: 只能用同类型变量的地址给指针变量赋值 例:int x, *p; p=&x; int x; float *p; p=&x; 错 p与*p不同: p是指针变量, p的值是p所指向的变量的地址 *p 是p 所指向的变量 , *p的值是p所指向的变量的值 *p等同??x 使用指针变量时的 * 与 定义指针变量时的 * 不同,定义变量时的 * 只是表示其后的变量是指针变量 当p = &a ; *p与a相同; scanf(“%d”,&a);与scanf(“%d”,p);相同。;例:指针变量的赋值操作 #include <stdio.h> void main() { int a, b; int *p1, *p2; a=100; b=10; p1=&a; p2=&b; printf(“%d,%d\n”, a, b); printf(“%d,%d\n”, *p1,*p2); };例-1: #include <stdio.h> void main() { int a, b; int *p1, *p2; a=100; b=10; p1 = &a; p2 = p1; p1 = &b; printf(“%d,%d\n”, a, b); printf(“%d,%d\n”, *p1,*p2); };例-2: 指针变量的初始化操作 #include <stdio.h> void main() { int a=100, b=10; int *p1=&a, *p2=&b, *t; printf(“%d,%d\n”, *p1, *p2); t = p1; p1 = p2; p2 = t; printf(“%d,%d\n”, *p1,*p2); };例2.23 输入一个正整数,求出最高位。;例2.24 输入两个数,并按从大到小输出,用指针完成。;#include <stdio.h> void s a, int b) { int t; t=a; a=b; b=t; } void main( ) { int x

文档评论(0)

smashing + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档