第1章程序设计概述_第1页
第1章程序设计概述_第2页
第1章程序设计概述_第3页
第1章程序设计概述_第4页
第1章程序设计概述_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计高等教育出版社张磊计算机科学与技术系·王欣第1章程序设计概述

主要内容1.1程序设计的基本概念1.2C语言概述1.3使用VC++6.0实现C语言程序1.1程序设计的基本概念1.1.1程序设计语言和程序1.1.2算法1.1.3程序设计的基本过程1.1.1程序设计语言和程序程序设计语言类型

程序设计语言计算机能够理解和识别的一种语言体系,它按照特定的规则组织计算机指令,使计算机能够自动进行各种操作处理。机器语言、汇编语言、高级语言。C语言属于高级语言。计算机程序按照计算机语言规则组织起来的一组命令。编译器工作方法首先编译进行语法分析,也就是要把那些字符串分离出来。然后进行语义分析,就是把各个由语法分析分析出的语法单元的意义搞清楚。最后生成的是目标文件,也称为obj文件。再经过链接器的链接就可以生成最后的可执行代码了。链接器链接器(Linker)是一个程序,将一个或多个由编译器生成的目标文件外加库链接为一个可执行文件。目标文件是包括机器码和链接器可用信息的程序模块。链接器的工作就是解析未定义的符号引用,将目标文件中的占位符替换为符号的地址。链接器还要完成程序中各目标文件的地址空间的组织,这可能涉及重定位工作。/*programe1-0.c*/#include<stdio.h>voidmain(){ inti=1,s=0; while(i<=100) { s=s+i; i=i+1; } printf("sum=%d\n",s);}计算1~100自然数和的程序1.1.1程序设计语言和程序/*循环控制*//*数据累加*//*生成下一个要累加的数*//*输出结果*/1.1.2算法-算法的概念与特性算法特性⑴有穷性:经过有限步骤解决问题。⑵确定性:每个步骤所规定的操作必须是确定的。⑶有效性:每一个步骤必须能够有效地执行。⑷输入和输出特性。有零个或多个输入,有一个或多个输出。程序=数据结构+算法尼克莱斯·沃斯算法概念

算法求解问题的方法,是在有限步骤内求解某一问题所使用的一组定义明确的规则,是计算机处理问题所需要的具体步骤。算法的最终实现是计算机程序。

还应注意算法的多样性:一个具体问题可以有不同的解决方法,因此可以设计解决问题的不同算法。算法的通用性:一个算法应是适用于某类问题,而不只是适用于某一个问题。

1.1.2算法-算法描述

自然语言描述专门的算法表达工具进行算法描述算法描述方法

流程图

N-S图

PAD图伪代码1.1.2算法-算法描述步骤①

i=1,s=0;步骤②若i≤100则执行步骤③;否则,转步骤⑤;步骤③

s+i;步骤④

i+1,转步骤②;步骤⑤显示s的值,结束。

“计算1~100自然数和”的算法⑴用自然语言描述算法1.1.2算法-算法描述流程图符号、功能⑵用流程图描述算法

1.1.2算法-算法描述“计算1~100自然数和”的算法

步骤①

i=1,s=0;步骤②若i≤100则执行步骤③;否则,转步骤⑤;步骤③

s+i;步骤④

i+1,转步骤②;

步骤⑤显示s的值,结束。1.1.2算法-算法评价算法复杂程度算法执行速度算法对系统资源的需求程度算法的通用性正确和清晰易懂永远是一个好算法的基本条件。1.1.3程序设计的基本过程问题分析算法设计编写程序调试运行程序分析要处理的问题涉及的各种概念、数据特点、已知条件、所求结果,以及已知条件与所求结果之间的关系等各方面的信息。明确:要做什么?确定具体的算法,并选择合适的算法表达工具对算法进行描述。用程序设计语言的语句和命令实现算法的每一个步骤。1.2C语言概述1.2.1C语言的产生和发展1.2.2C语言程序的基本结构1.2.3C语言的基本语句1.2.4标识符与保留字重点重点1.2.1C语言的产生和发展C语言是1972年由美国的DennisRitchie设计发明的,1983年,美国国家标准化协会(ANSI)根据C语言问世以来各种版本对C的发展和扩充,制定了C的标准,称为ANSIC。1987年ANSI又公布了新的标准——87ANSIC。目前流行的C编译系统都是以它为基础的。在C的基础上,1983年又由贝尔实验室的BjarneStrou-strup推出了C++。C++进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。1.2.2C语言程序的基本结构例1-1一个加法程序。/*programe1-1.c*/#include<stdio.h>voidmain(){ inta,b,c; a=8; b=2000; c=a+b; printf("%d\n",c);}

概念程序行、主函数、数据类型、变量、赋值、表达式、系统函数、输出、输出格式、函数体、注释。1.简单C语言程序及相关概念1.2.2C语言程序的基本结构例1-2一个改进的加法程序。/*programe1-2.c*/#include<stdio.h>voidmain(){ inta,b,c; printf("Inputa,b:"); scanf("%d,%d",&a,&b); c=a+b; printf("a+b=%d\n",c);}程序的算法:⑴从键盘输入两个整数,并且在需要输入数据时首先给出一个提示信息;⑵进行加法运算;⑶输出清楚明了的运算结果。1.2.2C语言程序的基本结构例1-3最简单C程序/*programe1-3.c*/#include<stdio.h>voidmain(){ printf("Hello!\n");}1.2.2C语言程序的基本结构程序结构#include<stdio.h>voidmain(){

函数体}每个程序都由函数构成,由于函数的函数体内容不同,程序也就各自具有了不同的功能。1.2.2C语言程序的基本结构基本特点C语言程序由函数构成,每个程序可以有多个函数。(模块化)一个源程序不论有多少个函数组成,有且只有一个main()函数,位置任意。一个源程序不论有多少个函数组成,总是从main()函数开始执行。1.2.2C语言程序的基本结构程序风格如果一行能容纳一条语句,则该语句独占一行{}扩起来的部分,通常表示程序的某一层次结构低层次要比高层次语句缩进合理使用注释1.2.3C语言的基本语句按照功能划分3类数据定义语句流程控制语句数据处理语句对程序中使用的变量名称、数据类型等进行说明。例如,程序e1-1.c的“inta,b,c;”语句。对程序中的数据进行运算、输入、输出等。例如,程序e1-1.c的“b=2000;”、“c=a+b;”“printf("%d\n",c);”等语句。对程序的执行流程进行控制,分为分支控制和循环控制两类。例如,程序e1-0.c中的while语句。1.2.4标识符与保留字1.标识符在程序中使用的变量名、函数名等统称。除库函数的函数名由系统定义外,其余都由用户自定义。标识符构成任何一个标识符只能是由字母(A~Z,a~z)、数字(0~9)和下划线“_”构成的字符串,其他符号不能出现在标识符中,并且标识符的第一个字符必须是字母或下划线。合法标识符aBOOK1max_addnum_1非法标识符3sum不允许以数字开头ab#cd使用了非法字符“#”book-1出现非法字符“-”(减号)1.2.4标识符与保留字2.保留字保留字(也称关键字)是由C语言规定的用于定义变量类型、命令字等具有特定意义的标识符。例如:

int专门用于定义数据类型

while是循环控制命令。⑴C语言的保留字都具有一定的使用规则,必须按相应的规则使用保留字。⑵程序中定义的标识符不能与系统的保留字同名。1.3使用VC++6.0实现C语言程序1.3.1使用VC++6.0实现C程序的基本步骤1.3.2程序设计示例1.3.1使用VC++6.0实现C程序的基本步骤使用VC++6.0实现C程序的基本步骤有4个:1.建立源程序文件3.构建可执行文件2.编译源程序4.运行可执行文件启动VC++6.0系统使用“File”→“New”命令,打开VC++6.0的程序编辑窗口录入编辑源程序,保存文件使用“Build”→“Compile”命令对源程序进行编译,生成二进制目标代码文件。程序通过编译之后,使用“Build”→“Build”命令将编译阶段生成的目标文件和系统的库函数文件等连接起来,生成扩展名是“.exe”的可执行文件。使用“Build”→“!Execute”命令运行程序,获得执行结果。1.3.2程序设计示例

例1-5设计计算矩形面积的程序。3.编写程序2.算法设计4.调试运行程序1.问题分析⑴设矩形的边长为a和b、矩形面积为s,则s=a×b。⑵通过键盘输入等方式为矩形边长a、b提供数据。⑶程序执行后要输出计算结果。2.算法设计3.编写程序4.调试运行程序⑴输入a、b的值。⑵计算a×b,并存储到s中。⑶输出s。3.编写程序4.调试运行程序流程图⑴假设该矩形都是整型数据,因此,要使用int对a、b、s进行说明。⑵使用scanf()函数输入数据a、b。⑶使用“s=a*b”计算矩形面积,并存储到s中。⑷使用printf()函数输出计算结果s。⑸把上面的一些具体语句放在main()函数中。

程序清单1.3.2程序设计示例

3.编写程序2.算法设计4.调试运行程序1.问题分析⑴假设该矩形都是整型数据,因此,要使用int对a、b、s进行说明。⑵使用scanf()函数输入数据a、b。⑶使用“s=a*b”计算矩形面积,并存储到s中。⑷使用printf()函数输出计算结果s。⑸把上面的一些具体语句放在main()函数中。

/*programarea.c*/#include<stdio.h>voidmain(){

inta,b,s;

printf("Inputa,b:");

scanf("%d,%d",&a,&b);

s=a*b;

printf("Area:%d\n",s);}例1-5设计计算矩形面积的程序。1.3.2程序设计示例

4.调试运行程序例1-5设计计算矩形面积的程序。⑴建立源程序文件。①启动VC++6.0,使用“File”→“New”命令,打开“new”窗口,选用“Files”选项卡,在主窗口中选择“C++SourceFile”项,在“File”对话框中输入文件名,在“Location”对话框中指定文件的存储位置。1.3.2程序设计示例

4.调试运行程序例1-5设计计算矩形面积的程序。⑴建立源程序文件②单击“OK”按钮,打开程序编辑窗口录入编辑源程序,并及时存盘。1.3.2程序设计示例

4.调试运行程序

例1-5设计计算矩形面积的程序。⑴建立源程序文件⑵编译源程序程序编辑完成后,使用“Build”→“Compile”命令编译执行“Build”→“Compile”命令后的提示信息编译结果显示在编译报告窗口1.3.2程序设计示例

4.调试运行程序

例1-5设计计算矩形面积的程序。⑴建立源程序文件。⑵编译源程序。⑶构建可执行文件。程序编译完成后,使用“Build”→“Build”构建可执行文件。⑷运行可执行文件。成功构建可执行文件之后,使用“Build”

温馨提示

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

评论

0/150

提交评论