c程序设计实验报告.docx
程序设计实训实验报告(热门20篇)

程序设计实训实验报告(热门20篇)c语言是在国内外广泛使用的一种计算机语言。
其语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。
其功能强大,不仅用在计算机上广泛用在电子,机械等方面上,而且,所有的windows,unix,linux,mac,os/2,无一例外,哪一个不是c 语言写的?很多新型的语言如,c++,java,c,j,perl...都是衍生自c语言。
掌握了c语言,可以说你就掌握了很多门语言。
学习c程序这门课一年了,这是我们学的第一门专业课,在大学里c语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程。
所以作为我这个计算机专业的学生来说当然十分重要,老师在第一节课说过,c语言是计算机的基础,大多数软件都需要用c语言来编写,通过一个年的学习,使我由初步掌握简单的应试知识到完成高难度的深入编程,如我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。
同时,我觉得c语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。
在学习一年c语言的过程中我也在慢慢探索怎样才能学好c语言,并总结了一点经验:要了解c语言就要从语法规为基础来学习起,首先要是要了解它的结构,比如变量,首先要了解变量的定义方式(格式),其意义是什么(定义变量有什么用);其次就是要我要怎么去运用它(我要用什么型式去应用它)。
在c语言的命令行中所有的语句都是有它自己的一定格式和形式出现在我们面前,所以我们在学习某种语句或命令时你首先要了解的就是它的规则是什么、有什么用、怎么实现等。
这些都是语法基础也是c语言的基础如果把它们都了解很好了,那么你编起程序来就很得心应手了。
比如说ifelse和switchcase这两种条件语句都是用来判断执行功能的,那我要什么时侯用if什么时侯用switch呢?如果你很好地了解它们的结构和作用的话那么就知道:若它的条件分支是多个而且条件的值是整数或是一个字符值时就会选switch而不会选if。
c程序设计 实验报告

c程序设计实验报告C程序设计实验报告引言:C程序设计是计算机科学中一门重要的编程语言,广泛应用于软件开发、系统编程等领域。
本实验报告旨在总结并分析我在C程序设计实验中的学习经验和成果。
实验一:基本语法和数据类型C语言作为一门结构化的编程语言,具有丰富的语法和数据类型。
在本实验中,我学习了C语言的基本语法,包括变量的声明和赋值、运算符的使用以及条件语句和循环语句的控制流程。
通过编写简单的程序,我熟悉了C语言的基本语法和数据类型的使用。
实验二:函数和指针函数是C语言中的重要概念,通过函数的封装和调用,可以实现程序的模块化和复用。
在本实验中,我学习了函数的定义和调用,了解了函数的参数传递和返回值的使用。
同时,我还学习了指针的概念和用法,掌握了指针变量的声明和指针运算的基本操作。
通过实验练习,我对函数和指针的使用有了更深入的理解。
实验三:数组和字符串数组和字符串是C语言中常用的数据结构,对于处理大量数据和字符操作非常重要。
在本实验中,我学习了数组的定义和使用,了解了数组的下标和内存分配的原理。
同时,我还学习了字符串的表示和处理方法,掌握了字符串的输入输出和常见操作函数的使用。
通过实验练习,我对数组和字符串的应用有了更深入的认识。
实验四:结构体和文件操作结构体是C语言中用于组织和管理复杂数据的一种方式,文件操作则是处理外部文件的重要技术。
在本实验中,我学习了结构体的定义和使用,了解了结构体成员的访问和结构体数组的操作。
同时,我还学习了文件的打开、读写和关闭操作,掌握了文件指针的使用和文件读写的基本流程。
通过实验练习,我对结构体和文件操作的应用有了更深入的了解。
实验五:动态内存分配和链表动态内存分配和链表是C语言中高级的数据结构和算法,对于处理动态数据和实现复杂逻辑非常重要。
在本实验中,我学习了动态内存分配的方法和使用,了解了malloc和free函数的原理和使用。
同时,我还学习了链表的定义和操作,掌握了链表的插入、删除和遍历等基本操作。
c程序课程设计实验报告

c程序课程设计实验报告一、教学目标本课程的教学目标是使学生掌握C程序设计的基本概念、语法和编程技巧,培养学生具备基本的程序设计能力和良好的编程习惯。
具体分解为以下三个方面的目标:1.知识目标:使学生了解C程序设计的基本概念,掌握C语言的基本语法和编程方法,包括变量、数据类型、运算符、控制结构、函数等。
2.技能目标:培养学生具备编写和调试C程序的能力,能运用C语言解决简单的实际问题,培养学生的创新能力和实践能力。
3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,培养学生良好的编程习惯和团队协作精神,提高学生的自主学习和问题解决能力。
二、教学内容本课程的教学内容主要包括C程序设计的基本概念、语法和编程方法。
具体安排如下:1.C程序设计基本概念:介绍计算机编程的基本概念,使学生了解C语言的特点和应用领域。
2.C语言语法:讲解C语言的基本语法,包括变量、数据类型、运算符、控制结构等。
3.C程序设计方法:教授编程方法,包括函数、数组、指针等,并通过实例使学生掌握编程技巧。
4.编程实践:安排一定的实验课时,使学生动手实践,培养学生的编程能力和问题解决能力。
三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性,提高教学效果。
具体方法如下:1.讲授法:讲解C程序设计的基本概念、语法和编程方法,使学生掌握理论知识。
2.案例分析法:通过分析典型案例,使学生了解编程技巧和方法,提高学生的实践能力。
3.实验法:安排实验课,使学生动手实践,培养学生的编程能力和问题解决能力。
4.讨论法:学生进行小组讨论,分享学习心得和经验,提高学生的团队协作能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
具体如下:1.教材:选用权威、实用的教材,为学生提供系统的学习资源。
2.参考书:推荐学生阅读适量的参考书,丰富学生的知识体系。
3.多媒体资料:制作课件、教学视频等多媒体资料,提高教学的趣味性和直观性。
C程序设计上机实验报告(完整版)

C语言程序设计上机实验报告学院:机械工程学院班级:机自161213姓名:刘昊学号:20162181310实验时间:2017年3月6号任课老师:张锐C语言程序设计上机实验报告实验一一、实验名称: C程序的运行环境和运行C程序的方法二、实验目的:了解在C编译系统上如何编辑、编译、连接和运行一个C程序三、实验内容:(1). 输入并运行一个简单的C程序。
(2). 设计程序,对给定的两个数求和。
(3). 设计程序,对给定的两个数进行比较,然后输出其中较大的数。
四、源程序代码:代码1:运行结果1:程序分析1:该程序用来判断所输入的整数是否为一个素数,如果一个数能被除了1和它本身整除,还能被其它数整除,那么它就不是一个素数,因此,用for 循环来进行整除过程的简写。
代码2:运行结果2:程序分析2:简单的使用printf()和scanf()函数进行简单的数据运算。
代码3:运行结果3:程序分析3:使用if语句进行判断。
五.实验总结C语言程序设计上机实验报告实验二一、实验名称:顺序结构程序设计二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法,熟练掌握算术运算符及其表达式,逻辑运算符和逻辑表达式。
三、实验内容:(1). 编写程序,实现小写字母转大写。
(2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。
(3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。
(4). 编写程序,实现单字符getchar和putchar输入输出。
(5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。
四、源程序代码代码1:运行结果1:程序分析1:所有的字符都有一个对应的数字与之对应,每一个小写字母对应的数与大写字母对应的数之间总是相差32,所以只需要对所输入的字符进行减法运算就可以转换为与之对应的大写字母。
代码2:运行结果2:程序分析2:简单的数据运算和格式字符的输出。
2023最新-c语言程序设计实验报告【2篇】

c语言程序设计实验报告【2篇】c语言程序设计实验报告篇一实验名称计算出1000以内10个最大素数之和实验目的1、熟练掌握if、if…else、if…else if语句和witch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。
2、熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。
3、掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。
进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。
实验内容计算并输出1000以内最大的10个素数以及它们的和。
要求:在程序内部加必要的注释。
由于偶数不是素数,可以不考虑对偶数的处理。
虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。
输出形式为:素数1+素数2+素数3+…+素数10=总和值。
算法描述流程图main函数:判断素数:源程序#include#includeint sushu(int n)/* 判断素数的函数*/{int t,i;t=sqrt(n);for(i=2;i=t;i++)if(n%i==0)/* 如果不是素数,返回0 */return 0;return n;/* 如果是素数,返回该数*/}void main(){int i,j=0,n,m=0,a[1000],x;/*clrscr();*/printf(please input a number form 1 to 1000:);scanf(%d,amp;x);if(x==2)/* x=2时的处理*/printf(%dn,x);else if(x=1) /* x在1~1000范围外时的处理*/printf(error!n);else{if(x%2==0)/* x为偶数时,把x变为奇数*/x--;for(i=x;i1;i-=2)/* x为奇数时,做函数计算*/{n=sushu(i);/* 做判断素数的函数调用*/if(n!=0)/* 对素数的处理*/{a[j]=n;/* 把素数由大至小存入数组a[ ]中*/j++;if(j11)m+=n; /* 统计前10个素数之和*/}}if(j10)/* 当素数个数小于10个时,结果输出*/{for(i=0;i{n=a[i];printf(%d,n);printf(+);}printf(2=);printf(%dn,m+2);}else for(i=0;i10;i++)/* 当素数个数大于等于10个时,结果输出*/{n=a[i];printf(%d,n);if(i9)printf(+);else{printf(=);printf(%dn,m);}}}}测试数据分别输入1000、100、10测试。
c语言程序设计_实验一实验报告

实验项目名称:实验一C 语言的运行环境的使用实验目的及要求:1. 了解 Windows 系统下 C 语言的运行环境,熟悉 C 程序编辑、调试、运行的基本操作方法。
2. 熟练掌握编辑、编译、连接和运行 C 程序的方法。
3. 通过运行简单的 C 程序,初步了解 C 源程序的特点。
4. 初步理解 C 语言的数据类型,了解变量定义、变量赋值以及简单运算方法,了解程序运行结果的基本输出方法。
实验内容(方法和步骤):1、编程实现在屏幕上显示如下三行文字Hello, world !Wolcome to the C language world!Everyone has been waiting for程序代码:#include <stdio.h>int main(){printf("Hello,World!\n");printf("Welcome to the C language world!\n");printf(Everyone has been waiting for.\n");return 0;}运行结果:2、编写程序,将两个整数相加,并输出结果。
程序代码:#include <stdio.h>int main(){int a,b,c;a=12;b=26;c=a+b;printf("c=%d\n",c);return 0";}运行结果:3. 编写程序,要求从键盘输入2 个整数,输出其中较大的数程序代码:#include <stdio.h>int main(){int max(int x,int y);int a,b,c;scanf("%d,%d",&a,&b);c=max(a,b);pintf("max=%d",c);return 0;}int max(int x,int y){ int z;if (x>y) z=x;else z=y;return(z);}运行结果:4.输入并运行下程序,观察运行结果。
《C程序设计》课程实验报告

p3=p*(1+r3/2)*(1+r3/2); printf("活期:%f,一年期定期:%f,存两次半年定期:%f\n",p1,p2,p3); } 2、方法一: #include <stdio.h> void main() { char c; c=getchar(); putchar(c+32); putchar('\n'); } 方法二:
8
实验四
顺序程序设计
一、实验目的: 1、掌握 C 语言中使用最多的一种语句——赋值语句的使用方法。 2、掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。 二、实验内容: 1、有若干只鸡和兔在同个笼子里,从上面数,有 35 个头;从下面数,有 94 只脚。编程求笼中各有几只鸡和兔? 2、从键盘输入一个 3 位整数,要求反向输出该数。(如输入 123,反向输出为 321) 三、算法设计: 1、 第一步:定义四个变量 x,y,a,b;并给 a,b 分别赋值 35,94; 第二步:列方程表达式; 第三步:输出求出的 x,y。 2. 第一步:定义五个变量 a,b,c,d,x; 第二步:从键盘输入有一个三位数并赋值给 x; 第三步:通过计算将百位上的数赋值给 a,十位的赋值给 b,各位赋值给 c。 第四步:d=a*100+b*10+c; 第五步:输出新值。
2
if(x>y) z=x; else z=y; return(z); //将 x,y 中较大的值赋给
//将 z 值返回。通过 max()函数带回调用处
} void main(); { int a,b,c; printf("input a,b="); scanf("%d,%d",&a,&b); c=max(a,b); printf("max is: %d\n",c); }
《C语言程序设计》实验报告

(此文档为word格式,下载后您可任意编辑修改!)《C语言程序设计》实验报告2012~2013学年第二学期班级姓名学号指导教师实验一实验项目名称:C程序的运行环境和运行C程序的方法所使用的工具软件及环境:Visual C++6.0一、实验目的:1.了解在Visual C++6.0环境下如何编辑、编译、连接和运行一个C程序;2.通过运行简单的C程序,初步了解C源程序的特点。
二、预习内容:教材《C语言程序设计教程》第1章。
三、实验内容:1.在Visual C++6.0环境下输入并运行下面的程序:#include<stdio.(){printf("This is a C program.\n");return0;}2.在Visual C++6.0环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。
#include<stdio.(){int a,b,suma=3;b=4;sun=a+b;print("%d+%d=%d\n",a,b,sum);return0;}四、实验结果:1.运行结果(或截图):2.(1)改正后的源程序:(2)运行结果(或截图):五、思考题:1.一个C程序上机的步骤有哪些?答:2.组成C程序的基本单位是函数,一个函数包括哪几个部分?答:成绩指导教师签名实验二实验项目名称:数据类型、运算符和表达式所使用的工具软件及环境:Visual C++6.0一、实验目的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使用方法;3.掌握基本算术运算符及其表达式的使用方法;4.掌握++、--运算符、赋值运算符及其表达式的使用方法。
二、预习内容:教材《C语言程序设计教程》第2章。
三、实验内容:1.在Visual C++6.0环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误。
#include<stdio.(){int2cd=3;floatπ=3.14;char for=′A′;printf("%d,%f,%c\n",2cd,π,for);return0;}2.在Visual C++6.0环境下输入并运行下面的程序,观察分析运行结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.C++ 程序设计实验报告:班级:学号:指导教师:.实验一VC6.0 环境入门与简单程序设计一、实验目的:1、熟悉 VC++6.0 开了环境并编写简单的C++ 程序。
3、使用 C++ 语言编写简单的输入输出程序。
4、使用 VC++6.0 的 DEBUG 调试功能:单步执行、设置断点、观察变量值。
二、实验内容:1、使用 VC++ 建立一个标准C++ 程序,编译、运行如下程序:#include<iostream>Int main(){Cout<< ”Hello World!\n”;Cout<< ”Welcome to C++!\n”;}2、编程计算图形的面积。
程序可计算圆形、长方形、正方形等的面积,运行时首先提示用户选择图形类型,然后根据不同图形类型,输入相关参数计算其面积,并将其显示出来。
#include<iostream>using namespace std;void circle_area();void rectangle_area();void square_area();int main().{int i;while(1){cout<<" 请输入图形类型(1:圆形; 2:长方形; 3:正方形; 4:退出。
): ";cin>>i;switch(i){case 1:circle_area();break;case 2:rectangle_area();break;case 3:square_area();break;case 4:return 0;default:cout<<"输入错误!\n";}}}void circle_area(){float r,s;cout<<" 输入圆的半径:";cin>>r;s=3.14*r*r;cout<<" 该圆的面积是:"<<s<<endl;}void rectangle_area(){float a,b,s;cout<<" 输入长方形的长和宽:";cin>>a>>b;s=a*b;cout<<" 该长方形的面积是:"<<s<<endl;}void square_area(){float a,s;cout<<" 输入正方形的边长:";cin>>a;s=a*a;cout<<" 该正方形的面积是:"<<s<<endl;}.实验二函数的应用一、实验目的:1、掌握函数的定义和调用方法。
2、练习重载函数的使用。
3、练习使用系统函数。
4、学习使用VC++ 的 DEBUG 调试功能,使用STEP INTO 追踪到函数的内部。
二、实验内容:1、编写一个函数把华氏温度转换为摄氏温度,转换公式:C=(F-32)*5/9 。
#include<iostream>using namespace std;void WenDu();int main(){WenDu();return 0;}void WenDu(){double s;double f;cout<<" 请输入华氏温度:";cin>>f;s=((f-39)*5/9.0);.cout<<" 摄氏温度为 "<<s<<"度"<<endl;}2、编写重载函数 Max1 可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值。
#include<iostream>using namespace std;int Max1(int a,int b);int Max1(int a,int b,int c);double Max1(double a,double b);double Max1(double a,double b,double c);int main(){int a,b,c;double x,y,z;cout<<" 请输入两个整数:";cin>>a>>b;cout<<" 最大值是: "<<Max1(a,b)<<endl;cout<<" 请输入三个整数:";cin>>a>>b>>c;cout<<" 最大值是: "<<Max1(a,b,c)<<endl;cout<<" 请输入两个浮点数:";cin>>x>>y;cout<<" 最大值是: "<<Max1(x,y)<<endl;cout<<" 请输入三个浮点数:";cin>>x>>y>>z;cout<<" 最大值是: "<<Max1(x,y,z)<<endl;return 0;}int Max1(int a,int b){int t;if(a>b)t=a;else if(b>a)t=b;return t;}int Max1(int a,int b,int c).{int t;if(a>b&&a>c)t=a;else if(b>a&&b>c)t=b;else if (c>a&&c>b)t=c;return t;}double Max1(double a,double b){double t;if(a>b)t=a;else if(b>a)t=b;return t;}double Max1(double a,double b,double c){double t;if(a>b&&a>c)t=a;else if(b>a&&b>c)t=b;else if (c>a&&c>b)t=c;return t;}3、使用系统函数pow(x,y) 计算X Y的值,注意包含头文件math.h 。
.#include<iostream>#include<math.h>using namespace std;int main(){int x,y;cout<<" 输入 x,y: ";cin>>x>>y;cout<<"x^y="<<pow(x,y)<<endl;return 0;}4、使用递归的方法编写函数求Fibonacci 级数,观察递归调用的过程。
#include<iostream>using namespace std;void Fibonacci();int main(){Fibonacci();return 0;}void Fibonacci(){int a,b,n,i,t;cout<<" 请输入前两项:";cin>>a>>b;cout<<" 请输入显示个数:";cin>>n;cout<<a<<""<<b<<" ";for(i=2;i<n;i++){t=a+b;cout<<t<<"";a=b;b=t;if((i+1)%5==0)cout<<endl;}cout<<endl;}实验三类与对象一、实验目的:1、掌握类与对象的声明和使用。
2、观察构造函数与析构函数的执行过程。
3、掌握具有不同访问属性的成员的访问方式。
4、使用 DEBUG 调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。
二、实验内容:1、声明一个CPU 类,包含等级 (rank) 、频率 (frequency) 、电压 (voltage) 等属性,有两个公有成员函数run 、 stop 。
其中, rank 为枚举类型CPU_Rank,声明为enumCPU_Rank{P1=1,P2,P3,P4,P5,P6,P7}, frequency 为单位是MHz 的整型数, voltage 为浮点型的电压值,观察构造函数和析构函数的调用顺序。
2、声明一个简单的computer类,有数据成员芯片(cpu) 、内存 (ram) 、光驱 (cdrom) 等等,有两个公有成员函数run、stop 。
cpu 为 CPU 类的一个对象, ram 为 RAM 类的一个对象, cdrom 为 CDROM 类的一个对象,声明并实现这个类。
#include<iostream>using namespace std;class CPU{public:void run_cpu();void stop_cpu();CPU(int fre,double vol);CPU();~CPU();CPU(CPU &p);private:double vol_cpu;};class RAM{public:void run_ram();void stop_ram();RAM(int fre,double vol);RAM();~RAM();RAM(RAM &p);private:int fre_ram;double vol_ram;};class CUMPUTER{friend class CPU;friend class RAM;public:void run_cum();void stop_cum();CUMPUTER();CUMPUTER(CPU c,RAM r);CUMPUTER(CUMPUTER &c);~CUMPUTER();private:CPU cpu;RAM ram;};void CPU::run_cpu(){cout<<"CPU运行"<<endl;cout<<fre_cpu<<","<<vol_cpu<<endl; }void CPU::stop_cpu(){cout<<"CPU停止"<<endl;}CPU::CPU(){vol_cpu=0;cout<<"CPU缺省样式构造函数调用完成"<<endl; }CPU::CPU(int fre,double vol){fre_cpu=fre;vol_cpu=vol;cout<<"CPU构造函数调用完成"<<endl;}CPU::~CPU(){cout<<"CPU析构函数调用完成"<<endl;}CPU::CPU(CPU &p){fre_cpu=p.fre_cpu;vol_cpu=p.vol_cpu;cout<<"CPU拷贝构造函数调用完成"<<endl;}void RAM::run_ram(){cout<<"RAM运行"<<endl;cout<<fre_ram<<","<<vol_ram<<endl;}void RAM::stop_ram(){cout<<"RAM停止"<<endl;}RAM::RAM(){fre_ram=0;vol_ram=0;cout<<"RAM缺省样式构造函数调用完成"<<endl; }RAM::RAM(int fre,double vol){fre_ram=fre;vol_ram=vol;cout<<"RAM构造函数调用完成"<<endl;}RAM::~RAM(){cout<<"RAM析构函数调用完成"<<endl;}RAM::RAM(RAM &p){fre_ram=p.fre_ram;vol_ram=p.vol_ram;cout<<"RAM拷贝构造函数调用完成"<<endl;}void CUMPUTER::run_cum(){cout<<"cumputer 运行 "<<endl;cpu.run_cpu();ram.run_ram();}void CUMPUTER::stop_cum(){cout<<"cumputer 停止 "<<endl;cpu.stop_cpu();ram.stop_ram();}CUMPUTER::CUMPUTER(CPU c,RAM r):cpu(c),ram(r){cout<<"CUMPUTER构造函数调用完成"<<endl;}CUMPUTER::CUMPUTER(CUMPUTER &c){cpu=c.cpu;ram=c.ram;cout<<"CUMPUTER拷贝构造函数调用完成"<<endl; }CUMPUTER::~CUMPUTER(){cout<<"CUMPUTER析构函数调用完成"<<endl;}int main(){CPU c1(1,5.5);CPU c2=c1;RAM r1(3,8.8);RAM r2=r1;CUMPUTER cum1(c1,r1);CUMPUTER cum2=cum1;c2.run_cpu();r2.run_ram();cum1.run_cum();cum1.stop_cum();cum2.run_cum();cum2.stop_cum();system("pause");}实验四C++ 程序结构一、实验目的:1、观察程序运行时变量的作用域、生存期和可见性。