二级c语言课件第01讲_第1页
二级c语言课件第01讲_第2页
二级c语言课件第01讲_第3页
二级c语言课件第01讲_第4页
二级c语言课件第01讲_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

语言程序设计ProgramDesigninCLanguageC5/14/20241语言程序设计ProgramDesigninCLanguageC课程性质:大学生计算机公共基础课程(选修课)学时:

讲课36;实验0(建议72学时)学分:2学分考试形式:

理论计分方式:

平时成绩:%,期终成绩:%任课教师:王元强()5/14/20242

学习程序设计的重要性和意义:计算机采用存储程序的工作方式;计算机资源:软件系统资源;作为未来的科技工作者,不仅要学会使用计算机资源,还要提供资源。为大家通过计算机的等级考试做准备C语言程序设计第一章C语言的发展、特点与程序结构C语言的发展与特点程序设计的基本方法算法的概念及其表示C程序的基本结构应用程序的开发过程第一讲Begin:1.1.1C语言的发展1.1C语言的发展及特点面向数值计算的结构化编程语言ALGOL60可操作硬件,但规模大不易实现CPLCPL的改良版,仍存在局限性BCPL精炼了BCPL。过于简单,功能有限B既可操作硬件,又面向应用C19601963196719701973ANSIC,MSC,TurboC,BorlandC,QuickC,AT&TC,…1.1C语言的发展及特点1.1.2C语言的主要特点

(1)C语言是结构化程序设计语言(2)具有丰富的数据类型(3)具有丰富的运算符(4)结构紧凑,使用方便、灵活(5)具有低级语言功能(6)可移植性好1.2.1计算机程序1.2程序设计的基本方法计算机解决问题所需要的一系列代码化指令序列——计算机程序。

程序=数据结构+算法即“程序就是在数据的某些特定的表示方式和结构的基础上,对抽象算法的具体描述。”上述公式可扩充为:

程序=数据结构+算法+程序设计方法+语言工具学编程语言掌握“三规则”:(1)语法规则。包括常量、变量、运算符、表达式、函数和语句的使用规则;(2)语义规则。包括单词和符号的含义及其使用规则;(3)语用规则。即善于利用语法规则和语义规则正确组织程序的技能,使程序结构精练、执行效率高。所谓面向过程的程序设计,是指利用面向过程的语言工具(如Basic、Pascal、Fortran和C语言等)进行程序开发的各项活动。1.2程序设计的基本方法1.2.2面向过程的程序设计优点:编程简单、结构性强、可读性好,程序执行时序特征明显;遵循这种结构的程序只有一个入口和一个出口。缺点:存在数据与程序模块的分离和程序的可重用性差等问题。基本思想:把一个需要求解的复杂问题分为若干个模块来处理,每个模块处理一个子问题;设计时遵循自顶向下、逐步细化、模块化设计和结构化编码的原则。1.2程序设计的基本方法1.2.3面向对象的程序设计面向对象的程序设计是一种新的程序设计范型。它将一些新的理念和结构化程序设计中好的思想相融合,提供了一种全新的程序设计方法。基本思想将一个需要求解的问题分解为一系列实体(对象),然后围绕这些对象建立数据和函数;函数的功能决定了该对象的行为。规定一个对象的函数可以访问另一对象的函数,但一个对象的数据不能应用于另一对象的函数中。(即只有属于该对象的成员函数才能访问自己的数据成员,从而达到了保护数据的目的。)几个基本概念:三类机制:类、对象、属性、事件、方法封装、继承、多态算法——解决某一问题所采取的方法和步骤。1.3算法及其表示1.3.1算法的概念

⑴有穷性一个算法其操作步骤应当是有限的;⑵确定性算法中的每一个步骤应当有确定的意义,不能有二义性;⑶有效性算法中的每一个步骤应当正确、可行,并且能有效地执行;⑷有零个或多个输入执行算法时需要从外界获取的信息;⑸有一个或多个输出执行算法后应当得到正确的结果。计算机算法的特性1.3算法及其表示1.3.2算法的表示1.用自然语言表示算法——用人们日常使用的语言和语序来表示算法。【例1-1】:输入n个整数,输出其中最大的数。

自然语言

伪代码

流程图设置变量:n代表整数的个数,num代表参与取值比较的整数,i代表已参与取值比较的整数个数,max代表n个整数中的最大数。步骤1:从键盘输入一个整数给n(设n=5),将1=>i;步骤2:从键盘输入一个整数给num,再将num=>max;步骤3:如果i<n,再从键盘输入一个整数给num;步骤4:如果num>max,将num=>max,否则max的值为原值;步骤5:i+1=>i,如果i<n,重复步骤3和步骤4;否则输出max的值,即输出n个整数中的最大数。用自然语言描述算法如下:1.3算法及其表示2.用伪代码表示算法——一种接近于程序设计语言,但又不受语言语法约束的算法表示法。上例用伪代码表示:

输入n个整数,输出其中最大的数。inputninputnummax=numi=1whilei<ndoinputnumifnum>maxthenmax=numendifi=i+1enddoprintmax1.3算法及其表示3.用流程图表示算法——用一些图框和方向线表示算法的图形表示法。常用流程图符号及含义如下:开始max=num,计数器i=1i<n输入n和num的值num>maxmax=numi=i+1输出max结束输入数给num假假真真上例用流程图表示:

1.3算法及其表示⒋用N-S流程图表示算法——用一些基本结构图框来表示算法的图形表示法。语句A语句B条件P成立不成立语句A语句B当条件P成立时语句语句直到条件P不成立顺序结构分支结构循环结构基本结构图框及含义如下:输入n的值,i=1输入num的值,max=num输入numnum>max真

假max=numi=i+1当i<n输出max的值上例用N-S流程图表示:1.4C语言程序的基本结构1.4.1简单的C语言程序介绍【例1-2】在屏幕上显示一行文字:“HelloWorld!”。/*在屏幕上显示HelloWorld!,(ex1-2.c)*/#include<stdio.h>voidmain()/*定义主函数*/{printf("HelloWorld!\n");}1.4C语言程序的基本结构1.4.1简单的C语言程序介绍【例1-2】在屏幕上显示一行文字:“HelloWorld!”。/*在屏幕上显示HelloWorld!,(ex1-2.c)*/#include<stdio.h>voidmain()

/*定义主函数*/{printf("HelloWorld!\n");}

注释部分以增加程序的可读性。1.4C语言程序的基本结构1.4.1简单的C语言程序介绍【例1-2】在屏幕上显示一行文字:“HelloWorld!”。/*在屏幕上显示HelloWorld!,(ex1-2.c)*/#include<stdio.h>voidmain()

/*定义主函数*/{printf("HelloWorld!\n");}

预处理命令程序中包含某一文件内容。“stdio.h”为标准输入输出函数头文件名。1.4C语言程序的基本结构1.4.1简单的C语言程序介绍【例1-2】在屏幕上显示一行文字:“HelloWorld!”。/*在屏幕上显示HelloWorld!,(ex1-2.c)*/#include<stdio.h>voidmain()/*定义主函数*/{printf("HelloWorld!\n");}

函数

C程序由函数组成;一个C程序至少有一个主函数(main函数)。1.4C语言程序的基本结构1.4.1简单的C语言程序介绍【例1-2】在屏幕上显示一行文字:“HelloWorld!”。/*在屏幕上显示HelloWorld!,(ex1-2.c)*/#include<stdio.h>voidmain()/*定义主函数*/{printf("HelloWorld!\n");}

函数说明

说明函数类型、函数名和函数参数。1.4C语言程序的基本结构1.4.1简单的C语言程序介绍【例1-2】在屏幕上显示一行文字:“HelloWorld!”。/*在屏幕上显示HelloWorld!,(ex1-2.c)*/#include<stdio.h>voidmain()

/*定义主函数*/{printf("HelloWorld!\n");}

函数体

包括变量说明和语句执行部分。1.4C语言程序的基本结构1.4.1简单的C语言程序介绍【例1-2】在屏幕上显示一行文字:“HelloWorld!”。/*在屏幕上显示HelloWorld!,(ex1-2.c)*/#include<stdio.h>voidmain()/*定义主函数*/{printf("HelloWorld!\n");}

函数调用语句格式输出函数printf()。

输出“Helloworld!”。程序运行结果:HelloWorld!1.4C语言程序的基本结构#include<stdio.h>#include<math.h>voidmain(){floata,b,c,p,disc,q,x1,x2;scanf("%f%f%f",&a,&b,&c);p=-b/(2*a);disc=b*b-4*a*c;q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;printf("x1=%f,x2=%f",x1,x2);}【例1-3】求方程的根(设)。1.4C语言程序的基本结构#include<stdio.h>#include<math.h>voidmain(){floata,b,c,p,disc,q,x1,x2;scanf("%f%f%f",&a,&b,&c);p=-b/(2*a);disc=b*b-4*a*c;q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;printf("x1=%f,x2=%f",x1,x2);}【例1-3】求方程的根(设)。预处理命令1.4C语言程序的基本结构#include<stdio.h>#include<math.h>voidmain(){floata,b,c,p,disc,q,x1,x2;scanf("%f%f%f",&a,&b,&c);p=-b/(2*a);disc=b*b-4*a*c;q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;printf("x1=%f,x2=%f",x1,x2);}【例1-3】求方程的根(设)。

函数一个主函数(main函数)。1.4C语言程序的基本结构#include<stdio.h>#include<math.h>voidmain(){floata,b,c,p,disc,q,x1,x2;scanf("%f%f%f",&a,&b,&c);p=-b/(2*a);disc=b*b-4*a*c;q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;printf("x1=%f,x2=%f",x1,x2);}【例1-3】求方程的根(设)。

函数说明部分1.4C语言程序的基本结构#include<stdio.h>#include<math.h>voidmain(){

floata,b,c,p,disc,q,x1,x2;

scanf("%f%f%f",&a,&b,&c);p=-b/(2*a);disc=b*b-4*a*c;q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;printf("x1=%f,x2=%f",x1,x2);}【例1-3】求方程的根(设)。

函数体

变量说明部分执行部分1.4C语言程序的基本结构#include<stdio.h>#include<math.h>voidmain(){floata,b,c,p,disc,q,x1,x2;

scanf("%f%f%f",&a,&b,&c);p=-b/(2*a);disc=b*b-4*a*c;q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;

printf("x1=%f,x2=%f",x1,x2);}【例1-3】求方程的根(设)。程序运行结果:10-4↙x1=2.000000,x2=-2.000000

运行程序键盘输入a、b、c的值;屏幕显示x1和x2的值。1.4C语言程序的基本结构【例1-4】求|a|+|b|的值。#include<stdio.h>#include<math.h>floatabsv(floatx){floaty;y=x>=0?x:-x;returny;}voidmain(){floata,b,c;printf("inputa,b:\n");scanf("%f%f",&a,&b);c=absv(a)+absv(b);printf("|a|+|b|=%f\n",c);}1.4C语言程序的基本结构【例1-4】求|a|+|b|的值。#include<stdio.h>#include<math.h>floatabsv(floatx){floaty;y=x>=0?x:-x;returny;}voidmain(){floata,b,c;printf("inputa,b:\n");scanf("%f%f",&a,&b);c=absv(a)+absv(b);printf("|a|+|b|=%f\n",c);}

程序由两个函数组成:

absv函数和main函数。1.4C语言程序的基本结构【例1-4】求|a|+|b|的值。#include<stdio.h>#include<math.h>floatabsv(floatx){floaty;y=x>=0?x:-x;returny;}voidmain(){floata,b,c;printf("inputa,b:\n");scanf("%f%f",&a,&b);c=absv(a)+absv(b);printf("|a|+|b|=%f\n",c);}调用absv函数求绝对值。1.4C语言程序的基本结构【例1-4】求|a|+|b|的值。#include<stdio.h>#include<math.h>floatabsv(floatx){floaty;y=x>=0?x:-x;returny;}voidmain(){floata,b,c;printf("inputa,b:\n");scanf("%f%f",&a,&b);c=absv(a)+absv(b);printf("|a|+|b|=%f\n",c);}inputa,b:-513↙|a|+|b|=18.000000

运行程序屏幕显示提示信息;键盘输入a、b的值;屏幕显示a、b绝对值之和。1.4C语言程序的基本结构⑴一个C程序由一个或多个函数组成,但至少有一个主函数(main函数);main函数是程序执行的入口,可置于程序的任何位置。⑵程序中可以有预处理命令(如:include命令)。预处理命令通常放在程序的最前面。⑶每个语句以分号结尾;预处理命令、函数头和花括号“}”之后不能加分号。⑷函数包括函数的说明部分和函数体;函数体包括变量说明部分和执行部分;函数体由一对花括号“{}”括起来。⑸括在/*…*/内的文本为注释内容。⑹一行可以写几个语句,一个语句也可以写在多行上。⑺程序区分大小写字母。一般变量、语句等用小写字母书写;符号常量、宏名等用大写字母书写。⑻标识符和保留字之间须加空格以示分隔。【例1-2】#include<stdio.h>voidmain()/*定义主函数*/{printf("HelloWorld!

温馨提示

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

评论

0/150

提交评论