程序设计及其编程语言课件_第1页
程序设计及其编程语言课件_第2页
程序设计及其编程语言课件_第3页
程序设计及其编程语言课件_第4页
程序设计及其编程语言课件_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一节程序设计及其编程语言一、程序设计程序是可以被计算机处理的指令序列。通常,程序是为完成一项任务由汇编语言或高级语言编写的代码的集合。程序设计的过程一般包括以下步骤:⑴问题定义根据所要解决的问题,确定解决问题的方法,定义数据的输入输出格式,用日常语言尽可能清晰、准确、完整地表达解决问题的过程。⑵算法设计根据所确定解决问题的方法,建立相应的数学方法及数学模型(公式),并考虑选取哪种方法更适合于计算机数据处理。程序设计的过程一般包括以下步骤⑶流程图设计根据用日常语言所描述的解决问题的过程,用计算机程序设计语言所规定的流程图符号进行框图描述所要解决问题的过程。⑷程序编制用选定的程序设计语言并按流程图所提供的解决问题的步骤写出源程序。⑸程序调试和运行对所编写的程序进行编译、运行。若发生错误,则需进行调试、排错处理,直到该程序能正确运行为止。二、编程语言编程语言即程序设计语言C,Fortran,Java,VisualBasic,低级语言和高级语言。所谓低级语言是一种面向机器的程序设计语言,如机器语言,汇编语言均属低级语言。机器语言完全由二进制数码的机器指令集合所构成,具有难写,难记,难理解,不可移植等特点。高级语言是面向人类思维的程序设计语言,一般由英文单词和数字符号构成。具有易学、易懂、易记等特点,但使用高级语言所编写的程序计算机不能直接运行。运行前需要进行编译连接等。不同的高级语言具有不同的编译系统,如C语言的编译环境有TurboC2.0编译系统。第二节C语言的发展及特点C语言的发展C语言诞生于1972年,它是UNIX系统的主力语言。C语言由美国电话公司(AT&T)贝尔实验室的D.M.Ritchie(里奇)和K.Thompson(汤普森)设计并首先在UNIX操作系统的DECPDP-11计算机上实现的。C语言实际上是由ALGOL60语言逐渐演变而来的。1963年英国剑桥大学推出一种近于硬件的语言CPL,1967推出了BCPL,1970年,美国贝尔实验室以BCPL语言为基础,设计出一种更为简单且接近于硬件的高级语言,并取BCPL第一个字母为其命名,称为B语言,并用B语言写出了第一个UNIX操作系统。1972年,贝尔实验室在B语言的基础上,开发出了新的语言,并把它命名为C语言。二、C语言的特点C语言是一种结构化程序设计语言所谓结构化程序设计语言,又称为模块化程序设计语言,这种语言的程序设计方法采用结构化的程序设计方法。在C语言中,函数是结构化程序的最小模块。每个函数实现一个功能,多个函数则完成一个较大的功能。C语言实际上就是由诸函数构成。<二>C语言运算符丰富C语言是一种表达式语言,与其他语言相比,C语言提供了功能极强的运算符,如:增(减)运算符(++)和(--)、取地址运算符(&)和间接运算符(*)、赋值运算符(如+=、-=、*=、/=)等,利用这些运算符可以使程序书写更为简洁和提高程序运行效率。灵活的使用C语言所提供的运算符可以实现在其他高级语言中难以实现的运算功能。(三)C语言编程简洁C语言是一种非常简洁的语言,用C语言编写的程序简洁明了。由于C语言把括号、赋值、强制类型转换等都作为运算符处理,并用一对花括号“{}”表示复合语句的开始和结束,因此,用C语言编写出的程序一般来说相对小巧,简洁,紧凑。(四)C语言具有良好的可移植性由于C语言具有一些预处理命令,加之C语言编译系统较小,这些都对C语言的移植性能带来一些方便。C语言的移植性好表现在只要对它稍作修改,就可以在其他平台上运行。(五)C语言结构化强C语言具有的结构化特征,称其为结构化语言。C语言的主要结构成分是函数。第三节简单的C程序介绍例1.1编程输出文字信息“ThisisaC-Languageprogram.”程序代码如下:main(){printf("ThisisaC-Languageprogram.");}例1.2main() /*求两数之和*/{inta,b,sum; /*这是定义变量*/a=123;b=456; /*以下3行为C语句*/sum=a+b;printf(“sumis%d\n”,sum);}输出结果为:sumis579第三节简单的C程序介绍第三节简单的C程序介绍例1.3main() /*主函数*/{inta,b,c; /*声明部分,定义变量*/scanf(“%d,%d”,&a,&b);/*输入变量a和b的值*/c=max(a,b);/*调用max函数,将得到的赋给c*/printf(“max=%d”,c);/*输出c的值*/}intmax(intx,inty)/*定义max函数,函数值为整型, 形式参数x,y为整型*/{intz; /*max函数中的声明部分,定义 本函数中用到的变量z为整型*/if(x>y)z=x;elsez=y;return(z);/*将z的值返回,通过max带回调用处*/}第四节C语言程序的实现一、C语言程序的编辑二、C语言程序的编译和连接编译和连接是实现C语言程序的第二步骤。将编辑好的C语言程序通过编译和连接后,在没有错误的情况下,先生成目标文件(扩展名为.obj),再生成可执行文件(扩展名为.exe)。接着,就可以对可执行文件直接运行了。(一)编译过程编译过程的功能是将源程序编译生成为目标文件。编译过程主要由两部分功能组成。一是将源程序先通过预处理器。将程序中出现的预处理命令进行处理,预处理命令是以字符#开始的命令。二是通过编译器,将经过预处理后的源程序再经过编译器进行处理。编译过程就是将词法分析和语法分析的结果加上符号表中的信息一起用来生成程序的目标代码,该代码类似于汇编语言的代码,被存放在目标文件中,其扩展名为.obj。(二)连接过程经过编译过程后生成的目标代码虽然是由可执行的机器指令组成的,但是并不能由机器直接执行。通过执行一个连接程序将不同的目标程序文件进行连接处理,这称为连接过程。连接处理后生成一个可执行的程序,存储这个可执行程序的文件称为可执行文件,其扩展名为.exe,该文件名便是一个可执行的命令。三、C语言程序的运行经过编译过程和连接过程处理后,将生成可执行文件,文件名既为程序名,扩展名为.exe,直接执行该命令便可运行该程序。例1.4编写一个求出任意给定两整数之和的程序。main(){inta,b,sum;printf("Inputa,b=?\n");scanf("%d,%d",&a,&b);sum=add(a,b);printf("sum=%d+%d=%d\n",a,b,sum);}add(intx,inty){return(x+y);}第五节C语言程序的书写格式C语言的书写格式比较自由,没有严格的位置格式要求为提高程序的可读性,需要养成良好的程序书写习惯,以便提高程序的可读性和易于对程序的分析理解。C语言程序中的每条语句以分号(;)结束。C语言程序根据语句格式的意义不同,往往采用缩进式书写方式,以区分不同程序片段或不同程序结构之间程序成分。习惯上使用/*……*/的方式对程序进行注释说明。第五节C语言常用输入输出函数C语言常用输入函数输入函数又称为读函数,用来从标准输入设备读入数据。计算机的标准输入设备通常是键盘。故常用输入函数是从键盘获取输入信息。(一)getchar()函数该函数为获取单字符函数。其功能是从键盘上获取一个字符,并将其所获取的字符赋给一个字符型变量。该函数的格式说明如下:

intgetchar();C语言中的getchar()函数是包含在标准输入输出头文件stdio.h中的,因此,若在C语言程序中使用getchar()函数,需在程序中调用相应的头文件。例1.5应用getchar()函数接收字符信息并输出其信息/***Theprogramexampleofgetchar()function***/#include<stdio.h>main(){chara;printf("Pleaseinputacharacter:");a=getchar();printf("\n%c\n",a);}上机验证(二)gets()函数功能是从键盘上获取一串字符,并赋给相应的字符串变量。该函数的格式说明如下:

char*gets(s);其中,char*是字符型指针类型说明符,gets是函数名,()为语法括号。该函数有一个参数s,它是字符数组名或字符指针名,用来存放从键盘上读取的字符串。从键盘上输入的字符串以换行符(即回车)作为结束符。例1.6应用gets()函数接收字符串数据并输出其信息/***Theprogramexampleofgets()function***/#include<stdio.h>main(){charabc[20];printf("Pleaseinputacharacterstring:");gets(abc);printf("%s\n",abc);}上机验证(三)scanf()函数该函数为标准格式输入函数。功能是从键盘上按指定格式读取数据,赋给指定的变量。该函数格式如下:

scanf(“<控制串>”,<参数表>);控制串中的格式符是由格式标识符(%)和格式说明符组成,用来指定某种输入格式。常用格式说明符有如下几种:d——十进制整型数o——八进制整型数x——十六进制整型数u——无符号十进制整型数f——小数型单精度浮点数e——指数型单精度浮点数c——单个字符s——字符串例1.7应用scanf()函数接收并处理数据。/***Programexampleofscanf()function***/#include<stdio.h>main(){inta,b,c,m;printf("inputa,b,c=?");scanf("%d,%d,%d",&a,&b,&c);m=a+b-c;printf("m=%d\n",m);}上机验证二、C语言常用输出函数输出函数又称为写函数,其功能主要是将计算结果输出到计算机的屏幕上。(一)putchar()函数该函数是一个输出单字符函数,功能是将指定的字符输出显示在计算机屏幕上。所输出的字符可以是字符常量,也可以是字符变量,函数格式说明如下:

intputchar(c);例1.8应用putchar()函数输出字符信息/***Theprogramofputchar()function***/#include<stdio.h>main(){chara,b,c;a='B';b='O';c='Y';putchar(a);putchar(b);putchar(c);putchar("\n");putchar('m');}上机验证(二)puts()函数该函数是输出字符串函数。其功能是将指定字符串信息输出到屏幕上。该函数的格式说明如下:

intputs(s);其中,puts是函数名,括号()为函数的语法符号,括号中的s为参数,该参数可能是数组名称,也可能是字符指针名。例1.9应用puts()函数输出信息。/***Theexampleofputs()function***/#include<stdio.h>main(){charabc[20],*p;printf("Pleaseinputacharacterstring:");p=gets(abc);printf("\nTheoutputoftheinformationis:");puts(p);}上机验证(三)printf()函数该函数是标准格式输出函数,其功能是按照指定格式和变量顺序输出信息到屏幕上。函数的格式说明如下:printf("<控制串>",<参数表>);其中,printf是函数名称,圆括号()为语法符号,该函数参数也被分为两部分,一部分为控制串,用于描述输出信息的格式,另一部分为参数表,用于说明输出变量或表达式的输出顺序,若参数表中的项数多余一项,之间用逗号分隔。控制串中包含有格式符和一般字符。格式符用来指定输出信息的格式,它由格式标识符%和格式说明符所组成。如%d表示输出信息为十进制整型数据。格式说明符有如下几种:d——十进制整型数o——八进制整型数x——十六进制整型数u——无符号十进制整型数c——字符型数s——字符串f——小数型单精度浮点数e——指数型单精度浮点数g——f和e中较短的一种常用的修饰符有如下几种:〈数字〉·〈数字〉——小数点前的〈数字〉用来表示输出数据项的最小宽度。l——用在格式符d,o和x前表示长整型数,用在e,f,g前面表示双精度浮点数。-——负号用来表示输出数据在域宽中左对齐。当不用负号时,则表示右对齐。0——用来表示在右对齐中替换输出数据项左边的空格符。<控制串〉中出现的一般字符为字符原样照样输出,即将一般字符输出显示在屏幕上。在一般字符中,对可打印字符直接用字符符号来表示,对不可打印字符则用转义序列表示。转义序列是表示字符的一种方法,这种方法是使用字符的ASCII码值来表示字符,其格式有如下两种:\0ddd或\xhh其中,\0ddd格式是在\0后面用字符的八进制的ASCII码值表示,最多为3位。\xhh格式是在\x后面用字符的十六进制的ASCII码值表示,最多用2位。例如,字符Esc的转义序列表示为\033或\x1b。表1-1转义字符

字符形式含义\n换行,将当前位置移到下一行开头\t水平制表(跳到下一个tab位置)\b退格,将当前位置移到前一列\r回车,将当前位置移到本行开头\f换页,将当前位置移到下页开头\\反斜杠字符“\”\'单引号字符\"双引号字符\0ddd

1到3位8进制所代表的字符\xhh1到2位16进制所代表的字符例1.10常用读写函数应用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论