c语言程序ppt课件,c语言ppt课件

这是一份详细的C语言程序设计课件,涵盖了C语言的发展历程、基本语法、程序设计方法以及问题求解的过程。内容包括C语言的程序结构、程序设计语言的功能、数据类型、流程控制和函数应用等,旨在帮助学习者掌握C语言编程基础和实践经验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

a994897d3a466332ab2bdae9f826f18a.png

PPT内容

这是c语言ppt课件,包括了一个C语言程序,程序与程序设计语言,C语言的发展历史与特点,实现问题求解的过程等内容,欢迎点击下载。

C语言程序设计

2008版

C语言程序设计

教学要求

掌握程序设计语言的基本知识

常用算法

初步的程序设计能力

学习方法

自主学习

重视上机实践

如何尽快学会用C语言进行程序设计

了解程序设计语言(C语言)

模仿、改写、编写

通过不断的编程实践,逐步领会和掌握程序设计的基本思想和方法。

教材和参考书

C语言程序设计,何钦铭、颜晖主编,高等教育出版社,2008

C语言编程(第3版),[美]Stephen, G.Kochan,张小潘译,电子工业出版社,2006

C语言教程(第4版),[美]Al Kelley, Ira Pohl,徐波译,机械工业出版社,2007

标准C语言基础教程(第4版),[美]Gary J. Bronson,单先余等译,电子工业出版社,2006

C程序设计语言,[美]Brian W. Kernighan, Dennis M. Ritchie,徐宝文等译,机械工业出版社,2006

Chap 1  引  言

一个C语言程序

程序与程序设计语言

C语言的发展历史与特点

实现问题求解的过程

本章要点

什么是程序?程序设计语言包含哪些功能?

程序设计语言在语法上包含哪些内容?

结构化程序设计有哪些基本的控制结构?

C语言有哪些特点?

C语言程序的基本框架如何?

形成一个可运行的C语言程序需要经过哪些步骤?

如何用流程图描述简单的算法?

1.1  一个C语言程序

例1-1求阶乘问题。输入一个正整数n,输出n!。

#include                      /* 编译预处理命令 */

int main(void)                             /* 主函数 */

{

int n;                                      /* 变量定义 */

int factorial(int n);                    /* 函数声明 */

scanf("%d", &n);                      /* 输入一个整数 */

printf(“%d\n”, factorial(n));        /* 调用函数计算阶乘 */

return 0;

}

int factorial(int n)              /* 定义计算 n! 的函数 */

{

int i, fact = 1;

for(i = 1; i <= n; i++)                 /* 循环 */

fact = fact * i;

return fact;

}

1.2 程序与程序设计语言

程序

人们为解决某种问题用计算机可以识别的代码编排的一系列加工步骤。

程序的执行过程实际上是对程序所表达的数据进行处理的过程。

程序设计语言

提供了一种表达数据与处理数据的功能

要求程序员按照语言的规范编程

1.2 程序与程序设计语言

程序与指令

程序设计语言的功能

程序设计语言的语法

程序的编译与编程环境

程序与指令

指令:计算机的一个最基本的功能

如实现一次加法运算或实现一次大小的判别

计算机的指令系统:计算机所能实现的指令的集合

程序:一系列计算机指令的有序组合

程序与指令

例1-2  编写程序,分别求和与乘积

虚拟的计算机指令系统(7条指令 )

指令1:Input X     将当前输入数据存储到内存的X单元

指令2:Output X   将内存X单元的数据输出。

指令3:Add X Y Z    将内存X单元的数据与Y单元的数据相加并将结果存储到Z单元。

指令4:Sub X Y Z    将内存X单元的数据与Y单元的数据相减并将结果存储到Z单元。

指令5:BranchEq X Y P    比较X与Y,若相等则程序跳转到P处执行,否则继续执行下一条指令。

指令6:Jump P    程序跳转到P处执行。

指令7:Set X Y    将内存Y单元的值设为X。

程序与指令

输入输入3个数A, B和C,求A+B+C的结果

Input A;            输入第1个数据到存储单元A中

Input B;            输入第2个数据到存储单元B中

Input C;            输入第3个数据到存储单元C中

Add A B D;       将A、B相加并将结果存在D中

Add C D D;       将C、D相加并将结果存在D中

Output D;         输出D的内容

程序与指令

输入2个数A和B,求A*B的结果

1.Input A;      输入第1个数据到存储单元A中

2.Input B;      输入第2个数据到存储单元B中

3.Set 0 X;      将X设为0,此处X用以统计A累加的次数

4.Set 0 Z;      将Z设为0,此处Z用以存放A*B的结果

5.BranchEq X B 9;    判别X与B是否相等;若相等说明A已累加了B次,程序跳转到第9条指令,输出结果

6.Add Z A Z;       Z = Z + A

7.Add 1 X X;       X = X + 1

8.Jump 5;           程序跳转到第5条指令,继续循环执行第6条、7条指令

9.Output Z;         输出Z的值,该值等于A*B

程序设计语言的功能

数据表达:表达所要处理的数据

流程控制:表达数据处理的流程

数据表达

数据表达:一般将数据抽象为若干类型

数据类型:对某些具有共同特点的数据集合的总称

代表的数据(数据类型的定义域)

在这些数据上做些什么(即操作或称运算)

例如:整数类型

包含的数据:{…,-2,-1,0,1,2,…}

作用在整数上的运算:+ 、 - 、 * 、 /等

数据表达

C语言提供的数据类型

基本数据类型:程序设计语言事先定义好,供程序员直接使用,如整型、实型(浮点型)、字符型等。

构造类型:由程序员构造,如数组、结构、文件、指针等。

各种数据类型的常量与变量形式

常量(常数)与变量

流程控制

结构化程序设计方法

将复杂程序划分为若干个相互独立的模块

模块:一条语句(Statement)、一段程序或一个函数(子程序)等

单入口、单出口

流程控制

任何程序都可以将模块通过3种基本的控制结构进行组合来实现

流程控制

语句级控制:3种基本的控制结构

顺序控制结构:自然顺序执行

分支控制结构(选择结构):根据不同的条件来选择所要执行的模块

循环控制结构:重复执行某个模块

单位级控制:函数的定义与调用

处理复杂问题时, 将程序分为若干个相对独立的子程序(函数)

程序设计语言的语法

用程序设计语言所写的程序必须符合相应语言的语法

源程序(源代码)是一个字符序列,这些字符序列按顺序组成了一系列“单词”,“单词”的组合就形成了语言有意义的语法单位,一些简单语法单位的组合又形成了更复杂的语法单位,最后一系列语法单位组合成程序。

程序设计语言的语法

C语言的主要“单词”

(1)标识符: C语言的标识符规定由字母、数字以及下划线组成,且第一个字符必须是字母或下划线。

(2)保留字(关键字): 它们是C语言规定的、赋予它们以特定含义、有专门用途的标识符。

(3)自定义标识符: 包括在程序中定义的变量名、数据类型名、函数名以及符号常量名。有意义的英文单词

(4)常量: 常量是有数据类型的,如,123、12.34

(5)运算符。代表对各种数据类型实际数据对象的运算。如,+(加)、-(减)、*(乘)、/(除)、%(求余)、>(大于)

程序设计语言的语法

C语言的主要语法单位

(1)表达式: 运算符与运算对象组合就形成了表达试。如,2 + 3 * 4

(2)变量定义: 变量也有数据类型,所以在定义变量时要说明相应变量的类型。如: int  i;

(3)语句: 语句是程序最基本的执行单位,程序的功能就是通过对一系列语句的执行来实现的。

(4)函数定义与调用

程序设计语言的语法

其中,(3)语句:

表达式语句:表达式加分号“;”

分支语句:实现分支控制过程

if (a > b)  x = a;

else   x = b;

循环语句:实现循环控制的过程

sum = 0;                  /* 初始化sum和i */

i = 1;

while (i <= 100) {        /* while循环语句 */

sum = sum + i;

i = i + 1;

}

复合语句:用一对“{ }”,将若干语句顺序组合在一起就形成了一个程序段。

程序设计语言的语法

其中,(4)函数定义与调用

函数是完成特定任务的独立模块,函数的使用最主要涉及到函数的定义与调用。

输入输出:

C语言没有输入输出语句,用库函数printf、scanf等实现。

程序的编译与编程环境

程序的编译

编译器

程序 ————》计算机直接能理解的指令序列

编译器:对源程序进行词法分析、语法与语义分析,生成可执行的代码。

直接指出程序中的语法错误

编程环境

包括编辑程序(Edit)、编译(Compile)、调试(Debug)等过程。

掌握程序设计语言:根据语言的语法,用语言表达数据、实现程序的控制,并会使用编程环境。

C 语言上机过程

源程序

test.cpp                            test.obj

可执行代码

test.exe

1.3  C语言的发展历史与特点

历史

1972年:贝尔实验室的Dennis Ritchie在B语言的基础上设计并实现了C语言。

1978年:B.W.Kernighan和D.Ritchie(简称K & R)合著的《The C Programming Language》是各种C语言版本的基础,称之为旧标准C语言。

1983年:美国国家标准化协会(ANSI)制定了新的C语言标准,称ANSI C。

C语言的特点

1.C语言是一种结构化语言

2.C语言语句简洁、紧凑,使用方便、灵活

32个关键字,9种控制语句,程序书写形式自由。

3.C语言程序易于移植

C语言将与硬件有关的因素从语言主体中分离出来,通过库函数或其他实用程序实现它们。

4.C语言有强大的处理能力

5.生成的目标代码质量高,运行效率高

C语言的特点

6.数据类型检查不严格,表达式出现二义性,不具备数据越界自动检查功能,运算符的优先级与结合性对初学者难于掌握。

C 语言中大小写字母代表不同含义

1.4  实现问题求解的过程

问题:求1~100间所有偶数的和。

1.问题分析与算法设计

求在一定范围内(1~100)、满足一定条件(偶数)的若干整数的和,求累加和。

思路:设置一个变量(sum),其初值为0,然后在1~100的数中(i)寻找偶数,将它们一个一个累加到sum中。

一步累加:sum = sum + i;

重复累加,用循环语句实现,在循环过程中:

(1) 判别 i 是不是偶数:用分支控制语句来实现。

(2) 对循环次数进行控制:通过 i 值的变化

问题分析与算法设计

思路 ——》确定算法

算法:一组明确的解决问题的步骤,它产生结果并可在有限的时间内终止。

算法的描述:

自然语言

伪代码

流程图:算法的图形表示法

实现问题求解的过程

2.编辑程序

生成程序的源文件,C语言源文件的后缀为 .c / .cpp

#include

int main(void)

{

int i, sum = 0;

for(i = 1; i <= 100; i++)

if (i%2 == 0)

sum = sum + i;

printf("%d", sum);

return 0;

}

实现问题求解的过程

3.程序编译连接

编辑程序后,用该语言的编译程序对其进行编译,以生成二进制代码表示的目标程序(.obj),与编程环境提供的库函数进行连接(Link)形成可执行的程序(.exe)。

编译程序指出语法错误

语法错误VS逻辑错误

实现问题求解的过程

4.运行与调试

经过编辑、编译、连接,生成执行文件后,就可以在编程环境或操作系统环境中运行该程序。

如果程序运行所产生的结果不是你想要的结果,这是程序的语义错误(逻辑错误)。

调试:在程序中查找错误并修改错误的过程。

调试的方法

设置断点

单步跟踪

调试是一个需要耐心和经验的工作,也是程序设计最基本的技能之一。

C语言程序的调试、运行步骤

相关PPT

Visual C++培训教程3ppt:这是一个关于Visual C++培训教程3ppt,主要介绍了设备环境类和图形对象;Windows 应用程序资源;库存图形对象;画笔与画刷等内容,欢迎点击下载!

数据结构c语言版课件:这是数据结构c语言版课件,包括了数据结构讨论的范畴,与数据结构相关的概念,算法和算法的量度等内容,欢迎点击下载。

51单片机课件c语言ppt:这是51单片机课件c语言ppt,包括了C51与标准C的差异,C语言与汇编语言,C51的数据类型,新增存贮类型,存储模式,绝对地址访问等内容,欢迎点击下载。

《c语言ppt课件》是由用户Etc person于2017-06-25上传,属于课件PPT。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值