版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1C程序设计计算机科学技术学院 肖川cxiao@2教材作者:夏宽理.赵子正编著
丛书名:21世纪高等院校计算机专业规划教材出版社:中国铁道出版社ISBN:9787113168513
出版日期:2013-07-01
开本:16开页码:239作者:夏宽理
赵子正
丛书名:21世纪高等院校计算机专业规划教材出版社:中国铁道出版社ISBN:9787113169657
出版日期:2013-08-01开本:16开页码:1653教学计划章节名称用时备注第1章程序设计基础1周第2章基本数据类型及其运算2周第3章结构化程序设计2周第4章数组2周期中考试校历第8或第9周举行,上机考试第5章函数2.5周第6章指针和引用2.5周第7章结构和链表2周第8章文件处理1周期末考试上机考试上课+上机4教学资源
/portal
点击页面右上角“登录”,使用统一身份认证的用户名与口令,登录后点击页面左侧“所属站点”,之后点击所出现列表中课程站点资源,左侧可看到“资源”、“作业”等链接。用途课件下载
作业上传
通知
不讲的章节5.96.5~6.86.107.5~7.995评分平时成绩20%
考勤5%
作业15%期中成绩40%期末成绩40%67第1章 程序设计基础8outline1.计算机和程序设计基础知识2.C语言的历史和特点3.C程序设计的基本方法4.数据类型、变量和常量91.计算机和程序设计基础知识大学计算机信息科技教程(第二版)1011什么是程序设计语言?什么是计算机PersonalComputer/PC(x86架构和AMD架构)ServerRouter、SwitchPDA、iPhone、Mobilephone一卡通读卡机……编写计算机软件的语言计算机包括硬件和软件让计算机执行某项具体任务而提供给它的详细指令集合就是程序(program)12人与计算机人机界面(UI)输出输入输入输出13计算机结构输入设备输出设备存储设备(内存、闪存)控制器运算器CPU数据流控制流软件驻留于此,决定”数据流”及“控制流”的运动14内存的结构及计数Byte(字节)Byte(字节)Byte(字节)Byte(字节)Byte(字节)Byte(字节)Byte(字节)Byte(字节)Byte(字节)Byte(字节)Byte(字节)Byte(字节)Byte(字节)Byte(字节)Byte(字节)Byte(字节)1Byte=8bits302G内存,即2×2个Byte1K=21M=21G=21T=21P=2102030405001或…121.34192315常见的输入和输出设备输入设备鼠标键盘扫描仪游戏杆麦克风摄像头输出设备显示器打印机音箱输入输出设备耳麦网卡硬盘CD-ROM16用户与计算机软件使用软件软件操作手册设计软件程序设计语言17为什么要学程序设计这门课?加强逻辑思维的训练掌握解决问题的一般方法为以后的编程需要作准备互联网时代的基本素质学分就业18程序设计语言的种类机器语言自然语言汇编语言高级语言?人工智能语言便于计算机理解便于人类理解汇编编译反汇编LDGR0,RADDGR0,GR1……voidmain(){inta=2;intb=3;intc=a+b;printf(“%d”,c);}
求2与3之和010101111101100011……19程序设计语言的种类机器语言汇编语言高级语言ALGOL60FORTRANBASICPascalCC++JavaSQL面向过程语言面向对象语言面向问题语言20各类高级语言的特点面向过程语言程序必须详细地描述解题的过程和细节。面向对象语言把问题中的对象抽象成类,利用继承机制及多态特性提高程序的开发效率、改善程序的可靠性及可维护性。面向问题语言程序只需告诉计算机做什么,不必告诉计算机如何做。应用范围较窄。21面向过程语言的查找过程实例在某医院的病历资料文件中查找病历号34629的病人信息:打开病历文件关闭职工文件EndofFile?读取文件中下一条记录当前记录的病历号=34629?YesNoYesNo打印查找结果222.C语言的历史和特点23为什么选择C语言?历史悠久,具有显著特点便于以后学习C++和Java适用范围广支持开源操作系统Linux的开发支持嵌入式系统的开发支持通讯设备的开发24C语言历史1960年ALGOL601963年,剑桥大学CPL(combinedprogramminglanguage)1967年,MatinRichardsBCPL(BasicCPL)1970年,KenThompsonB语言1971年,D.M.RitchieC语言1983年,ANSIANSIC1999年,ANSIC9925目前最流行的C语言版本MicrosoftC或称MSCBorlandTurboC或称TurboCAT&TC这些C语言版本不仅实现了ANSIC标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。
26C语言优点语言表达能力强具有数据类型构造能力和结构化的程序控制结构语言简洁、紧凑、使用方便灵活产生执行效率较高的代码程序移植性较好27C语言的缺点C程序可能会漏洞百出灵活性容易造成漏洞C程序可能会难以理解简明扼要的特性C程序可能会难以修改缺少把一个大规模的程序分解成许多可管理模块的能力28C程序开发的4个阶段1.编辑(手工完成)产生一个或多个文本文件(源程序),以.C作为文件扩展名2.编译(编译器完成)检查源程序是否符合语法规定,把符合语法规定的源程序编译成机器语言程序(目的代码)3.链接(编译器完成)把源程序的目的代码和程序中使用的库函数的目的代码连接起来,产生可直接执行的程序(可执行文件)4.运行(机器完成)29用C程序解决问题的过程源程序(文本文件.c)机器语言程序(二进制目标代码.obj)可执行程序(二进制文件.exe)问题解决思路(算法)思考编辑编译链接是否解决问题?运行结束Yes解题思路错误No需要修改程序的逻辑错误用C语言表述解题逻辑需要修改程序的语法错误橙色的操作可以在集成开发环境中进行30C程序的基本结构输入设备输出设备存储设备(内存、闪存)控制器运算器CPU0条或多条#include语句voidmain(){
变量定义区域; 接收用户的输入; 内部处理; 输出结果;}31例子:求两数之和绿色是注释部分,用/*…*/或者//….把注释内容括起来32C语言是块结构语言在C语言中,函数是一种块结构,是完成程序功能的基本构件。C语言的基本组成是函数。函数允许一个程序的各个任务被分别定义和编码,使程序模块化。模块独立原则一个好的函数不仅能正确工作且不会对程序的其它部分产生副作用。33函数的基本形式34main()函数一个C程序是由一个固定名称为main的主函数和若干个其他函数(可以没有)组成。一个C程序必须有一个、也只能有一个主函数。主函数在程序中的位置可以任意,但程序执行时总是从主函数开始,在主函数内结束。主函数可以调用其他各种函数(包括用户自己编写的),但其他函数不能调用主函数。实验1的第4题定义了max函数和main函数。第一个C程序启动VisualC++6.0,点击菜单【文件】/【新建】,所输入的工程名称将作为一个子目录存在。353637新建一个文件点击菜单【文件】/【新建】,38编辑该文件在“FileView”中双击所新建的文件,在右侧窗口编辑并保存。39组建该工程点击菜单【组建】/【编译】,对新增文件进行编译。点击菜单【组建】/【组建】,对当前工程进行组件。40执行该工程点击菜单【组建】/【执行】。41打开一个以前的工程运行VisualC++6.0点击菜单【文件】/【打开工作空间】,选择工程目录下同名的.dsw文件。4243一个简短但完整的C程序#include<stdio.h>/*在屏幕上打印一条消息*/voidmain(){ printf(“Thisismyfirstprogram!\n”);}44一个简短但完整的C程序–cont.主函数前的关键字void表示该函数不返回结果。在函数名之后要有一对圆括号。函数体用花括号“{}”括住。花括号可以用来括起任何一组C代码,从而构成复合语句或分程序。简单C语句之后有一个分号“;”。程序中的“/*…*/”表示程序的注释部分。在C++中,也可以使用“//…”作为注释。#include<stdio.h>是编译预处理命令行,指明有关输入和输出标准函数也将是程序的一部分。45#include属于预处理器指令之一预处理器指令总是以符号#开始。这些指令不会在程序运行时产生任何行为,它们只在源码编译时发生作用。最常用的预处理指令#include#define46#include命令#include有两种格式,二者几乎等价#include<filename>#include“filename”#include的含义就是“文件合并”,在源码编译的初始阶段,#include语句被#include后的文件的内容替换了。47 :/*Partofyourprograme*/age=19;printf(“Iam%dyearsold”,age);#include“addr.h”printf(“Thatismyaddress”);/*Restofprogramfollows*/ :你的源文件printf(“\n220#HandanRoad\n”);printf(“Shanghai,China\n”);名为addr.h的文件 :/*Partofyourprograme*/age=19;printf(“Iam%dyearsold”,age);printf(“\n220#HandanRoad\n”);printf(“Shanghai,China\n”);printf(“Thatismyaddress”);/*Restofprogramfollows*/ :编译器预处理之后看到的48#include引用内置的函数库当我们安装编译器时,安装程序会在硬盘上创建一个独立的子目录(…/include),存放编译器附带的各种#include文件,如stdio.h文件。这些文件称为内置#include文件(或内置头文件)。当我们想要使用某个内置#include文件时,要使用带尖括号的#include格式。在内置文件中定义的函数,称为内置函数。printf()在文件stdio.h中定义strcpy()在文件string.h中定义49stdio.h文件片段50#include引用自己的函数库如果使用带引号的#include格式,编译器首先在源码文件所在的磁盘目录中搜索文件,如果没找到,再到内置的include目录中搜索文件。如果你编写自己的头文件stdio.h,把它放在源码目录下,则在源码中使用#include“stdio.h”将使得你的头文件代替C语言的头文件。练习(1)VisualC++6.0的使用可参阅教材P2371.输出如下形状:51练习(2)教材一习题一1,2,3,4,5教材二实验1的第1题教材二实验1的第3题5253C程序设计的基本方法54程序设计=算法+数据结构算法问题的求解方法数据结构描述客观事物的数据对象及其相互关系算法与数据结构关系密切只有明确了问题的算法,才能较好地设计数据结构好的算法常常依赖于合理的数据结构55算法表示法之一——流程图常见的流程图符号56算法的结构化描述顺序结构条件选择结构循环结构57顺序结构操作依次执行伪代码: 操作A;
操作B;操作A操作B58条件选择结构条件(对情况的一种陈述)只能为真或假,故操作A与操作B只能执行一个。伪代码:
if(条件)
操作A;else
操作B;条件成立吗?操作A操作BYesNo59循环结构操作的重复执行C语言中的循环结构while循环结构do-while循环结构for循环结构60while循环结构
由一个循环条件和一个循环操作语句(称为循环体)组成。
一般形式:
while(循环条件)
循环体条件成立吗?操作步骤YN61while循环结构的执行过程
每次循环前,先求循环条件的值,当条件成立时,就执行循环体,并接着再次求循环条件的值,以确定循环体是否再次被执行。当循环条件的值一开始为假,或某次循环后其值为假,则结束循环操作。62do-while循环结构
由一个循环条件和一个循环操作语句(称为循环体)组成。一般形式:
do
循环体
while(
循环条件);条件成立吗?操作步骤NY63do-while循环结构的执行过程
每次循环前,先执行循环体,接着再求循环条件的值,当条件成立时,再执行循环体。如此反复,直到循环条件的值为假,结束循环操作。64for循环结构
由为循环有关变量赋初值的表达式、循环条件、循环后对变量的修正表达式和循环执行的循环体组成。一般形式:
for(赋初值表达式;循环条件表达式;修正表达式)
循环体(计数器)赋初值循环条件成立吗?操作修正(计数器)YN65for循环结构的执行过程
循环前,先执行赋初值表达式,为循环中的有关变量赋初值;
每轮循环开始,先求循环条件的值,若条件不成立,则结束循环;
当条件成立时,执行循环体;然后求变量修正表达式,更新有关变量的值;接着再次求循环条件。如此反复,直到条件为假,结束循环。66算法举例(1)问题:告诉计算机三个数,计算机输出其中最大的数。难点:计算机一次只能比较两个数键盘显示器153020ABCDCPU67算法:用三个变量A、B、C分别存放输入的三个数;先比较A和B:如果A>B,把A的值放入变量MAX如果A<=B,把B的值放入变量MAX再比较C和MAX如果C>MAX,把C的值放入变量MAX如果C<=MAX,MAX的值不变变量MAX的值即为最大的数,输出MAX算法举例(1)-cont.68算法举例(1)-cont.流程图开始输入A,B,CA>BMAXAMAXBC>MAXMAXC输出MAX结束NoYesYesNo69算法举例(2)猴子吃桃问题:有一堆桃子不知数目,猴子第一天吃掉一半,觉得不过瘾,又多吃了一只,第二天照此办理,吃掉剩下桃子的一半另加一个,天天如此,到第十天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个?70算法举例(2)-cont.假设第i天早上有Ai只桃子,根据题目有右图。
A1=2×(A2+1)A2=2×(A3+1)……A9=2×(A10+1)
即Ai=2×(Ai+1+1)
其中i=9,8,7,…,2,1天数早上桃子数第1天A1第2天A2=A1/2–1第3天A3=A2/2–1第4天A4=A3/2–1第5天A5=A4/2–1第6天A6=A5/2–1第7天A7=A6/2–1第8天A8=A7/2–1第9天A9=A8/2–1第10天A10=A9/2-1=1又已知A10=1,故可求出A171算法举例(2)-cont.开始k9计数器初值为9k等于0?kk-1x1A10=1Ai=2×(Ai+1+1)x2*(x+1)结束NoYes计数器是否完成计数?计数器进行一次计数输出x72结构化程序设计方法结构化的控制结构自顶向下模块化设计方法逐步求精设计方法734.数据类型、变量和常量74常用数据类型字符字符串整数浮点数(即实数)75字符电脑能表示的任意一个字符。C语言能识别128个字符(教材一附录B),如
Aa4%Q!+=]空格符C语言的所有字符数据都括在单引号中: ‘A’‘a’‘4’‘%’‘Q’‘!’‘+’‘=’‘]’‘’这些不是有效字符‘cisfun’‘Cishard’‘Ishouldbesailing!’‘\n’是换行符,也是一个字符。字符类型关键字:char76特殊字符的表示描述C语言中的表示方法Enter键(换行符)\n警报符(电脑响铃)\aTab键(制表符)\t反斜杠字符\\双引号\”77字符串字符串是多个字符组成的序列。C语言中字符串用双引号”括起来,如: “Cisfuntolearn.”78练习C程序要输出以下内容,在printf(.)函数中要如何表示:(1)Tabkeyisrepresentedwith\t.(2) Tabkeyisrepresentedwith\t.(注,此行缩进)(3)Tabkeyisrepresentedwith‘\t’.(4)Tabkeyisrepresentedwith“\t”.(1)“Tabkeyisrepresentedwith\t.”(2)“\tTabkeyisrepresentedwith\t.”(3)“Tabkeyisrepresentedwith‘\t’.”(4)“Tabkeyisrepresentedwith“\t”.”一种解答79正确答案(1)"Tabkeyisrepresentedwith\\t."(2)"\tTabkeyisrepresentedwith\\t."(3)"Tabkeyisrepresentedwith'\\t'."(4)"Tabkeyisrepresentedwith\"\\t\"."(1)Tabkeyisrepresentedwith\t.(2) Tabkeyisrepresentedwith\t.(注,此行缩进)(3)Tabkeyisrepresentedwith‘\t’.(4)Tabkeyisrepresentedwith“\t”.C程序要输出以下内容,在printf(.)函数中要如何表示:正确解答80整数整数指没有小数的完整的数。
10540-121-68752不要让整数以0开头(除非是数字0),否则C语言会认为你输入的数字是16进制的或者8进制的。053 (8进制的53,等于10进制的43)0x45 (16进制的45,等于10进制的69)整数类型关键字:short,int,long81浮点数带小数点的数字称为浮点数(floatpointnumber)。
547.430.00.443849.1923-168.470.22浮点数类型关键字:floatdoublelongdouble82整数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银冶炼中的冶炼过程模拟与优化考核试卷
- 船舶运营与经营管理考核试卷
- 文化冲突与教育改革-洞察分析
- 腺癌化疗药物耐药性逆转策略-洞察分析
- 虚假信息传播法律规制-洞察分析
- 同余模与量子计算-洞察分析
- 膝阳关功能重建研究-洞察分析
- 汽车零部件样件试制(生产)工作管理流程
- 红旗渠红色教育心得体会
- 已完成工程保护措施
- 期末综合试卷(含答案)2024-2025学年苏教版数学四年级上册
- 浩扬电子书城httpwww.chnxp.com.cn收
- 医疗机构发热门诊制度、流程
- 10379食品执行标准
- GB/T 38628-2020信息安全技术汽车电子系统网络安全指南
- GB/T 10609.2-1989技术制图明细栏
- 《商务沟通与谈判》配套教学课件
- 客诉品质异常处理单
- DL∕T 617-2019 气体绝缘金属封闭开关设备技术条件
- 班级管理(第3版)教学课件汇总全套电子教案(完整版)
- 公司岗位权责划分表
评论
0/150
提交评论