资源描述
1,第1章C语言程序设计基本概念,2,学习目标,了解C语言的历史和特点熟悉计算机语言的不同类型了解C语言的结构理解C程序的开发过程了解结构化程序设计方法,3,主要内容,C语言的发展历史以及特点程序设计语言简单的C程序实例C语言程序的结构C程序的编辑、编译和执行算法结构化程序设计方法课堂练习,4,C语言的发展历史,历史悠久,战勋卓著诞生于上世纪70年代初,成熟于80年代“ANSIC”标准的发布是C语言成熟的标志很多重量级软件都是用C写的上天入地,无所不能几乎没有不能用C写出来的软件,没有不支持C的系统,5,C语言特点,语言简洁紧凑,使用灵活方便32个关键字,9种控制语句介于高级语言和低级语言之间的语言运算符丰富34种运算符+、-、*、%、+、-等可以实现其他高级语言难以实现的运算,6,数据结构类型丰富标准数据类型:整型、实型和字符型;构造类型:数组、结构体、共同体、指针生成的代码质量高可移植性强结构化语言主要结构函数,实现模块化设计结构化的控制语句,支持多种循环结构,C语言特点,7,程序设计语言,程序设计语言人与计算机进行信息交流的工具。,大致可分为三类机器语言汇编语言高级语言,8,程序设计语言,机器语言1、计算机硬件的设计密切相关2、计算机能直接识别的语言3、由一组二进制0和1序列构成,例如,计算4+8取数1011000000000100将4送累加器加00000100000010008与累加器中的4相加停机11110100,繁琐的,难记、难读、难写,9,程序设计语言,汇编语言1、计算机硬件的设计密切相关2、计算机是不能直接识别,3、计算机基本操作的采用英语缩写编写程序,例如,计算4+8MOVEAL,4将4送累加器ADDAL,88与累加器中的4相加HLT停机,10,程序设计语言,汇编程序:将汇编语言程序转换为计算机能识机器语言,,11,11,程序设计语言,高级语言基本与计算机的硬件设备无关,例如计算4+8(C语言编写)Sum=4+8;,编译器:高级语言转换为机器语言的翻译程序,12,12,简单的C程序实例,【例1-1】/第一个C程序#includemain()printf(WelcometoCprogrammingn);return0;,执行结果:屏幕上显示Welcometocprogramming,行注释,头文件,主函数,编译系统提供的输出函数,程序结束返回函数,13,简单的C程序实例,【例1-2】编写求三数中最大值问题的程序,#includeintmax_value(inta,intb,intc)intmax;if(ab)max=a;elsemax=b;if(maxb)max=a;elsemax=b;if(maxb)max=a;elsemax=b;if(maxb)max=a;elsemax=b;if(maxNTHEN交换M和NWHILEN0DOR=MOD(M,N)M=NN=RENDDO输出M其中M除以N的余数用符号MOD(M,N)表示。,26,算法,3、流程图描述,27,算法,4、N-S图描述,28,结构化程序设计方法,结构化程序设计的基本方法:自顶向下,逐步求精复杂问题分解为若干的独立的小问题(小模块),例:求解两个数的平均值1、分解:问题分解为三个模块S1:输入两个数a,bS2:求两个数的平均值赋给averS3:输出平均值,29,结构化程序设计方法,2、实现方法,算法细化S1:调用输入函数,完成输入S2:设计一个求解平均值的函数averge()S3:调用输出函数,完成输出,3、C语言实现主函数的编程/求两个数的平均值main()/主函数floata,b,ave;/声明a、b和ave为实型变量scanf(“%f%f”,/输出ave的值return0;,30,结构化程序设计方法,4、逐步求精:设计averag()函数的算法。设两个参数为floatx,floaty。S2.1:把x加y的和除2的值送给averS2.2:把aver的值返回给主函数。,5、C语言实现averag()函数的编程#includefloataverage(floatx,floaty)/求两个数的平均值floatz,aver;/声明aver为实型变量aver=(x+y)/2;/计算两个数的平均值赋给averreturn(aver);/aver的值作为函数的的返回值,31,结构化程序设计方法,6、两模块连接成一个完整的求解程序#includefloataverage(floatx,floaty)/求两个数的平均值floatz,aver;/声明aver为实型变量aver=(x+y)/2;/计算两个数的平均值赋给averreturn(aver);/aver的值作为函数的的返回值main()/主函数floata,b,ave;/声明a、b和ave为实型变量scanf(“%f%f”,/输出ave的值return0;,32,结构化程序设计方法,结构化程序设计三种基本控制结构:顺序结构选择结构循环结构(while,repert_until),33,结构化程序设计方法,顺序结构,N-S图,流程图,执行过程:先执行A操作,再执行B操作。,34,结构化程序设计方法,选择结构,N-S图,流程图,P为条件:当P条件成立(为真T)执行A条件不成立(为假F)执行B,35,结构化程序设计方法,循环结构(while),当P条件成立(为真T)反复执行A,直到P为假。,流程图,N-S图,36,结构化程序设计方法,循环结构(repert_until),流程图,N-S图,先执行A操作,再判断P,若为假,再执行A,直到P为真。,37,结构化程序设计方法,三种基本结构的共同特点是:1)只有一个入口2)只有一个出口3)结构内的每一部份都有可能被执行到。4)结构内不存在“死循环”。,顺序,选择,循环,38,课堂练习一,1、程序设计语言大致可分为三类,分别是、和。2、语言是计算机能直接识别的语言。3、C语言是由构成的,至少有一个且仅有一个的函数,称主函数。4、C语言以为语句的终止符。5、表示程序的结构层次范围,必须使用。6、算法可以用多种方式来表示,通常有4种、和。,1、机器语言汇编语言高级语言2、机器语言3、函数main4、;5、配对6、自然语言伪码流程图N-S图,39,课堂练习二,1、结构化程序设计三种基本控制结构分别是、和。2、三种基本结构的共同特点是:只有入口;只有出口;结构内的每一部份都有可能被执行到;结构内“死循环”。,1、顺序结构选择结构循环结构2、一个一个不存在,40,作业,P111.31.4,
展开阅读全文