C语言第一讲nullC /C++程 序 设 计C /C++程 序 设 计但愿她是你知识大厦的又一块基石。
但愿她是开启你智慧的又一把钥匙!学习目的:学习目的:掌握C/C++语言的语法结构。
学习结构化程序设计的一般方法,提高分析能力和综合能力。
能够用C/C++语言编程解决一定的实际问题。考核要求:平时作业(10%),随时抽查。
上机实验(10%),人机定位,提交实验报告。
上机编程(10%),网上或软盘提交。
考试(笔试 70%)。学习方法学习方法语 法语言基本元素、基本构词方法、
句法、结构等规则的集合。算 法解决特...
nullC /C++程 序 设 计C /C++程 序 设 计但愿她是你知识大厦的又一块基石。
但愿她是开启你智慧的又一把钥匙!学习目的:学习目的:掌握C/C++语言的语法结构。
学习结构化程序
的一般
,提高分析能力和综合能力。
能够用C/C++语言编程解决一定的实际问题。考核要求:平时作业(10%),随时抽查。
上机实验(10%),人机定位,提交实验
。
上机编程(10%),网上或软盘提交。
考试(笔试 70%)。学习方法学习方法语 法语言基本元素、基本构词方法、
句法、结构等规则的集合。算 法解决特定问题的方法和步骤。方 法结构化程序设计的思想方法。计算机语言的发展 (参见p15)计算机语言的发展 (参见p15)机器语言特点:由0和1构成的代码、面向机器、直接运行。汇编语言特点:英文缩写的助记符、面向机器、翻译后运行。高级语言特点:类自然语言、面向问题(算法)、翻译后运行。翻译系统高级语言程序二进制机器语言2+3010100100011ADD 2,32+3编译或解释程序。源程序.c编辑程序目标程序.obj编译程序连接程序可执行程序.exe第一章 C语言概述第一章 C语言概述1.1 C语言简介1.1 C语言简介1、发展
C之前操作系统主要采用汇编语言编写。程序的可读性、可移植性都比较差。人们希望能用高级语言编软件,但一般的高级语言难以实现汇编语言对硬件的一些操作(如:内存地址的读写,直接硬件、二进制位的操作)。人们设法寻找一种既具有一般高级语言特性,又具有低级语言特性的语言,C语言就在这种情况下产生了。
C语言是由ALGOL 60—>CPL(接近硬件,规模大)—>(简化)BCPL—>B(精练,功能有限)—> C (72年),在C诞生后, PDP小型机上的Unix很快用C改写(最初Unix是用汇编语言编写,后用B语言), C的良好的可移植性很快使Unix从PDP计算机移植到其它计算机平台,随着Unix的广泛应用,C语言也得到推广。Unix和C很快风靡全球。
经过多次改进,1987年美国标准化协会制定了C语言标准“ANSI C”,目前国际上流行的C版本(Turbo C)均以此为基础。 2、特点2、特点⑴ C语言的功能完善,效率高 (运行速度接近汇编)。
⑵ 可以对硬件操作,是介于汇编语言和高级语言之间的一种语言(中级语言或高级汇编语言) 。
⑶ 是结构化的程序设计语言(具有结构化的控制语句“if、 for、while 、switch”;相对独立的函数模块、函数库) 。
⑷ 具有丰富的数据类型和运算类型(34种运算符) 。
⑸ 具有良好的移植性(不依赖机器硬件) 。
⑹ 书写灵活,表达简洁(32个关键字,9种控制语句) 。
⑺ 对语法限制不严格,程序设计自由度大(不检查数组下标越界,不限制数据类型转换)。1.2 C语言程序的基本结构1.2 C语言程序的基本结构#include
/*包含文件说明*/
main( ) /*主函数main的函数头*/
{ /*函数体开始*/
int x,y,z; /*定义三个整型变量*/
x=14; y=3; /*给变量赋值*/
z=x*y; /*对变量进行运算*/
printf(“%d*%d=%d”,x,y,z); /*按格式输出结果*/
} /*函数体结束*/程序运行结果:例1:14*3=42#include
void main(void)
{
printf(“This is the first C programe\n”);
}程序运行结果:This is the first C programe例2:函数
体例3:输入两个整数,输出其中较小的数。例3:输入两个整数,输出其中较小的数。 #include
void main(void)
{
int a, b;
int c;
scanf(“%d,%d”,&a, &b);
c=imin(a, b);
printf(“\nc=%d”,c);
}int imin(int x, int y)
{
int z;
if (xC++ )(2)面向对象程序设计方法(OOP:从C-->C++ ) 当C程序达到一定的规模(25000行以上)后维护修改相当困难,83年贝尔实验室Bjarme Strousstrup 博士又对C进行了扩充,引入了面向对象程序设计(Object Oriented Programming)的,称为“带类的C”,后改名C++。目前主要的C++开发工具:Borland 公司C++; Microsoft的 Visual C++。 面向过程语言要求人们告诉计算机怎么做,面向对象语言只要求人们告诉计算机做什么。但面向过程是程序设计的基础,尤其对初学者;C是目前实用程序设计中使用最广泛的语言之一,许多成熟的软件都是用C编写的,故学习C也能掌握一种实用的程序设计工具;程序设计是计算机领域的基础课程,C是许多后续课程的教学语言。学习C之后,进一步学习后续课程比较方便。
C是C++的基础,C++是C的超集。C++由两部分组成:一是过程性语言部分(与C语言无本质区别),二是类和对象部分。掌握了C语言,再学习C++能以熟悉的语法学习面向对象的语言,达到事半功倍的效果。本课程我们以面向过程的C语言介绍程序设计的基本概念和方法。3、程序设计语言3、程序设计语言 人们相互交流时使用的是双方都能理解的自然语言(汉、英语等)。用来同计算机“交谈”的语言,称为计算机语言。它是根据计算机的特点编制的,没有自然语言那么丰富多样,只是有限规则的集合,交流中无法意会和言传,更多地表现了说一不二, 表现了“规则”的严谨。如该是“*”的地方不能写成“.”或“×”,该写“a”的地方不能写成“A”,这使得人和计算机的交流在一开始会有些不习惯。不过,只要认识到这些特点(语法),注意学习方法,就能学好计算机语言。 计算机语言按使用方式和功能可分为:
低级语言:机器语言和汇编语言。
高级语言:BASIC、FORTRAN、C、Pascal、Java等。计算机只能识别与其同时诞生的第一代语言——机器语言。1.4 程序设计与算法 1.4 程序设计与算法 分析问题,建立数学模型。针对要解决的问题,找出已知的数据和条件,确定所需的输入、输出和处理对象。将解题过程归纳为一系列的数学表达式。
(2) 确定数据结构和算法。根据数学模型,对指定的输入数据和预期的输出结果,确定存放数据的数据结构。针对数学模型和数据结构,选择合适的算法。
(3) 编制程序。根据确定的数据结构和算法,用计算机语言把这个解决严格地描述出来。
(4) 调试程序。用实际数据对编好的程序上机调试,分析所得到的运行结果,进行测试和调整,直至获得预期的结果。 关于数据结构和算法有专门的著作,这里重点是学习编程语言和程序设计方法。但如果对算法一无所知,就无法进行基本的程序设计。这里仅对算法的基本概念和表示方法作初步介绍,目的是了解程序设计如何开始。 1.4.1 计算机算法1.4.1 计算机算法● 算法(Algorithm): 解决问题的逻辑步骤。
任何问题的求解过程都由一定的步骤组成,解决问题确定的方法和有限的步骤称为算法。相同的问题,有不同的解题方法和步骤,故就有不同的算法。
● 计算方法 (Computational Method) :求数学近似解的方法。
如: SinX=X-X3/3!+X5/5!-X7/7!+…… ● 计算机算法:用程序解决问题的逻辑步骤,有限的指令序列。
只有通过算法能够描述出来的问题,才能够用计算机求解。正确算法的三个条件:
⑴ 每个逻辑步骤有可以实现的语句来完成;
⑵ 每个步骤间的关系是唯一的;
⑶ 算法要能终止(防止死循环)。⒈算法的特征⒈算法的特征商店a图书馆l三岔路口b如果走近路如果路过医院如果路过教室医院h教室s死过程ab
if( d min)b l
else if(to h)b h,h l
else if (to s)b s,s l
end有穷性:有限次完成;
确定性:各步骤之间的关系要确定;
有输入:有原始数据输入;
有输出:有结果输出;
可行性:可以编程实现;
有效性:执行速度快、占用资源少;算法确定性举例⒉算法的表示⒉算法的表示自然语言 求数列n=1+2+…+m的值n,
当n>10000时结束。
步骤:① n=0
② m=0
③ m加1
④ n加m
⑤ 判n是否大于10000
如果满足关系结束;
不满足关系继续执行③。 伪 代 码 流 程 图ab
if( d min)b l
else if(to h)b h,h l
else if (to s)b s,s l
end 程序设计流程图 程序设计流程图 概念:以特定的图形符号加上说明,表示算法的图 ,称为流程图或框图。规则:从上到下,从左到右。符号及其意义:端点框流程线连接点处理框判断框I/O框过程框流程图描述算法举例流程图描述算法举例 用框图描述函数
1 x 0
y =
-1 x < 0start输入xAx 0?y=1y=-1yesnoA输出yend★ 作业题:★ 作业题:⒈ 用程序流程图描述算法
1 x > 0
y = 0 x = 0
-1 x < 0 ⒉ 从生活或学习中找出可以用算法描述的一件事,并加以抽象的描述。 P17 习题一
一、单项选择题 全做。
二、填空题全做。
三、复习《大学计算机基础》p19~23 二进制、八进制、十六进制以及反码和补码的概念。★ 思考题:★ 实 验:预习:实验指导 p4~8、p9~13。
实验1:编辑一个C程序的方法 。
实验2:顺序结构程序设计 。
本文档为【C语言第一讲】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。