C语言ppt课件.ppt_第1页
C语言ppt课件.ppt_第2页
C语言ppt课件.ppt_第3页
C语言ppt课件.ppt_第4页
C语言ppt课件.ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章程序设计概述,1,第1章程序设计概述,1.1程序的概念1.2程序设计语言1.3初识C程序1.4C程序的基本语法1.5C程序设计方法1.6常见C程序的错误,2,1.1程序的概念,程序(program):是用某种程序设计语言编写指示计算机完成特定功能的命令序列的集合,如:IE浏览器iexplore.exe程序网络聊天qq.exe程序洗衣机洗衣程序程序是人类驾驭计算机的手段谷歌围棋人工智能程序AlphaGoMobike/head为鸡兔头的总数、feet为鸡兔脚的总数intchicken,rabbit;/chicken为鸡的数量、rabbit为兔的数量scanf(%d%d,执行结果,13,1.3.3简单游戏的C程序,简单的“走迷宫”小游戏的C程序功能是:已知一个6*6阶的迷宫、实现让小球从起点走出迷宫*/#include#include#include#includemove.hintmain()/迷宫图,大写字母O为小球起始位置,#字符为迷宫栅栏charm67=#,#O#,#,#,#,#;inti,x,y,exitX,exitY;charch;x=1,y=1,exitX=1,exitY=5;/x,y为小球初始位置,exitX,exitY为迷宫出口位置,14,1.3.3简单游戏的C程序,简单的“走迷宫”小游戏的C程序for(i=0;i6;i+)puts(mi);/初始迷宫图输出到屏幕/小球没走到迷宫出口,根据迷宫状态选择一个方向移动while(x!=exitX|y!=exitY)ch=getch();move(m,ch,15,1.3.3简单游戏的C程序,简单的“走迷宫”小游戏的执行结果,16,1.3.4C程序的实现过程,C程序实现的4个过程:编辑(EDIT)编译(COMPILE)连接(Link)执行(EXECUTE),17,1.3.4C程序的实现过程,C程序的集成开发环境集编辑(EDIT)、编译(COMPILE)、连接(Link)、执行(EXECUTE)与一体,并提供调试(debug)手段和帮助(help)的开发软件。,18,1.3.4C程序的实现过程,几种常用的C语言集成开发工具,19,1.4C程序的基本语法,1.4.1C程序的基本结构1.4.2C程序的基本元素1.4.3C程序的编程风格,20,1.4.1C程序的基本结构,/*功能:已知x与y的值,把x除以y的结果放到z中,并在屏幕上打印输出*/#includeintmain()intx,y;doublez;x=20;y=5;z=(double)x/y;printf(z=%.1fn,z);/输出两个整数相除的结果return0;,从宏观上讲,C程序的基本结构包括:编译预处理命令、函数定义。,main函数定义,编译预处理命令,21,从微观上看,一个C程序也可以被看成是由若干行组成的,而每一行由字符的序列构成的。1.基本字符集:大写英文字母:AZ小写英文字母:az阿拉伯数字:0928个标点符号和运算符下划线(_)、空格符、制表符和换行符,1.4.2C程序的基本元素,22,1.4.2C程序的基本元素,2.标识符用来命名如语句的种类、变量的名称、函数的名称等的各种程序元素,应满足以下规则:以字母(不论大小写)或下划线(_)开头;随后可以跟若干个(包括0个)字母、数字、下划线。,23,1.4.2C程序的基本元素,2.标识符关键字:C语言的编译系统已经给予固定意义的标识符.数据类型名:int、double语句的种类:if、for程序元素的其他性质:define、static标准标识符:C语言的程序设计环境中,已经被给予指定意义的标识符printf格式化输出库函数的函数名scanf格式化输入库函数的函数名INT_MAX整数类型的最大数据,24,1.4.2C程序的基本元素,2.标识符用户定义的标识符除了关键字和标准标识符之外的其他标识符。在不混淆的情况下,把“用户定义的标识符”简单地说成“标识符”。通常用来命名程序中的变量、函数或其他程序元素。合法的用户定义标识符如:xy2_imaxELSEXA_to_B非法的用户定义标识符如:5xelse#Nosumtwore-inputmain,25,1.4.2C程序的基本元素,3.注释注释的一般形式是:/*一行或多行注释*/当前行注释,26,1.4.3C程序编程风格,良好的编程风格(1)代码形成锯齿形书写格式。(2)为增加程序的可读性,程序的主要语句要有适当注释。(3)标识符命名尽量做到“见名知意”的原则。(4)一行只写一个语句。(5)为使程序的结构更清晰,可使用空行或空格。(6)输入数据前要有适当的提示,输出结果时要有说明。,27,1.5C程序设计方法,1.5.1问题分析1.5.2算法设计1.5.3程序编写1.5.4运行调试,28,1.5C程序设计方法,编程工具确定后,程序设计的四个步骤:,29,1.5.1问题分析,问题分析的过程包括问题的定义明确解决问题需要考虑的已知信息,和需要达到的目标。(1)已知什么(2)求什么。如:已知同笼中鸡兔的头数与脚数,求鸡兔各有多少只问题的解决方案。根据已知条件,寻求结果的方法和途径如:鸡兔同笼问题的“穷举法”,30,1.5.2算法设计,算法:解决问题所需的有限步骤算法设计:就是设计程序执行步骤,这些步骤都应该是明确定义、可以执行的,而且每个步骤的执行顺序是确定的,并且能够在有限步骤内执行完毕。,31,1.5.2算法设计,求三个整数中的最大值的算法举例:,第1步:输入三个正整数a,b,c;第2步:如果a大于b,则将a的值赋给max,否则将b的值赋给max;第3步:如果c大于max,则将c的值赋给max;第4步:打印:“最大值为”max,32,1.5.2算法设计,编程问题的最基本的算法设计可归结为以下三步:(1)获得数据(2)执行计算(3)显示结果,33,1.5.2算法设计,算法的描述:自然语言伪代码流程图,34,1.5.2算法设计,流程图几种基本图形C语言的三种控制结构用流程图,35,1.5.2算法设计,求三个数中的最大值问题的流程图,36,1.5.3程序编写,C程序=数据+操作数据:即确定数据的存储方式已知信息的数据计算过程产生中间数据待求结果的数据操作:即算法,用语句实现符合程序语言的语法规则,37,1.5.4运行调试,发现错误设计测试用例错误的定位设置断点单步跟踪观察变量的值,38,1.6常见C程序的错误,1.6.1语法错误编译错误1.6.2语法错误连接错误1.6.3逻辑错误结果不正确1.6.4逻辑错误运行时错误,39,1.6常见C程序的错误,认识程序错误语法错误编译错误连接错误逻辑错误运行结果不正确运行时错误,40,1.6.1语法错误编译错误,是指不符合C语言定义的语法书写规则编译时能自动检查出语法错误,只需根据错误提示进行修改程序语句末缺少分号“;”的编译错误示例,41,1.6.1语法错误编译错误,C语言的错误信息的形式双击上述错误信息,修改,42,1.6.1语法错误编译错误,编译错误修改提示:错误信息往往只能起提示作用,不是特别精确反映错误产生的原因,更不会告诉你如何修改。根据提示能快速反应错误产生的原因需要经验的积累。一条语句错误可能会产生若干条错误信息,只要修改了这条错误,其他错误会随之消失。特别提示:一般情况下,第一条错误信息最能反映错误的位置和类型,所以调试程序时务必根据第一条错误信息进行修改,修改后,立即重新编译程序,如果还有很多错误,再一个一个地修改。即每修改一处错误要重新编译一次程序。,43,1.6.2语法错误连接错误,连接错误,是编译成功后,连接器连接外部程序的时候产生的错误。系统函数printf错写成print后的连接错误示例,44,1.6.2语法错误连接错误,连接错误修改提示:连接错误不提示出错行数,但小程序的定位也比较简单,一般是函数和外部变量的名称出错,只需根据错误提示的字符串去寻找可能出现的位置。,45,1.6.2语法错误连接错误,常见语法错误字符串“”不完整()不匹配缺少;函数名写错,46,1.6.3逻辑错误结果不正确,逻辑错误是程序设计上或逻辑上的错误指程序已生成可执行文件,但运行出错或不能得到正确的结果,这可能是由于算法中问题说明不足,解法不完整或不正确所造成的。逻辑错误的检查需要事先设计的测试用例。逻辑错误出错位置需要程序员对程序代码进行分析,一般会借助一些调试手段,如单步跟踪,设置断点,监视窗口观测变量等,47,1.6.3逻辑错误结果不正确,结果不正确示例:测试用例一:输入:x=20

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论