Chapter 01 程序设计与C语言_第1页
Chapter 01 程序设计与C语言_第2页
Chapter 01 程序设计与C语言_第3页
Chapter 01 程序设计与C语言_第4页
Chapter 01 程序设计与C语言_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、C 程序设计主讲:张明强信号与信息处理教研室C Programming Language课程简介C Programming Language课程目标 Build计算与程序设计思维会读,会写相对简单C代码的自信科学计算问题转化为编码问题的能力 G=(G+X/G)/2教材、参考书与课时安排 教材 C程序设计(第四版) 谭浩强著 清华大学出版社 参考书C程序设计学习辅导 谭浩强编著 清华大学出版社 课时安排授课 :54学时实验 :22学时实验周实验项目实验题目第3周实验一VC+6.0环境下C程序编辑、编译、运行与调试方法第4周实验二C语言数据类型、运算符和简单的输入输出第5周实验三顺序结构程序设计:

2、字符与字符串处理第8周实验四选择结构程序设计:学生成绩管理系统:功能选择界面设计第9周实验五循环结构程序设计:牛顿迭代法求解线性方程的根第10周实验六一维及多维数组的使用:选择法与冒泡法排序第13周实验七函数(1):学生成绩管理系统:录入、统计、查找与删除第14周实验八函数(2):递归的使用第15周实验九指针(1):二维矩阵的转置与乘法第16周实验十指针(2):学生成绩管理系统的指针实现第17周实验十一综合设计实验授课:54学时 实验:22学时实验安排参考书原书名:The C Programming Language作者:(美)Brian W.Kernighan, Dennis M.Ritch

3、ieDennis M.Ritchie 丹尼斯里奇 (1941-2011) 里奇原本是一个物理学家和数学家,但是,他却成了最具传奇的程序员。 参考书Stephen Prata /special/opencourse/bianchengdaolun.html课程考核成绩构成考勤:10% 作 业:10% 期中考试:10%实验:20% 期末考试:50%实验考核:现场考核+实验报告课程设计作业:中期布置,结课前提交第1章C语言概述1.1 程序设计语言的发展及其特点冯.诺依曼结构:计算机运算器控制器存储器主机:I/O设备:键盘、显示器等中央处理器CPU机器语言汇编语言高级语言面向过程面向对象CPU指令系统

4、,由0、1序列构成的指令码组成如:10000000 加 10010000 减用助记符号描述的指令系统如 ADD A, B面向机器的语言程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象1.1 程序设计语言的发展及其特点5254565860626466687072747678808284868890929496AdaALGOL60ALGOL68PascalModula-2CPLBCPLBCC+JavaLISPPROLOGCOBOLFORTRAN77FORTRANPL/1Simula 67Smallt

5、alk 80BASICANSI-BASICQBASICVBFORTRAN901.2 C语言的发展及其特点、应用C语言发展史ALGOL 60语言 CPL语言 Combined Programming Language 1963年,剑桥大学 BCPL语言 1967年,剑桥大学的Matin Richards对CPL语言进行了简化 B语言 C语言 1970年,美国贝尔实验室的Ken Thompson将BCPL进行了修改 将CPL语言煮干,提炼出它的精华1973年,B语言也给人“煮”了一下,美国贝尔实验室的D.M.RITCHIE在B语言的基础上最终设计出了一种新的语言 BCPL的第二个字母作为这种语言的

6、名字,这就是C语言 C语言发展史产生背景产生过程 时间: 19721973 地点: 美国贝尔实验室 目的: UNIX操作系统 设计人: Ken.Thompson和Dennis.M.RitchieC标准 标准C: K&R合著The C Programming Language ANSI C: 1983年 87 ANSI C: 1987年 1990年国际标准的ANSI CC语言编译软件 C语言常用的编译软件有Microsoft Visual C+、Borland C+、Borland C+ Builder、Watcom C+、GNU DJGPP C+、Lccwin32 C、Microsoft C、

7、Turbo C、High C等等。 本课程的内容将基于ANSI C进行展开,考虑C99标准,主要针对Visual C+ 6.0开发环境。C语言的特点C语言的应用系统软件和大型应用软件。如UNIX,LINUX等操作系统。在软件需要对硬件进行操作的场合,用C语言明显优于其它高级语言。例如,各种硬件设备的驱动程序(象显卡驱动程序、打印机驱动程序等)一般都是用C语言编写的。在图形、图像及动画处理方面,C语言具有绝对优势,特别是游戏软件的开发主要就是使用C语言。网络通信程序的编制首选就是C语言。C语言适用于多种操作系统,WINDOWS、UNIX、LINUX等。1.3 C语言程序的基本结构 【例1】 最简

8、单的C程序。/* This is the first C program */#include int main ( ) printf (“Hello World!n); return 0;注释信息预处理命令返回值为整型无参数、返回值为整型的主函数主函数名函数开始内部函数名参数回车换行符函数调用函数体语句结束标志函数结束 运行结果: Hello World!函数返回值【例2】计算输入的两个整数的和/* This is the second C program */#include int main ( ) int x, y, z; scanf (%d%d, &x, &y ); z = x +

9、y; printf (the sum of two integers is %dn, z); return 0;数据类型名定义的变量名,以“,”分隔调用内部函数,接受键盘输入数据带有三个参数,以“,”分隔。&表示取变量的地址。调用内部函数,输出计算的和数求和的值给Z假设输入:10 20 运行结果:the sum of two integers is 30 C语言程序的函数由两部分构成:一部分定义变量(变量代表数据),称为声明部分;另一部分代表操作,由C语句构成,称为执行部分。 /C语言程序int main ( ) int a; a = 10; int b; b = a + 20; return

10、 0; 变量定义放到了执行部分之后。 /C+语言程序int main ( ) int a; a = 10; int b; b = a + 20; return 0; 只要执行部分所使用的变量在前面已经定义 /C或C+语言程序int main ( ) int a; a = 10; b = a + 20; int b; return 0; 变量定义放到了执行部分之后。 C99标准编译器允许C中像C+一样。如VC6.0环境。【例3】计算输入的两个整数的最大值 。/* This is the third C program */#include int max (int a, int b);int m

11、ain ( ) int x, y, z; scanf (%d%d, &x, &y); z = max (x, y); printf (max = %dn, z); return 0;int max (int a, int b) int c; if (a b) c = a; else c = b; return (c); 自定义函数声明自定义函数调用自定义函数max带两个形参返回a、b中最大值c返回值为整型数假设输入:10 20 运行结果:max = 20C语言的标识符 C语言中变量和函数都有自己的名字,它们都必须是合法的标识符。 标识符就是一个名字,C语言规定标识符只能由字母、数字和下划线三种

12、字符构成,并且第一个字符必须是字母或下划线。 C语言是大小写敏感的语言,因此hello和Hello是不同的标识符。 C语言中有一些特别的标识符,它们的用途已经事先规定好了,程序员不能再将它们另做它用。这些特别的标识符被称为关键字(也称保留字)。到目前为止,我们见过的关键字有void、int、main、if、else、return。以后随着学习的深入,我们将会遇到越来越多的关键字(C语言关键字可参考附录B)。总结C程序是由多个函数构成的。每个C程序中有且只有一个main函数。main函数是程序的入口和出口。不使用行号,无程序行的概念。程序中可使用空行和空格。C程序格式常用锯齿形书写格式。C程序中

13、可加任意多的注释。引用C语言标准库函数,一般要用文件包含预处理命令将其头文件包含进来。用户自定义的函数,必须先定义后使用。变量必须先定义后使用。变量名、函数名必须是合法的标识符,标识符习惯用小写字母,大小写敏感。不能用关键字来命名变量和函数。函数包含两个部分:声明部分和执行部分,在C程序中,声明部分在前,执行部分在后,这两部分的顺序不能颠倒,也不能有交叉。C语言的语句都是以分号结尾。1.4 编制C语言程序的基本步骤 编 辑程序代码的录入,生成源程序*.c或*.cpp编 译语法分析查错,翻译生成目标程序*.obj链 接与其它目标程序或库链接装配,生成可执行程序*.exe运 行开 始编 辑编 译有

14、错?链 接执 行结果正确?结 束源程序file.c目标程序file.obj库函数和其它目标程序可执行程序file.exe不正确正确有无 调试C程序的流程From Software Engineering关于软件开发与程序设计 Software Development & Program design什么是程序、软件? N.沃思(Niklaus Wirth)教授提出: 程序=算法+数据结构 以上公式说明了如下两个问题: (1)作用于数据的算法决定如何构造和组织数据 (算法数据结构)。 (2)算法的选择依赖于作为基础的数据结构 (数据结构算法)。 软件=程序+文档(软件工程的观点)软件开发 Software Development问题分析与描述 Problem Analy

温馨提示

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

评论

0/150

提交评论