第01章 C语言程序设计概述

合集下载

c语言程序设计第一章

c语言程序设计第一章

c语言程序设计第一章C语言程序设计第一章:C语言简介与基础C语言是一种通用的编程语言,由丹尼斯·里奇(Dennis Ritchie)在20世纪70年代初期于贝尔实验室开发。

C语言以其高效性、灵活性和广泛的应用领域而闻名,是许多现代编程语言的基础,包括C++、Java 和Python等。

1. C语言的历史与发展C语言的诞生标志着编程语言发展的一个重要里程碑。

它最初是为了开发UNIX操作系统而设计的。

C语言的简洁性和高效性使其迅速流行开来,并被广泛应用于系统软件、嵌入式系统、图形和游戏开发等领域。

2. C语言的特点- 简洁性:C语言的语法简洁,易于学习。

- 结构化:C语言支持结构化编程,使得程序更加模块化。

- 高效性:C语言生成的代码执行效率高,接近汇编语言。

- 可移植性:C语言编写的程序可以在不同的操作系统和硬件平台上运行,只需进行少量修改。

- 丰富的库支持:C语言拥有大量的标准库,提供了丰富的功能。

3. C语言的基本结构一个C语言程序通常由以下几个部分组成:- 预处理指令:如`#include`,用于引入头文件。

- 函数:C语言程序由一个或多个函数组成,其中`main()`函数是程序的入口点。

- 变量声明:定义程序中使用的变量及其类型。

- 语句:执行程序逻辑的代码行。

- 注释:对代码进行说明的文字,不会被程序执行。

4. C语言的数据类型C语言提供了多种数据类型,包括:- 整型:`int`,用于存储整数。

- 浮点型:`float`和`double`,用于存储小数。

- 字符型:`char`,用于存储单个字符。

- 数组:用于存储相同类型的多个数据项。

- 指针:存储变量的内存地址。

- 结构体:允许将不同类型的数据组合成一个单一的数据类型。

5. 变量与常量- 变量:程序运行时可以改变其值的量。

- 常量:在程序中其值不可改变。

6. 运算符C语言提供了丰富的运算符,包括:- 算术运算符:如`+`, `-`, `*`, `/`等。

C语言程序设计-第一章C基础知识-C语言概述讲解

C语言程序设计-第一章C基础知识-C语言概述讲解

程序执行
编译链接完成后,可执行文件可以被加载到 内存中执行。程序执行时,操作系统会负责 加载和运行可执行文件,并分配必要的资源。 在程序运行过程中,操作系统会与程序进行 交互,处理各种事件和请求。
THANKS FOR WATCHING
感谢您的观看
VS
库函数
库函数是C标准库提供的函数,用于实现 各种常用的功能,如输入输出、数学计算 等。通过包含相应的头文件,可以在程序 中使用库函数。
编译链接和程序执行
编译链接
将源代码文件编译成目标文件后,需要将多 个目标文件链接成一个可执行文件,才能执 行程序。链接过程将解决符号引用问题,将 程序中的函数调用和变量引用与相应的实现 关联起来。
C语言与其他语言的比较
C语言与C、Java等高级编程语 言相比,具有更接近硬件的底层 访问能力,但编写代码相对复杂。
C语言与Python、Ruby等解释 型语言相比,具有更高的执行效 率,但需要手动管理内存和进行
类型检查。
C语言与JavaScript、PHP等脚 本语言相比,具有跨平台和可移 植性,但需要编译成机器码才能
C语言程序设计-第一章 C基础知 识-C语言概述讲解
目录
• C语言概述 • C语言语法基础 • C语言控制结构 • C语言函数 • C语言程序结构
01 C语言概述
C语言的起源和发展
C语言起源于20世纪70年代,由美国贝尔实验室的Dennis Ritchie设计开发。它 最初被用于UNIX操作系统的开发,后来逐渐发展成为一种广泛使用的通用编程 语言。
要点一
总结词
调用函数和作用域是函数使用的关键
要点二
详细描述
在C语言中,可以通过函数名和参数列表来调用函数。调 用函数时,会执行函数体中的代码,并返回函数的返回值 。函数的作用域指的是函数在程序中的可见性和可访问性 。在C语言中,函数的作用域可以是全局或局部的。全局 函数可以在程序的任何位置被访问,而局部函数只能在定 义它的代码块中访问。

第1章 C程序设计概述

第1章 C程序设计概述

什么是程序?
• 电脑并不聪明:它并不知道我们想要做什么,它
只能遵守我们的指令执行,可以连续处理。 • 电脑不能自己决定做什么:不能独立思考,所以 程序员(programmer)必须给电脑极其详细的 指令。 • 为了让电脑执行某项具体任务而提供的详细指令 集合就是程序(program)。没有程序的电脑不 能完成任何工作。 • 程序是用计算机语言写成的,如C、C++、C#、 Java等,它告诉电脑怎么工作,以得到我们想 要的结果。
编辑窗口、工作空间窗口、输出窗口
2、在编辑状态下输入或修改源文件
⑴、编辑新文件
编辑新文件:文件→新建…→文件→“C++ Source File” 保存文件:文件→保存 或 Ctrl+S
⑵、编辑已存在的文件
打开文件:文件→打开 或 Ctrl+O 或 直接双击文件 另存文件:文件→另存为…
3、编译源程序
EG101.C
例1.2 求两个整数之和。 #include <stdio.h> a void main( ) /* 主函数 */ { b int a,b,sum; /* 定义三个整型变量 */ scanf("%d%d", &a,&b); // 输入a, b sum sum=a+b; // 相加后赋值给sum printf("sum is %d\n", sum); // 输出sum的值 } 说明: ⑴ “/*…*/”表示注释部分,以“/*”开始,以“*/”结束;注释 只是对程序的说明,仅起帮助阅读程序的作用,不影响程序的 运行,可以放在程序的任意位置。“//”表示注释从此处开始到 行末 ⑵ “int”用于定义整型变量,存放整数。定义变量后,系统就 为其分配相应大小的存储单元,用于存放其值。C语言要求变 量必须先定义,后使用。 EG102.C

第1章 C语言程序设计初步概要

第1章 C语言程序设计初步概要

第1章 C语言程序设计初步本章是C语言程序设计的入门部分, 从整体上介绍C语言的起源和发展,讲述C语言的特点、结构和基础语法要点。

1.1C语言概述1.1.1C语言的发展C语言是界上广泛流行的的程序设计语言之一,它适合于作系统描述语言,即用来写系统软件,也可以用来写应用软件。

早期的操作系统等系统软件主要是用汇编语言编写的(包括UNIX操作系统在内)。

但是汇编语言存在明显的缺点,即可读性和可移植性都比较差,为了提高可读性和可移植性,最好改用高级语言,但是一般高级语言难以实现汇编语言的某些功能(汇编语言可以直接对硬件进行操作,例如对内存地址的操作、位操作等)。

人们希望能找到一种既具有一般高级语言特性,又具有低级语言底层操作能力的语言,集它们的优点于一身,于是C语言在70年代初应运而生了。

1978年由美国电话电报公司(AT&T)的贝尔实验室正式发表了C语言,同时由B.W.Kernighan和D.M.Ritchit合著了影响深远的“THE C PROGRAMMING LANGUAGE”一书,通常简称为《K&R》,也有人称之为《K&R》标准。

但是,在《K&R》中并没有定义一个完整的标准C语言,许多开发机构推出了自己的C语言版本,这些版本之间的微小差别不时引起兼容性上的问题,后来由美国国家标准学会ANSI(American National Standard Institute)在各种C语言版本的基础上制定了一个C 语言标准,于1983年发表。

通常称之为ANSI C。

1987年ANSI又公布了新标准——87 ANSI C。

目前广泛流行的各种C编译系统都是以它为基础的。

早期的C语言主要是用于UNIX系统,由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代,C语言开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用,成为当代最优秀的程序设计语言之一。

C语言程序设计基础教学课件(共11章)第1章C语言程序设计概述

C语言程序设计基础教学课件(共11章)第1章C语言程序设计概述
流程图采用一些规定的图形符号来表示相应的处理流程。 常用的图形元素如图1.2所示。
上例用流程图表示则如图1.3所示。
第1章 C语言程序设计概述
起止框 输入/输出框 判断框 处理框

流程线
连接点
注释框
图1.2 流程图中常用的图形元素
第1章 C语言程序设计概述
开始 1⇒i 输入ci, si Y si<60? N 打印ci,si
第1章 C语言程序设计概述
语言元素 语法规则
语句
段落结构
段落
篇章结构
自然语言: (字词及符号)
(表达一个意思)
(描述简单事物)
文章 (描述事物)
语言元素 程序设计语言: (字符集、数
据、表达式等)
语句规则
语句
模块算法
(代表计算机的
一个功能操作)
程序模块 (实现
程序结构
一个基本功能)
程序 (实现一个 完整的功能)
i+1⇒i i≤30? Y
N 结束
图1.3 算法流程图
第1章 C语言程序设计概述
流程图的另一种表示形式是N_S图。N_S图是去掉流程 线,把算法写在一个框内的流程图。几种基本程序结构的 N_S图符号如图1.4所示。图1.3算法的N_S图表示如图1.5所 示。
当条件成立
A
成立
不成立
A
B
A
B
(a) 顺序结构
程序设计方法涉及非常丰富的内容,但模块化程序设计 思想始终贯穿所有程序设计的过程。
模块化程序设计方法的基本思想就是抽象和分解。 抽象是人类认识世界的基本法则之一。现实世界中的某 些事物、状态或过程之间总是存在着某些相似的方面,把这 些方面集中和概括起来,暂时忽略它们之间的差异,或者说 抽出事物的本质特性而暂时不考虑其细节,这就是抽象。

第一章 C语言程序设计概述汇总

第一章 C语言程序设计概述汇总

第一章 C语言程序设计概述1.1 程序和程序设计语言计算机是在程序的控制下工作的。

要让计算机能够正常的运行,需要预先编写好计算机工作步骤的指令序列,即系统程序;要利用计算机来解决一个具体的实际问题,同样需要编写程序,即应用程序。

这些都要进行程序设计工作。

1.1.1 程序与程序设计所谓程序,就是一系列遵循一定规则和思想并能正确完成指定工作的代码(也称为指令的序列)。

通常一个计算机程序主要描述两部分的内容,其一是描述问题的每个对象及他们之间的关系,即数据结构的内容;其二是描述对这些对象进行处理的动作、动作的先后顺序,即求解的算法。

因此,程序也可以用经典的公式来表示:程序=数据结构+算法所谓程序设计,就是根据计算机要完成的任务,提出相应的需求,在此基础上设计数据结构和算法,然后用某种程序设计语言编写相应的程序代码。

一个设计合理的数据结构往往可以简化算法,而且一个好的程序有可靠性、易读性、可维护性等良好特性。

1.1.2 程序设计语言程序设计语言是人与计算机交流的工具,是用来书写计算机程序的工具。

程序设计的语言有几百种,最常用的不过十多种。

按照程序设计语言发展的过程,可以分为三类。

1. 机器语言机器语言是由0和1这样的二进制代码按一定规则组成的、能被机器直接理解和执行的指令集合。

机器语言中的每一条语句实际上是一条二进制形式的指令代码(即机器指令),机器指令一般由操作码和操作数两个部分组成,操作码表示该指令所要完成的功能,操作数指出完成这个功能所需要的数据或数据在内存中的地址。

例如,某种计算机上计算A=15+10的机器语言程序如下:10110000 00001111 把15放入累加器A中00101100 00001010 10与累加器A中的值相加,结果仍放入A中11110100 结束,停机用机器语言编写的程序,计算机可以直接识别和执行,因而执行效率高。

但由于不同的机器,其指令系统不同,因此机器语言程序通用性差。

C语言程序设计课件第1章程序设计概述

C语言程序设计课件第1章程序设计概述

return 0;
}
1.2 算法
1.2.1 算法概念与算法描述 1.2.2 算法的逻辑结构 1.2.4 算法的特性 1.2.4 算法评价
1.2.1 算法概念与算法描述
算法重要性:程序=数据结构+算法 1.算法的概念 算法是为计算机处理问题所设计的解题步骤。算法的最终 实现是计算机程序。 2.算法的描述方法
–自然语言 –流程图 –N-S图 –PAD图 –伪码等。
1.2.1 算法概念与算法描述
⑴ 用自然语言描述算法 “计算1到100的所有自然数的和” 步骤① i和s赋初值,使i=1,s=0; 步骤② 判断i的值,若i≤100 则执行步骤③;否则, 转步骤⑤; 步骤③ s加i; 步骤④ i加1,转步骤②; 步骤⑤ 显示s的值,结束。
举例:输入一个学生两门课 程的成绩,若平均成绩不低 于90,则输出“优等生”; 否则,输出“加油!”。

输出:加油!
结束
1.2.2 算法的逻辑结构
3、循环结构
特点:有些步骤会被有 条件地重复执行(被重 复执行的步骤每次处理 的数据也可能发生变化 )。
假 条件

A
1.2.2 算法的逻辑开结始 构
3、循环结构
启动VC++ 6.0系统 使用“File”→“New”命令,打开VC++ 6.0的程序编辑窗口 录入编辑源程序,保存文件
2.编译源程序 使用“Build”→“Compile”命令对源程序进行编译,生成二进制目标代码文件。
3.构建可执行文件 程序通过编译之后,使用“Build”→“Build”命令将编译阶段生成的目标文 件和系统的库函数文件等连接起来,生成扩展名是“.exe”的可执行文件。

C程序设计概述

C程序设计概述
(4)标点和特殊字符
☆☆ 第1章 C程序设计概述
12
1.3 C语言的字符集与标识符
1.3.2 C语言标识符
1.保留字符 C语言的保留字符(也称关键字)共有32个,根据关键字
的作用,可分其为数据类型关键字、控制语句关键字、存储 类型关键字和其它关键字四类。
(1)数据类型关键字(12个):char, double, enum, float, int, long, short, signed, struct, union, unsigned, void
☆☆ 第1章 C程序设计概述
23
1.4 C语言的程序结构
1.4.4 C程序的书写风格
(1)一个说明或一个语句占一行 (2)函数与函数之间加空行, 以清楚的分出程序中有几个 函数。 (3)用{}括起来的部分,通常表示了程序的某一层次结构。 {}一般与该结构语句的第一个字母对齐,并单独占一行。 (4)低一层次的语句或说明可比高一层次的语句或说明缩 进若干格后书写,同一个层次的语句左对齐。 (5)对数据的输入,运行时最好要出现输入提示,对于数 据输出,也要有一定的提示和格式。 (6)程序中适当加上一些注释。
22
1.4 C语言的程序结构
1.4.3 C函数的结构
函数是C语言程序的基本单位。任何函数(包括主函数 main())都是由函数说明和函数体两部分组成,其一般结构 如下:
函数类型 函数名([形式参数说明])
{ 数据说明部分; 语句部分; }
例: int fsum(int x, int y) { int z; z=x+y; return(z); /*返回变量z的值*/ }
例1-3 将例1-2中的求2个数的和编写成独立的函数,在主函数中调用实现。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

24
1.2
C语言程序简介
简单的C程序说明 3.C程序由函数组成 一个C程序可以包含一到多个的函数,每一个能单独运行 的C程序都必须有一个且只能有一个main函数作为程序的 主控函数,称为主函数。main函数是C语言编译系统使用 的专用名字。程序从main函数的第一条可执行语句开始执 行。 本例中包含了两个函数即main和seek_max。函数由函数头 和函数体两部分组成,例子中的两个函数的函数头分别是: main()和int seek_max(int x, int y),函数体是函数头 后面花括号{}中的内容。 程序中还调用了头文件stdio.h中的输入函数scanf()和输 出函数printf()。
FORTRAN PL/1 COBOL LISP
ANSI-BASIC QBASIC VB FORTRAN90 FORTRAN77
PROLOG
<
>
19
1.2
C语言程序简介
1.2.1 C语言概况(06) 为描述和实现UNIX操作系统而设计的,现在已成为一种成 熟的通用编程语言,并被广泛应用于多种机型(如个人计 算机、工作站和大型机)和操作系统(如DOS、Windows、 Linux和UNIX)上。C语言既可以处理数据库、网络、图形、 图像等,又适合在工业控制、自动检测等方面的应用。 1983年美国国家标准化协会(ANSI)根据C语言自问世以 来的各种版本,对C语言的发展和扩充制定了新的标准, 称为ANSI C。1987年ANSI又公布了新标准,即87ANSI C。 常用的有Micorsoft C、Quick C和Turbo C等多种版本。 这些不同的C语言版本,基本部分是相同的,但在有关规 定上又略有差异。本书以Turbo C 2.0的环境对C语言进行 介绍。
12
1.1
例1-1

程序设计基础---算法
用自然语言描述求三个数中最大数的算法。
输入三个数num1、num2、num3之后,先求出三个 数中两个数num1和num2的较大数max2,再把这个 较大数max2与第三个数num3比较,求出最大数max 3。
13
1.1
例1-2
程序设计基础---算法
用传统流程图描述求三个数中最大数的算法。
25
1.2
C语言程序简介
简单的C程序说明 4.标识符与保留字 在C程序中用标识符来表示函数、类型、变量、符号常量 及语句标号的名称。C程序中的标识符是以英文字母(a~ z或A~Z)或下划线开头,由英文字母、数字(0~9)和下 划线构成的,区分大小写字母。不同的编译程序对标识符 有不同的规定,Turbo C 2.0 规定标识符的字符个数不超 过32,建议初学者在标识符命名时不宜过长,要注意简洁、 清晰,让人见名知意。 本例中定义了存放三个数的变量分别是num1、num2和num3, 存放前两个数较大值及三个数最大值的变量分别是max2和 max3。 C语言规定了一些具有特定含义的标识符,即关键字,一 共有32个,请参见附录2。例1-4中的void、int、if、els e、return都是关键字。
4
课程教学目标
1.掌握C语言的程序设计基础,能用C语言 进行实际程序设计 2.理解程序的执行过程 3.为学习后续专业课程打下扎实的实践和 理论基础
5
教学安排及考试

讲课学时:54学时


上机时间: 54学时
考试成绩计算:
平时成绩(考勤、
期中考试
作业及上机)
30%
10%
期末考试
60%

3
课程简介

本课程作为计算机专业的第一门专业基础课程, 以程序设计为主,培养实际的C程序综合开发技 能,为学习专业后续课程做准备。课程内容包 括:C语言的数据类型、运算符;C程序的三种结 构(顺序结构、选择结构、循环结构);C语言 中的函数定义、调用;C语言中预处理命令;C语 言中的链表设计及应用;C语言中的位运算;C语 言绘图功能的简介。要求学生通过C语言的学 习,能领会程序在计算机中的执行过程。
平时上机实验课以考查形式评分, 考试课按
学校安排时间考试。
6
目录

第1章 C语言程序设计概述 第2章 基本数据类型、运算符和表达式 第3章 程序的控制结构 第5章 结构体和共同体 第7章 指针 第8章 指针的应用—链表 第10章 文件 第12章 C语言绘图功能简介 第9章 位运算 第4章 数组 第6章 函数
26
1.2
简单的C程序说明 5.输入与输出

C语言程序简介


在C程序中,可以通过调用编译系统提供的函数scanf()从 键盘输入一些数据,而用函数printf()向显示屏幕输出数 据。 如本例中的语句scanf("%d %d %d", &num1,&num2,&num3) 表示从键盘上输入三个整数(用%d表示整数格式符)给变 量num1、num2和num3。这里的“&”是用来取变量地址的 运算符。 程序中的printf(“\nThe Maximum among %d,%d and %d is %d.",num1,num2,num3,max3);是用来按格式要求输出 最后结果的。“\n”在C语言中表示回车换行符。
14
1.1
程序设计基础---算法
例1-3 用N-S流程图描述求三个数中最大数的算法, 如图1-4所示。
15
1.1
程序设计基础
1.1.3 结构化程序设计 结构化程序设计的三种基本控制结构 ---顺序结构 ---选择结构 ---循环结构 结构化程序设计的优点?--易于编写、维护、阅 读、修改,提高可靠性,减少出错 结构化化程序设计的基本思路 ?--自顶向下,逐 步细化;模块化设计;结构化编码
10
1.1
程序设计基础
1.1.1 计算机语言和程序 汇编程序
汇编程序 汇编语言源程序 图1-1 汇编程序的作用 目标程序

编译程序(编译器)---在高级语言和机器语言之 间执行翻译任务的程序。
11
1.1
程序设计基础
1.1.2 算法 算法---解决问题的一种策略。 算法的常见表示方法 ---自然语言 ---传统流程图 ---N-S流程图

注: “/*”和“*/” 必须成对使用,且“/”和
“*”、以及“*”和“/”之间不能有空格,否则 都出错
23
技巧:为避免遗漏必须配对使用的符号,例如注释 符号、函数体的起止标识符(花括号)、圆括号 等等,在输入时,可连续成对地输入这些起止标 识符,然后再在其中进行插入来完成内容的编辑。 在起止标识符嵌套时,以及相距较远时,这样做 更有必要。
22
1.2
简单的C程序说明 2.C程序中的注释

C语言程序简介

本源程序中包含了多处的注释,在/*和*/之间的内容是 注释部分,不参与程序的编译和执行,只是起到说明作用, 增强了程序的可读性。 最前面的三行注释是对程序作者、功能、编写日期进行 说明,而函数main()中的注释则是对各语句功能的说明。
20
1.2
C语言程序简介
1.2.2 简单的C程序举例
例1-4 如下C程序实现:从键盘上输入三个数,求出这三个数的最大数。
# include <stdio.h> int seek_max(int x,int y) /*求两个数的较大数的函数定义*/ /*********************Cprog1.C By HuangCL************************/ { /* This program is designed to seek the maximum from three numbers */ int z; /*定义中间变量z*/ /********************* 2008-2-13 *********************************/ if (x>y) z=x; /*如果x>y,那么把x赋给z*/ void main() else z=y; /*否则,把y赋给z*/ { return z; /*函数返回x,y的较大值*/ int num1, num2, num3, max2, max3; /*定义存放三个数及较大值的变量*/ } printf("Please input three numbers:"); /*输入变量值的提示信息*/ scanf("%d %d %d", &num1,&num2,&num3); /*输入三个整数*/ max2=seek_max(num1, num2); /*求前两个数的较大数*/ 运行情况: max3=seek_max(max2, num3); /*再求前两个数的较大数与第三个数的较大数*/ printf("\nThe Maximum Please input three numbers: 23 45 33 among %d,%d and %d is %d.",num1,num2,num3,max3); /*输出三个数及其最大值*/ }

18
52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 Ada Modula-2
Pascal
ALGOL60 ALGOL68 CPL BCPL B
C
Smalltalk 80 C++ Java
Simula 67
BASIC
高级语言程序设计
课程要求
课前请做好预习 保持课堂安静,头脑清醒,思维活跃 认真、独立、按时完成并提交作业 进入实验室上机前,必须先在作业纸上写好程序
重视上机实践,有效利用宝贵的上机时间
相关文档
最新文档