《C语言程序设计基础知识》由会员分享,可在线阅读,更多相关《C语言程序设计基础知识(40页珍藏版)》请在金锄头文库上搜索。
1、江汉大学数计学院计算中心江汉大学数计学院计算中心2011年年1月月C C语言程序设计语言程序设计李支成李支成李支成李支成C语言程序设计语言程序设计l l教学要求教学要求 掌握程序设计语言的基本知识掌握程序设计语言的基本知识 常用算法常用算法 初步的程序设计能力初步的程序设计能力l l学习方法学习方法 自主学习自主学习 重视上机实践重视上机实践2如何尽快学会用如何尽快学会用C语言进行程序设计语言进行程序设计l l了解程序设计语言了解程序设计语言(C语言语言)l l阅读阅读程序程序l l模仿模仿、改写改写、编写编写程序程序 通过不断的编程实践,逐步领会和掌握程通过不断的编程实践,逐步领会和掌握程序
2、设计的基本思想和方法。序设计的基本思想和方法。3教材、参考书与课时安排教材、参考书与课时安排l l教材和实验教材教材和实验教材 C C C C语言程序设计语言程序设计语言程序设计语言程序设计 陈刚陈刚陈刚陈刚 清华大学出版社清华大学出版社清华大学出版社清华大学出版社 C C C C语言程序设计实践教程语言程序设计实践教程语言程序设计实践教程语言程序设计实践教程 王琳艳王琳艳王琳艳王琳艳 清华大学出版社清华大学出版社清华大学出版社清华大学出版社l l参考书参考书 C C C C程序设计程序设计程序设计程序设计 谭浩强主编谭浩强主编谭浩强主编谭浩强主编 清华大学出版社清华大学出版社清华大学出版社清
3、华大学出版社 C C C C语言程序设计语言程序设计语言程序设计语言程序设计 何钦铭何钦铭何钦铭何钦铭, , , ,颜晖主编颜晖主编颜晖主编颜晖主编 高等教育出版社高等教育出版社高等教育出版社高等教育出版社,2008,2008,2008,2008l l课时安排课时安排授课授课授课授课 :36363636学时学时学时学时上机上机上机上机 :12121212学时学时学时学时4江汉大学数计学院计算中心江汉大学数计学院计算中心2011年年1月月第第1 1章章 C C语言基础知识语言基础知识本章主要内容本章主要内容l l程序设计与算法概述程序设计与算法概述l lC C语言的特点语言的特点 l lVC+6
4、.0VC+6.0集成开发环境集成开发环境 l lC C程序的执行程序的执行6 计算机语言与程序设计计算机语言与程序设计 1. 计算机语言(程序设计语言)计算机语言(程序设计语言) 是人与计算机进行交流的工具。是人与计算机进行交流的工具。是人与计算机进行交流的工具。是人与计算机进行交流的工具。 计算机语言分为:计算机语言分为:计算机语言分为:计算机语言分为:机器语言机器语言机器语言机器语言机器指令(由机器指令(由机器指令(由机器指令(由0 0 和和和和 1 1组成),可直接执行组成),可直接执行组成),可直接执行组成),可直接执行 难学、难记难学、难记难学、难记难学、难记依赖机器的类型依赖机器的
5、类型依赖机器的类型依赖机器的类型汇编语言汇编语言汇编语言汇编语言用助记符代替机器指用助记符代替机器指用助记符代替机器指用助记符代替机器指令,用变量代替各类令,用变量代替各类令,用变量代替各类令,用变量代替各类地址。地址。地址。地址。克服记忆的难点克服记忆的难点克服记忆的难点克服记忆的难点其他与机器语言类其他与机器语言类其他与机器语言类其他与机器语言类似似似似高级语言高级语言高级语言高级语言类似数学语言、接近自然语言、具有通用类似数学语言、接近自然语言、具有通用类似数学语言、接近自然语言、具有通用类似数学语言、接近自然语言、具有通用性和可移植性,不依赖具体的计算机类型。性和可移植性,不依赖具体的
6、计算机类型。性和可移植性,不依赖具体的计算机类型。性和可移植性,不依赖具体的计算机类型。7例如:例如:0 0 1 0 0 0 1 10 0 1 0 0 0 1 11 1 1 0 1 1 0 11 1 1 0 1 1 0 10 1 1 0 0 0 0 10 1 1 0 0 0 0 10 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 机器语言程序机器语言程序MOV AX,MOV AX, 300H300HADD BX, AXADD BX, AXMOV 2100H, BXMOV 2100H, BX HLTHLT汇编语言源程序汇编语言源程序main( ) int a, b, c; a=30
7、0; b=18; c=a+b; printf(“ a+b= %dn”, c);高级语言高级语言源程序源程序(C)源程序需要源程序需要翻译翻译8汇编源程序的翻译:汇编源程序的翻译:l l将汇编源程序翻译为目标程序的过将汇编源程序翻译为目标程序的过程称为程称为汇编汇编l l汇编过程:汇编过程:图图1.1 汇编过程汇编过程汇编程序汇编程序连接程序连接程序汇汇编编连连接接汇编语言汇编语言源程序源程序机器语言机器语言目标程序目标程序可执行可执行程序程序(.ASM)(.OBJ)(.EXE)运运行行运行运行结果结果9高级语言的翻译:高级语言的翻译:l l编译编译方法方法图图1. 2 编译过程编译过程( .C
8、 )编译程序编译程序连接程序连接程序编编译译连连接接高级语言高级语言源程序源程序机器语言机器语言目标程序目标程序可执行可执行程序程序( .OBJ )( .EXE )运运行行运行运行结果结果解释程序解释程序高级语言高级语言源程序源程序解释解释执行执行运行运行结果结果图图1.3 解释过程解释过程(.BAS)l l解释解释方法方法102 2程序设计程序设计 l l用计算机解决一个实际应用问题时的整个处理过用计算机解决一个实际应用问题时的整个处理过用计算机解决一个实际应用问题时的整个处理过用计算机解决一个实际应用问题时的整个处理过程称为程称为程称为程称为程序设计程序设计程序设计程序设计 。提出提出问题
9、问题确定数据结构确定数据结构确定数据结构确定数据结构确定算法确定算法确定算法确定算法编写编写程序程序调试和运行调试和运行程序程序输入输入程序程序翻译翻译(编译或解释编译或解释)得到得到得到得到运行结果运行结果运行结果运行结果程序算法数据结构程序算法数据结构11 算算 法法l l什么是算法什么是算法 为解决某一应用问题而采用的为解决某一应用问题而采用的解题步骤解题步骤l l算法的特点算法的特点 有穷性有穷性 确定性确定性 有效性有效性 有有0或多个输入或多个输入 有一个或多个输出有一个或多个输出12l l算法的描述方式算法的描述方式 用自然语言描述算法用自然语言描述算法 用流程图描述算法用流程图
10、描述算法 用用N-S结构图描述算法结构图描述算法 例如:输出两个数中的最大数例如:输出两个数中的最大数 。 算算 法法13用自然语言描述算法用自然语言描述算法第一步:输入第一步:输入x和和y的值;的值;第二步:比较第二步:比较x和和y的值,如果的值,如果x大于大于y,则则输出输出x的值,否则输出的值,否则输出y的值。的值。 易于理解,但易于理解,但易于理解,但易于理解,但冗长,不够精冗长,不够精冗长,不够精冗长,不够精确,难于描述确,难于描述确,难于描述确,难于描述复杂算法。复杂算法。复杂算法。复杂算法。例如当描述例如当描述“输出输出10个个数中最大数数中最大数”的算法时,的算法时,会冗长、难
11、于理解会冗长、难于理解14图图1.5 用流程图描述算法用流程图描述算法用流程图描述算法用流程图描述算法NYz= yz= xx y ?开始开始输入输入x和和y结束结束输出输出z起止框起止框起止框起止框输入输入输入输入/ /输出输出输出输出框框框框判断框判断框判断框判断框处理框处理框处理框处理框流程线流程线流程线流程线15用用N-S结构图描述算法结构图描述算法输入输入x、y的值的值xy T F z = x z = y输出输出z的值的值图图1.7 用用N-S结构图描述的算法结构图描述的算法已经证明,任何复杂的问题都可以三种基本算已经证明,任何复杂的问题都可以三种基本算法结构来描述:法结构来描述:顺序
12、、选择、循环。顺序、选择、循环。因此用计因此用计算机语句描述的算机语句描述的程序也包含三种基本结构。程序也包含三种基本结构。 161.1.3 1.1.3 结构化程序设计结构化程序设计l l程序的三种基本结构程序的三种基本结构程序的三种基本结构程序的三种基本结构顺序结构程序:顺序结构程序:顺序结构程序:顺序结构程序:按照书写顺序依次执行语句按照书写顺序依次执行语句按照书写顺序依次执行语句按照书写顺序依次执行语句选择结构程序:选择结构程序:选择结构程序:选择结构程序:按照条件判断选择执行语句按照条件判断选择执行语句按照条件判断选择执行语句按照条件判断选择执行语句循环结构程序:循环结构程序:循环结构
13、程序:循环结构程序:通过条件控制循环执行语句通过条件控制循环执行语句通过条件控制循环执行语句通过条件控制循环执行语句三种基本结构的共同点:三种基本结构的共同点:三种基本结构的共同点:三种基本结构的共同点:都是只有一个入口和一个出口;都是只有一个入口和一个出口;都是只有一个入口和一个出口;都是只有一个入口和一个出口;结构内的每一个框都有机会被执行;结构内的每一个框都有机会被执行;结构内的每一个框都有机会被执行;结构内的每一个框都有机会被执行;结构内没有死循环。结构内没有死循环。结构内没有死循环。结构内没有死循环。17程序的三种基本结构程序的三种基本结构顺序结构顺序结构# include main
14、 ( ) / * *求两数之和求两数之和*/*/ int a,b,sum; a=123; b=456; sum=a+b; printf(sum is %dn,sum);18程序的三种基本结构程序的三种基本结构选择结构选择结构int max(int x , int y) int z; if (xy) z=x; else z=y; return (z);NY真假19循环结构循环结构_直到型循环结构直到型循环结构# include main ( ) int a=0,sum=0; do sum=sum+a; a+; while (a100); printf(sum is %dn,sum);NY直到为直
15、到为“假假”20循环结构循环结构_当循环当循环# include main ( ) int a=0,sum=0; while (ay) z = x; else z = y; if (xy) z = x; else z = y; return(z); return(z); main( )main( ) /* /* 主函数主函数主函数主函数 */ */ intint a,b,c; a,b,c; scanf(%dscanf(%d, %d,&a,&b); , %d,&a,&b); c = c = max(a,b)max(a,b); ; /* /* 调用调用调用调用maxmax函数,求函数,求函数,求函
16、数,求a a和和和和b b中大数中大数中大数中大数 */ */ printf(maxprintf(max = %dn,c); = %dn,c); 24C程序结构程序结构l lC程序程序 由由函数函数构成构成必须有,且只能有一个必须有,且只能有一个main(主函数)主函数) 总是从总是从main函数开始执行函数开始执行l l函数函数 由由函数首部函数首部和和函数体函数体组成组成 函数首部指定函数首部指定函数名、函数参数、类型函数名、函数参数、类型 函数体从函数体从 开始,到开始,到 结束结束 函数内有函数内有语句语句25C程序结构(续)程序结构(续)l l语句语句 包括包括说明性语句说明性语句、
17、可执行语句可执行语句 以以 ;表示语句结束表示语句结束l l注释注释可以出现在程序的任何位置可以出现在程序的任何位置 用用 /* 和和 */ 括起来,一般成对出现;括起来,一般成对出现; 也可用也可用/开头,表示一注释行开头,表示一注释行l l书写格式书写格式 C语言没有行的概念,书写格式自由语言没有行的概念,书写格式自由 习惯小写字母,大小写敏感,采用缩进格式。习惯小写字母,大小写敏感,采用缩进格式。261.2.4 C程序的执行过程程序的执行过程 1 1源程序文件的建立和源程序文件的建立和源程序文件的建立和源程序文件的建立和编辑编辑编辑编辑 编写源程序,形成编写源程序,形成编写源程序,形成编
18、写源程序,形成 . . . .c c文件文件文件文件 需用需用需用需用编辑工具编辑工具编辑工具编辑工具:VCVC编译器编译器编译器编译器、记事本、记事本、记事本、记事本2 2编译编译编译编译 编译源程序,形成目标程序编译源程序,形成目标程序编译源程序,形成目标程序编译源程序,形成目标程序 . . objobj文件文件文件文件 需用需用需用需用编译工具编译工具编译工具编译工具 3 3连接连接连接连接 连接连接连接连接OBJOBJ文件和调用的库函数,形成运行程文件和调用的库函数,形成运行程文件和调用的库函数,形成运行程文件和调用的库函数,形成运行程序序序序 . .exeexe 文件文件文件文件 需
19、用需用需用需用连接工具连接工具连接工具连接工具 4 4运行运行运行运行 . .exeexe 文件文件文件文件VC+6.0VC+6.0提供提供提供提供集成化开发环境集成化开发环境集成化开发环境集成化开发环境27Visual C+ 6.0 Visual C+ 6.0 主菜单画面:主菜单画面:28 VC+6.0VC+6.0的基本操作方法演示的基本操作方法演示29启动程序启动程序30进入界面进入界面31单击单击File New32在在New对话框中,选择对话框中,选择Files选项卡选项卡选择文件类型:选择文件类型:C+C+源文件源文件设置文件保存位置设置文件保存位置eg1.ceg1.c33进入编辑窗口进入编辑窗口34编辑源程序编辑源程序35几个常用工具按钮几个常用工具按钮 Compile(Ctrl+F7)Build(F7)Stop Build(Ctrl+Break)Execute Program(Ctrl+F5)36当当Compile或或Build时,弹出对话框时,弹出对话框37编译、连接的信息提示编译、连接的信息提示38运行(运行(Ctrl+F5)3940