记忆语法思考算法读懂程序循序渐进记好笔记上机课件

上传人:春*** 文档编号:243150852 上传时间:2024-09-17 格式:PPT 页数:36 大小:342.50KB
返回 下载 相关 举报
记忆语法思考算法读懂程序循序渐进记好笔记上机课件_第1页
第1页 / 共36页
记忆语法思考算法读懂程序循序渐进记好笔记上机课件_第2页
第2页 / 共36页
记忆语法思考算法读懂程序循序渐进记好笔记上机课件_第3页
第3页 / 共36页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,记忆,语法、,思考,算法。,读懂,程序、循序渐进。,记好,笔记,、,上机,调试。,学习方法,程序设计语言,计算机语言的种类,机器语言,汇编语言,高级语言,面向机器,面向过程,面向对象,翻译,程序翻译方式,解,释,编,译,边翻译边执行,不产生目标代码,先翻译后执行,产生目标代码,Basic,C,、,C+,例如,:,X=1,Y=2,Print X+Y,main( ),int x , y;,x=1; y=2;,printf(“%d,%dn”,x,y);,Basic,源程序,C,源程序,01,代码,01,代码,01,代码,01,代码,执行,执行,执行,解,释,01,代码,执行,编,译,目标,程序,常用的,C,语言编译系统,Turbo C 2.0,DOS,环境,英文界面,编译,C,程序,机房选用,Turbo C+ 3.0,DOS,界面,支持鼠标,编译,C+,程序,.CPP,兼容,C,程序,.C,第三版选用,Visual C+6.0,可视化开发环境,Windows,界面,编译,C+,程序,实际开发,复赛上机环境:,Dev-C+ 4.9.9.2,C,语言概述,C,语言,既可作为系统软件的程序设计语言,又可作为应用软件的程序设计语言。,尤其是当今计算机应用极为广泛,软件的设计、编写质量要求高,经常与硬件部分打交道,如:界面设计等,所以用,C,语言编写是最理想的。因而,C,语言也是当前计算机语言中用得最广泛的语言之一。,1.1 C,语言出现的历史背景,一、操作系统的设计语言,O.S. ,操作系统,为用户使用计算机提供一个操作环境:系统命令、语言编程等。,如:,DOS. UNIX,以前,:,O. S .,软件用汇编指令编写。汇编语言:一种二进制指令代码的符号表示,既烦锁,又易出错,可读性差。,改进,:用,C,语言编写,既提高了程序的可读性,又可与硬件打交道。,二、,发展过程,1960,年出现了,Algol60,语言,但该语言主要面向问题,与硬件较远,故英国剑桥大学推出了,CPL(Combined Programming Language),1967,年,,Matin Richards,对,CPL,进行改进、简化、推出了,BCPL (Basic Combined Programming Language),1970,年,,美国贝尔实验室,Ken Thomson,以,BCPL,为基础,再次简化,推出了,B,语言,并写了第一个,UNIX,系统。,美国贝尔实验室,D.M. Ritchie,在,B,语言基础上设计出了,C,语言,并用其将,UNIX,系统全部改写并实现。,经进一步改进,至,1977,年出现了与具体机器无关的,C,编译文本,从而使,C,语言广泛应用,各种机器皆可使用。,1978,年,美国,Brain W.Kernighan,与,Dennis. M. Ritchie,联合出版一书,The C Programming Language,成为,ANSI C,之基础。,1983,年,美国标准化协会,(ANSI),制定了,ANSI C,。,ANSI C,为基础:,不同机器有不同版本,尤其是函数均应参考相应的机器。,1.2 C,语言的特点,只有通过学习,方可理解,C,之特点,先简叙之:,1.,简洁、紧凑、方便、灵活,32,个关键字,,9,种控制语句,,主要用小写字母,压缩一切不必要成分,2.,运算符丰富,除了最基本的、,、,、,%,等运算外,还将括号、赋值、类型强制转换等均作为运算符,共有,34,种运算符。,3.,数据结构丰富,除基本类型外,有指针,结构体、共同体等类型。,4.,具有结构化的控制语句,模块完整,控制中的语句可完整化。,5.,语法严格,但有灵活性,如:数据类型可相互通用:整型、字符型通用。,6.,可与机器硬件打交道,直接访问内存地址,具有“ 高”、“ 低”级语言之功能。,7.,生成目标代码质量高,执行效率高。,8.,可移植性优于汇编语言。,1.3,简单的,C,程序介绍,例,1.1,:显示一行信息。,main,为函数名,表示主函数,,( ),内为函数参数,无参时()不能省。每个函数完成独立的功能。一个程序必须有一个主函数,程序从主函数开始执行。,一、,C,语言程序是由函数组成的。,main( ),printf (“This is a C programn”);, ,内为函数体,printf,是标准函数库中的输出函数,在屏幕上显示指定内容。“”表示字符串,按原样输出。,n,为转义字符(换行符)。,说明部分,执行部分,由若干语句组成,语句以;号结束,定义函数用到的数据类型(可以没有说明部分),运行结果:,This is a C program,例,1.2,main ( )/*,求两数之和*,/,int a,,,b,,,sum; /*,这是定义变量*,/,a=123; b=456; /*,以下,3,行为,C,语句 *,/,sum=a+b;,printf (sum is %d/n,,,sum);,本程序的作用是求两个整数,a,和,b,之和,sum,。,/*/,表示注释部分,为便于理解,我们用汉字表示注释,当然也可以用英语或汉字拼音作注释。注释只是给人看的,对编译和运行不起作用。注释可以加在程序中任何位置。第,2,行是声明部分, 定义变量,a,和,b,,指定,a,和,b,为整型,(int),变量。第,3,行是两个赋值语句,使,a,和,b,的值分别为,123,和,456,。第,4,行使,sum,的值为,a+b,,第,5,行中“,%d”,是输入输出的“格式字符串”,用来指定输入输出时的数据类型和格式,(,详见第,4,章,),,“,%d”,表示“以十进制整数形式输出”。在执行输出时,此位置上代以一个十进制整数值。,printf,函数中括弧内最右端,sum,是要输出的变量,现在它的值为,579(,即,123+456,之值,),。因此输出一行信息为,sum is 579,main( ),/*,主函数*/,int a, b, c;,/*,定义变量*/,scanf(%d, %d, ,/*,输入变量,a,和,b,的值*/,c=max(a, b);,/*,调用,max,函数,将得到的值赋给,c*/,printf(max=%,d,c,),;,/*,输出,c,的值*/,例,1.3,int max (,int,x,int,y),/*,对形参,x,、,y,作类型定义*/,int z;,/*max,函用到的变量,z,也要加以定义*/,z=y;,if (xy) z=x;,return (z);,/*,将,z,的值返回,通过,max,带回调用处*/,本程序包括两个函数,:,主函数,main,和被调用的函数,max,。,max,函数的作用是将,x,和,y,中较大者的值赋给变量,z,。,return,语句将,z,的值返回给主调函数,main,。返回值是通过函数名,max,带回到,main,函数的调用处。,main,函数中的,scanf,是“输入函数”的名字,(scanf,和,printf,都是,C,系统提供的标准输入输出函数,),。程序中,scanf,函数的作用是输入,a,和,b,的值。,&a,和,&b,中的“,&”,的含义是“取地址”,此,scanf,函数的作用是将两个数值分别输入到变量,a,和,b,的地址所标志的单元中,也就是输入给变量,a,和,b,。,main,函数中第,4,行为调用,max,函数,在调用时将实际参数,a,和,b,的值分别传送给,max,函数中的形式参数,x,和,y,。经过执行,max,函数得到一个返回值,(,即,max,函数中变量,z,的值,),,把这个值赋给变量,c,。然后输出,c,的值。,printf,函数中双引号内的“,max=%d”,,在输出时,其中“,%d”,将由,c,的值取代之,“,max =”,原样输出。程序运行情况如下,:,8,,,5 (,输入,8,和,5,给,a,和,b),max=8 (,输出,c,的值,),本例用到了函数调用、实际参数和形式参数等概念,我们只做了很简单的解释。读者如对此不大理解,可以先不予以深究,在学到以后有关章节时,问题自然迎刃而解。在此介绍此例子,无非是使读者对,C,程序的组成和形式有一个初步的了解。,通过以上几个例子,可以看到,:,1,、,C,程序是由函数构成的。一个,C,源程序至少包含一个,main,函数,也可以包含一个,main,函数和若干个其他函数。因此,函数是,C,程序的基本单位。被调用的函数可以是系统提供的库函数,(,例如,printf,和,scanf,函数,),,也可以是用户根据需要自己编制设计的函数,(,例如,例,1.3,中的,max,函数,),。,C,的函数相当于其他语言中的子程序,用函数来实现特定的功能。程序中的全部工作都是由各个函数分别完成的。编写,C,程序就是编写一个个函数。,2,、一个函数由两部分组成,:,函数的首部,即函数的第一行。包括函数名、函数类型、函数属性、函数参数,(,形参,),名、参数类型。,例如,例,1.3,中的,max,函数的首部为,int max (int x ,int y ), , ,函数类型 函数名 函数参数类型 函数参数名 函数参数类型 函数参数名,一个函数名后面必须跟一对圆括弧, 函数参数可以没有,如,main( ),。, 函数体,即函数首部下面的大括弧,内的部分。如果一个函数内有多个大括弧,则最外层的一对, ,为函数体的范围。,函数体一般包括,:,声明部分:在这部分中定义所用到的变量,如例,1.3,中,main,函数中的“,int a,,,b,,,c;”,。 在第,8,章中还将会看到,在声明部分中要对所调用的函数进行声明。,执行部分:由若干个语句组成。,当然,在某些情况下也可以没有声明部分,(,例如,例,1.1),。甚至可以既无声明部分,也无执行部分。如,:,dump ( ), ,它是一个空函数,什么也不干,但这是合法的。,3,、 一个,C,程序总是从,main,函数开始执行的,而不论,main,函数在整个程序中的位置如何,(main,函数可以放在程序最前头,也可以放在程序最后,或在一些函数之前,在另一些函数之后,),。,4,、,C,程序书写格式自由,一行内可以写几个语句, 一个语句可以分写在多行上。,C,程序没有行号,也不像,FORTRAN,或,COBOL,那样严格规定书写格式,(,语句必须从某一列开始书写,),。,5,、每个语句和数据定义的最后必须有一个分号。分号是,C,语句的必要组成部分。例如,:,c=a+b;,分号不可少。即使是程序中最后一个语句也应包含分号。,6,、,C,语言本身没有输入输出语句。输入和输出的操作是由库函数,scanf,和,printf,等函数来完成的。,C,对输入输出实行“函数化”。由于输入输出操作牵涉到具体的计算机设备,把输入输出操作放在函数中处理,就可以使,C,语言本身的规模较小,编译程序简单,很容易在各种机器上实现,程序具有可移植性。,7,、可以用,/*/,对,C,程序中的任何部分作注释。一个好的、有使用价值的源程序都应当加上必要的注释,以增加程序的可读性。,标准库函数,用户自定义函数,用预处理命令:,#include,“,头文件名”,声明后便可使用,需用户自己定义,函数后才能使用,函,数,若在函数库中找不到所需函数时,需要自己定义函数,比如:例,1.3,中的,max,函数,延伸知识:,许多程序设计语言中,可以将一段经常需要使用的代码封装起来,在需要使用时可以直接调用,这就是程序中的函数。,编译系统的库文件提供的库函数,例,1.4,计算正弦值,#include,“,math.h,”,main( ),float x;,/*,说明,x,为实型变量,*,/,x=sin(0.19199);,/*,调用,sin,函数,*,/,printf(“,%f,n”,x,);,运行结果:,0.190813,%f,为,格式字符,,此处用“”后对应的变量值代替。,%f,实型、,%d,十进制整数、,%c,字符、,%s,字符串、,%o,八进制整数,math.h,为数学库函数头文件。用库函数,前应用预处理命令声明,(,末尾不带,;,号,),说明,部分,执行,部分,/*,与,*,/,之间为注释,不编译不执行,库函数头文件:,数学:,math.h,字符:,ctype.h,字符串:,string.h,输入输出:,stdio.h,动态分配:,malloc.h,main,调用,sin,和,printf,函数,1,补充举例,2,说明,C,程序的上机步骤,我们已经看到了一些用,C,语言编写的程序。为了使计算机能按照人们的意志进行工作,必须根据问题的要求,编写出相应的程序。所谓程序,就是一组计算机能识别和执行的指令。每一条指令使计算机执行特定的操作。程序可以用高级语言(例如,QBASIC,,,FORTRAN,,,PASCAL,,,C,等)编写。用高级语言编写的程序称为“源程序”(,source program,)。从根本上说,计算机只能识别和执行由,0,和,1,组成的二进制的指令,而不能识别和执行用高级语言写的指令。为了使计算机能执行高级语言源程序,必须先用一种称为“编译程序”的软件,把源程序翻译成二进制形式的“目标程序”, 然后将该目标程序与系统的函数库和其他目标程序连接起来,形成可执行的目标程序。,在编好一个,C,源程序后,如何上机运行呢,?,在纸上写好一个程序后,要经过以下几个步骤:,1.,上机输入与编辑源程序,2.,对源程序进行编译,3.,与库函数连接,4.,运行目标程序,这样几个步骤。,以上过程如图,1.1,所示。其中实线表示操作流程,虚线表示文件的输入输出。例如,编辑后得到一个源程序文件,f.c,, 然后在进行编译时再将源程序文件,f.c,输入,经过编译得到目标程序文件,f.obj,,再将目标程序文件,f.obj,输入内存,与系统提供的库函数等连接,得到可执行的目标程序文件,f.exe,,最后把,f.exe,调入内存并使之运行。,在了解了,C,语言的初步知识后,我们上机运行几个,C,程序,以建立对,C,程序的初步认识。,课堂练习,1,请参照本章例题,编写一个,C,程序,输出以下信息,:,*,Very good!,*,编写一个,C,程序,输入,a,、,b,、,c 3,个值,输出其中最大者。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!