C语言-第1章--C语言简介课件

上传人:桔**** 文档编号:589881612 上传时间:2024-09-11 格式:PPT 页数:44 大小:1.61MB
返回 下载 相关 举报
C语言-第1章--C语言简介课件_第1页
第1页 / 共44页
C语言-第1章--C语言简介课件_第2页
第2页 / 共44页
C语言-第1章--C语言简介课件_第3页
第3页 / 共44页
C语言-第1章--C语言简介课件_第4页
第4页 / 共44页
C语言-第1章--C语言简介课件_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《C语言-第1章--C语言简介课件》由会员分享,可在线阅读,更多相关《C语言-第1章--C语言简介课件(44页珍藏版)》请在金锄头文库上搜索。

1、 C语言程序设计语言程序设计 C Programming Language C语言语言 为什么要学习程序设计语言为什么要学习程序设计语言C语言程序设计语言程序设计语言语言程序设计语言程序设计语言为什么要学习为什么要学习C语言语言C语言程序设计语言程序设计课程概况课程概况nC/C+语言程序设计语言程序设计C语言程序设计语言程序设计课程名称课程名称课程性质课程性质学分学分开课学期开课学期课程任务课程任务C语言程序设计语言程序设计 专业必修专业必修21C语言的程序设计方法语言的程序设计方法C+语言程序设计语言程序设计专业必修专业必修2.52C+语言的程序设计语言的程序设计方法方法课程概况课程概况n课

2、程地位课程地位C语言程序设计语言程序设计课程概况课程概况n课程内容课程内容-数据类型、运算符和 表达式-控制结构-数组与指针数组与指针-函数与程序结构-结构化程序设计方法C语言程序设计语言程序设计Area = r21+2+3+n输入一个班学生的成绩,计算输入一个班学生的成绩,计算并显示平均成绩、最高分与最并显示平均成绩、最高分与最低分。低分。课程概况课程概况n教学目的教学目的 掌握C语言的数据类型、数组、函数、指针 及基本的程序结构等知识; 会读、会编、会调试C程序C语言程序设计语言程序设计课程概况课程概况n教学要求教学要求p3次随机点名不到者,取消考试资格p缺交作业或实验报告少于规定次数2/

3、3,取消考试资格C语言程序设计语言程序设计课程概况课程概况n学习方法学习方法 预习 听课 复习 上机实验 C语言程序设计语言程序设计“学习一门程序设计语言的唯一学习一门程序设计语言的唯一途径就是使用它编写程序。途径就是使用它编写程序。”课程概况课程概况n考核方式考核方式p平时成绩(作业、考勤、上机实验)20%p期末考试 80%C/C+语言程序设计语言程序设计课程概况课程概况n教材及参考书目教材及参考书目 教材教材罗建军等:罗建军等:C+程序设计教程程序设计教程 (第(第2版)高等教育出版社,版)高等教育出版社,2007 C/C+语言程序设计语言程序设计课程概况课程概况 参考书参考书nKerni

4、ghan and Ritchie. 北京:C程序设计语言(第2版).机械工业出版社,2004.n谭浩强.C语言程序设计.北京:清华大学出版社,2004.n李玲玲.C语言程序设计. 北京:清华大学出版社,2011.n苏小红,等.C语言程序设计. 北京:高等教育出版社,2011. n湛为芳.C语言程序设计技术(第1版).北京:清华大学出版社,2006. 上机软件上机软件nVC6.0C/C+语言程序设计语言程序设计第一讲第一讲 C语言简介语言简介v了解C语言的演变历史vC语言程序初识v算法第第1章章 C语言简介语言简介v C语言的演变历史语言的演变历史起源起源nCPL-BCPL-B-CpCPL(Co

5、mbined Programming Language),1963,英国剑桥pBCPL(Basic Combined Programming Language),1967,英国剑桥pB,1970,美国贝尔pC,1972,美国贝尔(D.Ritchie)v C语言的演变历史语言的演变历史发展发展n1973年,K.Thompson和D.Ritchie合作,将UNIX重写了一遍,从此奠定了操作系统的基础。n1978年后,C语言先后移植到大、中、小、微型机上。C语言之父语言之父 丹尼斯丹尼斯.里奇里奇 哈弗大学,物理学、应用数学非课程类计算机讲座=着迷计算机处理的理论和实际问题1967年,进入贝尔实验室

6、1983年获图灵奖v C语言的演变历史语言的演变历史标准化标准化n1983年,美国国家标准化协会(ANSI)根据C语言各种版本对C的发展和扩充,制定了新的标准ANSI C 。n1987年,ANSI公布了新标准87 ANSI C。n1990年,国际标准化组织接受了87 ANSI C为ISO C 的标准(ISO98991990)。n1994年,ISO又修订了C语言标准。n目前流行的C语言编译系统大多是以ANSI C为基础进行开发的。v C语言程序初识语言程序初识例1-1:输出一行信息”hello world”。#include void main( ) printf (“hello worldn)

7、; /*包含标准输入输出库*/*main函数名 void返回值 */*函数体开始*/*输出语句*/*函数体结束*/ uu C C语言程序的开发调试环境语言程序的开发调试环境语言程序的开发调试环境语言程序的开发调试环境l目前使用的大多数C编译系统都是集成环境(IDE)的。 可以用不同的编译系统对C程序进行操作l常用的有Turbo C 2.0、Turbo C+ 3.0、Visual C+等 。lVisual C+:Microsoft公司出品的基于Windows的C和 C+开发工具。v C语言程序初识语言程序初识File-NewProject-Add to project-New-FilesBuil

8、d-Compile-Build-Execute标题栏标题栏菜单栏菜单栏工具栏工具栏工程与工程与项目工项目工作区作区客户区客户区输出输出窗口窗口状态栏状态栏n n说明:说明: nVisual C+6.0把实现程序设计功能的一组相互关联的源文件、资源文件及支撑这些文件的类的集合称为一个工程。n工程是Visual C+6.0开发程序的基本单位,一个工程至少包含一个工程文件,工程文件的扩展名为.dsp。nVisual C+6.0以项目工作区来组织应用程序的工程,项目工作区文件的扩展名为.dsw。这种类型的文件在Visual C+6.0中级别最高,打开一个工程只需打开对应的项目工作区文件即可。uu运行程

9、序的步骤运行程序的步骤运行程序的步骤运行程序的步骤上机输入与编辑源程序对源程序进行编译与库函数连接运行目标程序v C语言程序初识语言程序初识n n说明:说明: n每个C程序都从main函数开始执行,因此每个C程序必须有一个main函数n 是函数开始和结束的标志,不可省n每个C语句以分号结束nmain函数通常会调用其他函数来帮助完成某些工作,例如:printf函数,被调用的函数既可以自己编写,也可以来自函数库,例如:printf函数来自标准输入/输出库n使用标准库函数时应在程序开头一行写:#include n函数调用:函数名(参数列表)nn表示换行符,属于转义字符,无法输入的字符或不可见的字符,

10、例如:t(制表符)、b(回退符)#include #include void main( )void main( ) printf ( printf (“hello worldn); hello worldn); v C语言程序初识语言程序初识n n思考与练习思考与练习1-11-1: n在你自己的系统中运行”hello world“程序。再有意去掉程序中的部分内容,看看会得到什么出错信息。n做个实验,当printf函数的参数字符串中包含c时,观察一下会出现什么情况。例例1.2 求两数之和求两数之和#include #include void main( ) void main( ) /*/*求

11、两数之和求两数之和* */ / intint a,b,suma,b,sum; ; /*/*声明,定义变量为整型声明,定义变量为整型* */ / /*/*以下以下3 3行为行为C C语句语句 * */ / a=123; a=123; b=456; b=456; sum= sum=a+ba+b; ; printf(sumprintf(sum is %d is %dn,sumn,sum);); n n说明:说明: n/*/表示注释。注释只是给人看的,对编译和运行不起作用。所以可以用汉字或英文字符表示,可以出现在一行中的最右侧,也可以单独成为一行。nC语言中,所有变量必须先声明后使用,声明用于说明变量

12、的属性,(类型名 变量表),通常放在函数起始处。 nprintf输出格式化函数,函数的第一个参数是待打印的字符串,其中的每个%表示(第二个、第三个、参数)之一进行替换的位置,并制定打印格式。例:%d指定一个整型参数。说明:说明: 输出一行信息输出一行信息: :sum is 579sum is 579v C语言程序初识语言程序初识n n思考与练习思考与练习1-21-2: n修改例1-2程序,求任意两个数的和,并输出和值。#include #include void main( ) void main( ) /*/*求两数之和求两数之和* */ / intint a,b,suma,b,sum; ;

13、 /*/*声明,定义变量为整型声明,定义变量为整型* */ / printf(printf(“PleasePlease input two numbers:n input two numbers:n”); ); scanf(%d,%d,&a,&b);scanf(%d,%d,&a,&b); sum= sum=a+ba+b; ; printf(sumprintf(sum is %d is %dn,sumn,sum);); scanf格式化输格式化输入函数,读输入函数,读输入数据入数据int max(int x, int y) int z; if (xy) z=x; else z=y; return

14、 (z); n n说明:说明:n本程序包括main和被调用函数max两个函数。max函数的作用是将x和y中较大者的值赋给变量z。return语句将z的值返回给主调函数main。例例1.3 求求2个数中较大者。个数中较大者。#include #include void main( ) void main( ) /* /* 主函数主函数* */ / intint max(intmax(int x,intx,int y); y); / / 对被调用函数对被调用函数maxmax的声明的声明 * */ / intint a, b, c; a, b, c; /*/*定义变量定义变量a a、b b、c */

15、c */ scanfscanf(d,d,d,&a,&bd,&a,&b); ); /*/*输入变量输入变量a a和和b b的值的值* */ / c=c=max(a,bmax(a,b); ); /*/*调用调用maxmax函数函数, ,将得到的值赋给将得到的值赋给c */c */ printf(maxprintf(max= =dn,cdn,c); ); /*/*输出输出c c的值的值* */ / n程序运行情况如下程序运行情况如下:n8,5 8,5 ( (输入输入8 8和和5 5赋给赋给a a和和b)b)nmax=8 (max=8 (输出输出c c的值的值) )n nC C程序程序:n(1) 一个

16、C程序无论大小,都是由函数和变量组成的(这使得程序容易实现模块化),函数中包含一些语句,以指定所要执行的计算操作;变量用于存储计算过程中使用的值。 n(2) 一个函数由两部分组成:n 函数的首部:例1.3中的max函数首部n int max(int x,int y ) n 函数体:花括号内的部分。若一个函数有多个花括号,则最外层的一对花括号为函数体的范围。 函数体包括两部分函数体包括两部分 :声明部分:声明部分:intint a,b,ca,b,c; ; 可缺省可缺省执行部分:由若干个语句组成。执行部分:由若干个语句组成。可缺省可缺省int max(int x, int y) int z; if

17、 (xy) z=x; else z=y; return (z); 例:下面是一个空函数,什么也不做,但是合法的函数void dump ( ) n n思考与练习思考与练习1-31-3: n编写一个程序来求解12345。解决问题的方法和步骤解决问题的方法和步骤算法算法 广义地说,为解决一个问题而采取的方法和步骤,就称为广义地说,为解决一个问题而采取的方法和步骤,就称为 “算法算法”。v 算法算法例例1.4: 求求12345 步骤1:先求12,得到结果2。步骤2:将步骤1得到的乘积2再乘以3,得到结果6。步骤3:将6再乘以4,得24。步骤4:将24再乘以5,得120。如果要求如果要求1 12 210

18、001000,则要写,则要写999999个步骤个步骤 S1:使p=1。 S2:使i=2。 S3:使pi,乘积仍放在变量p中,可表示为: pi p S4:使i的值加1,即i+1 i。 S5:如果i不大于5,返回重新执行步骤S3以及其后的步骤S4和S5; 否则,算法结束。最后得到p的值就是5!的值。可以设两个变量:一个变量代表被乘数,一个变量代表乘数。不另设变量存放乘积结果,而直接将每一步骤的乘积放在被乘数变量中。设p为被乘数,i为乘数。用循环算法来求结果, 算法可改写: #include void main()int p,i;p=1;/*p赋初始值为赋初始值为1*/i=2;/*若若i=5,则循环

19、执行算法中的步骤则循环执行算法中的步骤S3和和S4*/while (i=5)p=p*i;i=i+1;printf(1*2*3*4*5=%dn,p);S1:1pS2:2 iS3:pi pS4:i+1 pS5:若i5,返回S3。否则,结束。 S1:1pS2:3 iS3:pi pS4:i+2 iS5:若i11,返回S3。否则,结束。 如果题目改为:求如果题目改为:求1 13 35 51111算法只需作很少算法只需作很少 的改动:的改动:#include void main()int p,i;p=1;/*p赋初始值为赋初始值为1*/i=3;/*若若i=11,则循环执行算法中的步骤则循环执行算法中的步骤

20、S3和和S4*/while (i=11)p=p*i;i=i+2;printf(1*3*5*.*11=%dn,p);S1:1pS2:3 iS3:pi pS4:i+2 pS5:若i11,返回S3。否则,结束。 u 算法的特性算法的特性n有穷性:有穷性:包含有限的操作步骤。n确定性:确定性:算法中的每一个步骤都应当是确定的。 n有零个或多个输入:有零个或多个输入:输入是指在执行算法时需要从外界取得必要的信息。n有一个或多个输出:有一个或多个输出:算法的目的是为了求解,“解” 就是输出。 n有效性:有效性:算法中的每一个步骤都应当能有效地执行,并得到确定的结果 。u 算法表示算法表示流程图流程图美国国

21、家标准化协会规定了一些常用的流程图符号:起止框起止框判断框判断框处理框处理框输入输入/输出框输出框注释框注释框流向线流向线连接点连接点例例1.5 将求将求5!的算法用流程图表示的算法用流程图表示用流程图表示算法要比用文字描述算法逻辑清晰、易于理解。 例例1.6 将判断素数的算法用流程图表示将判断素数的算法用流程图表示 n n思考与练习思考与练习1-41-4: n编写一个程序来求解任意两个正整数的最大公因数。n将判定闰年的算法用流程图表示,并编写一个程序来判定20002500年中的每一年是否闰年,将结果输出。 n将求解下式的算法用流程图表示,并编写一个程序来求解之n n设计算法流程图,并变成实现对一个大于或等于3的正整数,判断它是不是一个素数。 例例1.6 将求解下式的算法用流程图表示将求解下式的算法用流程图表示 例例1.8 将判定闰年的将判定闰年的算法用流程图表示算法用流程图表示 下课了。下课了。追求追求休息一会儿。休息一会儿。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号