1、C程序设计,东北大学电子信息工程 鲍喜荣,信息学馆516 Tel: 024-83686801, 86801 E-mail: ,教学安排,一、C语言概述 二、程序的灵魂算法 三、数据类型、运算符与表达式 四、顺序结构C程序设计 五、选择结构程序设计 六、循环结构程序设计 七、数组 八、函数 十、指针的一部分内容,学习C语言的方法,一、勤动手、常编程、多调试、善总结 二、课前预习 三、上课注意听,特别注意老师提醒的编程经验 四、多看编程相关书籍 五、不要死记硬背, 不懂就问,勤于交流 六、要多思考用不同的方法解决问题,第一代:机器语言=是一种CPU机器语言。由数 字0、1组合而成。优点:机器可直接
2、执行,速度快。缺点:程序长,难记,难理解,不易查错。 第二代:汇编语言= =用助记符描述的指令系统。如:Mov Ax,bp+4push d1,优点:比机器语言较易理解,执行速度快。缺点:难度大,非专业人士难以掌握。,程序语言简介,第三代:面向过程的高级语言= =或称算法语言。如: Fortran,Basic,Pascal,C 等等。优点:灵活,易于理解,容易查错。缺点:对大型程序而言维护性较差,对“拟定”好的 程序难以扩充,修改(所谓牵一而动百)。 第四代:非过程化的高级语言=是一种面向对象的设计 语言,如:C+,Java 等等。优点:灵活、易于理解、维护、修改、扩充。缺点:掌握难度较大。 第
3、五代:可视化多媒体程序设计工具。具有面向对象的思 想,如:Visual C+,Visual Basic,Delphe等等。,第一章 语言概述,1-1 语言的版本 ANSI C;Turbo C;Microsoft C;Quick C 本书以ANSI C 为基础叙述,与其它略有不同。编程上机时要多加注意。 1-2 语言的特点 语言的主要特点总结为八条; C语言与其它高级语言比较,它的长处。 1-3 简单的程序介绍 举例说明 1-4 语言的上机步骤及环境 用Turbo C 运行C程序,低级语言如汇编语言,它的优势在于对硬件编程,可以编写操作系统等系统软件,但它可读性和可移植性差; 而一般高级语言又难
4、于实现汇编语言的一些功能;如:内存地址操作、位操作 C语言集优点于一身,它七十年代初诞生于美国的贝尔实验室,八十年代开始风靡全世界; 1983年,美国国家标准化协会根据各种不同版本,制定了ANSI C;目前各版本C的编译系统都以它为基础,目前各版本C的基本部分都是相同的,略有的差异将体现在上机编译中。,1-1语言的版本, 1-2 C 语言的特点,1语言简洁、使用灵活; 共有32个关键字(附录)、9种控制语句 书写形式自由,主要用小写字母表示 2运算符丰富;共有34种运算符(附录) 3数据结构丰富,具有现代化语言的各种数据结构;如:整型(关键字int) 实型(关键字float) 字符型(关键字c
5、har) 数组类型(关键字 ) 指针类型(关键字*) 结构体类型(关键字struct) 共用体类型(关键字union),4具有结构化的控制语句,以函数为程序模 块;如:if.else while for do.while switch 5语法限制不太严格、程序设计自由度大; 为保证编程有较大的自由度,C 放宽了语 法检查;编译没错误,不代表程序没错; 故编程者要细心; 6允许直接访问物理地址及位操作,又被称做“中级语言”; 7生成目标代码质量高,执行效率高; 8程序的可移植性好。,1-3 简单的C程序介绍,C 程序的结构: 一C 程序是由函数构成的,是函数式的语言。函数是C 程序的基本单位,可
6、以是库函数, 也可以是用户自己编写的函数;,例如,例如,例如,C 的函数相当于其它语言中的子程序;C 的全部工作都是由函数来完成的;一个函数的组成包括 :函数说明部分和函数体,一个C 源程序至少包含一个函数(main函数),也可以包含一个main函数和若干个其它函数;,一个 C 程序总是从main ( ) 函数开始的;如下 int max ( x ,y ) int x , y ; . . main ( ) . . ;. . ;,主程序开始之处, C程序书写格式自由,一行多语句或一语句多行; 每个语句和数据定义后面必须有一个分号; C 语言没有输入输出语句,输入输出操作由函数 来完成; 可以用/
7、* . . */对C程序中的任何部分作 定义。,1-4 语言的上机步骤及环境,用Turbo C 运行C程序的步骤: 1/在DOS环境下,只需键入 TC 便进入Turbo C 的编辑环境; 2/根据需要编辑或修改源文件; 3/编译、连接源文件,如 * . C * . OBJ * .EXE 按“F9”键便可进行编译、连接,然后在屏幕上将显示有无错误;当按任意键后,光标停在错误处,并在屏幕下方显示出错信息; 4/执行程序; 5/用“Alt + X”组合键退回DOS状态,此时可键入文件名来执行程序; 6/如此反复2/3/4/,直至成功。,编译环境配置步骤,1、拷贝TC整个目录到D盘根目录下; 2、按F
8、10,让菜单栏处于激活状态; 3、按左右键移动光标到“Options”菜单处; 4、按向下建使光标停留在“Directories”处,按回车键,进入设定相关调试目录状态; 5、设定Include derectories项的目录为:D:TURBOC2INCLUDE 6、设定Library derectories的目录为:D:TURBOC2LIB 7、设定Output directory目录为:D:TURBOC2TC-OUT 8、设定Turbo C directory目录为:D:TURBOC2 9、保存设定路径:Save Options ,选折“Y”; 10、设定结束,可以编程操作;,编辑程序及调
9、试程序步骤,1、按“Alt + E ”进入编辑状态,光标闪动; 2、编写程序代码; 3、保存代码,按F10:File-Save(需要起个文件名: *.c),或者快捷键F2进行保存 ; 3、按“Ctrl + F9”,调试查看结果;,第一章小结,重点:简单C 程序的结构C 程序上机操作,main ( ) 语句1;语句2;语句3;语句4; . . . 语句n; 例1-1 main( ) printf ( “ This is a C program . n ” ) ; 例1-2 main( ) int a,b,sum ;a=123; b=456; sum=123+456;printf (“sum is
10、 %d n ” , a ) ; ,例1-3 main() int a , b , c ; scanf ( “%d , %d ” ,主函数,函数说明部分包括:函数名、函数类型、函数属性、函数参数名、形参类型;如:int max ( x , y )函数类型 函数名 函数参数int x ,y ;形参类型 形式参数 又如: main ( )函数名 无参数 函数体包括:变量定义部分 和 执行部分int a ,b; printf (“This is a dog.”) ;,编辑区Message F1-Help F5-Zoom F6-Switch F8-Step F9-Make F10-Menu,File,E
11、dit,Run,Compile,Project,Options,Debug,Break/Switch,File 装入或保存文件,管理目录,调入DOS或退出Turbo C Edit 调入Turbo C的编辑环境 Run 编辑、连接和运行装入环境下的当前序 Compile 编译在当前环境下的当前程序 Project 管理多文件工程 Options 设置编译程序和连接程序的各种选择项 Debug 设置各种调试选择项,Load F3 装入已有文件 Pick Alt-F3 选取最近用过文件 New 建新文件 Save F2 保存文件 Write to 另存为. . Directory 显示当前工作目录
12、Change dir 改变当前目录 OS shell 调入DOS命令环境,Exit返回 Quit Alt-X 退出,选择此命令即进入Turbo C 的编辑环境,光标停在编辑区的左上角,此时可以键入源程序;方法同其它编辑软件。,Run 运行当前程序或Ctrl + F9 Program reset 结束当前调试节,关闭所有文件 Go to curser 运行程序到光标所在行 Trace into 运行当前函数的下一条语句,跟踪 Step over 运行当前函数的下一条语句不跟踪 User screen 用户屏幕,用于看结果,按任意键 返回或Alt + F5,Compile to OBJ 编译生成目
13、标码 Make EXE file 生成执行文件 Link EXE file 连接执行文件 Build all 建立所有文件 Primary C file 主C 文件 Get info 获得信息,Project name 选择一包含将要编辑、连接的文件名的project文件,典型为.PRJ Break make on Errors 终止make的缺省条件,如警告、错误、致命错误、连接之前 Auto dependencies off 自动依赖关系检查 Clear project 清除项目文件名 Remove message 清除信息,Compiler 编译环境的设置,有子菜单 Linker 有关连
14、接程序的设置,有子菜单 Environment 有关工作环境设置,有子菜单 Directories 告诉到哪里去寻找编译、连接所需的文件;生成的可执行文件放到哪里;到哪查找配置文件、选择文件等 Arguments 设置允许用户给出运行程序命令行 Save Options 保存所有的选择的编译、连接程序环境、调试Project任选到一配置文件里(缺省为TCCONGIG.TC) Retrieve Options 加载以前用Save Options 保存的配置文件,用于控制集成调试程序除断点和监视表达式以外的条目 Evaluate 计算变量或表达式 Call stack 显示调用栈 Find fuc
15、tion 查找函数定义 Refresh display 刷新显示器 Source debugging 源代码调试,控制断点及监视表达式 Add watch 增加监视表达式 Delete watch 删除监视表达式 Edit watch 编辑监视表达式 Remove all watches 删除所有监视表达式 Toggle breakpoint 设置或关闭断点 Clear all breakpoint 删除所有断点 View next breakpoint 显示下一个断点,例1说明,所有程序都有main(),函数体用括起来。 语句结束都用;号 printf()是库函数,打印字符串到屏幕上 n回车换行符,例2说明,所有变量都要定义 int a,b; float x,x1; /*.*/ 注释语句,