《C语言程序设计方案》教案(清华谭浩强)(5)

2019-04-04 22:46

(1) 用while 来表示 表达式1 while ( 表达式2 )

{ 语句

表达式3; }

(2) 表达式可以省略,但分号不能省略 a) 省略表达式1 i=1

for ( ;i<=50 ;i++ ) sum=sum+2*i b) 省略表达式2——产生死循环 for ( i=1;;i++ ) sum=sum+2*i c) 省略表达式3 for ( i=1;i<=50 ;)

{ sum=sum+2*i。 i++。 }

d) 省略表达式1 , 省略表达式3 i=1i=1

for ( ;i<=50 ;) while ( i<=50 )

{ sum=sum+2*i。 相当于 { sum=sum+2*i。 i++。 } i++。 } (3) 表达式1,表达式3可以是: a) 简单的表达式 b)逗号表达式 表达式2:一般是关系表达式或逻辑表达式

即: for ( sum=0 , i=1 。 i<=50 。 i++,i++ ) sum=sum+2*i。

或: for ( sum=0 , i=1 。 i<=50 。 i=i+2 ) sum=sum+2*i (4)循环体语句可使用break和continue语句

break:可以用来从循环体内跳出循环体(提前结束循环)

continue:用于跳过循环体中下面尚未执行的语句,接着重新执行循环的判断

.p115 例6.5将100-200间不能被3整除的数输出

三、程序举例

用多种循环方法实现

1 由泰勒展式计算sin(x)的近似值

2 .p115 例6.6 求π的近似值 1-1/3+1/5-1/7+

3.p115 例6.7求Fibonacci(斐波纳契)数列40个数 F1=1(n=1) F2=1(n=2)

Fn=Fn-1+Fn-2 (n>=3)

4.p115 例 6.8判断m是否是素数

5.p115 例 6.9 求100-200间的所有素数 6.例 求任意输入10个数中的最大数6-max

四、该章的主要习题 P120 6.1~6.15

五、该章的主要上机内容

P115 例6.5、例6.6、例6.7、例 6.9 P120 习题6.4、6.7、6.9、6.11、6.14 其他:上机实验指导书中内容

作业解答:

5-8利润提成:类似所得税

第七章 数组

1、数组的概念及数组的定义; 2、在程序设计中的如何使用数组;

3、字符数组是C语言存放字符串的主要方法,并注意字符串结束标志的规定。

重点:①数组的组成和特点。 ②一维数组和二维的定义、赋值。

③字符串与字符数组的关系以及数组在程序中的使用。 难点:①数组元素存储格式对程序设计的使用。

②字符串在数组中的组成以及字符串操作语句的使用。

基本类型

数组类型

C语言:数据类型 构造类型 结构体类型 共用体类型 指针类型

构造类型:是由基本类型按一定规则组成的类型 一.数组的概念

数组:—— 1)是一组有序数据的集合 2)这个集合用一个数组名来表示 3)数组的元素序号用一个下标值来表示

如:a[0] , a[1] , a[2] , a[3] b[1][1] , b[1][2] , b[2][1] , b[2][2] 注意:a)数组名后,用方括号;下标从0开始。 b)下标值——可以是常量表达式

常量表达式:包括常量和符号常量(用#define定义的),但不能包含变量。

C语言:不允许数组进行动态定义。 即: int n 。

scarf(“%d”,&n)。

int x[n]。 /*定义数组 */

c)数组分为:一维、二维等,主要由下标值的多少来确定。 二.一维数组 1.定义

格式: 类型说明符 数组名[常量表达式] 类型说明符:——表示数组的类型

int , short , long , unsigned , float , double , char等

数组名: ——表示各数组元素的统一名字,定义方法和变量名相同

常量表达式:——表示数组的长度 即:int a[10]

注意:C语言不提供数组下标越界的保护,设计时要注意。

2.数组元素的初始化

数组在定义的时候,同时,可对数组元素进行初始化 格式:static int a[10]={0,0,0,0,0,0,0,0,0,0} 静态定义 a[10]={0,1,2,3,4,5,6,7,8,9} 说明:

1)static 数组不赋初值,系统会对所有数组元素自动赋以0值。 即:int a[10]={0,0,0,0,0,0,0,0,0,0}。等价于:static int a[10] 。 2)对全部数组元素赋初值,可以不指定数组长度。 即: static int a[ ]={0,1,2,3,4,5}。 等价于: static int a[6]={0,1,2,3,4,5} 。 3)可以部分赋初值 即: int a[5]={1,3}。 3.数组元素的引用

C语言规定:只能逐个引用数组元素,而不能一次引用整个数组。 4.程序举例

书P124 例7.2 例7.3

三.二维数组和多维数组 1.定义

格式: 类型说明符 数组名[常量表达式] [常量表达式] 类型说明符:——表示数组的类型

int , short , long , unsigned , float , double , char等 数组名: ——表示各数组元素的统一名字 常量表达式:——表示数组的长度 即:int a[5] [6] 说明:

a)每一维的下标从0开始,整个数组元素为:5×6=30个 b)C语言中,二维数组中元素排列的顺序是按行存放。 即:先存放第一行的元素,再存放第二行的元素

3a[0][0] 3 4 5 存储单元

4a[0][1] a= 6 7 8 对应表:

5 a[0][2] 1 2 9 →

6a[1][0]

7a[1][1]

8 a[1][2]

1a[2][0]

2a[2][1]

9a[2][2]

c)可以计算数组元素在数组中的序号 假设 m×n的数组a,

计算a[i][j]序号的公式: i×n+j

如:a[0][1] 0×3+1=1(第二个) 如3×3 a[1][2] 的序号是: 1×3+2=5 a[2][2] 2×3+2=8 d)多维数组的定义

格式: 类型说明符 数组名[常量表达式] [常量表达式] [常量表达式] 即: 类型说明符 数组名[长度1] [长度2] [长度3] … int a[2] [3][4]

2.二维数组初始化 1)两种基本方法:

(a)分行给二维数组赋初值 static int a[2][3]={{1,2,3},{5,6,7}} (b)所有数据写在一个化括弧内

static int a[2][3]={1,2,3,5,6,7} 2)可以对部分元素赋初值 static int a[2][3]={{1},{3}}

即: 1 0 0 3 0 0

static int a[3][4]={{1},{3,1},{0,0,9}}

即: 1 0 0 0 3 1 0 0 0 0 9 0 3)定义数组时,第一维的长度可以不指定,但第二维的长度要指定(编译系统自动计算)。

static int a[][3]={1,2,3,4,5,6,7,8,9} 等价于: static int a[3][3]={1,2,3,4,5,6,7,8,9}

static int a[][4]={{1},{3,1},{0,0,9}} 等价于:static int a[3][4]={{1},{3,1},{0,0,9}}

4.程序举例

书P128 例7.4 二维数组行列转换

例7.53×4矩阵求最大元素及行列号

四.字符数组

存放字符数据的数组;每一个元素存放一个字符。 1.定义

char 数组名[常量表达式] 即:char c[10]。

说明:由于字符与整型是互相通用的,可使用 int c[10] 。 定义。 2.字符数组的初始化

1)static char c[5]={‘a’, ‘b’, ‘c’, ‘d’, ‘e’}。

注意:static char c[5]={‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’}。 ( 错误,多一个元素) static char c[5]={‘a’, ‘b’, ‘c’}。 (正确) 后面元素自动定为空格 2)static char c[]={‘a’, ‘b’, ‘c’, ‘d’, ‘e’}。 系统自动根据初值个数确定数组长度 3.字符数组的引用

一个字符数组元素,代表一个字符。


《C语言程序设计方案》教案(清华谭浩强)(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:西安交通大学计算机程序设计指针实验

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: