第1章-绪论..优秀PPT.ppt
C C语言程序设计基础语言程序设计基础2自我介绍老师姓名老师姓名 郑爽郑爽电子邮箱:电子邮箱:zshuangbjut.edu zshuangbjut.edu 办公室:办公室:知行楼知行楼207207电话:电话:67391747-607 67391747-6073课程简介课程名称:课程名称:C C语言程序设计基础语言程序设计基础总学时总学时484832(32(讲授讲授)+16()+16(上机上机)上课时间上课时间周二周二1 1、2 2节节(1-16(1-16周周);周五;周五1 1、2 2节节(1-8(1-8周周)上课上课/上机地点上机地点知行楼计算中心(教室:看电子屏)知行楼计算中心(教室:看电子屏)4考核方式课程总评分(满分课程总评分(满分100100分)分)到课率及平常表现到课率及平常表现平常作业平常作业平常测验平常测验上机试验上机试验上机考试上机考试期末卷面期末卷面要求要求:全部作业必需独立完成全部作业必需独立完成作业必需经上机调试通过作业必需经上机调试通过5资源访问课件下载地址:课件下载地址:教化在线教化在线网络存储平台网络存储平台 用户名:用户名:0644501 0644501 密码:密码:0644501bjut0644501bjut课程探讨课程探讨qqqq群:群:139589762 139589762(C C语言语言-150611/12150611/12)留意:查找留意:查找找群找群6教材和参考书C C语言程序设计,中国铁道出版社,王全民,语言程序设计,中国铁道出版社,王全民,20152015C C语言程序设计,高等教化出版社,何钦铭、颜晖,语言程序设计,高等教化出版社,何钦铭、颜晖,20122012C C语言程序设计试验指导,高等教化出版社,颜晖等,语言程序设计试验指导,高等教化出版社,颜晖等,20122012C C程序设计(第三版),谭浩强等,清华高校出版社程序设计(第三版),谭浩强等,清华高校出版社7教学要求与学习方法教学要求教学要求程序设计的基本思想和方法程序设计的基本思想和方法驾驭常用算法驾驭常用算法具备初步的程序设计实力具备初步的程序设计实力学习方法学习方法自主学习自主学习重视上机实践重视上机实践8如何尽快学会用C语言进行程序设计读程序,越多越好读程序,越多越好仿照、改写、编写仿照、改写、编写通过不断的编程实践,逐步领悟和驾驭程序设计的通过不断的编程实践,逐步领悟和驾驭程序设计的基本思想和方法。基本思想和方法。9计算机程序计算机程序:完成特定功能的语句序列完成特定功能的语句序列程序设计程序设计:用计算机语言编制程序的过程用计算机语言编制程序的过程计算机语言:人与计算机沟通的工具,计算机语言:人与计算机沟通的工具,一套语法规则,语句(语法、语义)一套语法规则,语句(语法、语义)1.1 1.1 程序设计程序设计第1章 绪 论10计算机语言与程序经验了以下三个阶段的发展计算机语言与程序经验了以下三个阶段的发展:机器语言机器语言 汇编语言汇编语言 高级语言高级语言 程序设计语言程序设计语言11机器语言机器语言10110000 0000111110110000 00001111:把把1515放入累加器放入累加器A A中中00101100 0000101000101100 00001010:1010与累加器与累加器A A的值相加,结果仍放入的值相加,结果仍放入A A中中11110100 11110100:结束,停机结束,停机例如,计算例如,计算A=15+10 A=15+10 汇编语言汇编语言MOV AMOV A,1515:把:把1515放入累加器放入累加器A A中中ADD AADD A,1010:1010与累加器与累加器A A相加,结果存入相加,结果存入A A中中HLTHLT:结束,停机结束,停机C C语言语言A=15+10A=15+10:把把15+1015+10赋值给变量赋值给变量A A 121.2 求解问题的过程 问题:求问题:求1 19 9间全部数的积。间全部数的积。(1x2x3x4x5x6x7x8x9)1x2x3x4x5x6x7x8x9)1 1问题分析与算法设计问题分析与算法设计 求在确定范围内(求在确定范围内(1 19 9)、若干整数的积,求累积。)、若干整数的积,求累积。思路思路1 1:步骤:步骤1 1:先求:先求1212,得到结果,得到结果2 2。步骤步骤2 2:将步骤:将步骤1 1得到的乘积得到的乘积2 2乘以乘以3 3,得到结果,得到结果6 6。步骤步骤3 3:将:将6 6再乘以再乘以4 4,得,得2424。步骤步骤4 4:将:将2424再乘以再乘以5 5,得,得120120。步骤步骤5 5:将:将120120再乘以再乘以6 6,得,得720720 步骤步骤6 6:将:将720720再乘以再乘以7 7,得,得50405040 步骤步骤7 7:将:将50405040再乘以再乘以8 8,得,得4032040320 步骤步骤8 8:将:将4032040320再乘以再乘以9 9,得,得362880362880131.2 求解问题的过程 问题:求问题:求1 19 9间全部数的积。间全部数的积。1 1问题分析与算法设计问题分析与算法设计 求在确定范围内(求在确定范围内(1 19 9)、若干整数的积,求累积。)、若干整数的积,求累积。思路思路2 2:设置一个变量:设置一个变量(product)(product),其初值为,其初值为1 1,将它,将它们一个一个累积到们一个一个累积到productproduct中。中。S1S1:1-product 1-product S2S2:2-i2-iS3S3:producti-product producti-productS4S4:i+1-i i+1-iS5S5:if i9 if i9,then then 返回返回S3S3;else else 结束。结束。141.问题分析与算法设计 思路思路 确定确定算法算法算法算法:一组明确的解决问题的步骤,它产生结果并可在一组明确的解决问题的步骤,它产生结果并可在有限的时间内终止。有限的时间内终止。算法的描述:算法的描述:自然语言自然语言伪代码伪代码流程图:算法的图形表示法流程图:算法的图形表示法 15product=1i=1i=9product=prodcut*ii=i+1输出输出sum真真假假16流程限制 任何程序都可以将模块通过任何程序都可以将模块通过3 3种基本的限制结构种基本的限制结构进行组合来实现进行组合来实现依次结构依次结构循环结构循环结构分支结构分支结构17流程限制 语句级限制:语句级限制:3 3种基本的限制结构种基本的限制结构依次限制结构:自然依次执行依次限制结构:自然依次执行分支限制结构(选择结构):依据不同的条件来选分支限制结构(选择结构):依据不同的条件来选择所要执行的模块择所要执行的模块循环限制结构:重复执行某个模块循环限制结构:重复执行某个模块 单位级限制:函数的定义与调用单位级限制:函数的定义与调用处理困难问题时处理困难问题时,将程序分为若干个相对独立的子将程序分为若干个相对独立的子程序(函数)程序(函数)18扩展:计算扩展:计算11001100的积?的积?思路思路1 1:步骤步骤1 1:先求:先求1212,得到结果,得到结果2 2。步骤步骤2 2:将步骤:将步骤1 1得到的乘积得到的乘积2 2乘以乘以3 3,得到结果,得到结果6 6。步骤步骤3 3:将:将6 6再乘以再乘以4 4,得,得2424。步骤步骤4 4:将:将2424再乘以再乘以5 5,得,得120120。步骤步骤5 5:将:将120120再乘以再乘以6 6,得,得720720步骤步骤6 6:将:将720720再乘以再乘以7 7,得,得50405040步骤步骤7 7:将:将50405040再乘以再乘以8 8,得,得4032040320步骤步骤8 8:将:将4032040320再乘以再乘以9 9,得,得362880362880步骤步骤9999:xxxxxxxxxx乘以乘以100100,得,得XXXXXXXXXX2.算法分析 product=0i=1i=9product=prodcut*ii=i+1输出输出sum真真假假i=100i=100思路思路2 2:193.编写程序生成程序的源文件,生成程序的源文件,C C语言源文件的后缀为语言源文件的后缀为 .c/.cppc/.cpp#include#include void main()void main()int i,product;int i,product;i=1;i=1;product=1;product=1;while(i=9)while(i-计算机干脆能理解的指令序列计算机干脆能理解的指令序列 编译程序指出语法错误编译程序指出语法错误 22运行与调试假如程序运行所产生的结果不是你想要的结果,这是程序的语义错误假如程序运行所产生的结果不是你想要的结果,这是程序的语义错误(逻辑错误)。(逻辑错误)。语法错误语法错误 VS VS 逻辑错误逻辑错误调试:在程序中查找错误并修改错误的过程。调试:在程序中查找错误并修改错误的过程。调试的方法调试的方法设置断点设置断点单步跟踪单步跟踪调试是一个须要耐性和阅历的工作,也是程序设计最基本的技能之一。调试是一个须要耐性和阅历的工作,也是程序设计最基本的技能之一。23开始开始结果结果语法语法错误错误源程序源程序.c/.cpp目标程序目标程序.obj可执行程序可执行程序.exe编辑编辑编译编译连接连接运行运行连接连接错误错误运行运行错误错误C语言程序的调试、运行步骤