




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计,西南石油大学计算机学院,教 师:杨绪华 联系电话Q Q:1109661106,什么是程序?,如何描述QQ聊天的过程? 打开计算机 登录QQ 找到聊天的好友进行通话,程序是解决某一个问题所采用的方法步骤,程序由一系列指令构成,什么是程序设计?,概念 是采用某种编程语言,为解决某个特定领域的问题,而使用某种设计方法编写计算机程序的活动。 如果把小说比作程序的话,小说创作就是程序设计。只不过小说是表达人的思想,进而控制人的活动的一种代码,而计算机程序是表达机器的思想,进而控制机器活动的一种代码,当然这种代码也是和人相通的。 特征 程序设计必须采用某种语言;
2、对领域的依赖性; 采用某种设计方法进行。,程序设计语言,是一种适合于计算机和人们阅读方式的描述计算的符号系统 。 由字、词和语法规则构成的一个系统。,机器语言,汇编语言,高级语言,面向对象的语言,面向过程的语言,5,性质,分类,地位,特点,结构化程序设计语言,具有低级和高级语言的特性 实践性 极强,三种基本程序结构组成,高级语言,良好的通用性和可移植性,程序设计的入门课程 能解决各种复杂问题,课程简介,C语言程序设计第一章 C语言概述 SCS-SWPU,6,学习资源,参考书籍: 标准C语言基础教程(第四版),Gary J.Bronson编著,电子工业出版社 C 程序设计语言,Brian W.K
3、ernighan,清华大学出版社 C高级实用程序设计,王士元,清华大学出版社 PIC单片机C语言程序设计实例精粹刘向宇 秦龙 电子工业出版社 VC数字图像处理技术与工程案例王占全 徐慧 人民邮电出版社 C语言与系统仿真周杰 周先春等 气象出版社 网站: ,C语言程序设计第一章 C语言概述 SCS-SWPU,学习方法,学习无捷径,只有多努力 做到以下“三多”,你可以青出于蓝而胜于蓝 多读 多记 多练,希望及要求,课前预习,认真听讲 注重上机实践 掌握规律,举一反三 每次实验课之前,请完成代码的编写 必须按照要求交实验报告! 考核方式: 平时表现(考勤、随堂提问、作业、随堂测验等):10% 实验(
4、每次实验结束后需提交实验报告):30% 期末考试(闭卷):60%,9,课程梗概,数据类型、运算符与表达式,顺序结构,选择结构,循环结构,数组,函数,指针,结构体与共用体,文件,第1章 程序设计ABC,1.1 计算机与人 1.2 计算机与程序设计 1.3 程序设计语言故事 1.4 C语言的故事 1.5 程序设计工作原理 1.5.1 运行 1.5.2 内存 1.6 本章小结,流行语言,应用编程语言 机器语言 汇编语言 Basic-VB语言 Pascal-Delphi语言 C-C+ Java C#,Web编程语言 HTML XML PHP ASP JSP Java Script VB Script,
5、为什么学习C语言?,真正编程绝顶高手必从C语言学习开始!,程序设计语言百媚千红,为什么C语言独占高校语言教学统治地位?,C语言简介,美国贝尔实验室为 DEC公司研制PDP-7计算机的操作系统的过程: 60年代末 UNIX操作系统 汇编语言编写 70年 UNIX操作系统 B语言编写 73年 UNIX操作系统 C语言编写 80年以后,随着UNIX 操作系统的成功, C得到广泛地应用,C语言是在研制UNIX操作系统过程中诞生,伴随着UNIX操作系统的发展而流行的。,14,C语言的创始人_Dennis M. Ritchie(丹尼森.里奇),1972年 创建C语言 并用C语言编写了UNIX第五版,197
6、7年可移植的C语言编译程序,1978年The C Programming Language标准C,C语言程序设计第一章 C语言概述 SCS-SWPU,ANSI制定了统一的C标准, 即:ANSI C,1997 ISO C,15,Ritchie和Thompson在开发UNIX,C语言程序设计第一章 C语言概述 SCS-SWPU,接受美国国家技术勋章,17,是一种高级语言 高级语言并不是“高级”,只是相对低级语言,在一个高的级别上进行编程 历史悠久,战勋卓著 诞生于上世纪70年代初,成熟于80年代(C89),修订于90年代(C99) 很多重量级软件都是用C写的 学好C语言,是学习这些流行语言(C+、
7、Java和C#)非常容易上手 。,C程序设计语言,C程序设计语言,上天入地,无所不能 几乎没有不能用C写出来的软件,没有不支持C的系统 很多流行语言、新生语言都借鉴了它的思想、语法 从C+,到Java,再到C#,还有php等,现在C语言的应用,如“龙芯”CPU、智能家电、手机等,单片机系统中C语言逐渐取代汇编语言,嵌入式系统下支持的开发语言,黑客、网络安全以及Tivoli网管软件的开发语言,Unix/Linux 操作系统上的编程语言,Windows操作系统下大部分代码用C语言开发,C语言的缺陷性,数据安全性缺陷:主要表现在数据的封装上,C在数据的安全性上有很大缺陷,这是C和C+的一大区别 程序
8、安全性缺陷:语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用角度,C语言比其他语言较难掌握 指针缺陷:指针是C语言优于其它高级语言的一个重要原因。指针,可以直接进行靠近硬件的操作,但是C的指针操作也给它带来了很多不安全的因素。 C+做了很好的改进。,C语言程序设计,课程目标: 熟记C语言的基本概念 熟悉Turbo C及VC+6.0的上机环境 会读、会编、会调试C语言程序,课程要求:多上机实践!,第一个C语言程序,例1.1,编写输出” Hello, World! ” 的程序。,#include main( ) /*输出Hello, World! 注释*
9、/ printf(“Hello, World! ); ,程序块(函数),主函数,程序注释,#include main( ) /*此部分为代码执行部分*/ ,C语言程序设计第一章 C语言概述 SCS-SWPU,24,This is a C program. -,#include main () printf (“This is a C program. n); ,例 1.2 输出字符串: This is a C program.,/*包含头文件*/,/主函数,/*输出一句话*/,/*函数体开始*/,/*函数体结束*/,/*函数体*/,C程序模仿练习,#include main( ) /*输出He
10、llo, World! 注释*/ printf(“Hello, World! ); ,C语言程序设计第一章 C语言概述 SCS-SWPU,25,C程序示例,#include void main ( ) int x,y,z; x=3; y=1; z=x+y; printf (“%d+ %d=%dn”,x,y,z); ,3 + 1 = 4,例 1.3 求整数:31=?,/*包含头文件*/,/*主函数*/,/*函数体*/,/*定义变量*/,/*给变量赋值*/,/*计算3+1*/,/输出结果,要计算: (a+b+c)2,C语言程序设计第一章 C语言概述 SCS-SWPU,26,int max ( in
11、t x , int y) int z ; if ( xy) z = x ; else z = y ; return ( z ); main() int a , b , c ; scanf ( “%d , %d ” , ,例1.4:求两个整数中的最大值,主函数,用户自 定义函数,C程序示例,入口,我们碰到了哪些C语言的函数?,C语言编程规范,1、初步了解C语言程序的结构与执行步骤 main函数开始,main函数结束 2、C语言编程的两个规范: 第一,成对匹配的原则,例如 , ( ), 等符号必须成对出现。 第二,标准C语言的注释 /* 注释不能嵌套 */ / C+中单行注释 3、标识符命名见名知
12、义 4、缩进,冯.诺依曼结构计算机,存储空间地址,什么是地址?,存放二进制数0,1的装置称为位,为便于计算机管理,将每8个二进制位分成一组,称为字节。,为便于计算机管理这些字节,将每一个字节进行编码,该编码唯一识别字节,这个编码就是存储空间的地址。,哈哈,我知道了,计算机是通过这些编码,即存储空间地址来访问存储单元的。太好玩了,地址是数字编码。,C语言程序设计第一章 C语言概述 SCS-SWPU,30,C语言的上机步骤,1、编辑 生成C的源文件(*.C) 2、编译 生成二进制目标文件(*.OBJ) 3、连接 将目标程序文件f.obj输入内存,与系统提供的库函数等连接,生产可执行文件,扩展名为*
13、.exe。 4、运行 最后把可执行文件调入内存并使之运行,得到结果。,C语言程序设计第一章 C语言概述 SCS-SWPU,31,编辑编译连接运行,C语言的上机步骤,C语言程序设计第一章 C语言概述 SCS-SWPU,32,C语言的上机步骤,VC+6.0环境下的开发过程,第一步启动VC 点击“开始”-“程序”启动VC +6.0 第二步:建立C源文件 “文件”“新建”“文件”选“C+ Source File”输入文件名“确定” 第三步:编译-连接-运行,33,第一章 C语言概述,C语言的发展历史,1.1,C语言的特点,1.2,认识C程序,1.3,C程序的上机步骤,1.4,C语言程序设计第一章 C语
14、言概述 SCS-SWPU,算法的描述,1.5,C语言程序设计算法的描述 SCS-SWPU,34,1、 算法的概念,算法:为解决一个问题而采取的方法和步骤。 对同一个问题,可有不同的解题方法和步骤,著名的计算机科学家沃思Nikiklaus Wirth提出的公式: 算法+数据结构=程序,方法1:1+2,+3,+4,一直加到100 加99次 方法2:100+(1+99)+(2+98)+(49 +51)+50 = 100 + 49100 +50 加51次,数值运算算法:求数值解,例如求方程的根、求函数的定积分等。 非数值运算:包括的面十分广泛,最常见的是用于事务管理领域,例如图书检索、人事管理、行车调
15、度管理等,算法应该如何描述?,例1:求5!,即求12345 步骤1:先求12,得到结果2 步骤2:将步骤1得到的乘积2再乘以3,得到结果6 步骤3:将6再乘以4,得24 步骤4:将24再乘以5,得120 思考:如果要求121000,需写999个步骤! 可以设两个变量: t为被乘数,i为乘数,然后用循环算法来求结果,反复乘法运算,S1:使t=1。 S2:使i=2。 S3:使ti,乘积仍放在变量t中,可表示为:t=ti S4:使i的值加1,即i=i+1。 S5:如果i=5,返回重新执行步骤S3以及其后的步骤 S4和S5;否则,算法结束。,2、用自然语言描述算法,C语言程序设计算法的描述 SCS-S
16、WPU,35,如果题目改为:求1351000算法只需作很少的改动: S1:1t S2:3 i S3:ti t S4:i+2 i S5:若i=1000,返回S3。否则,结束。 思考: 用上述方法该如何表达?,C语言程序设计算法的描述 SCS-SWPU,36,2、用自然语言描述算法,程序设计的任务:分析问题,确定其算法和数据结构,编写代码并上机调试,得到正确的输出结果,C语言程序设计算法的描述 SCS-SWPU,37,2、用自然语言描述算法,例2 有50个学生,要求将他们之中成绩在80分以上者打印出来 分析: 设n表示学号, g代表学生成绩; 变量i作为下标,用来控制序号(第几个学生,第几个成绩)
17、 当i超过50时,已对50个学生的成绩处理完毕,结束。,S1:1 i S2:如果gi80,则打印,否则不打印。 S3:i+1 i(判断下一个学生成绩) S4:如果i50,返回S2,继续执行。否则算法结束,C语言程序设计算法的描述 SCS-SWPU,38,例3 判定20002500年中的每一年是否闰年,将结果输出。,分析-闰年的条件是: 能被4整除,但不能被100整除的年份都是闰年,如1996,2004年是闰年; 能被100整除,又能被400整除的年份是闰年。 如1600,2000年是闰年; 不符合这两个条件的年份不是闰年。,2、用自然语言描述算法,C语言程序设计算法的描述 SCS-SWPU,3
18、9,设y为被检测的年份,算法可表示如下 : S1:2000 y; S2:若y不能被4整除,则输出y “不是闰年”,然后转到S6; S3:若y能被4整除,不能被100整除,则输出y “是闰年”,然后转到S6。 S4:若y能被100整除,又能被400整除,输出y“是闰年”,否 则输出“不是闰年”, 然后转到S6。 S5: 输出y “不是闰年”。 S6:y+1 y S7:当y2500时,转S2继续执行,如y2500,算法停止。,2、用自然语言描述算法,用自然语言描述算法的缺点?,C语言程序设计算法的描述 SCS-SWPU,40,2、用自然语言描述算法,算法的设计,算法的实现,C语言程序设计算法的描述 SCS-SWPU,41,3、用流程图表示算法,美国国家标准化协会ANSI(American National Standard Institute)规定了一些常用的流程图符号:,例4: 求5!的算法用流程图表示,C语言程序设计算法的描述 SCS-SWPU,42,S1:使t=1。 S2:使i=2。 S3:使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金属材料焊接习题(附答案)
- 仓储与运输服务合同格式
- 股权合同认购书十:投资权益明细
- 租赁公寓及储藏室合同
- 旅游业行业报告
- 生态修复工程项目绿化树种买卖合同
- 影视演员聘用合同范本
- 互联网接入服务合同书
- 渔船股权交易合同范本
- 票据服务领域合同模板
- 2025贵州黔南州都匀供销产业发展(集团)有限公司招聘4人笔试参考题库附带答案详解
- 北京市丰台区2025届高三下学期综合练习(一模)思想政治试卷(含答案)
- 2025年第三届天扬杯建筑业财税知识竞赛题库附答案(101-200题)
- 2024年河南郑州航空港区国际教育集团招聘笔试真题
- 2020年湖北省生物竞赛初赛试卷试题含答案
- 第四单元第九课第一框题 日益完善的法律体系 同步练习(无答案)2024-2025学年七年级下册道德与法治
- 2025年上海市各区中考语文一模卷【综合运用题】汇集练附答案解析
- 2024-2025学年九年级化学人教版教科书解读
- 季度物业工作总结
- 2024全球感染预防与控制报告
- 第二单元+新音乐启蒙+课件【高效课堂精研】高中音乐粤教花城版必修音乐鉴赏
评论
0/150
提交评论