




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
辽宁师范大学计算机与信息技术学院蔡静,C语言程序设计,本人版权所有,复制必究。,目录,C语言概述程序的灵魂算法数据类型、运算符与表达式C程序设计数组函数预处理命令指针结构体和共用体位运算文件测试及综合应用,辽宁师范大学蔡静,3,须知:,课程的性质、地位和意义课程性质:专业必修课(考试)。课程的地位和意义:是本专业的第一门程序设计语言课程,涉及软硬件的基础知识,也是数据结构、操作系统、数据库原理、计算机图形、图象等相关后继课程的先行课。课程的教学目的和任务本课程系统介绍C语言的语法语义、丰富的数据类型及模块化结构程序设计方法。通过本课程教学,学生应掌握程序设计的初步知识,建立模块化结构程序设计的思想,并具有对问题进行分析、综合运用C语言知识进行编程实现的能力。,辽宁师范大学蔡静,4,教材及参考资料:,教材:C语言程序设计第3版,谭浩强编著,清华大学出版社,2009。参考资料:C:TheComputerReference,HerbertschildtMcGraw-Hill.TheCProgrammingLanguage,B.M.Kernigrhan,D.W.Ritchie,Prantice-HallSoftWareSeries.AdvancedC,HerbertschildtMcGraw-Hill.ProgrammingInANSIC,StephenG.Rochan,HaydenBooks.C语言程序设计及其应用,龚杰民,金益民编著,西北电讯工程大学出版社。C程序设计试题汇编,谭浩强主编,清华大学出版社C语言习题集与上机指导,谭浩强主编,清华大学出版社,辽宁师范大学蔡静,5,学习建议:,课前预习,每次带着问题来听课解疑课后巩固理解,保证每周课余至少4小时的上机时间利用做题来检验自己的掌握程度,可参考计算机等级考试、程序员考试等考试题目,第一章C语言概述,1.1C语言出现的历史背景1.2C语言的特点1.3简单的C语言程序介绍1.4运行C程序的步骤与方法,辽宁师范大学蔡静,7,1.1C语言出现的历史背景,1960年出现的ALGOL60是一种面向问题的高级语言,它离硬件比较远,不宜用来编写系统程序1963年英国的剑桥大学推出了CPL(combinedprogramminglanguage)语言。CPL语言在ALGOL60的基础上接近硬件一些,但规模比较大,难以实现1967年英国剑桥大学的MatinRichards对CPL语言做了简化,推出了BCPL(basiccombinedprogramminglanguage)语言1970年美国贝尔实验室的KenThompson以BCPL语言为基础,设计出了简单且很接近硬件的B语言(取BCPL的第一个字母),并用B语言写了第一个UNIX操作系统。但B语言过于简单,功能有限1972年至1973年间,贝尔实验室的D.M.Ritchie在B语言的基础上设计出了C语言(取BCPL的第二个字母)。C语言既保持了BCPL和B语言的优点(精练,接近硬件),又克服了它们的缺点(过于简单,数据无类型等)。1973年,K.Thompson和D.M.Ritchie两人合作把UNIX的90%以上用C改写,即UNIX第5版1983年,美国国家标准化协会(ANSI)根据C语言问世以来各种版本对C的发展和扩充,制定了新的标准,称为ANSIC1987年,ANSI又公布了新标准87ANSIC1990年,国际标准化组织ISO(InternationalStandardOrganization)接受87ANSIC为ISOC的标准(ISO98991990),辽宁师范大学蔡静,8,C语言的作者,DennisM.Ritchie丹尼斯里奇,HarvardUniversity获学士和博士学位1967年加入Bell实验室工作1972年发明C语言1978年,BrianW.Kernighan和DennisM.Ritchie合著TheCProgrammingLanguageTuring奖(1983)和IEEE先驱奖(1992)获得者、美国工程院院士,辽宁师范大学蔡静,9,1.2C语言的特点,语言简洁、紧凑,使用方便、灵活。运算符方便。数据类型丰富,具有现代语言的各种数据结构。具有结构化的控制语句。语法限制不太严格,程序设计自由度大。C语言允许自由访问物理地址,能进行位操作,可直接对硬件进行操作。生成目标代码的质量高,程序执行效率高。可移植性好。,辽宁师范大学蔡静,10,1.3简单的C语言程序介绍,1个C程序有且仅有1个main函数。函数体用花括号“”括住。花括号可以用来括起任何一组C代码,从而构成复合语句或分程序简单C语句之后有一个分号“;”。#include是编译预处理命令行,指明有关输入和输出标准函数也将是程序的一部分。程序中的“/*/”表示程序的注释部分。注释便于人阅读程序,对程序编译和运行都没有作用。,例1.1:一个只输出一行信息的程序#includevoidmain()/*主函数*/inti;i=20;printf(nProgrammingisfun.i=%d,i);,辽宁师范大学蔡静,11,例1.2读入两个整数,输出它们的和#includevoidmain()/*变量定义部分*/intx,y,sum;/*定义x,y,sum*/*以下为语句序列*/printf(Inputxandyn);/*提示输入数据*/scanf(%d%d,/*输出结果*/,辽宁师范大学蔡静,12,【例1.3】求三个数的平均值#includevoidmain()/*变量定义部分*/doublex,y,z,ave;/*定义x,y,z,ave*/*以下为语句序列*/x=3.5;y=4.6;z=2.9;/*赋值*/ave=(x+y+z)/3;printf(x,y,z的平均值是:%fn,ave);/*输出结果*/,辽宁师范大学蔡静,13,【例1.3】求三个数的平均值(函数调用)#includedoubleaverage(doublex,doubley,doublez)return(x+y+z)/3.0;voidmain()/*变量定义部分*/doublex,y,z,ave;/*定义x,y,z,ave*/*以下为语句序列*/x=3.5;y=4.6;z=2.9;/*赋值*/ave=average(x,y,z);/*调用average函数*/printf(x,y,z的平均值是:%fn,ave);/*输出结果*/,辽宁师范大学蔡静,14,函数Function,C程序由若干函数组成。每个程序都有且仅有1个主函数main()函数和若干子函数构成。一个函数定义由函数头和函数体组成。函数头包括函数属性、函数返回值类型、函数名、函数形式参数名,形式参数类型。,函数返回值类型函数名(参数说明表)说明和定义部分执行语句序列,辽宁师范大学蔡静,15,函数Function(续),说明:函数可以没有参数,但函数名之后的一对圆括号是必须的函数体是函数头之后用一对花括号括住的部分。函数体用于描述实现函数功能的代码,它又包括:说明和定义部分说明数据结构(类型)和定义函数专用的局部变量等执行部分由语句和控制结构代码组成,辽宁师范大学蔡静,16,【例】利用公式:C=(5/9)(F-32)输出F氏温度与C氏温度对照表,设已知F氏温度取0、20、200。#includevoidmain()floatf,c;/*变量定义*/intlower,upper,step;lower=0;upper=200;step=20;f=lower;while(f=upper)/*循环计算*/c=5.0/9.0*(f-32.0);printf(%3.0f%6.1fn,f,c);f=f+step;,辽宁师范大学蔡静,17,【例】统计输入字符行中各数字符、空白符与制表符符以及其它字符的出现次数。#includevoidmain()intc,k,nWhite,nOther;intnDigit10;/*定义有10个数字符的计数器*/nWhite=nOther=0;for(k=0;k=0,辽宁师范大学蔡静,18,【例】输入两个实数,输出它们中的小的数#includevoidmain()floatx,y,c;/*变量定义*/floatmin(float,float);/*函数说明*/printf(输入x和y.n);scanf(%f%f,/*返回temp到调用min()函数处*/,辽宁师范大学蔡静,19,1.4运行C程序的步骤与方法,编辑,开始,结束,有错误,有错误,有错误,无错误,无错误,无错误,结果,键盘输入,源程序,f.c磁盘文件,f.obj目标文件,f.exe可执行文件,有错误,无错误,编译,连接,运行,辽宁师范大学蔡静,20,C程序的开发过程:,分析问题、建立模型表现模型源程序的编辑程序的变异/解释与链接程序的测试与调试编写程序文档程序的维护,辽宁师范大学蔡静,21,编辑、预处理与编译,编辑:程序员用系统环境提供的编辑器编辑源程序,产生一个源程序文件.c或.h预处理:编译前,C编绎器先自动调用预处理程序,对源程序文件作文字转换,产生一个新的内部程序代码编译:若编译过程中发现程序有错误,则输出错误的详细信息;对正确的源程序产生机器语言程序,称为源程序的目的代码,辽宁师范大学蔡静,22,连接、加载与执行,连接:连接程序将目的代码和一些库函数的目的代码连接起来,产生计算机可直接执行的程序映象文件静态连接vs.动态连接加载:将要执行的程序装入内存执行:装入内存的程序在计算机的操作系统控制下执行,辽宁师范大学蔡静,23,三种开发环境:一、TC环境,程序格式关键字及编译预处理命令用小写字母书写。由语句组成。以分号(;)作为语句的结束符(不是分隔符)。没有行的概念,可任意书写。用大括号对表示程序的层次范围,一个完整的程序模块要用一对包括。不能在变量名、函数名、关键字中插入空格和空行。,辽宁师范大学蔡静,24,TC环境(续):,常用快捷键F2:NewF3:LoadAlt+F3:PickF4:GotocursorF5:Edit窗/Edit.Message窗Alt+F5:UserScreenF6:Edit窗/Message窗光标切换F7:Traceinto单步调试Alt+F7:AddWatchF8:StepoverCtrl+F9:运行代码块Ctrl+K,B:块首Ctrl+K,K:块尾/撤销Ctrl+K,C:拷贝Ctrl+K,V:移动Ctrl+K,Y:删除,辽宁师范大学蔡静,25,二、Win-TC环境,由于TurboC2.0(简称TC2.0)是基于MS-DOS的,存在诸如不支持鼠标操作、字体大小不能调整、文本复制步骤繁琐、必须另外启动UCDOS等中文环境才能支持中文输入输出等缺点,而这些缺陷或多或少影响了教学活动开展的效果。基于这样的认识,一般在教学过程中使用了一个基于TC2.0编译内核开发出来的编译环境Win-TC,它实际上是对TC2.0的一个封装。对于C语言的教学,使用该软件的主要优点有:由于Win-TC是Windows程序,所以在其中进行鼠标操作、程序段的复制、中文输入输出等功能变得非常方便。支持字体大小的调整和C程序中各种关键字符的变色显示,这样教师在课程上演示程序的时候可以适当将程序的字体放大,方便坐在后排的学生的观看。Win-TC消除了初学者设置工作目录的烦恼,自动设置好工作目录。程序编写好之后就可以直接编译运行。中文界面,提示出错信息也是中文的,消除了我们的学生由于对英文的恐惧而造成的无法正确修改程序中的错误。支持在运行结果中显示中文,这样在程序中就可以输出中文的提示语句了。,辽宁师范大学蔡静,26,二、VC环境
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江国企招聘2025台州市永宁产业投资集团有限公司招聘7人笔试参考题库附带答案详解
- 马鞍山市2025安徽马鞍山市人大常委会办公室招聘编外聘用人员1人笔试历年参考题库附带答案详解
- 2025年全国消毒技能竞赛实施方案
- 陆河县2025广东汕尾市陆河县高校毕业生就业见习招募8人(第一批)笔试历年参考题库附带答案详解
- 公司年度市场营销方案示范
- 牡丹江市2025黑龙江牡丹江师范学院招聘人事代理工作人员2人笔试历年参考题库附带答案详解
- 小学一年级家庭教育辅导方案
- 幼儿园德育活动策划方案范文
- 第一单元 我们在一起-第3课 手拉手心连心(说课稿)-湘美版(2024)美术七年级上册
- 19.2.2 一次函数(第2课时 一次函数的图象与性质)(教学设计)八年级数学下册同步高效课堂(人教版)
- 搭建铁棚合同(标准版)
- 2025年铜仁市招聘工会社会工作者11人考试参考试题及答案解析
- 4.6.2.2神经调节(第二课时)课件-人教版(2024)生物八年级上册
- 银行积分培训课件
- 2.5 秋天的怀念 课件2025-2026年度统编版语文七年级上册
- 2025年秋青岛版(2024)小学科学三年级上册(全册)教学反思
- 牙齿矫正方式对比
- 校企合作实习生管理制度与考核办法
- 穿线施工方案(3篇)
- 农村妇女礼貌礼仪课件
- 产品报价基础知识培训课件
评论
0/150
提交评论