《C程序设计第1章C语言程序设计基本概念.ppt》由会员分享,可在线阅读,更多相关《C程序设计第1章C语言程序设计基本概念.ppt(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、高级语言程序设计 南京邮电大学传媒技术学院第一章第一章 C语言程序设计基本概念语言程序设计基本概念1高级语言程序设计 南京邮电大学传媒技术学院学习目标学习目标了解了解C语言的历史和特点语言的历史和特点理解理解C语言的结构语言的结构理解理解C程序的开发过程程序的开发过程了解结构化程序设计方法了解结构化程序设计方法2高级语言程序设计 南京邮电大学传媒技术学院程序设计语言程序设计语言程序设计语言程序设计语言 人与计算机进行信息交流的工具。人与计算机进行信息交流的工具。大致可分为三类大致可分为三类 机器语言机器语言汇编语言汇编语言高级语言高级语言3高级语言程序设计 南京邮电大学传媒技术学院程序设计语言
2、程序设计语言机器语言机器语言 1、计算机能直接识别的语言;、计算机能直接识别的语言;2、计算机硬件的设计密切相关;、计算机硬件的设计密切相关;3、由一组二进制、由一组二进制0和和1序列构成;序列构成;1011 0000 0000 0100 0000 0100 0000 1000 1111 0100无移植性无移植性 4高级语言程序设计 南京邮电大学传媒技术学院程序设计语言程序设计语言汇编语言汇编语言 1、计算机不能直接识别、计算机不能直接识别 2、与计算机硬件的设计密切相关、与计算机硬件的设计密切相关 3、采用英语缩写编写程序、采用英语缩写编写程序MOV AL,4 ADD AL,8HLT5高级语
3、言程序设计 南京邮电大学传媒技术学院程序设计语言程序设计语言高级语言高级语言 基本与计算机的硬件设备无关基本与计算机的硬件设备无关sum=4+8;6高级语言程序设计 南京邮电大学传媒技术学院C语言的发展历史语言的发展历史历史悠久,战勋卓著历史悠久,战勋卓著诞生于上世纪诞生于上世纪70年代初,成熟于年代初,成熟于80年代年代“ANSI C”标准的发布是标准的发布是C语言成熟的标志语言成熟的标志很多重量级软件都是用很多重量级软件都是用C写的写的上天入地,无所不能上天入地,无所不能几乎没有不能用几乎没有不能用C写出来的软件,没有不支持写出来的软件,没有不支持C的系统的系统7高级语言程序设计 南京邮电
4、大学传媒技术学院C语言特点语言特点u语言简洁紧凑,使用灵活方便语言简洁紧凑,使用灵活方便 32个关键字,个关键字,9种控制语句种控制语句 u运算符丰富运算符丰富 34种运算符种运算符 +、-、*、%、+、-、-等等8高级语言程序设计 南京邮电大学传媒技术学院u数据类型丰富数据类型丰富基本数据类型:整型、实型和字符型;基本数据类型:整型、实型和字符型;构造类型:数组、结构体、共同体构造类型:数组、结构体、共同体、指针 u生成的代码质量高生成的代码质量高u可移植性强可移植性强u结构化语言结构化语言有结构,有章法,不凌乱C语言特点语言特点9高级语言程序设计 南京邮电大学传媒技术学院简单的简单的C程序
5、实例程序实例【例【例1-1】/第一个第一个C程序程序#includeint main()printf(Welcome to C programmingn);return 0;Welcome to c programmingWelcome to c programming行注释行注释 头文件头文件主函数主函数 编译系统提供编译系统提供的输出函数的输出函数 程序结束程序结束函数返回函数返回 10高级语言程序设计 南京邮电大学传媒技术学院C语言程序的结构语言程序的结构1、C语言程序是由函数构成的,函数是完成某些功能的语句的集合;语言程序是由函数构成的,函数是完成某些功能的语句的集合;2、一个可以执行
6、的程序有且仅有一个、一个可以执行的程序有且仅有一个main函数,不管函数,不管main函数位于何函数位于何处,程序总是从处,程序总是从main函数开始执行;函数开始执行;umain函数定义语法:函数定义语法:int main()return 0;3、程序的语句一般都写在函数体里面;、程序的语句一般都写在函数体里面;4、一个、一个C语言程序可以由多个函数组成,每个函数完成某种功能;语言程序可以由多个函数组成,每个函数完成某种功能;5、通过函数调用来执行某个函数,否则,除了、通过函数调用来执行某个函数,否则,除了main函数,其他函数都不函数,其他函数都不会自动执行;会自动执行;6、函数被调用前要
7、先被定义,定义语法与主函数类似;、函数被调用前要先被定义,定义语法与主函数类似;7、编译器已事先定义了一些函数、编译器已事先定义了一些函数(库函数库函数),实现了某些功能,若需要这,实现了某些功能,若需要这些功能,可以直接调用这些函数,而不用再定义他们;些功能,可以直接调用这些函数,而不用再定义他们;u调用语法:函数名调用语法:函数名(参数列表参数列表);eg.printf(“hello world!”);8、调用库函数之前要包含相应头文件,通常放在程序最前面。、调用库函数之前要包含相应头文件,通常放在程序最前面。11高级语言程序设计 南京邮电大学传媒技术学院u 每条每条C语句用分号作为语句用
8、分号作为结尾,但预处理命令、函结尾,但预处理命令、函数头与大括号后面不需要;数头与大括号后面不需要;u大括号需要成对使用;大括号需要成对使用;u严格区分大小写;严格区分大小写;u采用缩进格式,函数体采用缩进格式,函数体相对于函数头缩进。相对于函数头缩进。求三个数的最大值求三个数的最大值#includeint max_value(int a,int b,int c);main()int x,y,z,maxx;scanf(%d%d%d,&x,&y,&z);maxx=max_value(x,y,z);printf(“最大值最大值 max=%dn,maxx);return 0;int max_valu
9、e(int a,int b,int c)int max;if(ab)max=a;else max=b;if(maxbTHEN max=aELSE max=bIF maxcTHEN 输出输出 maxELSE 输出输出 c14高级语言程序设计 南京邮电大学传媒技术学院算法算法u流程图流程图:ANSI流程图符号:流程图符号:起止框起止框 输入输出框输入输出框 判断框判断框 处理框处理框 流程线流程线 连接圈连接圈三个数中最大值问题的流程图图三个数中最大值问题的流程图图15高级语言程序设计 南京邮电大学传媒技术学院算法算法uN-S图图:图语言表示法图语言表示法 三个数中最大值问题的三个数中最大值问题的
10、 N-S图图16高级语言程序设计 南京邮电大学传媒技术学院算法算法算法仅仅是方法和步算法仅仅是方法和步骤,要真正解决问题,骤,要真正解决问题,还需要编程。还需要编程。/求三个数中最大值求三个数中最大值#includeint max_value(int a,int b,int c)。int main()。17高级语言程序设计 南京邮电大学传媒技术学院一、计算机基本概念一、计算机基本概念计算机计算机硬件硬件软件软件18高级语言程序设计 南京邮电大学传媒技术学院二、二、C语言的前导基本概念语言的前导基本概念语语 言:言:交流的工具。交流的工具。C语言:语言:和计算机交流的工具,通过和计算机交流的工具
11、,通过C语言可以让语言可以让计算机做某些事情,解决某些问题。计算机做某些事情,解决某些问题。学习这门语言的目的,学习怎样让计算机做事学习这门语言的目的,学习怎样让计算机做事情,解问题情,解问题(数学计算、数据处理、播放音乐、(数学计算、数据处理、播放音乐、视频)视频)。19高级语言程序设计 南京邮电大学传媒技术学院三、怎样让计算机做事情?三、怎样让计算机做事情?1、C语言让计算机做事的基本原理语言让计算机做事的基本原理*给计算机一条符合给计算机一条符合C语法的命令,计算机执行语法的命令,计算机执行并完成相应的一件事情;并完成相应的一件事情;*给计算机两条符合给计算机两条符合C语法的命令,计算机
12、执行语法的命令,计算机执行并完成相应的两件事情;并完成相应的两件事情;*给计算机三条符合给计算机三条符合C语法的命令,计算机执行语法的命令,计算机执行并完成相应的三件事情;并完成相应的三件事情;把符合把符合C语法的命令,称为语法的命令,称为“语句语句”;把多个语句按照某种规则和结构排列在一起,把多个语句按照某种规则和结构排列在一起,让计算机做一系列事情,完成一个完整的功能。让计算机做一系列事情,完成一个完整的功能。20高级语言程序设计 南京邮电大学传媒技术学院三、怎样让计算机做事情?三、怎样让计算机做事情?2、C语言语句的三种结构语言语句的三种结构(1)顺序结构)顺序结构多条语句按从上往下,从
13、左往右排列;执行顺序也多条语句按从上往下,从左往右排列;执行顺序也是从上往下,从左往右逐条执行;是从上往下,从左往右逐条执行;(2)选择结构)选择结构*世界是复杂的,问题是多变的;世界是复杂的,问题是多变的;*要替他充分考虑到可能遇到的问题,可能产生的要替他充分考虑到可能遇到的问题,可能产生的后果,并明确指出如何应对每一种情况。后果,并明确指出如何应对每一种情况。*选择结构中这样安排语句,让计算机做某件事情选择结构中这样安排语句,让计算机做某件事情之前,我们替他先判断当前情况,情况允许,让计算之前,我们替他先判断当前情况,情况允许,让计算机去做这样的事情,情况不允许,让计算机不做或做机去做这样
14、的事情,情况不允许,让计算机不做或做其他的事情。其他的事情。21高级语言程序设计 南京邮电大学传媒技术学院三、怎样让计算机做事情?三、怎样让计算机做事情?2、C语言语句的三种结构语言语句的三种结构(1)顺序结构)顺序结构(2)选择结构)选择结构(3)循环结构)循环结构*很多问题的解决要多次重复某个动作;很多问题的解决要多次重复某个动作;*C语言有灵活的机制来完成重复性的动作。语言有灵活的机制来完成重复性的动作。*在循环结构中,在完成某个动作之前,先判断动在循环结构中,在完成某个动作之前,先判断动作重复次数是否已经够多了,或者判断重复动作所造作重复次数是否已经够多了,或者判断重复动作所造成的后果
15、是否已经令人满意了,如果是,就停止重复成的后果是否已经令人满意了,如果是,就停止重复动作,如果不是,再重复一次动作,然后再判断,如动作,如果不是,再重复一次动作,然后再判断,如此循环往复,总有一次,次数够多或结果满意了。此循环往复,总有一次,次数够多或结果满意了。22高级语言程序设计 南京邮电大学传媒技术学院三、怎样让计算机做事情?三、怎样让计算机做事情?顺序结构、选择结构、循环结构顺序结构、选择结构、循环结构组织所有组织所有C语言的语句;语言的语句;语语句句准准确确详详细细说说明明解解决决某某个个问问题题的的步步骤骤,让让计计算机按部就班地去做;算机按部就班地去做;策划者策划者执行者执行者2
16、3高级语言程序设计 南京邮电大学传媒技术学院三、怎样让计算机做事情?三、怎样让计算机做事情?3、流程图与、流程图与NS图图(1)顺序结构)顺序结构(2)选择结构)选择结构(3)循环结构)循环结构24高级语言程序设计 南京邮电大学传媒技术学院四、把语句放到哪里才能执行?四、把语句放到哪里才能执行?1、函数、函数*所有语句必须放到函数里面才能被执行。所有语句必须放到函数里面才能被执行。*数学中的函数描述了因变量与自变量之间的映数学中的函数描述了因变量与自变量之间的映射关系;射关系;*C语言中的函数,就是一组语言中的函数,就是一组C语句的集合;语句的集合;让计算机做事的时候,必须把所有让计算机做事的
17、时候,必须把所有 语句放到语句放到函数里面计算机才能找到他们并执行他们。函数里面计算机才能找到他们并执行他们。25高级语言程序设计 南京邮电大学传媒技术学院四、把语句放到哪里才能执行四、把语句放到哪里才能执行2、函数的大概样子、函数的大概样子函数名()函数名()。main函数函数写语句写语句让计算机执行让计算机执行先找先找main函数函数再找再找main函数的第一条语句函数的第一条语句执行语句执行语句26高级语言程序设计 南京邮电大学传媒技术学院四、把语句放到哪里才能执行四、把语句放到哪里才能执行3、.C文件文件函数放到一个函数放到一个.c文件里面,保存到计算机上。文件里面,保存到计算机上。创
18、建创建.C文件文件main函数函数写语句写语句让计算机执让计算机执行行先找先找main函数函数再找再找main函数的第一条语函数的第一条语句句执行语句执行语句 把把.C文件及其里面的函数和语句称为文件及其里面的函数和语句称为程序程序。27高级语言程序设计 南京邮电大学传媒技术学院四、把语句放到哪里才能执行四、把语句放到哪里才能执行*程序(程序(.C文件)文件)是函数的集合,每个可执行是函数的集合,每个可执行程序必须有一个名为程序必须有一个名为main的函数;的函数;*函数函数是语句的集合,函数中的语句完成某个是语句的集合,函数中的语句完成某个相对独立的功能;相对独立的功能;*语句语句是按某种结
19、构组织在一起的,并且详细是按某种结构组织在一起的,并且详细说明了解决某个问题的步骤;说明了解决某个问题的步骤;*计算机计算机执行执行这些语句,并且是从这些语句,并且是从main函数的函数的第一条语句开始执行,所有语句执行完毕,就第一条语句开始执行,所有语句执行完毕,就按照我们的意图解决了某个问题。按照我们的意图解决了某个问题。28高级语言程序设计 南京邮电大学传媒技术学院结构化程序设计方法结构化程序设计方法结构化程序设计:结构化程序设计:写程序的时候要遵循一定的语法写程序的时候要遵循一定的语法结构,这些结构决定了程序怎样被执行。结构,这些结构决定了程序怎样被执行。结构化程序设计三种基本控制结构
20、:结构化程序设计三种基本控制结构:顺序结构顺序结构 选择结构选择结构 循环结构循环结构29高级语言程序设计 南京邮电大学传媒技术学院结构化程序设计方法结构化程序设计方法顺序结构顺序结构N-S图图 流程图流程图 先执行先执行A操作,再执行操作,再执行B操作。操作。30高级语言程序设计 南京邮电大学传媒技术学院结构化程序设计方法结构化程序设计方法选择结构选择结构N-S图图 流程图流程图当当P 条件成立执行条件成立执行A条件不成立执行条件不成立执行B31高级语言程序设计 南京邮电大学传媒技术学院结构化程序设计方法结构化程序设计方法循环结构循环结构当当P条件成立条件成立 反复执行反复执行A,直到,直到
21、P不成立。不成立。N-S图图 AP真假32高级语言程序设计 南京邮电大学传媒技术学院结构化程序设计方法结构化程序设计方法循环结构循环结构流程图流程图N-S图图 先执行先执行A操作,再判断操作,再判断P,若为,若为假假,再执行再执行A,直到,直到P为为 真真。AP真假A直到P为真时33高级语言程序设计 南京邮电大学传媒技术学院结构化程序设计方法结构化程序设计方法三种基本结构的共同特点是:三种基本结构的共同特点是:1)只有一个入口)只有一个入口2)只有一个出口)只有一个出口3)结构内的每一部份都有可能被执行到。)结构内的每一部份都有可能被执行到。4)结构内不存在)结构内不存在“死循环死循环”。顺序
22、顺序选择选择循环循环34高级语言程序设计 南京邮电大学传媒技术学院课堂练习课堂练习1、程序设计语言大致可分为三类,分别是程序设计语言大致可分为三类,分别是 、和和 。2、语言是计算机能直接识别的语言。语言是计算机能直接识别的语言。3、C C语言是由语言是由 构成的,至少有一个且仅有一构成的,至少有一个且仅有一个个 函数,称主函数。函数,称主函数。4 4、C C语言以语言以 为语句的终止符。为语句的终止符。5、表示程序的结构层次范围表示程序的结构层次范围,必须必须 使用。使用。6、结构化程序设计三种基本控制结构分别是结构化程序设计三种基本控制结构分别是 、和和 。1、机器语言、机器语言 汇编语言汇编语言 高级语言高级语言 2、机器语言、机器语言 3、函数、函数 main 4、;、;5、配对配对 6、顺序结构、顺序结构 选择结构选择结构 循环结构循环结构35高级语言程序设计 南京邮电大学传媒技术学院作业作业 1.2 1.3 1.436