C语言教学习题课1

上传人:zw****58 文档编号:52470172 上传时间:2018-08-22 格式:PPT 页数:92 大小:200.50KB
返回 下载 相关 举报
C语言教学习题课1_第1页
第1页 / 共92页
C语言教学习题课1_第2页
第2页 / 共92页
C语言教学习题课1_第3页
第3页 / 共92页
C语言教学习题课1_第4页
第4页 / 共92页
C语言教学习题课1_第5页
第5页 / 共92页
点击查看更多>>
资源描述

《C语言教学习题课1》由会员分享,可在线阅读,更多相关《C语言教学习题课1(92页珍藏版)》请在金锄头文库上搜索。

1、 C语言教学习题课1 学习目的:对于很多专业的学生来讲,c语言 是门很重要基础语言,也是我们专业基础课。 它是现今应用最为广泛的几种语言之一。在实 际编程中,它有其他语言无法比拟的优势。在 学习的同时,其主要是培养自己的优良的编程 风格,掌握几种基本的编程方法和基本算法 。 同时开拓自己的思维方式。 控制流程语句 1、教学要求: .熟练掌握if语句的三种形式。 .掌握switch语句的一般形式,并能把复杂 的分支结构化成switch语句。 .熟练掌握while循环语句和dowhile循环 的使用。 .熟悉for 循环的使用.了解各循环的不同 点。 .学会使用goto语句和if 语句构成循环。

2、2、教学内容 控制流程语句 C语言提供了丰富、 灵活的控制流程语句, 主要有:条件语句 、循环语句和开关语句。 .ifelse条件语句、dowhile, while 和 for循环语句。 .下面将对这些语句作详细介绍。 一.算法概论就一个具体的应用而言,总是要求它能解决特定的问 题,达到预定的目的。换句话说,就是要保证程序的 “正 确性”和“可行性”。l 因此,在设计程序前,根据实际问题的特点和需求 ,再考虑计算机的工作特性,确定解决某个问题所需的方 法和步骤是至关重要且是不可缺少的。这一步骤称为 “算 法设计”。1.算法的概念 广义地讲:算法是解决某个问题或处理某件事的方法和步骤。 狭义地讲

3、:专指计算机解决某个问题的方法和步骤。即一个算法就是一个有穷规则的集合,其中的规则规定了一个 解决某一特定类型问题的运算系列。 计算机算法分为两类:数值计算算法和非数值计算算法。数值计算算法如微分方程的数值解等;非数值计算算法如排序和查找等。非数值计算算法已经成为一门专门的学科:“计算方法”。 计算机算法分为两类:数值计算算法和 非数值计算算法。 数值计算算法如微分方程的数值解等 ; 非数值计算算法如排序和查找等。非 数值计算算法已经成为一门专门的学科 :“计算方法”。2.算法举例例1:求两个自然数的最大公约数的欧几里德算法。S1:输入两个自然数M、N;S2:求M除以N的余数R;S3:使M=N

4、,即用N代换M;S4:使N=R, 即用R代换N;S5:若R不等于零,则重复执行S2、S3、S4(循环),否 则转S6;S6:输出M,M即为M和N的最大公约数。这是一个数值计算算法。例2:在N个字符串数据集合中,查找有无特定的字符串S。(模式匹配)S1:输入N个字符串和要查找的字符串S;S2:使I=1,I用于计数;S3:从N个字符串数据集合读一个字符串X;S4:若X=S,输出“找到S”的信息,算法结束,否则转S5S5:使I=I+1,计数器计数;S6:若I N,则重复S3、S4、S5(循环),否则转S7;S7:输出“找不到S” 的信息,算法结束。这是一个非数值计算算法(顺序查找算法)的,3.算法的

5、特征(1)确定性即算法本身无二义性;(2)可行性(3)有穷性即算法必须是在有限步骤里完成。(4)输入性(5)输出性一个算法必须有一个或多个输出。4.算法的描述算法可以采用多种方式来表示:自然语言(如英语、汉语等) 、用图形或符号类描述等。用于描述算法的图形使用较多的是流程框图,简称流程图。它 是使用规定的图形符号来描述算法的。流程图使用的符号如下:输入/输出处理判断起点和终点特定过程流程线连接点下图分别是前面介绍的两个算法的流程图:开始输入M、N求R=M % NM=NN=R输出M、NR 0结束是开始输入N、S输入M、NX=S结束是I=1读入XI=I+1IN输出找到S是5.基本算法结构 根据结构

6、化程序设计的要求,有三种基本算 法结构:(1)顺序结构(2)分支结构(3)循环结构(当型循环和直到型循环) 三种基本结构的共同特点: (1)单入单出; (2)结构中的每个部分都有可能被 执行; (3)在给出合理的 e 条件后,结构 内不存在死循环。AB顺序结构eAB真假分支结构eATrueFalseeAFalseTrue当型循环直到型循环循环结构6.算法的实现 算法的实现是指使用某种计算机程序设计语言把算法 描述出来。 具体地说,也就是使用某一种程序设计语言所提供的 语言成分,根据语言的特点,并利用语言提供的各种工 具和手段,遵循规定的语法规则去实现算法(编码)。 c就是一种实现算法的程序设计

7、语言。并且它完全支 持结构化程序设计开发方法,并提供相应的语言成分做 支持。(如提供三种基本算法结构的语言成分等。)二、二、 赋值语句赋值语句l 1. 赋值语句是程序中最简单、最常用的语句。l 赋值语句的一般形式是:Var = 例如:x = 123s = “Hello World”这里的“ = ”号不是数学上的等号,它只是把右边表 达式的值送给左边的变量,没有相等的含义。l 赋值时左边和右边一般数据类型应一致。 例1: 分析下面程序: #include”stdio.h” main( ) int a, b=4; a=b+; printf(“%d,%dn”,+a,b-); 分析: main() a

8、, b=4; a=b+; printf(“%d,%d,%dn”,+a,b-,b); 如果加一句:printf(“%d,%d”,a,b);结果如何 ? 再加一句:printf(“%d,%d,%dn”,+a,b-,-b) 请大家上机验证。 2.数据的输入/输出:主要是由格式输入/出函数 printf( )和scanf( )与字符数据的输入/出函数 putchar( )和getchar( )。用户在程序中直接使用 。 例2:#include”stdio.h” main( ) int c;char a; c=65;a=A; putchar (c); putchar(a); 例3:输入单个字符 #inc

9、lude”stdio.h” main( ) char c; c=getchar( ); putchar(c ); 例4:用*号输出字母C的图案。 1.程序分析:可先用*号在纸上写出字母C,再分行输出 。 2.程序源代码: #include “stdio.h“ main() printf(“Hello C-world!n“); printf(“ *n“); printf(“ *n“); printf(“ * n“); printf(“ *n“); 讨论:分析程序: #include”stdio.h” main( ) printf(“%dn”,25); printf(“%xn”,25); prin

10、tf(“%on”,25); printf(“%fn”,(float)25); 三. 条件语句 象其它语言一样 C语言也提供条件语句。在 C 语言中条件语句的一般形式为: if(表达式) 语句1; else 语句2; 上述结构表示: 如果表达式的值为非0(TURE) 即真, 则执行语句1, 执行完语句1从语句2后开始 继续向下执行; 如果表达式的值为0(FALSE)即假 , 则跳过语句1而执行语句2。所谓表达式是指关 系表达式和逻辑表达式的结合式, 关于表达式前 面已作过介绍, 这里不再重复。 注意: 1. 条件执行语句中“else 语句2;”部分是 选择项, 可以缺省, 此时条件语句变成: i

11、f(表达式) 语句1; 表示。若表达式的值为非0,则执行语 句1 , 否则跳过语句1继续执行。 注:这是if语句的一种形式 2. 如果语句1或语句2有多于一条语句要执行时, 必须使用“”和“” 把这些语句包括在其中, 此 时条件语句形式为: if(表达式) 语句体1; else 语句体2; 1. if-else 结构语句形式: If e A组语句 Else B组语句 分支结构有多种变形。如不对称分支和多分支结构。 表达式语句语句真假分支结构 例1:分析: #include”stdio.h” main( ) int a ; printf(“输入一个整数:n”); scanf(“%d”, if (

12、a) a=a*a; printf(“a*a=%d”, a); else printf(“a*a=0n”); 注意:表达式if(a)等价于if(a!=0)表达式语句真假If (表达式)语句 执行过程:如果表达式的 值为真时,则执行后面的 语句,否则不执行该语句 。直接执行if下面的语句。不对称分支结构实现 例2:求较大数的平方值。 #include“stdio.h” main( ) int a,b,s; printf(“input a,b:”); scanf(“%d,%d”, s=a; if(a0) printf(”输入的是正数”); printf(“输入的是负数“); 作业:编程计算a+|b|

13、的值。 3.阶梯式if-else-if结构。 阶梯式结构的一般形式为: if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3; . . . else 语句n; 这种结构是从上到下逐个对条件进行判 断, 一旦发现条件满点足就执行与它有关 的语句, 并跳过其它剩余阶梯; 若没有一 个条件满足, 则执行最后一个else语句n。 最后这个else常起着“缺省条件”的作用。 同样, 如果每一个条件中有多于一条 语句要执行时, 必须使用“”和“”把这些 语句包括在其中。e1e2e3A1A2A3TrueFalseTrueFalseTrueFalse多分支结构if e1 A1 组语句else If e2 A2 组语句Else if e3 A3 组语句实现 例4:完成下列程序代码:要求输入成绩,给出相应的 等级。 #include”stdio.h” main( ) float x; char y; printf(“请输入学生成绩:”); scanf(“%f”,x); If x=90 y=A; Elseif x=80 例5

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

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