语言程序设计公共课第1章绪论_第1页
语言程序设计公共课第1章绪论_第2页
语言程序设计公共课第1章绪论_第3页
语言程序设计公共课第1章绪论_第4页
语言程序设计公共课第1章绪论_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计陈怡疆

厦门大学计算机科学系第一章绪论本课程的目的:(1)学习C语言(词法、语法)(2)学习程序设计的一般方法和技巧(用C语言编写程序)(3)C程序的测试和调试教学环节: 授课、作业、上机课件资源:

在资源管理器的输入框键入:3,用户名:clang密码:2014什么是程序,什么是语言例子:“做午餐”的程序自然语言买菜;洗菜;切菜;煮菜;高级语言程序设计

C语言(一种人工设计的语言)用C语言编写程序算法:(1)读入正方形的边长;(2)计算面积area=a*a;(3)输出面积area;程序:#include<stdio.h>voidmain(){intedge,area;printf(“请输入正方形的边长:”);scanf(“%d”,&edge);area=a*a;printf(“面积=%d\n”,area);}开会时的大会程序第一章绪论一、程序设计语言:程序设计语言就是用户用来编写程序的语言1.机器语言:二进制代码组成的代码序列,可读性差,可移植性差。2.汇编语言:用助记符号描述的指令系统,可移植性差,程序需要经过汇编才能运行。3.高级语言(算法语言,面向过程语言):接近人类自然语言的表述习惯,可读性好,可移植性好。程序需要经过编译才能运行。如:Basic、FORTRAN、Pascal、C4.面向对象的语言:C++,objectPascal、Java 开发工具如:VisualC++(VC)、Delphi、VisualBasic(VB),Eclipse

面向对象的程序设计方法适合于设计大型程序。

面向过程的程序设计是基础。例子:ab+5张三比李四大5岁。机器语言:汇编语言:高级语言:EA0080movAX,[8000]a=b+5;9F0500addAX,5EB0090mov[9000],AX第一章绪论三、C/C++简介1.C语言:1972年,由贝尔实验室的D.M.Ritchie设计。

从B语言发展而来的。

ANSIC:由美国国家标准化协会(ANSI)于1988年公布的87ANSIC标准。1990年,国际标准化组织接受了87ANSIC为ISOC的标准(ISO9899—1990)2.C++:C++由两部分组成,过程性语言部分,遵守ANSIC标准;类和对象部分,它是面向对象程序设计的主体。

VisualC++:简称VC,Microsoft公司,windows系统。

VC平台:是一个集C源程序编辑、编译、调试和运行为一体的集成环境。第一章绪论二、程序设计软件开发过程:1.系统分析(需求分析)——作什么(任务书)?2.系统设计——怎样做 支持环境选择、总体设计、数据结构设计、算法设计等3.程序设计(编码)——用计算机语言描述问题的处理过程4.程序调试、程序测试 调试:检查和改正程序的错误 测试:验证程序的功能5.程序运行与维护 维护:完善和扩充程序的功能。第一章绪论四、C语言程序的基本结构 例:已知圆的半径,求其面积。系统分析:求圆面积系统设计: 数据:已知半径r,要求结果s

算法: (1)输入半径r

(2)由公式s=πr2求s (3)输出s程序设计——用C语言描述问题的处理过程#include<stdio.h>#definepi3.14159voidmain(){ floatr,s; scanf(“%f”,&r);/*r是半径*/ s=pi*r*r; printf(“s=%f\n”,s);}第一章绪论四、C语言程序的基本结构 C程序:由若干个函数组成,必须有一个名为main的函数。main函数称为主函数,程序如果包含多个函数,必定从主函数开始执行。函数:由函数首部和函数体组成,函数体用于描述函数的功能。函数体由一系列语句组成。C语句:包括数据描述语句(如floatr,s;)和数据处理语句(如s=pi*r*r;)两类,以分号作为语句结束标志。单词:构成语句的基本成分。单词包括关键字、标识符、运算符、常量等。§1-3简单的C语言程序介绍#include<stdio.h>void

main(){

printf("ThisisaCprogram.\n");}/*文件包含*//*主函数*//*函数体开始*//*输出语句*//*函数体结束*/说明:main-主函数名,void-函数类型每个C程序必须有一个主函数main{}是函数开始和结束的标志,不可省每个C语句以分号结束使用标准库函数时应在程序开头一行写:

#include<stdio.h>说明:

本程序的作用是输出一行信息:ThisisaCprogram.例1.2求两数之和

#include<stdio.h>

voidmain()/*求两数之和*/

{

inta,b,sum;/*声明,定义变量为整型*/

/*以下3行为C语句*/

a=123;b=456;

sum=a+b;

printf(″sumis%d\n″,sum);

}说明:

/*……*/表示注释。注释只是给人看的,对编译和运行不起作用。所以可以用汉字或英文字符表示,可以出现在一行中的最右侧,也可以单独成为一行。说明:

输出一行信息:sumis579例1.3求3个数中较大者。

#include<stdio.h>

voidmain()/*主函数*/

{

intmax(intx,inty);/对被调用函数max的声明*/

inta,b,c;/*定义变量a、b、c*/

scanf(″%d,%d″,&a,&b);/*输入变量a和b的值*/

c=max(a,b);/*调用max函数,将得到的值赋给c*/

printf(″max=%d\\n″,c);/*输出c的值*/

}程序运行情况如下:8,5↙(输入8和5赋给a和b)max=8(输出c的值)intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}max(int

x,int

y);

max(a,b);

说明:本程序包括main和被调用函数max两个函数。max函数的作用是将x和y中较大者的值赋给变量z。return语句将z的值返回给主调函数main。§1-3简单的C语言程序介绍C程序:(1)C程序是由函数构成的。这使得程序容易实现模块化。(2)一个函数由两部分组成:

函数的首部:例1.3中的max函数首部

intmax(intx,inty)

函数体:花括号内的部分。若一个函数有多个花括号,则最外层的一对花括号为函数体的范围。函数体包括两部分:声明部分:inta,b,c;可缺省执行部分:由若干个语句组成。可缺省§1-3简单的C语言程序介绍注意:函数的声明部分和执行部分都可缺省,例如:voiddump(){}

这是一个空函数,什么也不做,但是合法的函数。§1-3简单的C语言程序介绍小结:(3)C程序总是从main函数开始执行的,与main函数的位置无关。(4)C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上,C程序没有行号。(5)每个语句和数据声明的最后必须有一个分号。(6)C语言本身没有输入输出语句。输入和输出的操作是由库函数scanf和printf等函数来完成的。C对输入输出实行“函数化”。§1-4运行C程序的步骤和方法一、运行C程序的步骤上机输入与编辑源程序对源程序进行编译与库函数连接运行目标程序表示一个算法的方法 自然语言法(容易“歧义”,适用简单问题)传统的流程图法结构化流程图伪代码PAD图算法的表示方法返回起止框输入输出框判断框处理框流程线或连接点注释框传统流程图表示开始1igi≥80打印ni,gii+1ii>50结束YNNY在50个同学中,打印成绩≥80的同学的姓名ni和成绩gi改进方法:引入三种基本结构三种基本结构(顺序、选择、循环)ABApB成立否则Ap成立否则Ap成立否则传统的流程图对流程线的使用没有限制,算法会很容易变成一团麻。(1)C语言支持这三种基本结构;(2)C语言也通过goto语句支持“一团麻”操作;为了限制流程线的滥用科学家证明:由以上这3种基本结构顺序组成的算法结构,可以解决任何复杂的问题。开始输入系数a,b,cd=b*b-4*a*cd>=0例4.12:用流程图描述求解一元二次方程的根x1=(-b+sqrt(d))/2x2=(-b-sqrt(d))/2输出x1,x2p=-b/2q=sqrt(-d)/2结束TF输出x1,x2N-S流程图表示BApAB成立否则A当p成立A直到p成立伪代码法 流程图表示算法,直观易懂,但是不好画;伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法;

例子:

1iwhilei≤50{ifgi≥80输出ni,gii+1

温馨提示

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

评论

0/150

提交评论