“咚咚大龙酱”通过精心收集,向本站投稿了16篇c语言实验总结与反思,以下是小编收集整理后的c语言实验总结与反思,仅供参考,欢迎大家阅读。
篇1:c语言实验总结与反思
一、需求分析:
1.需求概述
设计一个职工信息管理系统,使之能提供以下功能:
(1)职工信息录入功能
(2)职工信息浏览功能
(3)职工信息删除功能
(4)职工信息修改功能
(5) 职工信息查询功能
2.需求说明
(1)职工信息包括:职工号、姓名、性别、出生年月、学历职务、工资、住址、电话,并且职工号要求不重复。
(2)录入的职工信息要求用文件形式保存,并对其进行浏览、查询、修改、删除等基本操作。
(3)对职工的信息分别按职工号、性别、姓名、工资四种方式进行查询,并返回所有符合条件的职工信息。
(4)对职工信息的修改应该逐个进行,一个职工的信息修改不应影响其他职工的信息。
(5)所设计的系统应以菜单的方式工作,应为用户提供清晰的使用提示,依据用户的选择进行各种处理,并要求在此过程中
能够尽可能的兼容用户使用过程中的异常情况。
二、总体设计
1.功能划分
该系统可以按功能进行模块划分,如下图所示:
其中:
(1) 菜单选择模块完成用户的选择,此模块也是职工信息管理系统的入口,用户所要进行的所有操作需要在此模块中选择,
并调用相对应的模块实现相应的功能。
(2) 信息输入模块完成信息的录入功能,输入的信息包括:职工号、姓名、性别、出生年月、学历职务、工资、住址、电话。
(3) 信息浏览模块完成对所有的职工的信息的显示。
(4) 信息查询模块分四种查询方式:按职工号查询、按性别查询、按姓名查询、按职务查询。并且输出相对应且符合要求的
职工信息。
(5) 信息修改模块完成的是职工信息的修改功能。
(6) 信息删除模块完成的是职工信息的删除功能。
2.数据结构
本系统中的主要数据结构为职工的信息,其中包含:职工号、姓名、性别、出生年月、学历职务、工资、住址、电话等,其
中的出生年月用结构体表示,其中又包含:出生的年份、出生的月份、出生的日期。
3.程序流程
系统的执行应从功能菜单的选择开始,依据用户的选择进行后续的处理,直到用户选择退出系统为止,其间应对用户的选
择做出判断及异常处理。系统流程图如下图所示:
三、详细设计
1. 数据结构
(1)职工信息:
struct Zg
{
char num[20]; //职工号
char name[15]; // 姓名
char sex; //性别
struct Birthday birthday; //出生年月char xueli[10]; //学历
char position[15]; //职务int wage; //工资
char address[20];住址
char phone[12]; //电话
}zg[N];
(2)出生年月
struct Birthday //出生年月
{
int year;
int month;
int day;
};
篇2:c语言实验总结怎么写
在科技高度发展的今天,计算机在人们之中的作用越来越突出。而C语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好C语言,这对我们以后的发展是十分重要的。
说到这,上机实验当然就是一个必不可少的环节了,C语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。
通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了C语言那就大错特错了。
我主要存在以下的这些缺点:
1、学习耐心与细心不足,如scanf(“%d”,&n);中的“&”有时候会忘了。而在最后
输出时又错写成printf(“%d”,&n);从而错误得输出了地址而不是我原来想要的答案。
2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解
题了。
3、
4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。 知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够
深刻。
5、
6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。 英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在
一点问题。
为了能更好地学好C语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。
实验中我深刻意识到完成程序的编写,决不意味着万事大吉。认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。所以程序的调试是一个技巧性很强的工作,它可能比编一个程序耗时更
多。由此可看出上机实践的重要性。
通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。编程的时候有因为顺利编出程序而开心过、有因为做得比人家慢而郁闷过、有因为不知从何入手而无奈过、有因为不知错出在哪而彷徨过??但随着练习的增多,我对C语言比以前熟了很多,不再只是纸上谈兵,我都有能力独立做出一些程序,可能对于一些“高手来说这不算什么,或者他们早就会了,但我依然觉得很开心,因为我跟我自己比是进步了。
当然,我还得感谢老师的指导与帮助,如果没有老师和其他同学的指点,我可能对C语言还是一筹莫展,在实验中遇到的大大少少的问题与所犯过的错误将是我以后的'要加以注意的地方与认真审查的部分,为我奠定坚固的基石。伴随着学习的深入,我发现高深的东西还有很多很多,不懂不熟的知识还有很多,所以我不能停步,对C语言,我以后会更加努力学习的。
篇3:c语言实验心得体会
在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。
在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。
包括了程序模块处理。
简单界面程序。
高级界面程序。
程序的添加修改。
用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
篇4:C语言总结
C语言总结
1.C语言程序的基本结构1.1添加stdio.h的引用
1.2添加一个main函数
1.3main函数的形式应该是
void main
{
}
2.C语言程序的编译运行过程
2.1编写源代码(CPU是不能直接执行C语言的)
2.2编译:将C语言的源代码翻译为机器语言的源代码
编译完成的结果一般是个exe文件
2.3运行:在DOS命令行中直接写exe文件的名称,就可以直接运行C语言编写的程序(exe)。
3.数据类型
数据类型的定义:存放数据的容器。
基础的数据类型有:
int:整型,一般的会占4个字节,32位
float:浮点类型(单精度),一般的会占4个字节,32位 存储的数据应该是带小数的数据 1.2 13.5 7.0
char:字符类型,一般的会占1个字节,8位,会存储单个字符。A,B,a,b,.,+,-,(,), ’A’,’X’,’\n’ ’\t’
扩展的数据类型:
long:长整型,存储的数据量要多一点 一般的应该是4个字节
short:短整型,一般的应该是2个字节
double:双精度的浮点类型,8个字节。
1.测量数据类型在内存中占多大的空间
使用sizeof运算符来测量
可以接受一个变量,也可以接受一个类型。
2.给变量赋值的时候,某种数据类型的常量
int:1,2,45 %d
long:12l %ld
short:12,23 %d
float:12.3f %f
double:12.3 %lf
char:’A’ %c
4.变量
4.1变量的定义:
定义完一个变量,没有初始化,这个时候变量中的值可能是一堆垃圾。如果要使用这种变量的话,那么必须对变量进行初始化过程:其实就是为变量赋值的过程。
变量的数据类型 变量的名称;
定义完一个变量,立即对这个变量用初始值给其进行初始化。
变量的数据类型 变量的名称=初始值;
定义变量必须在函数一开始。
int x;
x=123;
int y;//放在这个地方时错误的,应该放到和x变量定义一个地方。
4.2变量的使用
对于有累计过程的变量,必须对其进行初始化。
对于累加的变量应该初始化为0
对于累积的变量应该初始化为1
在程序运行的过程中可以对变量进行多次赋值。
变量可以在函数中定义:叫局部变量,只在当前定义的函数中使用,超出这个范围,将不再可用。
变量可以在函数外部定义:叫全局变量,在所有的函数中都可以使用
4.3变量的名称
变量的名称应该有明确的含义。
变量的名称应该采用英文单词的组合。
变量的名称如果采用了多个英文单词,那么第一个单词的首字符要小写,后续的单词的首字母要大写。这种命名方式叫骆驼命名法。
Pascal命名法:每个单词的首字母都必须大写。
Camel命名法:应用在局部变量中。
Pascal命名法:应用在全局变量,函数的名称。
应该类似于:userInput,computerNumber,compareResult
5.标识符:
变量的名称,函数的名称这些都叫标识符。
标识符的规范:
可以使用的字符:字母,数字,下划线。
对于标识符来说,第一个字符不能是数字,可以是字母或下划线。
一个标识符在同一个范围中只能应用在一个变量或一个函数名中。
变量名称的小规范:
i,j,k,m,n可以作为循环变量的名称。
x,y,z可以作为普通的变量使用。
除此之外,尽量不要使用单个字母来做变量的名称。
一般来说,变量的名称应该是一组名词的组合,修饰的词应该在变量名称的最前面。
函数名称:一般应该是动宾结构;动词+名词的形式。
GetUserInput()
GetMonthDays()
EatFood();
DrinkWater();
6.控制结构
总的控制结构有三种。
6.1顺序结构
一句接一句的顺序执行。
写在上面的语言应该先执行。
写在下面的语句应该后执行。
是使用最多的结构,因为顺序结构中没有关键字。
6.2分支结构
if else if
主要做范围匹配
if(条件表达式或者逻辑表达式)
因为条件表达式和逻辑表达式的结构都是真或假
对于if else if结构来说,一次只能匹配一个范围,只要有一个范围匹配成功,那么其他的分支将不会被执行。
分支结构可以嵌套。
switch case
主要做单值匹配
switch :需要匹配的变量的名称
case:单个值
default:啥都不写
break:是结束这个switch
switch后面的变量的数据类型应该是整型或字符类型,浮点类型不可以。
case:表明匹配上这个值应该做的工作。
case后面应该有个块。
在case块的最后,应该是break语句,用来跳出switch。
default:所有的case都没匹配上的时候,应该执行的语句块。default块中也应该有break。
当一个case块中没有任何内容的时候,可以不写break,那么这时候,将会匹配下一个case块中的内容。
switch case结构可以转换为if else if结构。
if else if不一定可以转换为switch case 结构
6.3循环结构
for循环
for(循环变量的初始化;循环执行的条件;循环变量变化的过程)//不能有分号
{
//循环体
//可能会执行多次
//循环执行的次数和for中的三个语句都有关系。
}
循环:
循环的种类:
1.确定次数的循环。
2.次数不确定,但是由程序来决定循环次数。
3.次数不确定,但是由用户来决定循环次数。
4.死循环。
循环的形式:
1.for(循环变量的初始化;循环执行的条件;循环变量变化的过程)
2.循环变量的初始化;while(循环执行的条件){循环变量变化的过程;}
3.循环变量的初始化;do while(循环执行的条件){循环变量变化的过程;}
数组:一组在内存中连续存放的变量的集合。
定义:
1.数组中元素的类型 数组的名称[数组的大小];
int ary[5];
2.数组中元素的类型 数组的名称[数组的大小]={数值1,数值2,.....};
大括号中的数值的个数,不能比数组的大小还多。
int ary[4]={1,2,3,4};
int ary[4]={1,2,3};
//错误的
int ary[4]={1,2,3,4,5};
3.数组中元素的类型 数组的名称[]={数值1,数值2,.....};
数组的大小是大括号中元素的个数。
使用:
1.赋值
数组的名称[数组元素的下标]=值;
数组元素的下标从0开始,到数组的`大小-1结束。
2.取值
变量的名称=数组的名称[数组元素的下标];
算法
1.查找(在数组中查找最大数)
首先假设数组中的第一个元素是最大的;
将数组中的其他元素挨个与最大数进行比较。
2.查找(在数组中查找指定的元素)
返回的结果是指定的元素在数组中的位置(下标或索引)
3.排序(冒泡)
核心思想:大数下沉,小数上浮。
需要用到循环嵌套
外层循环的次数是数组的大小-1轮。
里层循环的次数是数组的大小-1-轮索引
在里层循环中要做比较,比较完成后,需要做两个数的交换。
进制的转换
10-10
应用的算法是碾除法。
核心思想是:每次都取一个数的个位,直到原始数变成零,就结束了。
项目:证明6174。
1.拆分
2.排序
3.组最大数,组最小数
4.用最大数-最小数,查看差值是否是6174
5.如果不是,那么将差值重新作为新的可拆分的数,回到1.
函数:
程序执行过程中的特定功能的块。
printf()//stdio.h
main():必须有,且仅有一个。
自定义的函数:
按返回类型分:
1.没返回值的函数
返回类型一律是void
在调用的时候,不需要一个变量来接受函数的返回值。
2.有返回值的函数
返回类型是除void之外的其他的类型。
int Sum(int x,i 以用一个变量来接受函数的返回值。
按函数的参数来分:
1.有参数的函数
void Sum(int x,int y);
int Sum(int x,int y);
在调用的时候,必须传递参数。
2.无参数的函数
void main();
篇5:C语言实验报告《综合实验》
C语言实验报告《综合实验》 -实习报告
学号:__________ 姓名:__________ 班级:__________ 日期:__________指导教师:__________ 成绩:__________实验六 综合实验一、 实验目的1、掌握C语言中的变量、数组、函数、指针、结构体等主要知识点。2、掌握C程序的结构化程序设计方法,能使用C语言开发简单的`应用程序。3、掌握C程序的运行、调试方法等。二、 实验内容编写一个学生信息排序程序。要求:1、程序运行时可输入n个学生的信息和成绩(n预先定义)。2、学生信息包括:学号、英文姓名、年龄;学生成绩包括:语文、数学、计算机。3、给出一个排序选择列表,能够按照上述所列信息(学号、姓名、年龄、语文、数学、计算机)中的至少一个字段进行排序,并显示其结果。1、 使用函数方法定义各个模块。三、 实验步骤与过程物理实验报告 ・化学实验报告 ・生物实验报告 ・实验报告格式 ・实验报告模板 四、程序调试记录篇6:C语言实验报告《综合实验》
一、实验目的
1、掌握C语言中的变量、数组、函数、指针、结构体等主要知识点。
2、掌握C程序的结构化程序设计方法,能使用C语言开发简单的应用程序。
二、实验内容
编写一个学生信息排序程序。要求:
1、程序运行时可输入n个学生的信息和成绩(n预先定义)。
2、学生信息包括:学号、英文姓名、年龄;学生成绩包括:语文、数学、计算机。
3、给出一个排序选择列表,能够按照上述所列信息(学号、姓名、年龄、语文、数学、计算机)中的至少一个字段进行排序,并显示其结果。
1、使用函数方法定义各个模块。
三、步骤与过程
四、调试记录
篇7:C语言实验报告《综合实验》
指导教师:李***
****工程学院教务处制
实验项目
会计实务综合实验
实验日期
一、实验目的
在这一次的操作中,加深对会计理论知识的理解和掌握,通过对会计业务的运用和基本技能的训练,将专业理论和会计实务紧密结合。本实验的操作,也是对学生所学专业知识掌握程度及运用能力的一次综合考查,为他们以后从事的会计工作打下扎实的基础。
二、所用材料
1、实验模拟教材
2、计算器
3、钢笔、直尺
三、实验内容
根据本学期所学的中级会计实务的内容,解决我们实习中老师布置的问题,本学期所学的重点主要是投资性房地产、非货币性资产交换、借款费用、债务重组、或有事项、所得税的计算、会计政策、会计估计变更和差错更正以及资产负债表日后事项的调整。把每一个业务题都当作一个真实的业务处理,综合的运用本学期所学的重点内容。并学会综合简洁的整理好每一笔业务的处理分录以及财务报表中的体现方式,调整以前年度会计报表的方法等。
四、实验中存在的问题
(1)对会计估计变更和会计政策变更有些分不清界限。
(2)在最后的归集“以前年度损益调整”到“利润分配-未分配利润”的时候有时候数字会出现一些差错。
(3)对所得税的结转方面,应纳税暂时性差异和可抵扣暂时性差异的理解不够深入,有时会分不清弄得很混乱。
五、实验体会
本学期我们学习的是中级会计实务,讲解的内容也是上学期所学的财务会计的补充,都是一些企业中很难遇到的情况和问题,相对于上学期难度比较大。在平时的课堂中的学习觉得有些问题通过老师同学的沟通也是比较容易理解的,但是,也许是所做的习题量不够对业务处理的要点没有很准确的把握,这样就导致我们现在在实习中会遇到很多的问题都要通过阅读书本才能够了解和处理。
***的工作本身就是个细致的活,所以也要求我们能过谨慎细心的完(化学实验报告)成,对于,这次实习中的改错的题,就需要我们有扎实的基本功去挑出隐藏在题目中的小小的问题,了解每一个小问题的处理方法,注意细节的完成,会计的工作也是由每一个简单的细节的问题组成的大的业务问题。也许,一个大的企业中有很多的会计人员,每个人可能就会专门的负责某几个账户的问题,但是,在一个小的企业就没有那么多的会计人员了,所以,在每一方面都了解精通是很必要的,也会为我们以后更好的发展做好准备
在这次的实习中我觉得在第一次做这样的工作时,最好是有一个集体一起的讨论分析这些个问题,还有数字的核对,会计分录的建立。这样就会有一个愉快的氛围能让我们不是很烦躁,心情愉快才能解决那些纠结的数字问题。
六、教师评语
指导教师签字:
年月日
篇8:c语言实验初学心得体会
c语言实验初学心得体会
在科技高度发展的今天,计算机在人们之中的作用越来越突出。而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。
c语言实验初学心得体会【1】
看了一段时间的《C和指针》,这样看的效果不是很好,看着书本当时是懂了,有点恍然大悟的感觉,但是发现并不能真正的把理解的内容加入到自己程序当中,不能很好的去运用它,所以对于C语言我认为理论加实践,是学习C语言的最好方法,看书并不能完全理解书中的内容,也较容易遗忘,学习效率比较低,所以现在学习《数据结构》,在看书的同时,会在Microsoft Visual C++ 6.0软件上实践,严蔚敏写的《数据结构》这本书,比较经典但是这本书是伪算法,并不能直接在计算机上运行,对于初学者上机实践比较困难,另外说一下,我认为学习应该是在模仿中理解,在模仿中创新,所以我选择结合高一凡写的书《数据结构算法实现及解析》,这本书严蔚敏写的伪算法全部用程序实现了,给我上机实践提供了很大的帮助,貌似说到数据结构了,呵呵,回到正题,下面继续说说C语言。
指针是C语言的精华,也是C语言的难点,它就像一把双刃剑,锋利无比但运用的不好也会给自己带来危害,后果比较严重,所以重点来说说指针。
很多初学者弄不清指针和数组到底有什么样的关系,为避免混淆不清,下面总结一下指针和数组的特性。
指针是保存数据的地址,任何存入指针变量的数据都会被当作地址来处理,指针变量本身的地址由编译器另外存储,存储在哪里,我们并不知道,间接访问数据,首先取得指针变量的内容,把它作为地址,然后从这个地址读或写入数据。
指针可以用间接访问操作符(*)访问,也可以用以下标的形式访问,指针一般用于动态数据结构。
数组是用来保存数据的,数组名代表的是数组首元素的地址而不是数组的首地址,所以数组p与&p是有区别的,虽然内容相同,但意义却不同,&p才是整个数组的首地址,数组名是整个数组的名字,数组内每个元素并没有名字,不能把数组当一个整体来进行读写操作。
当然数组在初始化时也有例外,如int p[]=“12345”是合法的。
数组可以以指针的形式访问如*(p+i);也可以以下标的形式访问p[i],但其本质都是p所代表的数组首元素的地址加上i*sizeof(类型)个字节作为数据的真正地址来进行访问的。
数组通常用于存储固定数目且数据类型相同的元素。
刚开始的时候我
有点分不清指针数组和数组指针,现在也总结一下,指针数组,首先它是一个数组,数组的每个元素都是指针,可以理解为“存储指针的数组”的简称,数组指针,首先它是一个指针,它指向一个数组,在32位系统下永远只占4个字节,至于它指向的数组有多少个字节,并不知道,可以理解为“指向数组的指针”。
举个例子,int *p1[10]与int (*p2) [10], 要理解这个问题,首先要清楚操作符的优先级,“[]” 的优先级比“*” 的优先级高,所以首先p1与“[10]”结合构成一个数组p1[10],int *为修饰数组的内容,所以数组元素是指向int类型的指针,所以这个是指针数组,“” 的优先级比“[]” 的优先级高,“*”与p2结合构成一个指针变量,int修饰数组的内容,即数组的每个元素,数组这里并没有名字,是个匿名数组,现在清楚了p2是一个指针,它指向一个包含10个int类型数据的数组,即为数组指针。
下面再说说内存管理,内存分为三个部分:静态区、堆、栈。
其实堆栈就是栈,而不是堆。
静态区是保存自动全局变量和static变量。
静态区的内容在整个程序的生命周期内都存在,由编译器在编译的时候分配。
堆是由malloc系统函数分配内存的。
其生命周期由free和delete决定。
栈保存局部变量。
栈上的内容只在函数范围内存在,当函数运行结束,这些内容也会自动被销毁。
再说说有关内存需要注意的地方,定义了指针变量,在使用之前一定要初始化使它指向一块合法的内存,不管什么时候,我们在使用指针之前一定要确保指针是有效的。
使用malloc系列函数分配内存,使用完之后应及时释放内存,以防止内存泄露。
最后总结的说一下学习C语言的方法就是编程编程再编程,理论学习与上机操作同时进行,另外在编程序的过程中要养成良好的编程习惯。
篇9:c语言心得总结
在刚开始学习C语言的一段时间里,我总觉得C语言难懂和不容易使用。现在总结起来主要是以下三个方面的原因!
(1)只注重写程序,而忽视了读程序
学习计算机语言最好的方法是什么?很多人都认为是掌握程序思路会写程序,其实这个想法不正确,因为你连这门语言的思路都没有懂,怎么会写出真确的程序呢,所以我总结的方法是先读后写,也就是先学会读程序,再练习写程序。
读程序是学习C语言入门最快,也是最好的方法。对于没有学过任何语言的计算机初学者,最好还是先阅读教程,学习完每一章,都要认真体会这一章的所有概念,不放过这一章所提到的所有例题,仔细研读程序,直到每一行都理解了,然后找几个编程题目,最好是和例题相似的或一样的,自己试图写出这段已经读懂的程序。如果写不出来,也不要着急,回过头来再继续研究例题,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你熟练掌握为止。这是传智的尹凡老师一再强调的。在学习C语言时应该把精力先放在最基本、最常用的内容上,千万不要钻牛角尖,在一些细节上死抠,有一些细节可以随着学习的深入和实践的丰富,会自然而然的掌握的。
(2)没能将理论学习和上机实践有效结合
我们学习C语言,主要是掌握程序设计的一些基本方法和技巧。因此,在重视理论学习的同时,必须加强上机实验。只有在上机实践中我们才能正真学会如何编写程序和调试程序,体会到“优化”程序;也只有通过上机实践才能更好地掌握程序设计的理论知识;同样只有通过上机实践,我们才能真正体会C程序的运行过程!
然而在平时,我们恰恰就忽视了上机实验没有明确的实验目标,实验兴趣不大。上机时一些学生无所事事或玩游戏,不但害了自己,还影响其他同学。
(3)缺少一定逻辑思维能力
C语言其实是很基础的汇编语言,除了一些必须要记忆的关键字、语法和库函数,其余的都是需要靠自己的逻辑思维通过这些关键字、语法和库函数来组织或构成一个完整的函数,所以C语言大多数的学习时间都是在锻炼我们的抽象逻辑思维能力。只有当你具有了抽象逻辑思维能力和弄清楚了关键字、语法和库函数的相关知识后,编写C语言就不是难事了。
通过C语言初步的学习后都很容易弄懂关键字、语法和库函数的相关知识,那么如何来有效的锻炼自己的抽象逻辑思维能力呢?我的学习体会是:通过学习后所掌握的知识使用上课老师所提到的案例或找一段简单的完整的案例,然后将案例读懂,也就是把它转换成我们日常所能接受的自然语言(在这里不妨把你所能理解的自然语言写下来)。
还需注意的就是自己实在无法理解的地方不妨指出来多多请教老师和懂的同学让他们用自然语言来描述一道,并且记录下来这样可以达到事半功倍的效果。对一个计算机程序设计的初学者来说,C语言程序设计是一门基础课,学好它是为以后在学习其他高级言(如JAVA等)打下良好基础。上个学期我对《C程序设计》这本书从陌生、好奇到有兴趣。第一次触C语言的感觉直到现在还记忆犹新,当初的我看到的就是一个个的程序,其中的代码密密麻麻都是那么的繁琐,也很难看懂学懂。如今我对C语言有了一定的了解,对其中的小程序能独立编程,对一些较为复杂的程序能够看懂,并且可以仿造经典程序,构思、编写出能够解决小问题的程序了,我对C语言充满了信心。我想这与传智的尹凡老师的精心指导和同班同学相互学习和鼓励是分不开的。
我觉得入门还是多看些书,多实践,养成良好的编程习惯,在实践的同时多思考问题,多看别人优秀的解题思路与方法,多看别人优秀的代码,尝试自己去实现或者说模仿着去实现,让别人对你的代码多提意见,探究别人的思维过程,增强自己的思维能力,拓展视野,经常看看自己以前写的东西,有空拿出来改良改良,我想每隔一段时间,都会有意想不到的收获。
篇10:c语言实习总结
一周的C语言实训,虽然时间略显仓促,但却让我学到了很多实际运用的技能!
首先,在实训中的第一步是编写功能较为单一的小程序,虽然是小程序,但所用的知识却都是我们本学期学习的重点知识。在做题的过程中让我们把这些知识复习了一遍,强化了知识!
其次,这次作中所碰到的题目,在实训中已经接触过,所我们都比较深知这些题目的要求和算法,因次在编写小程序时比较快,而且算法也是比较简化,运算准确。鉴次我明白很多编程题要经过多次编写修改与调试,才会得到最简略的算法。
再次,平时我们学C语言视乎都是为了考试或者做一些比较常规的题目,而这次实训却给我们的将所学知识运用于解决实际问题的机会,让人更有激情,这就是编写软件的在雏形,也让我们感受到了编写软件程序的乐趣。但是不仅仅是如此,更为重要的是在运用所学知识的过程中,记住这些知识,并能够广泛的运用!
虽然我这次是编写一个菜单的程序,但是如果我么留心的话,我们身边有许多电子设备都是内置有程序的,我们也可以在此次专题实训过后,自行确定其他的专题进行编写程序,这样可以让我们的知识更加深化丰富!
这次实训似乎是对我巨大的考验,程序在不慌不忙的进行着,按照我自身的进度,提前完成是没有问题的,但是很多客观条件让我不得不在最后的时间里才上交的作业。每当我把程序写完以后,却由于每一台电脑的识别格式不一样而导致我所写的文件一次次的被损坏,尽管这样,我仍然没有放弃,最后还赶在截止时间到来之前上交了我的作业!
这一次编写大作业的程序又让我感受到学程序可以锻炼缜密的思维了。因为平时练习的都是小程序,所以句段比较少,一些错误都很容易被检查出来,但是这次实训却是上百段的语句,难以检查,似乎也没有经验去怎么检查,那一刹那感觉到很急,但又不知如何是好,可是又不轻易的向老师询问,因为好像蛮简单,相信自己能够检查出来,所以我一般都是独立思考的完成的,只有少部分是在老师和与同学讨论下完成的。
在编写程序中,真的是细节决定成败,因为不管程序的语句是多是少,但是只要有一条语句或语法不正确,就不能使程序得到所需要的结果。没能够使自己编写出来的程序等到想要的结果,意味着这是一个不理想的程序,对于本次编写来说则是失败的。
1.汉语言文学专业实习总结
2.汉语言文学专业实习生总结
3.实习护士实习总结
4.实习小组教育实习总结
5.教育实习个人实习总结
6.教育实习小组实习总结
7.实习记者实习总结
8.实习组教育实习总结
9.校实习生实习总结
10.护理实习生实习总结
篇11: C语言实习总结
在科技高度发展的今天,计算机在人们之中的作用越来越突出。而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。
在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。包括了程序模块处理.简单界面程序.高级界面程序.程序的添加修改.用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:
1.加深对课堂讲授内容的理解
课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。然而要使用c语言这个工具解决实际问题,又必须掌握它。通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的来自程序中的错误,而不是尽可能多地发现程序中存在的问题。自己编好程序上机调试运行时,可能有很多你想不到的情况发生,通过解决这些问题,可以逐步提高自己对c语言的理解和程序开发能力。
2.熟悉程序开发环境、学习计算机系统的操作方法
一个c语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。所谓环境就是所用的计算机系统硬件、软件条件,只有学会使用这些环境,才能进行程序开发工作。通过上机实验,熟练地掌握c语言开发环境,为以后真正编写计算机程序解决实际问题打下基础。同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。
3.学习上机调试程序
完成程序的编写,决不意味着万事大吉。你认为万无一失的程序,实际上机运行时可能不断出现麻烦。如编译程序检测出一大堆错误。有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。程序的调试是一个技巧性很强的工作,对于初学者来说,尽快掌握程序调试方法是非常重要的。有时候一个消耗你几个小时时间的小小错误,调试高手一眼就看出错误所在。
通过这次为数不多的几天计算机实践学习,我们了解了一些关于c语言的知识,理解巩固了我们c语言的理论知识,着对我们将来到社会工作将会有莫大的帮助。同时它让我知道,只要你努力,任何东西都不会太难。
篇12:c语言学习总结
怎么才能学好c语言呢?
1,要学习c语言的基本语言及程序结构,这时谭浩强的那本书就比较经典了。c语言学习心得。当然你不能只看书,要动手动写代码,去上机测试。因为很多时候写程序就是一个测试,你就是再牛的程序员也不能可写出没有bug的程序,所以学会找出程序中的错误很重要。这也是你以后分析他人的程序的先决条件,不可偷懒只看书,这样你是不可能学好一门计算机语言的。
2,分析他人写的程序,网上有很多实例代码,下载下来自己先看一下他们的实例是解决什么问题的,有时候很多经典的模块可以为已所用的。不过,网上下的代码中会存在很多问题,环境问题啊,编程习惯问题了,不过也好,在解决问题的过程中你会学到很多东西的,像我在分析网上下的代码时就遇到了我平时没有遇到的dos函数,masm与c语言的接合等方面的问题,学到了不少东西呢。
3,要是你再想学的深一点儿,那还得学习,,及,再深就要去分析linux内核或是驱动程序了,这因人而异。但不管怎么学,一定要有个方向,有计划,这样才会事半功倍。c语言学习心得。如果你能找到你想学习方面的高手指导,或是几个人一起学的话那就更好了。
4,分析c语言函数的实现方法。这对你很好地使用函数会很有帮助的,再者很多大公司的笔试题就是让你实现c语言的数,比如:中兴的strcpy,阿里巴巴的strcmp,上海贝尔公司宣讲会上一个技术总监说,要是谁能说出printf的实现方法及返回值,当场录用。再者,c语言经过这么多年的考验,仍然很热门,可见其开发是多么经典啊,学习一下c函数实现,比学习任何书都要好。要是再有兴趣的话就分析一下c的头文件,这也是个不错的学习方面。
篇13:c语言学习总结
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:
1。加深对课堂讲授内容的理解
课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。然而要使用c语言这个工具解决实际问题,又必须掌握它。通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实践中会发现
原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。即把c语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。只有通过上机才能检验自己是否掌握c语言、自己编写的程序是否能够正确地解题。
通过上机实验来验证自己编制的程序是否正确,恐怕是大多数同学在完成老师作业时的心态。但是在程序设计领域里这是一定要克服的传统的、错误的想法。因为在这种思想支配下,可能你会想办法去“掩盖”程序中的错误,而不是尽可能多地发现程序中存在的问题。自己编好程序上机调试运行时,可能有很多你想不到的情况发生,通过解决这些问题,可以逐步提高自己对c语言的理解和程序开发能力。
2。熟悉程序开发环境、学习计算机系统的操作方法
一个c语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。所谓“环境”就是所用的计算机系统硬件、软件条件,只有学会使用这些环境,才能进行程序开发工作。通过上机实验,熟练地掌握c语言开发环境,为以后真正编写计算机程序解决实际问题打下基础。同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。
3。学习上机调试程序
完成程序的编写,决不意味着万事大吉。你认为万无一失的程序,实际上机运行时可能不断出现麻烦。如编译程序检测出一大堆错误。有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。程序的调试是一个技巧性很强的工作,对于初学者来说,尽快掌握程序调试方法是非常重要的。有时候一个消耗你几个小时时间的小小错误,调试高手一眼就看出错误所在。
通过这次为数不多的几天计算机实践学习,我们了解了一些关于c语言的知识,理解巩固了我们c语言的理论知识,着对我们将来到社会工作将会有莫大的帮助。同时它让我知道,只要你努力,任何东西都不会太难。
[c语言学习总结]
篇14:C语言学习总结
经过了一段时间的学习,我觉得对c语言已经有了一个初步的认识。能够做到利用c语言编织出一些非常简单的程序,和读懂大部分的程序代码,明白程序要表达的意思。
下面是对C语言中有许多重要知识的总结:
1、一些基本的函数和基本数据类型的应用。其中,基本数据类型分为整型、浮点型、字符型、枚举类型。基本函数包括输入输出函数。
2、把运算符的优先顺序排列清楚,要分清楚哪个先运算,哪个后运算。
3、在编程之前要考虑好程序的算法,写出流程图,这样才能更加快速的、有效的编程。
4、要分清楚各个变量的生存期和作用域,不能发生混淆,以致发生错误。
5、数组和指针是c语言的经典之处,可以通用,并且互相转换,具有非常强大的功能,但是使用不当的话,会造成程序出错,打乱原有程序的规律,使可读性明显变差。
6、结构体也是常用的一种数据类型,它的功能也比较强大,相对于指针而言,结构体掌握起来比较容易理解和使用。
7、对于文件的操作是非常关键的,把输入的数据保存起来,下次还能够使用,这才是关键问题。所以对文件操作是否成功,使程序是否编制成功的重要因素。
我认为c语言是一门很基础的语言,所有的计算机语言都是相通的,只要一门学会了,其他语言就会很容易学会。但是c语言是基础中的基础,掌握好c语言对于今后别的语言的学习是非常有好处的。虽然学会了c语言的大部份基础知识,但是要掌握好c语言并不是一件简单的事情。以为把一点一滴的基础知识掌握牢固是不够的,主要是对程序编制要求的理解,思考如何利用c语言的所有基础知识来实现要编制程序的作用,以及如何更加简便的实现等等。这就需要有很强逻辑思维,和长时间的经验积累,以及自身的不断钻研等诸多因素的有机统一。
而我们软件测试的工作并不要求我们能够编出很复杂的程序,只要能够读懂编程人员的源程序就可以了。所以把c语言的基础知识学好是非常有必要的,也是必不可少的。
在学习c语言期间,每天都要不断的上机练习,这也是学好c语言必不可少的一步。因为不管你理论知识掌握的如何熟练,不上机实际操作的话,是没有任何效果的,许多问题都是在实际上机操作中显现出来的,在书本上是体现不出来的。书本上是永远不会出现你自己的思想成果的,正是应了那句话“实践是检验真理的唯一标准。”
学习完c语言后,我利用书本上的知识完成了软件工程师系统的11个版本。完成后才感觉到编写一个程序是多么不容易。光是这么一个简单的程序,就需要不断钻研和反复的推敲,还要加上大量的上机时间,现在才明白为什么编程是脑力劳动的真正意义了。
总之,通过c语言的学习,使我对计算机语言有了一些初步的认识和理解,使我对计算机语言不再像以前一样一无所知,认为那是高不可攀的、十分难以理解、一般人学不会的东西了。我认为只要学习方法掌握好,再加上刻苦的练习,是完全有可能学好任何一门计算机语言的。最后用一句话表明在学习c语言过程中的感受,那就是“痛苦并快乐着。”
篇15:C语言学习总结
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语言的基础如果把它们都了解很好了,那么你编起程序来就很得心应手了。比如说IF ELSE 和 SWITCH CASE 这两种条件语句都是用来判断执行功能的,那我要什么时侯用IF 什么时侯用 SWITCH呢?如果你很好地了解它们的结构和作用的话那么就知道:若它的条件分支是多个而且条件的值是整数或是一个字符值时就会选SWITCH而不会选IF。因为如果条件分支太多时要用IF语句,这样一定会出现IF的嵌套,如果IF的嵌套越多时程序的开销就会随着增大,这样对整个程序的运行效率就大在降底。而SWITCH就不同,它只要比较一次就可以找出条件的结果比起嵌套IF它的效率就大大的提高了很多。不过SWITCH也有它的约束条件,就是它的条件值一定要是一个整型数或是一个字符值,所以碰到它不能解决的问题时我们也会通常使用IF语句,毕竟IF语句它使用起来也比较方便用的范围也比较广。所以说了解语法规则是很重要的,如果没有一个良好的语法基础是很难编出一个好的程序!学习好基础后我们就可以开始来编程了。
篇16:c语言主要知识点总结
c语言主要知识点总结
◆知识点1:交换两个变量值的方法
1)采用第三方变量(最容易想到的方法)
2)采用加减法进行值得交换(面试时常用**)
代码如下:
b = a - b;a = a - b;b = a + b;
3)采用按位异或的位方式
代码如下:
a = a^b;b = a^b; a = a^b;
◆知识点2:取余运算%的结果与被除的符号相同,结果为两个正数取余后前面加符号
◆知识点3:sizeof的使用
sizeof是一种运算符不要想当然理解为函数
sizeof使用时可以不加()
sizeof可以加变量、常量、数据类型
跟数据类型是必须加()
◆知识点4:#include编译预处理命令与多文件团队开发
include编译预处理命令可以认为是:将后面的文件内容拷贝到当前的文件中
多文件团队开发:模块分别编译成.o都不能链接成功,合起来链接生成最终程序。
链接:把项目中所有相关联的.o目标文件、C语言函数库合并在一起,生成可执行文件
——函数的定义放.c文件,函数的声明放.h文件
——如果要使用某个.c文件中定义的函数,只需要#include这个.c文件对应的.h文件
——h文件的.作用:被别人拷贝。编译链接的时候不需要管.h文件
◆知识点5:数组的几种初始化方式如下:
int a[3] = {10, 9, 6};int a[3] = {10,9};int a[] = {11, 7, 6};int a[4] = {[1]=11,[0] = 7};(知道有此种初始化方式即可)
◆知识点6:数组的内存分析和注意点
存储空间的划分(内存的分配是从高地址到低地址进行的,但一个数组内部元素又是从低到高进行的)【注:对于以后学习重要】
数组名的作用,查看元素地址
注意数组不要越界
◆知识点7:字符串知识点
“123”其实是由’1’、’2’、’3’、’\0’组成
字符串的输出”%s”,’\0’是不会输出的
◆知识点8 : 字符串处理函数:strlen()
计算的是字符数,不是字数
计算的字符不包括’\0’,一个汉字相当于3个字符
例子:”哈haha“ 字符数为7
从某个地址开始的数字符个数,知道遇到’\0’为止
指针部分在C语言中占据重要地位,所以重点学习与整理了指针的知识:
◆知识点9:指针定义的格式
变量类型 *变量名
如:Int *p
◆知识点10:指针作用
能够根据一个地址值,访问对应的存储空间
例:
Int *p;Int a = 90;P = &a;*p = 10;//把10赋值给p所指的存储空间
◆知识点11:指针使用注意
Int *p只能指向int类型的数据
指针变量只能存储地址
指针变量未经初始化不要拿来间接访问其他存储空间
◆知识点12:指针与数组
遍历数组
int ages[5] = {10, 4, 9, 44, 99};for(int i = 0; i<5; i++){ printf(”%d“, ages[i]);}
使用指针遍历数组:
int *p;// 指针变量P指向了数组的首地址p = &ages[0];// 使用指针遍历数组for(int i = 0; i<5; I++){ printf(”ages[%d] = %d“, i, *(p + i));}
注:指针+ 1取决于指针的类型
注:数组的访问方式
数组名[下标]
指针变量名[下标]
*(p + i)
◆知识点13:指针与字符串
定义字符串的两种方式:
1、利用数组
Char name[] = “Andyzhao”
特点:字符串里的字符可以修改
适用场合:字符串内容需要经常修改
2、利用指针
Char *name = “itcast”
特点:字符串是一个常量,字符串里面的字符不能修改
使用场合:字符串的内容不需要修改,而这个字符串经常使用
◆知识点14:预处理指令(三种):
宏定义
条件编译
文件包含
1、宏定义的配对使用和带参数的宏:
#define ... #undef
带参数的宏:
#define sum(v1,v2) ((v1) + (v2))//括号是必须的
例如:
#define pingfang(a) a*a #define pingfang(a) (a*a)
调用时
pingfang(10)/pingfang(2)//不正确 pingfang(5+5)//不正确 带参数的宏效率比函数高
2、条件编译(一般是判断宏的值)
#if 条件 ... #elif 条件 ... #else ... #endif(非常重要)不然后面的代码全部无效
3、文件包含:
表示系统自带的文件,”“表示自定义文件
不允许循环包含,比如a.h包含b.h,b.h又包含a.h
◆知识点14:typedef 只是给类型起了个别名并不是定义新类型
struct Student{ int age; char *name; }; typedef struct Student Student; 等价于typedef struct Student{ int age; char *name; }Student; 也等价于typedef struct { int age; char *name; }Student;
类似的给枚举类型起名
typedef enum Sex { Man,Women }Sex;
下面这种情况的写法比较特殊
//下面是函数指针类型的自定义数据类型,返回值类型和参数类型要匹配
#includetypedef int (*TypeFuncPointer)(int, int); int add(int a, intb) { return a + b; } int minus(int a, intb) { return a - b; } int main() { TypeFuncPointer p = add;//使用自定义类型 TypeFuncPointer p2 = minus;//使用自定义类型 printf(”add = %d“,p(1, 2)); printf(”minus = %d“,p2(1, 2)); return 0; }
下面是定义结构体的指针类型
typedef struct Student{ int age; char *name; }*PtrStu; //使用方式 Student stu ={18, ”zhangsan"}; PtrStu p = &stu;
宏定义也是可以为类型起名的
#define Integer int 相当于typedef int Integer
注意和typedef的区别
例如:
typedef char * String #define String2char *
◆知识点15:static和 extern区别是能否进行跨文件访问
①.函数
②.变量
1、对函数的作用:
外部函数:定义的函数能被本文件和其他文件访问
内部函数:定义的函数只能被本文件访问
默认情况下,所有函数都是外部函数(相当于带关键字extern),所以可以省略
extern作用:
完整的定义和引用一个外部函数都加extern
引用时也是默认是外部函数所以也省略extern
static作用:定义一个内部函数
使用:static返回类型函数名(参数列表)
不能被其他文件调用
一个项目中,本文件的外部函数名不能和其他文件的外部函数同名(error)
本文件中的内部函数(static)可以和其他文件的函数名同名的
2、对变量的作用:
全局变量分为两种:
外部变量:定义的变量可以被其他文件访问
①.默认情况下所有的全局变量都是外部变量
②.不同文件中的同名外部变量都代表同一个
③.定义一个外部变量不加extern,声明才加extern
同样的声明是没有错误的
内部变量:定义的变量不能被其他文件访问
不同文件的同名内部变量互不影响