浙大版C语言电子教案

更新时间:2023-07-20 05:25:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

c语言学习利器

计算机程序设计基础

(C语言)

北京石油化工学院

信息技术教学与实验中心

2008年8月20日

c语言学习利器

C语言程序设计

教学要求

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

常用算法

初步的程序设计能力

学习方法

自主学习

重视上机实践

c语言学习利器

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

模仿、改写、编写

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

c语言学习利器

教材和参考书

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

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

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

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

Dennis M. Ritchie,徐宝文等译,机械工业出版社,2006

c语言学习利器

目录

引言

用C语言编写程序

分支结构

循环结构

函数

数据类型和表达式

c语言学习利器

目录

数组

指针

结构

函数与程序结构

指针进阶

文件

c语言学习利器

Chap1 引言

一个C语言程序

程序与程序设计语言

C语言的发展历史与特点

实现问题求解的过程

c语言学习利器

本章要点

什么是程序?程序设计语言包含哪些功能? 程序设计语言在语法上包含哪些内容? 结构化程序设计有哪些基本的控制结构? C语言有哪些特点?

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

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

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

c语言学习利器

1.1 一个C语言程序

例1-1求阶乘问题。输入一个正整数n,输出n!。输入4输出24#include <stdio.h> /* 编译预处理命令*/int main(void) /*

{

int n;

int factorial(int n); /*

scanf("%d", &n); /*

printf(―%d\n‖, factorial(n)); /*

return 0;

}

int factorial(int n)

{

int i, fact = 1;

fact = fact * i;

return fact;

}主函数*//* 变量定义*/函数声明*/输入一个整数*/调用函数计算阶乘*//* 定义计算n! 的函数*/

c语言学习利器

1.2 程序与程序设计语言 程序

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

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

程序设计语言

提供了一种表达数据与处理数据的功能 要求程序员按照语言的规范编程

c语言学习利器

1.2 程序与程序设计语言 程序与指令

程序设计语言的功能

程序设计语言的语法

程序的编译与编程环境

c语言学习利器

程序与指令

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

如实现一次加法运算或实现一次大小的判别 计算机的指令系统:计算机所能实现的指令的集合

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

c语言学习利器

程序与指令

例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。

c语言学习利器

程序与指令

输入输入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的内容

c语言学习利器

输入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

c语言学习利器

程序设计语言的功能

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

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

c语言学习利器

数据表达

数据表达:一般将数据抽象为若干类型 数据类型:对某些具有共同特点的数据集合的总称

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

在这些数据上做些什么(即操作或称运算)例如:整数类型

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

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

c语言学习利器

数据表达

C语言提供的数据类型

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

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

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

常量(常数)与变量

c语言学习利器

流程控制

结构化程序设计方法

将复杂程序划分为若干个相互独立的模块 模块:一条语句(Statement)、一段程序或一个函数(子程序)等

单入口、单出口

c语言学习利器

流程控制

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

顺序结构分支结构循环结构

c语言学习利器

流程控制

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

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

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

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

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

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

本文来源:https://www.bwwdw.com/article/ox61.html

Top