《XML》教案 第1章 学习XML基础

《XML》教案

第1章 学习XML基础

主讲人:×××

回顾上一章: [10分钟] 2

课程知识点讲解: 2

while 循环和do...while 循环的区别:[15分钟] 3

for 循环的使用 :[5分钟] 4

嵌套 for 循环 :[20分钟] 5

本章总结 [10分钟] 6

考核点 6

测试题 6

扩展部分: 7

学员问题汇总: 7

作业: 7

本章主要的目的

识别XML作为一种标准数据交换格式的需求

识别XML文档的结构

本章重点

条件结构

本章难点

循环结构

回顾上一章:

课程知识点讲解:

变量操作符:

算术操作符

算术赋值操作符

一元操作符

比较运算符

逻辑运算符

条件结构: [15分钟]

if.... else 结构

switch....case结构

if.... else 结构

案例讲解:

/* 范例名称:使用while循环将2相加1000次的示例

  • 源文件名称:while语句.cpp
  • 要 点:语句可以是空语句、一个简单的语句或语句块
  1. 如果while循环中包含一组语句,必须用{}括起来

  2. 只要条件为真循环就会迭代

    */

    例题内容:{

    int sum = 0, times = 1;

    while(times<=1000)

    {

    sum = sum+2;

    times = times+1;

    }

    printf("Sum = %d \n",sum);

    }

    老师提问:

    问题1:while和for的区别?

    问题2:若条件测试没有为false时,程序将如何运行?

    do...while循环: [15分钟]

    格式:do{

    语句;

    }while(条件)

    与for和while循环不同的是,该循环在循环的末尾才会检查条件,就是说即使条件已开始就是false,这个循环至少会执行一次

    do语句的循环至少执行一次

    知识点讲解1

    案例讲解

    /* 范例名称:的示例

  • 源文件名称:do...while.cpp
    • * 要 点:在条件测试执行前执行一次条件变为 False 时,do while 循环终止;
    •1. 控制权传递给紧跟在 while 语句之后的语句
    */
    例题内容: int sum = 0,times = 1;
    do
    {
    sum = sum+2;
    times = times+1;
    }while(times<=1000);
    printf("Sum = %d \n",sum);

while 循环和do...while 循环的区别:[15分钟]

while语句是当型循环控制语句,一般形式为:

while <表达式> 语句;

语句部分称为循环体,当需要执行多条语句时,应使用复合语句。

while语句的流程图见图3 - 8,其特点是先判断,后执行,若条件不成立,有可能一次也不执行。

do . . . while是直到型循环的语句,它的一般形式为:

do 语句while <表达式>

其中语句通常为复合语句,称为循环体。

其基本特点是:先执行后判断,因此,循环体至少被执行一次。

但需要注意的是,do. . .while与标准的直到型循环有一个极为重要的区别,直到型循环是当条件为真时结束循环,而do. . .while语句恰恰相反,当条件为真时循环,一旦条件为假,立即结束循环,请注意do. . .while语句的这一特点。

知识点讲解1

案例讲解:

老师提问:

问题1:输入1,SUM值为多少,输入11,SUM值为多少?

for 循环的使用 :[5分钟]

for语句是循环控制结构中使用最广泛的一种循环控制语句,特别适合已知循环次数的情况。它的一般形式为:

for (<表达式1 >;<表达式2 >;<表达式3>) 语句

for语句很好地体现了正确表达循环结构应注意的三个问题:

  1. 控制变量的初始化。

  2. 循环的条件。

  3. 循环控制变量的更新。

表达式1:一般为赋值表达式,给控制变量赋初值;

表达式2:关系表达式或逻辑表达式,循环控制条件;

表达式3:一般为赋值表达式,给控制变量增量或减量。

语句:循环体,当有多条语句时,必须使用复合语句。

for循环的流程图如图3 - 11,其执行过程如下:

首先计算表达式1,然后计算表达式2,若表达式2为真,则执行循环体;否则,退出for循环,执行for循环后的语句。如果执行了循环体,则循环体每执行一次,都计算表达式3,然后重新计算表达式2,依此循环,直至表达式2的值为假,退出循环。

计算自然数1到n的平方和。

#include <stdio.h>

#include <math.h>

main( )

{

int i;

float s;

printf("please input n :");

scanf("%d" ,&n);

s = 0.0;

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

s = s + ( float ) (i) * ( float ) (i);

printf("11 + 2 2 +...+%d*%d = %f\n" ,n,n,s ) ;

}

运行结果如下:

please input n : 5

11 + 2 2 + ... + 5* 5 = 55.000000

for语句的几种格式

for语句的三个表达式都是可以省略的,但分号";"绝对不能省略。

三种语句的选用

同一个问题,往往既可以用w h i l e语句解决,也可以用do. . .while或者for语句来解决,但在实际应用中,应根据具体情况来选用不同的循环语句,选用的一般原则是:

  1. 如果循环次数在执行循环体之前就已确定,一般用f o r语句;如果循环次数是由循环体
    的执行情况确定的,一般用while语句或者do. . . while语句。
  2. 当循环体至少执行一次时,用do. . .while语句,反之,如果循环体可能一次也不执行,选用while语句。
    嵌套 for 循环 :[20分钟]
    知识点讲解1
    案例讲解:

/* 范例名称:输出半边*号的菱形

  • 源文件名称:Cpp5.cpp
  • 要 点:

*/

例题内容:

#include <stdio.h>

void main()

{

int num,j,i;

for (num = 1; num <=5; num++)

{

		for (i = 1; i <= num; i++)
		{
			printf("*");
		}
		printf("\n");
	} 
	for (num = 4; num >=1; num--) 
	{ 
		 
		for (j = 1; j <= num; j++)
		{
			printf("*");
		}
		printf("\n");
	} 
}

循环的嵌套

一个循环的循环体中有另一个循环叫循环嵌套。这种嵌套过程可以有很多重。一个循环外面仅包围一层循环叫二重循环;一个循环外面包围两层循环叫三重循环;一个循环外面包围多层循环叫多重循环。

三种循环语句for、while、do. . .while可以互相嵌套自由组合。但要注意的是,各循环必须完整,相互之间绝不允许交叉。如下面这种形式是不允许的:

do

{

...

for (;😉

{

...

}while( );

}

格式:for(...,...,... ) 要强调中间的逗号不能少。。。

{

for(...,...,...)

}

首先执行第一个for循环语句,接着进入第二个,在第二个for循环没有跳出前,第一个for循环下的语句不会执行,且第二个循环结束后再回到第一个for中,继续执行语句直到第一个for循环也结束才执行以后的语句了。

一个for循环中包含多个for循环,重要的是边界条件!!相互嵌套的2个for循环之间的条件应该多加注意!!

跳转语句(return和goto): [7分钟]

return用于从函数返回,goto可将控制权传递给c程序中本函数内的任何其他语句,还可以跳转到某代码块和从某代码块跳出

跳转语句(break,continue和exit): [27分钟]

return,goto,break,continue都是无条件转移的语句

exit()函数是程序立即中止,控制权传回操作系统;c语言中不是很支持

本章总结 [10分钟]

理解 C 语言中的 for 循环

使用逗号运算符

理解嵌套循环

理解 while 循环和 do-while 循环

使用 break 和 continue 语句

理解 exit() 函数

考核点

考核点1:理解嵌套循环

考核点2:理解while 循环和 do-while 循环

测试题

测试题1:

测试题2:

扩展部分:

扩展部分1:while 循环和 do-while 循环的区别

扩展部分2:

扩展部分3:

学员问题汇总:

学员问题1:

学员问题2:

作业:

习题1:打印魔方

习题2: 打印复杂的菱形

习题3:求鸡兔公笼的问题

习题4:求5!

习题5:求任意两个数之间的和;

相关推荐
weixin_5375904518 分钟前
《Java编程入门官方教程》第八章练习答案
java·开发语言·servlet
CodeClimb44 分钟前
【华为OD-E卷-最左侧冗余覆盖子串 100分(python、java、c++、js、c)】
java·python·华为od
创意锦囊1 小时前
随时随地编码,高效算法学习工具—E时代IDE
ide·学习·算法
Q_19284999061 小时前
基于Spring Boot的大学就业信息管理系统
java·spring boot·后端
xmh-sxh-13141 小时前
常用数据库类型介绍
java
single5941 小时前
【c++笔试强训】(第四十一篇)
java·c++·算法·深度优先·图论·牛客
尘觉1 小时前
算法的学习笔记—扑克牌顺子(牛客JZ61)
数据结构·笔记·学习·算法
1 9 J1 小时前
Java 上机实践11(组件及事件处理)
java·开发语言·学习·算法
爬菜2 小时前
java简单题目练习
java