c语言程序设计(谭浩强)(完整版)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

教材、参考书与课时安排仅供个人学习参考之用教材C程序设计(第二版)谭浩强编著清华大学出版社参考书C语言程序设计教程谭浩强高等教育出版社C高级实用程序设计王士元清华大学出版社C程序设计试题汇编谭浩强清华大学出版社课时安排64学时§熟记C语言的基本概念§熟悉TurboC的上机操作环境§会读、会编、会调试C程序学习要点熟记C语言的语法学会算法分析与算法设计课程目的课程要求课前请做好预习保持课堂安静,头脑清醒,思维活跃认真、独立、按时完成并提交作业重视上机实践,有效利用宝贵的上机时间第1章C语言概述第2章程序的灵魂—算法第3章数据类型、运算符与表达式第4章最简单的C程序设计—顺序程序设计第5章选择结构程序设计第6章循环控制第7章数组第8章函数第9章预处理命令第10章指针第11章结构体与共用体第12章位运算第13章文件目录C语言发展历史C语言的特点简单的C程序介绍C程序的上机步骤第1章C语言概述C语言程序设计第一章C语言概述§1.1C语言发展历史程序设计语言的发展机器语言汇编语言高级语言面向过程面向对象CPU指令系统,由0、1序列构成的指令码组成如:10000000加10010000减用助记符号描述的指令系统,可进行地址、位操作如ADDA,B编写系统软件,直接对硬件操作,可读性,移植性差面向机器的语言C语言程序设计第一章C语言概述可读性,移植性好,编写应用程序一般较难实现汇编语言的某些功能如:地址和位的操作C语言兼有高级和低级语言的功能适合写系统软件和应用软件又称中级语言C语言发展过程产生背景ALGOL60→CPL语言→BCPL→B语言,写UNIX系统产生过程时间:1972~1973地点:美国贝尔实验室目的:UNIX操作系统设计人:Ken.Thompson和Dennis.M.RitchieC标准标准C:1978年K&R合著《TheCProgrammingLanguage》ANSIC:1983年87ANSIC:1987年1990年国际标准的ANSIC,1994年再次修订。C版本MicrosoftC或称MS-CTurboC或称TCC语言程序设计第一章C语言概述§1.2C语言的特点语言简洁、紧凑、灵活运算符丰富数据结构、数据类型丰富链表、树、栈程序设计结构化、模块化结构化控制语句:if…else、while、switch、for函数作为模块单位语法不严格、程序设计自由度大可以访问内存地址、进行位运算生成目标代码质量高可移植性好C语言程序设计第一章C语言概述32个关键字:(由系统定义,不能重作其它定义)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhileTurboC扩充了11个关键字:asm_cs_ds_es_sscdeclfarhugeinterruptnearpascal注意:在C语言中,关键字都是小写的。C语言程序设计第一章C语言概述C语言简洁、紧凑,使用方便、灵活。ANSIC一共只有32个关键字,见365页附录B9种控制语句:if()~else~for()~while()~do~while()continuebreakswitchgotoreturnC语言程序设计第一章C语言概述C语言有9种控制语句,程序书写形式自由,主要用小写字母表示,压缩了一切不必要的成分。C语言程序设计第一章C语言概述表1.1C语言与Pascal语言比较通过表1.1我们可以得出结论:C比Pascal简练,因此源程序更短,编程效率高。C语言PASCAL语言含义{}if(e)S;inti;inta[10];intf();int*p;i+=2;i++,++I;BEGINENDIF(e)THENS;VARi:INTEGER;VARa:ARRAY[1..10]OFINTEGER;FUNCTIONf():INTEGER;VARP:INTEGER;i=i+2;i=i+1;函数体、分程序、复合语句条件语句定义i为整形变量定义a为一维数组定义f为返回整形值函数;p为指向整形变量的指针变量;赋值语句,使i+2赋给Ii自增值1,i加1赋给I34种运算符:算术运算符:+-*/%++--关系运算符:====!=逻辑运算符:!&&||位运算符:~|^&赋值运算符:=及其扩展条件运算符:?:逗号运算符:,指针运算符:*&求字节数:sizeof强制类型转换:(类型)分量运算符:.-下标运算符:[]其它:()-注意:各种运算符混合使用,其优先级与结合方法是难点,可先预习。C语言程序设计第一章C语言概述C语言运算符丰富(附录C)C数据类型基本类型构造类型指针类型空类型void定义类型typedef数值类型字符类型char枚举类型enum整型浮点型单精度型float双精度型double短整型short长整型long整型int数组结构体struct共用体unionC语言程序设计第一章C语言概述C语言数据结构丰富§1.3简单的C程序介绍/*example1.1ThefirstCProgram*/#includestdio.hvoidmain(){printf(“Thisisacprogram.\n”);}C语言程序设计第一章C语言概述注释编译预处理主函数语句输出: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函数语句预处理命令注释C语言程序设计第一章C语言概述printf语句中的“%d”是表示“十进制整数类型”C语言程序设计第一章C语言概述例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语言格式特点习惯用小写字母,大小写敏感不使用行号,无程序行概念可使用空行和空格常用锯齿形书写格式C语言程序设计第一章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(),可以放在程序中任一位置程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。程序语句C程序由语句组成用“;”作为语句终止符注释/**/为注释,不能嵌套不产生编译代码例:/*Thisisthemain/*ofexample1.1*/*/非法编译预处理命令C语言程序设计第一章C语言概述编辑链接编译执行§1.4C程序的上机步骤C程序开发步骤开始编辑编译连接执行有错?结果正确?结束有源程序file.c目标程序file.obj库函数和其它目标程序可执行目标程序无正确不正确file.exeC语言程序设计第一章C语言概述程序代码的录入,生成源程序*.c语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exe源程序目标程序可执行程序内容程序设计语言机器语言机器语言可执行不可以不可以可以文件名后缀.c或.cpp.obj.exeTurboC集成开发环境配置要求UNIX,PC-DOS,MS-DOS,UCDOS操作系统硬盘容量约2M,448KRAM运行空间安装TurboC创建子目录Install若不是可安装盘,将文件拷贝到对应的目录下TC*.*INCLUDELIB*.*SYS*.*C语言程序设计第一章C语言概述进入TurboCD:\TCTC.exe主控菜单文件操作FILE:NewLoadSaveWriteto编辑操作EDIT:插入/修改块查找/替换编译链接COMPILELINKMAKE执行RUN退出TurboCAlt+xAlt+F,Q帮助HelpF1Ctrl+F1C语言程序设计第一章C语言概述基本操作: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-----窗口切换C语言程序设计第一章C语言概述§课后作业预习“题解与上机指导”一书中P181~199页的14.3~14.10节P236页实验1教材P12:1.5、1.6、1.7、1.8题。注意:有关设计程序的作业,必须经过上机调试!C语言程序设计第一章C语言概述算法的概念简单算法举例算法的特性怎样表示一个算法第2章程序的灵魂——算法C语言程序设计第二章程序的灵魂——算法结构化程序设计方法C语言程序设计第二章程序的灵魂——算法程序包括的内容:数据结构:数据的类型和组织形式算法:操作步骤的描述NikiklausWirth提出:程序=数据结构+算法教材认为:程序=算法+数据结构+程序设计方法+语言工具和环境灵魂加工对象工具C语言程序设计第二章程序的灵魂——算法§2.1算法的概念为解决一个问题而采取的方法和步骤,就成为算法。例如:歌曲的乐谱,建造房子等。算法核心是解决“做什么”和“怎么做”的问题。P15页的例2.1,求1……5之积。可以有多种方法,一般采用简单和运算步骤少的。准确、高效计算机算法类别数值运算算法非数值运算

1 / 533
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功