第1章程序设计概述-课件_第1页
第1章程序设计概述-课件_第2页
第1章程序设计概述-课件_第3页
第1章程序设计概述-课件_第4页
第1章程序设计概述-课件_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计-理论、方法与实践张磊编著清华大学出版社C语言程序设计第1章程序设计概述

课件制作日期:2013年6月.张磊1ppt课件课件制作日期:2013年6月.张磊C语言程序设计-理论、方法与实践张磊编著清华大学出版社第1章程序设计概述1.1程序设计语言1.2算法1.3程序设计与实现1.4C语言程序的基本结构2ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.1程序设计语言程序设计语言:

计算机能够理解和识别的一种语言体系,它按照特定的规则组织计算机指令,使计算机能够自动进行各种操作处理。计算机程序:

按照程序设计语言的规则组织起来的一组计算机指令。程序设计语言分类:

机器语言、汇编语言和高级语言。C语言属于高级语言,1972年由美国的DennisRitchie设计发明。1983年,美国国家标准化协会(ANSI)根据C语言问世以来各种版本对C的发展和扩充,制定了C的标准,称为ANSIC。1987年ANSI又公布了新的标准——87ANSIC。课件制作日期:2013年6月.张磊3ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.1程序设计语言C语言程序示例:

计算1到100的所有自然数的和。#include<stdio.h>intmain(void){ inti=1,s=0; while(i<=100)/*循环控制*/ { s=s+i;/*数据累加*/ i=i+1;/*生成下一个要累加的数*/ } printf("sum=%d\n",s);/*输出结果*/return0;}课件制作日期:2013年6月.张磊4ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.2算法1.2.1算法概念与算法描述1.2.2算法的逻辑结构1.2.4算法的特性1.2.4算法评价5ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.2.1算法概念与算法描述算法重要性:程序=数据结构+算法1.算法的概念算法是求解问题的方法,是在有限步骤内求解某一问题所使用的一组定义明确的规则,是计算机处理问题所需要的具体步骤。2.算法的描述方法自然语言流程图N-S图PAD图伪码等。课件制作日期:2013年6月.张磊6ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.2.1算法概念与算法描述⑴用自然语言描述算法“计算1到100的所有自然数的和”步骤①

i和s赋初值,使i=1,s=0;步骤②判断i的值,若i≤100则执行步骤③;否则,转步骤⑤;步骤③

s加i;步骤④

i加1,转步骤②;步骤⑤显示s的值,结束。课件制作日期:2013年6月.张磊7ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.2.1算法概念与算法描述⑵用流程图描述算法课件制作日期:2013年6月.张磊8ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.2.1算法概念与算法描述“计算1~100自然数和”的算法步骤①

i=1,s=0;步骤②若i≤100则执行步骤③;否则,转步骤⑤;步骤③

s加上i;步骤④

i加上1,转步骤②;步骤⑤显示s的值,结束课件制作日期:2013年6月.张磊9ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.2.1算法概念与算法描述(3)用伪代码描述算法“计算1到100的所有自然数的和”begini=1,s=0whilei≤100s=s+ii=i+1endwhileptintsend课件制作日期:2013年6月.张磊10ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.2.2算法的逻辑结构顺序结构、分支结构、循环结构是算法的三种基本结构,这三种结构互相结合,可以实现任何逻辑控制。算法步骤①输入一个学生两门课的成绩a1,a2;步骤②计算平均成绩(a1+a2)/2→ave;步骤③输出平均成绩ave,结束。问题1-顺序结构:输入一个学生的两门课的成绩,计算出平均成绩。伪代码beginintputa1,a2ave=(a1+a2)/2printaveend课件制作日期:2013年6月.张磊11ppt课件课件制作日期:2013年6月.张磊C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.2.2算法的逻辑结构问题2-分支结构:输入一个学生的两门课的成绩,若平均成绩不低于90分,则显示“优等生”,否则显示“要加油啊!”算法步骤①输入一个学生两门课的成绩a1、a2;步骤②计算平均成绩(a1+a2)/2→ave;步骤③若ave≥90,则执行步骤④;否则执行步骤⑤;步骤④输出“优等生”,结束。步骤⑤输出“要加油啊!”,结束。12ppt课件课件制作日期:2013年6月.张磊C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.2.2算法的逻辑结构问题2-分支结构输入一个学生的两门课的成绩,若平均成绩不低于90分,则显示“优等生”,否则显示“要加油啊!”伪代码描述算法begininputa1,a2ave=(a1+a2)/2ifave≥90thenprint“优等生!”elseprint“要加油啊!”end13ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.2.2算法的逻辑结构问题3-循环结构:按照问题2的标准,统计全班的优等生人数(全班共30人)。算法步骤①设置变量count对输入的数据量计数,其初值为1;设置变量result对优等生计数,其初值为0;步骤②若count≤30,则执行步骤③;否则转步骤⑧;步骤③输入一个学生两门课的成绩a1、a2;步骤④计算平均成绩(a1+a2)/2→ave;步骤⑤若ave≥90,则执行步骤⑥;否则转步骤⑦;步骤⑥

result+1→result;步骤⑦

count+1→count;转步骤②;步骤⑧输出统计结果,结束。14ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.2.2算法的逻辑结构问题3-循环结构按照问题2的标准,统计全班的优等生人数(全班共30人)。伪代码描述begincount=1,result=0whilecount≤30inputa1,a2ave=(a1+a1)/2ifave≥90thenresult=result+1count=count+1endwhileprintresultend课件制作日期:2013年6月.张磊15ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.2.2算法的逻辑结构算法逻辑结构框图⑴顺序结构

顺序结构传统流程图顺序结构N-S图课件制作日期:2013年6月.张磊16ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.2.2算法的逻辑结构算法逻辑结构框图(2)分支结构

分支结构流程图分支结构N-S图

课件制作日期:2013年6月.张磊17ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.2.2算法的逻辑结构算法逻辑结构框图(3)循环结构

循环结构流程图循环结构N-S图

课件制作日期:2013年6月.张磊18ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.2.3算法的特性算法特性

⑴有穷性:经过有限步骤解决问题。

⑵确定性:每个步骤所规定的操作必须是确定的。

⑶有效性:每一个步骤必须能够有效地执行。

⑷输入和输出特性。有零个或多个输入,有一个或多个输出。

还应注意算法的多样性:一个具体问题可以有不同的解决方法,因此可以设计解决问题的不同算法。算法的通用性:一个算法应是适用于某类问题,而不只是适用于某一个问题。

课件制作日期:2013年6月.张磊19ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.2.4算法评价算法复杂程度算法的时间复杂性:规模与执行速度关系算法空间复杂性:对系统资源的需求程度算法的通用性正确和清晰易读永远是一个好算法的基本条件。课件制作日期:2013年6月.张磊20ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.3程序设计与实现1.3.1程序设计的基本过程1.3.2使用VisualC++6.0实现C语言程序1.3.3程序设计示例课件制作日期:2013年6月.张磊21ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.3.1程序设计的基本过程问题分析算法设计编写程序调试运行程序分析要处理的问题涉及的各种概念、数据特点、已知条件、所求结果,以及已知条件与所求结果之间的关系等各方面的信息。明确:要做什么?确定具体的算法,并选择合适的算法表达工具对算法进行描述。用程序设计语言的语句和命令实现算法的每一个步骤。课件制作日期:2013年6月.张磊22ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.3.2使用VC++6.0实现C语言程序使用VC++6.0实现C程序的基本步骤有4个:1.建立源程序文件3.构建可执行文件2.编译源程序4.运行可执行文件启动VC++6.0系统使用“File”→“New”命令,打开VC++6.0的程序编辑窗口录入编辑源程序,保存文件使用“Build”→“Compile”命令对源程序进行编译,生成二进制目标代码文件。程序通过编译之后,使用“Build”→“Build”命令将编译阶段生成的目标文件和系统的库函数文件等连接起来,生成扩展名是“.exe”的可执行文件。使用“Build”→“!Execute”命令运行程序,获得执行结果。课件制作日期:2013年6月.张磊23ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.3.3程序设计示例例1-1

设计计算矩形面积的程序。3.编写程序2.算法设计4.调试运行程序1.问题分析⑴设矩形的边长为a和b、矩形面积为s,则s=a×b。⑵通过键盘输入等方式为矩形边长a、b提供数据。⑶程序执行后要输出计算结果。2.算法设计3.编写程序4.调试运行程序⑴输入a、b的值。⑵计算a×b,并存储到s中。⑶输出s。3.编写程序4.调试运行程序流程图⑴假设该矩形都是整型数据,因此,要使用int对a、b、s进行说明。⑵使用scanf()函数输入数据a、b。⑶使用“s=a*b”计算矩形面积,并存储到s中。⑷使用printf()函数输出计算结果s。⑸把上面的一些具体语句放在main()函数中。

程序清单课件制作日期:2013年6月.张磊24ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.3.3程序设计示例/*programe1-1.c*/#include<stdio.h>intmain(){inta,b,s;printf("Inputa,b:");scanf("%d,%d",&a,&b);s=a*b;printf("Area:%d\n",s);return0;}3.编写程序2.算法设计4.调试运行程序1.问题分析⑴假设该矩形都是整型数据,因此,要使用int对a、b、s进行说明。⑵使用scanf()函数输入数据a、b。⑶使用“s=a*b”计算矩形面积,并存储到s中。⑷使用printf()函数输出计算结果s。⑸把上面的一些具体语句放在main()函数中。

例1-1

设计计算矩形面积的程序。25ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.3.3程序设计示例4.调试运行程序例1-1

设计计算矩形面积的程序。⑴建立源程序文件。①启动VC++6.0,使用“File”→“New”命令,打开“new”窗口,选用“Files”选项卡,在主窗口中选择“C++SourceFile”项,在“File”对话框中输入文件名,在“Location”对话框中指定文件的存储位置。26ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.3.3程序设计示例4.调试运行程序例1-1设计计算矩形面积的程序。⑴建立源程序文件②单击“OK”按钮,打开程序编辑窗口录入编辑源程序,并及时存盘。课件制作日期:2013年6月.张磊27ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.3.3程序设计示例4.调试运行程序

例1-1

设计计算矩形面积的程序。⑴建立源程序文件⑵编译源程序程序编辑完成后,使用“Build”→“Compile”命令编译执行“Build”→“Compile”命令后的提示信息编译结果显示在编译报告窗口28ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.3.3程序设计示例4.调试运行程序

例1-1

设计计算矩形面积的程序。⑴建立源程序文件。⑵编译源程序。⑶构建可执行文件。程序编译完成后,使用“Build”→“Build”构建可执行文件。⑷运行可执行文件。成功构建可执行文件之后,使用“Build”→“!Execute”命令即可运行程序。

29ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.4C语言程序的基本结构1.4.1程序的函数化结构

1.4.2程序中的常量和变量1.4.3程序中的基本语句1.4.4标识符与保留字1.4.5程序风格30ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.41程序的函数化结构1.简单C语言程序的结构C语言程序是由函数构成的,任何一个C语言程序都有一个称为主函数的main()函数,例如,前面介绍的C语言程序e1-0.c和e1-1.c,其主体内容都是main()函数。程序中main()函数的一般结构:intmain(void){

函数体}例1-2

更简单的C程序。#include<stdio.h>intmain(void){printf("Hello!\n");return0;}特别强调:任何一个C语言程序,main()函数都是不可缺少的,当一个C语言程序只有一个函数模块时,这个函数必然是main()函数。31ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.4.1程序的函数化结构上述程序,在“intmain()”之前都有一行代码“#include<stdio.h>”,作为初学者,为方便起见,不妨先将其视为C语言程序的基本构成部分。可以认为,简单C语言程序的基本结构:#include<stdio.h>intmain(void){

函数体}32ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.4.1程序的函数化结构2.C语言程序的一般结构一个C语言程序,在结构上不仅要有main()函数,还可以包括其他独立的函数,一个函数可以在另一个函数中被使用。例1-3

输出图案程序。/*programe1-3.c*/#include<stdio.h>intmain(void)/*主函数*/{voidp_s(void); p_s(); p_s(); p_s();return0;}voidp_s()/*其他函数*/{ printf("$$$$$#####$$$$$$\n");}33ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.4.1程序的函数化结构3.C语言程序的基本特点⑴C语言程序由函数构成,而且每个程序可以有多个函数。⑵一个源程序不论由多少个函数组成,有且只能有一个main()函数,而且main()函数可以放在程序的任何位置。⑶一个源程序无论由多少个函数构成,总是从main()函数开始执行程序,与main()函数在程序中的位置无关。34ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.4.2程序中的常量和变量1.常量程序中的常量分为直接常量和符号常量两种。直接常量就是具体的数据,有整数、实数、字符和字符串四种类型。例如,程序e-0.c中的“1”和“100”是整数常量,程序e1-2.c中的“Hello!”是字符串常量;符号常量是通过特殊方式定义的一类常量,其定义方法将在第2章介绍。2.变量程序中的变量用变量名标识,每个变量具有特定的数据类型,计算机按照一定的规则为变量分配一定的内存空间,变量的值存储在变量所在的存储空间中。C语言的每个变量在使用之前必须首先进行变量定义,为变量指定数据类型和变量名。C语言中变量的基本类型有3种:整型、实型和字符型,分别用的int、float和char进行标识。35ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.4.3程序中的基本语句按照功能划分3类数据定义语句流程控制语句数据处理语句对程序中使用的变量名称、数据类型等进行说明。例如,程序e1-1.c的“inta,b,c;”语句。对程序中的数据进行运算、输入、输出等。例如,程序e1-1.c的““s=a*b;”、“printf(“Area:%d\n",s);”等。对程序的执行流程进行控制,分为分支控制和循环控制两类。例如,程序e1-0.c中的while语句。36ppt课件C语言程序设计-理论、方法与实践张磊编著清华大学出版社1.4.4标识符与保留字1.标识符在程序中使用的变量名、函数名等。标识符构成任何一个标识符只能是由字母(A~Z,a~z)、数字(0~9)和下划线“_”构成的字符串,其他符号不能出现在标识符中,并且标识符的第一个字符必须是字母或下划线。合法标识符aBOOK1max_addnum_1非法标识符3sum不允许以数字开头ab#cd使用了非法字符“#”book-1出现非法字符“-”

温馨提示

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

评论

0/150

提交评论