资源预览内容
第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
第9页 / 共33页
第10页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
C语言程序设计张芳 主编(王维强 辅助设计) 北京:电子工业出版社出版 *1C语言程序设计C语言程序设计C Programmer数学信息科学学院数学信息科学学院 副教授副教授青岛大学青岛大学张芳张芳*2C语言程序设计院楼二层软件教研室电话:13792871365EMAIL:zhangfangqdu.edu.cn如何与老师联系?Date3C语言程序设计第一章 程序设计与C语言 1.1C语言概述1.2 C语言的 程序结构1.3 术语1.4 C语言的 上机步骤1.5 算法简介习题(一 )及参考 答案与解 析Date4C语言程序设计1.1 C语言概述 程序设计语言现在已经发展到了第四代。 它的发展过程大体上是这样的:Date5C语言程序设计(1)机器语言 也有的称为CPU的指令系统。大约在20世纪50年代,人们开始 用由二进制数“0”、“1”构成的指令码编写程序。程序的可读性很差,并且难于修 改、扩充和移植。因此,当时的编程人员只是极少数计算机专业技术人员,并且 程序只用于特定类型的计算机和特定的用途。这也使得其运算效率是所有语言中 最高的。人们习惯上把机器语言称为第一代程序语言。 (2)汇编语言 也称为符号语言,是用诸如:“ADD”(代表加法)、“MOV”( 代表数据传送)等助记符号(一些简洁的英文字母、符号串)描述的指令系统。 虽然与机器语言相比,有了较大的进步(减轻了使用机器语言编程的痛苦,人们很 容易读懂并理解程序在干什么,纠错及维护都变得方便了),但仍未完全摆脱具 体机型的限制,且程序的可读性比较差,也不容易修改、扩充和移植。而此时人 们设计出的具有用一条指令来描述若干条指令功能的宏汇编,是程序语言发展史 上的一个巨大进步。由于作为第二代程序语言的汇编语言和机器语言一样,都是 面向计算机硬件的,所以它们又被称为面向机器的语言。 (3)面向过程的高级语言 也有人称之为算法语言,它主要面向解题的过程, 这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的 程序能在所有机器上通用。这些语言大约产生于20世纪60年代,主要有BASIC、 C、FORTRAN、PASCAL和C+等,人们称之为第三代程序语言。 (4)非过程化的高级语言 使用过程化的语言解题。随着计算机图形学的发展 ,面向对象的程序设计方法和可视化软件开发越来越流行,这为非计算机专业人 员提供了极大地方便。象用C语言开发的FOXBASE+等非过程化的高级语言,被 称之为第四代程序语言。 Date6C语言程序设计现在使用的大多数程序是用高级程序(过程)语言编写的,而C语 言就是其中的“顶梁柱”。 C语言是一种编译型程序语言,其前身是60年代开发的BSPC语言, 当时就能够处理与机器本身数据类型相近的数据,而且具有与内存地 址对应的指针处理方式。到了1970年在继承和发展BCPC语言这些特 点的基础上,又提出了“B语言”,小型机的UNIX操作系统就是使用B 语言记述和开发的。此后在进行UNIX操作系统的开发工作中,对B语 言做了进一步完善,美国AT /*输出语句*/ 例1.2.2,如下完整的C语言程序用于输出所输入的两个在-32768到32767之间的整数中的最小者。#include /*插入标准I/O库的头文件*/main() /*主函数*/ int x,y,z; /*声名部分,说明局部变量x,y为整型*/scanf(“%d,%d”, /*输入变量x,y的值*/ z=min(x,y); /*调用函数min(),将得到的值赋给 z*/ printf(“The minor between %d and %d is %d .n”,x,y,z); /*输出结果*/ int min(int a,int b) /*定义函数min(),返回值为 整型,行参a,b为整型*/ int c; /*声明部分,说明局部变量c为整型*/if(ab) ; /*通过条件语句把a,b最小者赋给c*/ c=b;elsec=a;return (c) /*文件名:min.c*/*返回c的值*/ Date12C语言程序设计1.2.1 函数库和链接 从技术上讲,纯粹由程序员自己编写的语句构成C语言程序是可以的,但这也是 罕见的。因为C语言在它的定义中没有执行输入、输出操作的任何方法。因此大多 数C语言程序都含对C语言种种标准库函数的调用。所有的C编译程序都是和标准C函数库一起提供的,后者含有完成各种常用任务的 函数。在C语言的某些实现中,函数库以一个大文件的形式出现;在另一些C语言 的实现中,它却被分成几个小文件,以提高效率和实用性。为了简单起见,我们讨 论函数库时,都采用单一文件形式。C编译程序的实现者已经编写了大部分常用的通用函数。当我们调用一个别人编写 的函数时,编译程序“记忆”它的名字。随后,“链接程序”把我们编写的程序同 标准函数库中找到的目标码结合起来,这个过程称“链接”。某些C编译程序带有 自己的链接程序,有些则使用操作系统提供的标准链接程序。最初,C语言被用于系统程序设计,一个“系统程序”是一大类程序的一个部分 ,这一大类构成了计算机操作系统及其实用程序。通常被称之为系统程序的有:操 作系统、翻译程序、编辑程序、汇编程序、编译程序和数据库管理程序。保存在函数库中的函数是可适定位的,这意味着其中机器码指令的内存地址并 没绝对确定,只有偏移量是确定的,当把程序与标准函数库中的函数连接时,内存 偏移量被用来产生实际地址。某些技术手册和参考书中更为详细地讲述了这一处理 过程,但是,以上对适定位的了解对于运行C语言程序来说已经足够了。 Date13C语言程序设计1.2.2分别编译 大部分以C语言编写的短程序都可以完全放于一个源文 件中。然而随着程序长度的增加,编译时间也会增加,因 此C允许将一个程序分解为若干块,每一个文件可单独编译 ,一旦所有的文件编译完毕,就可以将它们与库函数中的 函数链接,形成一个完整的目标代码程序。分别编译的优 点是,当一个文件中的代码改变以后,并不必重新编译全 部程序。 Date14C语言程序设计1.2.3 编译一个C语言程序 编译一个C语言程序包括以下四步:(1)程序设计(程序编辑):用编辑程序产生一个后缀为“.C”的C源程序文 件。如:“cf.c”。C程序习惯上使用小写英文字母,常量和其他用途的符号 可用大写字母。C语言对大、小写字母是有区别的。关键字必须小写。(2)程序编译:将存盘的C源程序翻译成二进制目标代码,在MS-DOS下是后 缀为“.obj”的文件。这个过程是使用系统提供的编译程序(编译器)运行的 。不同操作系统下的各种编译程序的启动命令不同。编译的同时对源文件的 语法和逻辑结构等进行检查,当出现错误时,就会在显示器上显示错误的位 置和种类,再次使用编译程序进行排错修正。(3)链接过程:编译后产生的目标文件是浮动的程序模块,不能被直接用于 执行。经过链接后,才生成可以运行的可执行文件。链接过程就是把目标文 件和其他分别进行编译生成的目标程序模块(如果有的话)及系统提供的标 准库函数链接在一起,生成可以运行的可执行文件的过程。UNIX下名字为 “cf.out”,而在MS-DOS下名字为“cf.exe”。(4)程序运行:直接输入“Ccf”,再按回车键(用“”表示),当执 行结果达到预期目的,则开发工作到此完成,否则,从头开始执行(1)、( 2)、(3)、(4)。 Date15C语言程序设计1.2.4用批命令编译程序 将编辑、编译、链接、调试、运 行全过程在窗口状态下实现,这就 是Turbo C,这要看操作系统中是否 具备。 Date16C语言程序设计1.3 术语 (1)源代码:用户可以阅读的程序正文(文本),通常也 被成为源程序,它是C编译程序的输入。(2)目标码:由源代码转换而来的机器码,计算机可直接 读入并执行,目标码是链接程序的输入。(3)链接程序:可以把分别编译的函数链接为一个完整的 程序,它能够把C的标准函数与程序开发人员编写的代码 结合起来。链接程序的输出是可执行代码。(4)函数库:一个用来存放可被用户程序引用的标准函数 的文件,这些函数包括所有I/O操作及其它有用的子程序。(5)编译时间:程序被编译时出现的事件。在编译时间内 出现的错误通常是语法错误。(6)运行时间:程序在运行时出现的事件。 Date17C语言程序设计1.4 C语言的上机步骤 Turbo C是目前应用十分广泛的编译程序。下面简单介绍一下Turbo C的一些 情况。按装并打开Turbo C后,大家会看到“主菜单”有8个“子菜单项” (见表 1.4),每个“子菜单项”又有若干“子菜单项”。表1.4.1 Turbo C的菜单 主菜单 File Edit Run Compile Project Option Debug Break/watch 含义 文件 编辑 运行 编译 项目 选项 调试 中断/观察操作 文件Date18C语言程序设计表1.4.2 Turbo C的一些快捷键快捷键操作 相当于*F3 File/LoadAlt+F3 File/Pick*F2 File/SaveAlt+X File/QuitCtrl+F9 Run/RunCtrl+F2 Run/Program resetF4 Run/Go to cursor F7 Run/Trace intoF8 Run/Seep over *F9 Compile/Make EXE file *Alt+F5 Run/User screen Ctrl+f4 Debug/Evaluate Ctrl+F3 Debug/Call stackCtrl+F7 Break/watch/Add watch注:加“*”的为常用快捷键。加号“+”表示同时按键。另外“F10”常用于状态 切换。用键盘的左移键“”和右移键“”进行选择菜单项,按回车键(常用 “”表示)选定 当前的一个菜单项。选定菜单项之后,再用上移键“”和 下移键“”选择所需项,按回车键选定。Date19C语言程序设计使用Turbo C的一般步骤如下: (1)打开Turbo C后,系统会自动建立一个新的C语言源 程序。也可以通过选择“File/New”新建一个C语言源 程序。如果源程序已经存在,则选择“File/load”, 在弹出的对话框中输入所需的文件名并按“”,即可 打开文件。 (2)在“Edit”编辑状态下,输入或修改源文件后,选 择“Compile/Compile to OBJ”进行编译,再选择 “Compile/Link EXE file”进行链
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号