




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计C程序的上机步骤C语言发展历史C语言的特点简单的C程序介绍第一章C语言概述机器语言汇编语言高级语言计算机唯一能识别和处理的语言,由0、1序列构成的指令代码,用10000000表示“+”用助记符号描述的指令系统用ADDA,B表示“A+B”面向机器的语言用sum=a+b;来实现求和面向过程、面向对象的语言程序设计语言的发展C语言出现的历史背景产生过程时间:1972~1973地点:美国贝尔实验室目的:UNIX操作系统设计人:Ken.Thompson和D.M.RitchieC语言发展过程C标准标准C:K&R合著《TheCProgrammingLanguage》ANSIC:1983年87ANSIC:1987年(通过ISO认证)C版本MicrosoftC或称MS-C
TurboC或称TCC语言发展过程C兼有高级语言和低级语言的特点
语言简洁、紧凑、灵活运算符和数据类型丰富程序设计结构化、模块化语法限制不太严格允许直接访问物理地址生成目标代码质量高可移植性好C语言特点32个关键字:(由系统定义,不能重作其它定义)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhileANSIC一共只有32个关键字,见365页附录B在C语言中关键字都是小写的!C语言简洁、紧凑,使用方便、灵活34种运算符:算术运算符:+-*/%++--关系运算符:<<===>>=!=逻辑运算符:!&&||位运算符:<<>>~|^&赋值运算符:=及其扩展条件运算符:?:逗号运算符:,指针运算符:*&求字节数:sizeof强制类型转换:(类型)分量运算符:.->下标运算符:[]其它:()-C语言运算符丰富C数据类型基本类型构造类型指针类型空类型void定义类型typedef数值类型字符类型char枚举类型enum整型浮点型单精度型float双精度型double短整型short长整型long整型int数组结构体struct共用体unionC语言数据结构丰富9种控制语句:if()~else~for()~while()~do~while()continuebreakswitchgotoreturnC语言有9种控制语句,程序书写形式自由,主要用小写字母表示,压缩了一切不必要的成分。<常用用的的高高级级语语言言BASIC语语言言Beginner’’sAll-purposeSymbolicInstructionCodeFORTRAN语语言言FORmulaTRANslatorCobol语语言言COmmonBusinessOrientedLanguagePascal语语言言C语语言言Java1.例1.1第第一一个个程程序序Hello,World!/*example1.1ThefirstCProgram*/main(){printf(“Hello,World!\n””);}注释主函数语句Hello,World!输出出::printf语句中的“\n”是换行符简单单的的C程序序介介绍绍例1.2两两数数求求和和运运算算main(){inta,b,sum;/*定定义义变变量量*/a=123;b=456;sum=a+b;printf(““sumis%d\n”,sum);}sumis579输出出::main(){inta,b,sum;/*定义义变变量量*/a=123;b=456;sum=a+b;printf(““sumis%d\n”,sum);}如何计算123×456的积?
printf语句中的“%d”是表示“十进制整数类型”例1.3从从键键盘盘输输入入两两个个整整数数,,输输出出其其中中较较大大的的数数main(){inta,b,c;scanf(““%d,%d””,&a,&b);c=max(a,b);printf("max=%d",c);}/*定定义义max函函数数*/intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}main(){inta,b,c;scanf(““%d,%d””,&a,&b);c=max(a,b);printf("max=%d",c);}/*定定义义max子子函函数数*/intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}scanf语句中“&a”的含义是“取地址”10,20max=20输入:输出:例::/*Thisisthemain/*ofexample1.1*/*/非法C语语言言结结构构特特点点函数数与与主主函函数数C程序序是是由由函函数数构构成成的的一个个程程序序中中有有且且只只能能有有一一个个主主函函数数main()程序序执执行行从从main开开始始,,在在main中中结结束束,,其其它它函函数数通通过过嵌嵌套套调调用用得得以以执执行行。。程序序语语句句C程序序书书写写格格式式自自由由,,一一行行可可有有多多个个语语句句用““;”作作为为语语句句终终止止符符注释释/**/为注注释释,不不能能嵌嵌套套不产生编编译代码码main(){………………….………………………………..……………..……………….……………………………….………………….…………………..}main(){inti,sum;sum=0;for(i=1;i<100;i++){sum+=i;/*求和和*/}printf(“%d\n””,sum);}优秀程序序员的素素质之一一:使用TAB缩进进{}对对齐有足够的的注释有合适的的空行习惯用小小写字母母,大小小写敏感感不使用行行号,无无程序行行概念可使用空空行和空空格常用锯齿齿形书写写格式格式特点点编辑链接编译执行程序代码码的录入入,生成源程程序*.c语法分析析查错,,翻译生成目标标程序*.obj与其它目目标程序序或库链接装配配,生成成可执行行程序*.exe软件用户得到的仅仅是可执行程序!C程序执执行步骤骤C程序的的上机步步骤第二章程程序的的灵魂———算法法(Algorithm)NikiklausWirth提提出:程序=
数据结构(datastructure)+算法(algorithm)教材认为为:程序=算法+数据结构构+程序设计计方法+语言工具具和环境境灵魂加工对象象VC或者者Java程序的要要素结构化程程序设计计算法的概概念算法为解决一一个问题题而采取取的方法法和步骤骤在有限步步骤内求求解某一一问题所所使用的的一组定义义明确的的规则【例2.1】求求1×2×3××4×5。最原始方方法:步骤1::先求1×2,,得到结结果2。。步骤2::将步骤骤1得到到的乘积积2乘以以3,得得到结果果6。步骤3::将6再再乘以4,得24。步骤4::将24再乘以以5,得得120。这样的算算法虽然然正确,,但太繁繁。改进的算算法:S1:使使t=1S2:使使i=2S3:使使t××i,乘乘积仍仍然放在在在变量量t中,,可表示示为t××i→tS4:使使i的的值+1,即i+1→→iS5:如如果i≤5,返回回重新执执行步骤骤S3以以及其后后的S4和S5;否则则,算法法结束。。【例2.3】判判定2000——2500年中的的每一年年是否闰闰年,将将结果输输出。润年的条条件:能被4整整除,但但不能被被100整除的的年份;;能被100整除除,又能能被400整除除的年份份;设y为被被检测的的年份,,则算法法可表示示如下::S1:2000→yS2:若若y不能能被4整整除,则则输出y“不是是闰年””,然后后转到S6S3:若若y能被被4整除除,不能能被100整除除,则输输出y““是闰年年”,然然后转到到S6S4:若若y能被被100整除,,又能被被400整除,,输出y“是闰闰年”否否则输输出y““不是闰闰年”,,然后转转到S6S5:输输出y““不是闰闰年”。。S6:y+1→→yS7:当当y≤2500时,返返回S2继续续执行,,否则,,结束。。算法的特特征确定性有零个或或多个输输入有效性有一个或或多个输输出有穷性自然语言言表示流程图表表示N-S流流程图表表示伪代码表表示计算机语语言表示示顺序结构构选择结构构循环结构构怎样表示示一个算算法流程图要要素结构化程程序设计计基本思想想:任何何程序都都可以用用三种基基本结构构表示,,限制使使用无条条件转移移语句((goto)结构化程程序:由由三种基基本结构构反复嵌嵌套构成成的程序序优点:结结构清晰晰,易读读,提高高程序设设计质量量和效率率程序的三三种基本本结构ABAB流程图N-S图顺序结构构PAB真假PBA真假kA1A2AiAnk=k2k=k1k=knk=ki......二分支选选择结构构多分支选选择结构构选择结构构当型循环环结构直到型循循环结构构PA假真当P为真AAP真假A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全生产个人述职报告范文
- 林木育种中的树冠结构与光合调节技术考核试卷
- 生态建筑与节能技术考核试卷
- 煤炭行业的安全生产与应对突发事件考核试卷
- 手工具设计与用户体验研究考核试卷
- 玻璃纤维增强塑料的成型方法考核试卷
- 火力发电厂施工中的绿色施工实践考核试卷
- 批发市场版权交易法规与实务考核试卷
- 智能车载设备编程语言基础考核试卷
- 2025届河南省周口市项城三高高三5月一诊模拟数学试题
- 库房管理工作职责与规范化
- Unit 3Keep Fit.教案2024-2025学年人教版(2024)七年级英语下册
- 2024-2025学年七年级下学期数学期中测试(浙江瑞安市专用)(含答案)
- 2025年浙江省杭州市拱墅区中考语文模拟试卷含答案
- WMS仓库管理系统采购协议
- 保障公路、公路附属设施质量和安全的技术评价报告
- 酒驾案件办理培训课件
- 2022年10月自考06779应用写作学试题及答案
- 部编版语文八年级下册《古诗苑漫步》课堂实录
- 《美在身边》PPT课件.ppt
- 2016年最新《援外出国人员生活待遇管理办》法
评论
0/150
提交评论