您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > c语言2019课件—
C语言主讲教师:王凤英联系方式:15524332252教研室:智能化教研室教材、参考书与课时安排教材C程序设计与应用C程序设计与应用实验指导及习题参考书C程序设计(第三版)谭浩强清华大学出版社C语言程序设计教程谭浩强高等教育出版社C程序设计试题汇编谭浩强清华大学出版社课时安排40学时+8(上机)§熟记C语言的基本概念§熟悉VC与TurboC的上机操作环境§会读、会编、会调试C程序学习要点熟记C语言的语法学会算法分析与算法设计课程目的课程要求课前请做好预习保持课堂安静,头脑清醒,思维活跃认真、独立、按时完成并提交作业重视上机实践,有效利用宝贵的上机时间第1章C程序设计概述第2章数据类型与表达式第3章顺序结构第4章选择结构第5章循环控制第6章数组第7章函数第8章指针第9章结构体与共用体第10章文件教学内容C语言程序的基本结构运行C语言程序的步骤与程序开发环境算法第1章C程序设计概述程序设计的基本概念C语言简介结构化程序设计思想和方法§程序§程序设计§程序设计语言1.1程序设计的基本概念机器语言高级语言汇编语言机器语言汇编语言高级语言面向过程面向对象CPU指令系统,由0、1序列构成的指令码组成如:10000000加10010000减用助记符号描述的指令系统,可进行地址、位操作如ADDA,B编写系统软件,直接对硬件操作,可读性,移植性差面向机器的语言可读性,移植性好,编写应用程序一般较难实现汇编语言的某些功能如:地址和位的操作C语言兼有高级和低级语言的功能适合写系统软件和应用软件又称中级语言程序设计语言的发展§C语言的发展历史1.2C语言简介C语言的诞生C语言的发展C语言的成熟C语言发展过程产生背景ALGOL60→CPL语言→BCPL→B语言,写UNIX系统产生过程时间:1972~1973地点:美国贝尔实验室目的:UNIX操作系统设计人:Ken.Thompson和Dennis.M.RitchieC标准标准C:1978年K&R合著《TheCProgrammingLanguage》ANSIC:1983年87ANSIC:1987年1990年国际标准的ANSIC,1994年再次修订。C版本MicrosoftC或称MS-CTurboC或称TC§C语言的特点语言简洁、紧凑、灵活运算符丰富数据结构、数据类型丰富链表、树、栈程序设计结构化、模块化结构化控制语句:if…else、while、switch、for函数作为模块单位语法不严格、程序设计自由度大可以访问内存地址、进行位运算生成目标代码质量高可移植性好32个关键字:(由系统定义,不能重作其它定义)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhileTurboC扩充了11个关键字:asm_cs_ds_es_sscdeclfarhugeinterruptnearpascal注意:在C语言中,关键字都是小写的。C语言简洁、紧凑,使用方便、灵活。ANSIC一共只有32个关键字,见365页附录B9种控制语句:if()~else~for()~while()~do~while()continuebreakswitchgotoreturnC语言有9种控制语句,程序书写形式自由,主要用小写字母表示,压缩了一切不必要的成分。34种运算符:算术运算符:+-*/%++--关系运算符:====!=逻辑运算符:!&&||位运算符:~|^&赋值运算符:=及其扩展条件运算符:?:逗号运算符:,指针运算符:*&求字节数:sizeof强制类型转换:(类型)分量运算符:.-下标运算符:[]其它:()-注意:各种运算符混合使用,其优先级与结合方法是难点,可先预习。C语言运算符丰富(附录C)C数据类型基本类型构造类型指针类型空类型void定义类型typedef数值类型字符类型char枚举类型enum整型浮点型单精度型float双精度型double短整型short长整型long整型int数组结构体struct共用体unionC语言数据结构丰富§先抄写程序,运行,再改写,最后独立第编写程序。§多上机实践§扩展视野如何学习C语言§1.3简单的C程序介绍/*example1.1ThefirstCProgram*/#includestdio.hvoidmain(){printf(“Thisisacprogram.\n”);}注释编译预处理主函数语句输出:Thisisacprogram.例1.1第一个程序Thisisacprogram.printf语句中的“\n”是换行符例1.2求俩个数的和/*example1.1calculatethesumofaandb*/#includestdio.h/*Thisisthemainprogram*/voidmain(){inta,b,sum;/*定义变量*/a=10;b=24;sum=add(a,b);printf(”sum=%d\n,sum);}/*Thisfunctioncalculatesthesumofxandy*/intadd(intx,inty){intz;z=x+y;return(z);}运行结果:sum=34函数语句预处理命令注释printf语句中的“%d”是表示“十进制整数类型”例1.3从键盘输入两个整数,输出其中较大的数#includestdio.hvoidmain(){intmax(intx,inty)inta,b,c;scanf(“%d,%d”,&a,&b);c=max(a,b);printf(max=%d,c);}intmax(intx,inty){intz;if(xy)z=x;elsez=y;return(z);}scanf语句中“&a”的含义是“取地址”输入:10,20输出:max=20声明部分,定义变量调用max函数,返回值赋给c定义max子函数,函数值、形参x、y为整型通过max函数将z值带回调用处C语言程序的编写要求习惯用小写字母,大小写敏感不使用行号,无程序行概念可使用空行和空格常用锯齿形书写格式所有标点都是英文符号main(){……………….…………………………..…………..……………….………………………….……………….………………..}main(){inti,j,sum;sum=0;for(i=1;i10;i++){for(j=1;j10;j++){sum+=i*j;}}printf(“%d\n”,sum);}优秀程序员的素质之一:使用TAB缩进{}对齐有足够的注释有合适的空行C语言程序的编写要求函数与主函数程序由一个或多个函数组成必须有且只能有一个主函数main(),可以放在程序中任一位置一个C程序必须从main开始执行,在main中结束,其它函数通过嵌套调用得以执行。函数由函数的首部和函数体构成。例:/*Thisisthemain/*ofexample1.1*/*/非法C语言程序的编写要求开头多个include“”程序的开头可以定义全局变量程序语句C程序由语句组成用“;”作为语句终止符注释/**/为注释,不能嵌套不产生编译代码例:/*Thisisthemain/*ofexample1.1*/*/非法编辑链接编译执行§1.4运行C语言程序的步骤与程序开发环境C程序开发步骤开始编辑编译连接执行有错?结果正确?结束有源程序file.c目标程序file.obj库函数和其它目标程序可执行目标程序无正确不正确file.exe程序代码的录入,生成源程序*.c语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exe源程序目标程序可执行程序内容程序设计语言机器语言机器语言可执行不可以不可以可以文件名后缀.c或.cpp.obj.exeTurboC集成开发环境配置要求UNIX,PC-DOS,MS-DOS,UCDOS操作系统硬盘容量约2M,448KRAM运行空间安装TurboC创建子目录Install若不是可安装盘,将文件拷贝到对应的目录下TC*.*INCLUDELIB*.*SYS*.*进入TurboCD:\TCTC.exe主控菜单文件操作FILE:NewLoadSaveWriteto编辑操作EDIT:插入/修改块查找/替换编译链接COMPILELINKMAKE执行RUN退出TurboCAlt+xAlt+F,Q帮助HelpF1Ctrl+F1基本操作:F10-----调用主菜单F2------存盘F3------打开F1------帮助信息Alt+F9------CompileCtrl+F9------RunAlt+F5------UserScreenAlt+X------退出Tc常用热键文本编辑:-------移动光标PgUp,PgDn------上下翻页Ctrl+PgUp,Ctrl+PgDn------文件首尾Home行首End行尾DdeleteInsertBkspace块操作:Ctrl+KB-------块开始标记Ctrl+KK--------块结束标记Ctrl+KC-------块拷贝Ctrl+KV--------块移动Ctrl+KY-------块删除Ctrl+KH--------块隐藏程序调试:F8-----StepoverF7-------TraceintoF4-----GotoCursorCtrl+F7--------AddWatchCtrl+F8------ToggleBreakpointCtrl+F2--------ProgramReset窗口操作:F5-----窗口缩放F6-----窗口切换VC++6.0集成开发环境建立自己的文件夹启动VC++新建文件编辑和保存编译连接运行关闭工作区查看源文件算法概述算法表示算法的特性结构化程序设计的思想和方法1.5程序的灵魂——算法程序包括的内容:数据结构:数据的类型和组织形式算法:操作步骤的描述NikiklausWirth提出:程序=数据结构+算法新的提法程序=算法+数据结构+程序设计方法+语言工具和环境灵魂加工对象工具§算法的概念为解决一个问题而采取的方法和步骤,就成为算法。例如:歌曲的乐谱,建造房子等。算法核心是解决“做什么”和“怎么做”的问题。可以有多种方法,一般采用简单和运算步骤少的。准确、高效简单算法举例§例1:求1X2X3X4X5最原始的方法:S1:先求1×2,得结果2。S2:将S1步得到的结果再乘以3,得结果6。S3:将S2步得到的结果再乘以4,得结果24。S4:将第S3步得到的结果再乘以5,得120。即最后结果。思考:如果按照此方法,求1×2×3×...×100,要写多少步?上述计算方法不可取!99步!§改进的方法(或通用的方法):先设两个变量p和i,p代表被乘数,i代表乘数。并且将每一步乘积直接放入被乘数变量p中。用循环算法求结果。S1:令p=1S2:令i=2S3:使pxi,并将乘积放入p中。通常表示为p×i=pS4:使i的值加1,表示为i+1=iS5:如果i≤5,返回到S3继续向下执行;否则算法结束。p中的值即最后结果。思考:如何采用此方法求100!先设两个变量p和i,p代表被乘数,i代表乘数。并且将每一步乘积直接放入被乘数变量p中。用循环算法求结果。S1:令p=1S2:令i=3S3:使p×i,并将乘积放入p中。通常表示为p×i=pS4:使i的值加2,表示为i+2=iS5:如果i≤13,返回到s3继续向下执行;否则算法结束。p中的值即最后结
本文标题:c语言2019课件—
链接地址:https://www.777doc.com/doc-7145699 .html