- 1、本文档共50页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计辅 导8课件
C语言程序设计;一、对 C语言的深入讨论;1命令行参数
命令行:在操作系统状态下,为执行某个程序而键入的一行字符
命令行一般形式:命令名 参数1 参数2………参数n
;例 输出命令行参数;函数的递归调用;2 变量的存储属性
概述
变量是对程序中数据的存储空间的抽象;变量的属性
数据类型:变量所持有的数据的性质(操作属性)
存储属性
存储器类型:寄存器、静态存储区、动态存储区
生存期:变量在某一时刻存在-------静态变量与动态变量
作用域:变量在某区域内有效-------局部变量与全局变量
变量的存储类型
auto -----自动型
register-----寄存器型
static ------静态型
extern -----外部型
变量定义格式: [存储类型] 数据类型 变量表;;局部变量与全局变量
局部变量---内部变量
定义:在函数内定义,只在本函数内有效
说明:
main中定义的变量只在main中有效
不同函数中同名变量,占不同内存单元
形参属于局部变量
可定义在复合语句中有效的变量
局部变量可用存储类型:auto register static (默认为auto);全局变量---外部变量
定义:在函数外定义,可为本文件所有函数共用
有效范围:从定义变量的位置开始到本源文件结束,及有extern说明的其它源文件;int sum;
int fun1( )
{ sum+=20;
}
int a;
int fun2( )
{ a=20;
sum+=a;
}
main()
{ sum=0;
fun1( );
a=8;
fun2( );
printf(“sum=%d a=%d”,sum,a);
};例 外部变量定义与说明;int a=3,b=5;
max(int a, int b)
{ int c;
c=ab?a:b;
return(c);
}
main()
{ int a=8;
printf(max=%d,max(a,b));
};动态变量与静态变量
存储方式
静态存储:程序运行期间分配固定存储空间
动态存储:程序运行期间根据需要动态分配存储空间
内存用户区;变量存储类型;例 文件file1.c
int a;
main( )
{ …….
…….
f2;
…….
f1;
…….
}
f1( )
{ auto int b;
………
f2;
……..
}
f2( )
{ static int c;
………
};例 auto 变量的作用域;main()
{ void increment(void);
increment();
increment();
increment();
}
void increment(void)
{ int x=0;
x++;
printf(“%d\n”,x);
};例 引用其它文件中的外部变量;4 编译预处理;如 if(x==YES) printf(“correct!\n”);
else if (x==NO) printf(“error!\n”);
展开后: if(x==1) printf(“correct!\n”);
else if (x==0) printf(“error!\n”);;带参数宏定义
一般形式: #define 宏名(参数表) 宏体;#define MAX(x,y) (x)(y)?(x):(y)
…….
main()
{ int a,b,c,d,t;
…….
t=MAX(a+b,c+d);
……
}
宏展开:t=(a+b)(c+d)?(a+b):(c+d);;带参的宏与函数区别;08/9 26以下关于宏的叙述中正确的是 ( )
A)宏名必须用大写字母表示
B) 宏定义必须位于源程序中所有语句之前
C) 宏替换没有数据类型限制
D)宏调用比函数调用耗费时间
08/4(28)以下叙述中错误的是( )。
A)在程序中凡是以“#”开始的语句行都是预处理命令行
B)预处理命令行的最后不能以分号表示结束
C)#define MAX 是合法的宏定义命令行
D)C 程序对预处理命令行的处理是在程序执行的过程中进行的
43)
文档评论(0)