复习-第4章-基本的控制结构及程序调试(例题部分隐藏)
第四章 控制结构程序设计.ppt

IF <条件> Then <语句组>
2019年8月21
感谢你的观看
12
块结构条件语句 单分支和双分支选择的块形式
x < y False
True
t=x x=y y=t
T
表达式
F
语句组1
语句组2
If <条件> Then
<语句组>
End If
2019年8月21
If <条件> Then <语句组1>
感谢你的观看
14
条件语句
a=3 b=2 if a>b then
msgbox “a大于b” Else
msgbox “a小于b” End if
2019年8月21
感谢你的观看
15
条件语句
a=3 b=2 c=1 if a>b and a>c then
msgbox “a最大” End if
2019年8月21
If Ucase(strC) >= "A" And Ucase(strC) <="Z" Then Print strC + "是字母字符"
ElseIf strC >="0" And strC <= "9" Then Print strC + "是数字字符"
Else Print strC + "是其它字符"
End If
2019年8月21
感谢你的观看
21
程序的基本组成
程序设计的一般步骤:
C语言第四章程序控制结构复习题

C语言第四章程序控制结构复习题选择结构程序设计复习题一.选择题1.已有定义语句:int x=3,y=4,z=5;,则值为0的表达式是:()a) x>y++ b) x<=++y c) x !=y+z>y-z d) y%z>=y-z 2.已有定义语句:int x=3,y=0,z=0;,则值为0的表达式是:()a) x&&y b) x||z c) x ||z+2&&y-z d) !((x<y)&& !z||y)<="" bdsfid="66" p=""></y)&&>3. x为奇数时值为“真”,x为偶数时值为“假”的表达式是:()a) !(x%2==1) b) x%2==0 c) x%2 d) !(x%2)4. 已有定义语句:int a=3,b=4;,则执行下述表达式后,变量b 的值是:()(a++==4)&&(b++==5)a) 3 b) 4 c) 5 d) 65. 已有定义语句:int a=4,b=6;,则执行下述表达式后,变量b 的值是:()(a++==4)||(b++==6)a) 4 b) 5 c) 6 d) 76. 已有定义语句:int x=6,y=4,z=5;,执行以下语句后,能正确表示x,y,z值的选项是:()if(xa) x=4,y=5,z=6b) x=4,y=6,z=6c) x=4,y=5,z=5d) x=5,y=6,z=47. 以下程序的运行结果是:()main(){ int i=0;if(i==0) printf(“**”);else printf(“$”); printf(“*\n”);}a) * b) $* c) ** d) ***8. 若变量a,b,c都为整型,且a=1、b=15、c=0,则表达式a==b>c的值是()a) 0 b) 非零c) “真”d) 19. a为0时,值为“真”的表达式是()a) a b) !(++a) c) a=0 d) a==010. 若有定义和语句:int a=4,b=5,c=0d; d=!a&&!b||!c;,则d 的值是()a) 0 b) 1 c) -1 d) 非0的数11. 以下选项不能正确判断a为偶数的表达式是()a) a%2==0 b) !a%2!=0c) a/2*2-a==0 d) !(a%2)12. 有以下程序:main(){ int a=2,b=1,c=2;if(b<a)< bdsfid="99" p=""></a)<>if(b<0) c=0,c++;b++;printf(“b=%d,c=%d\n”,b,c);}程序的输出结果是:()a) b=1,c=2 b) b=1,c=0c) b=2,c=2 d) b=1,c=113. 有以下程序:main(){ int n;scanf(“%d”,&n);if(n++<5) printf(“%X\n”,n);else printf(“%X\n”,n--);}若执行程序时从键盘上输入9,则输出结果是:()a) 11 b) A c) 9 d) 814. 有以下程序:main(){ int m=5;if(++m>5)if(m++>5) printf(“%d\n”,m+5); else printf(“%d\n”,m--);else printf(“%d\n”,--m);}程序的输出结果是:()a) 8 b) 5 c) 10 d) 1215. 有以下程序:main(){ float x=2.0,y;if(x<0.0) y=0.0;else if(x<5.0)&&(!x)) y=1.0/(x+2.0); else if(x<10.0) y=1.0/x;else y=1.0;printf(“%f\n”,y);}程序的输出结果是:()a) 0.000000 b) 0.250000c) 0.500000d) 1.00000016. 假设所有变量均已正确说明:a=b=c=0; x=35;if(!a) x--;else if(b) ; if(c) x=3;else x=4;以上程序段运行后,x的值是:()a) 34 b) 35 c) 4 d) 317. 当a=1、b=3、c=5、d=4时,执行下面一段程序:if(a<b)< bdsfid="147" p=""></b)<>if(celseif(a<c)< bdsfid="152" p=""></c)<>if(belse x=3;else x=6;else x=7;以上程序段运行后,x的值是:()a) 1 b) 2 c) 3 d) 618. 执行以下程序:main(){ int s,t,a,b;scanf(“%d,%d”,&a,&b);s=1;t=1;if(a>0) s=s+1;if(a>b) t=s+t;else if(a==b) t=5;else t=2*s;printf(“t=%d\n”,t);}要使输出结果为:t=4,给a和b输入的值应满足的条件是:()a) a>b b) a<b<a a>b</b19. 以下程序的输出结果是:()main(){ int a=5,b=4,c=6,d;printf(“%d\n”,d=a>b ?(a>c ? a:c) : (b));}a) 5 b) 4 c) 6 d) 不确定20. 若有定义语句:int x=3,y=2,z=1; 则以下表达式的值是:()z*=(x>y ? ++x :y++)a) 0 b) 1 c) 4 d) 321. 有以下程序:main(){ int a=15,b=21,m=0;switch(a%3){ case 0: m++;break;case 1: m++;switch(b%2){ default: m++;case 0: m++;break;}}printf(“%d\n”,m);}程序的输出结果是:()a) 1 b) 2 c) 3 d) 422.以下while循环中,循环体执行的次数是:()k=1;while (--k) k=10;a) 10次b) 无限次c) 一次也不执行d) 1次23.有以下程序段,其中x为整型变量,以下选项中叙述正确的是:()x=0;while (!x!=0) x++;a) 退出while循环后,x的值为0b) 退出while循环后,x的值为1c) while的控制表达式是非法的d) while循环执行无限次24. 有以下程序段,其中n为整型变量,执行后输出结果是:()while(n--) ; printf(“%d”,n) ;a) 2 b) 10 c) -1 d) 025. 有以下程序段,其中t为整型变量,以下选项中叙述正确的是:()t=1;while (-1){ t--;if(t) break;}a) 循环一次也不执行b) 循环执行一次c) 循环控制表达式(-1)不合法d) 循环执行2次26. 有以下程序段,其中x为整型变量,以下选项中叙述正确的是:()x=-1;do{;}while (x++);printf(“x=%d”,x);a) 该循环没有循环体,程序错误b) 输出x=1c) 输出x=0d) 输出x=-127. 有以下程序段,其中x,y为整型变量,程序输出结果是:()for(x=0,y=0;(x<=1)&&(y=1);x++,y--) ;printf(“x=%d,y=%d”,x,y);a) x=2,y=0 b) x=1,y=0c) x=1,y=1 d) x=0,y=028. 有以下程序:{ int x=0,y=0;while(x<5&&++y) y--,x++; printf(“%d,%d”,y,x);}程序的输出结果是:()a) 0,5 b) 1,5 c) 0,4 d) 1,429. 有以下程序:main(){ int num=0;do{ num++ ;printf(“%d\n”,num); } while(num<=2);}程序的输出结果是:()a) 1 b) 1c) 1 d) 12 2 23 3430. 有以下程序:main(){ int x=3;do{ printf(“%d”,x-=2); }while(!(--x));}程序的输出结果是:()a) 1 b) 3 0 c) 1 -2 d) 死循环31. 有以下程序:main(){ int y=10;do { y--; } while(--y);printf(“%d\n”,y--);}程序的输出结果是:()a) 1 b) -1 c) 8 d) 032. 有以下程序:main(){ int x=3,y;do{ y=--x;if( !y) printf(“x”) ;else printf(“y”) ;} while(x);}程序的输出结果是:()a) xyx b) yyx c) yxx d) yxy33. 有以下程序段,此处do-while循环的结束条件是:()int n=0,p;do {scanf(“%d”,&p);n++;} while (p!=12345&&n<3);a) p的值不等于12345并且n的值小于3b) p的值等于12345并且n的值大于等于3c) p的值不等于12345或者n的值小于3d) p的值等于12345或者n的值大于等于334. 有以下程序:main(){ int a,b,t;for(a=3,b=0 ;!a==b ;a--,b++)if(a>b) { t=a;a=b;b=t;}printf(“%d,%d\n”,a,b);程序的输出结果是:()a) 4,1 b) 1,4 c) 4,-1 d) -1,435. 有以下程序:main(){ int x=3,y=0;do{ while( !y) y=-x;} while(x--);printf(“%d,%d\n”,x,y);}程序的输出结果是:()a) -1,3 b) -1,-3c) 0,0 d) 1,-336. 有以下程序:main(){ int m,n;printf(“Enter m,n:”) ; scanf(“%d%d”,&m,&n); while(m!=n){while(m>n) m-=n;while(n>m) n-=m;}printf(“m=%d\n”,m);}程序的输出结果是:()a) m=3 b) m=2 c) m=1 d) m=037. 有以下程序:main(){ int i,s=1;for(i=1 ;i<=50 ;i++)if( !(i%5)&& !(i%3)) s+=i;printf(“%d\n”,s);程序的输出结果是:()a) 409 b) 277 c) 1 d) 9138. 有以下程序:main(){ int x=0,y=0,i;for(i=1 ; ;++i){ if(i%2==0) {x++ ;continue ;} if(i%5==0) {y++ ;break ;}}printf(“%d,%d”,x,y);}程序的输出结果是:()a) 2,1 b) 2,2 c) 2,5 d) 5,239. 有以下程序:main(){ int i=0,a=0;while(i<30){for(;;){if((i%10)==0) break;else i--;}i+=11; a+=i;}printf(“%d\n”,a);}程序的输出结果是:()a) 66 b) 63 c) 33 d) 3240. 有以下程序:main(){ int a,b;for(a=1,b=1 ;a<=100 ;a++){ if(b>=10) break;if(b%3==1){ b+=3; continue; }}printf(“%d\n”,a);}程序的输出结果是:()a) 101 b) 6 c) 5 d) 441. 有以下程序:main(){ int i=0;for(i+=3 ;i<=5 ;i=i+2)switch(i%5){ case 0: printf(“*”);case 1: printf(“#”); break;default: printf(“!”); break;case 2: printf(“&”);}}程序的输出结果是:()a) *# b) !& c) !*# d) *#*二.填空题1.设y是int型变量,请写出当y是奇数时值为1的关系表达式_ y%2 或y%2==0 或y%2!=0_.2. 表示“整数x的绝对值大于5”时值为“真”的C语言表达式是__ x>5||x<-5__.3. 若x为int类型,请以最简单的形式写出与!x等价的C语言表达式___ x==0__.4. 设x,y,z,t均为int型变量,则执行下述语句后,x的值是__4__,y的值是__3__,z的值是__4__,t的值是__1__。
第4章 程序的控制结构循环控制结构.ppt

国王能兑现他的许诺吗?试编程计算舍罕王共要多少麦子赏赐 他的宰相,这些麦子合多少立方米?
(已知1立方米麦子约1.42e8粒)
总粒数为:sum=1+2+22+23+…+263
2020/2/7
33/78
#define CONST 1.42e8 #include <stdio.h> #include <math.h> main() {
statement;
Or
循环变量控制循环次 数,不要在循环体内
改变这个变量的值
for (initial value ; condition; update counter)
{
复合语句
statement; statement;
compound statement 被当作一条语句看待
} 2020/2/7
scanf()返回值为正确读入的数据项数
2020/2/7
27/78
拓展练习——输入两个非负数并求和
循环次数未知,条件控制的循环
#include <stdio.h>
int main()
{
int sum=0, x, y;
do{
scanf("%d%d", &x, &y);
}while (x<0 && y<0);
Input n2 Input n3 input n4
n2 3 n3 4 n4 5
input n5
n5 6
sum ← n1+n2+n3+n4+n5
sum 20
第四章 程序的控制结构

/*判别a和b的大小,如a大于b*/ /*将大数(a)存在变量max中*/ /*否则*/ /*将大数(b)存在变量max中*/ /*输出max中保存的的最大的值*/
计算机教研室
3. if-else if 语句
一般格式: if (表达式1) 语句1 else if (表达式2) 语句2 „„ else 语句n
计算机教研室
2. while语句 一般格式: while(表达式) 循环体
C语言程序设计
【执行过程】
① 计算表达式的值,若值为非0(循环条件成立),则顺序执行②,否则转 至④执行。 ② 执行循环体。 ③ 转至①。 ④ 循环结束,执行while循环后的语句。
计算机教研室
例题:求1+2+3+…+x的值刚刚超过3000时的X是多少? C语言程序设计
C语言程序设计
【功能】 if-else的扩充形式,计算表达式1的值,当(表达式1)的值 为真(非0)时,执行语句1;否则,计算表达式2的值,当 (表达式2)的值为真(非0)时,执行语句2;否则继续下一个 表达式的计算,„„,上述表达式均不为真,执行语句n。
计算机教研室
例题
y=
0 (x<0) x (0<=x<=5) 2*x (x>5)
#include <stdio.h> void main() { int x,sum=0; x=1; do { sum=sum+x; x++; } while(sum<3000); printf("sum=%d,x=%d\n",sum,--x); } 程序运行结果为: sum=3003,x=77
C语言程序设计
第4章控制结构程序设计资料讲解

果。 一般情况至少通过第③层的验证。 ●可读性:算法主要是为了阅读与交流,其次才是机器执行。可读性好有 助 于人对算法的理解;难懂的程序易于隐藏较多错误,难以调试 和 修改。 ●2健020状/7/1性7 :当输入非法数据《时解析,C程算序法设计也》第能4章适控当制结地构做程序出设计反应或进行处理,而9
2020/7/17
《解析C程序设计》第4章 控制结构程序设计
7
算法的五个特性
●有穷性:对任何合法的输入值,算法中每个步骤由计算 机执行的次数及时间都是有限的。
●确定性:算法中每个步骤含义明确,无二义性。在任何 条件下,相同的输入,必有相同的输出。
●可行性:算法中描述的操作都可通过有限次的基本运算 来实现。
2020/7/17
《解析C程序设计》第4章 控制结构程序设计
6
常用算法
●递推化算法(牛顿迭代法、二分法、梯形法、穷举法等); ●排序算法(选择法、冒泡法); ●查找算法(顺序查找、折半查找); ●有序数列的插入、删除操作; ●存储区的动态分配与释放,单向线性链表的建立、查找、 插入、删除操作; ●初等数论问题求解的有关算法(最大公约数、最小公倍数、 素数等); ●递归算法(求最大公约数、阶乘等); ●字符串的处理(字符和字符串的插入、删除、字符串的连 接、比较等)。
美国国家标准化协会ANSI规定了一些常用的流程图符号,并已被世界各国 程序工作者采用:
起止框 输入输出框 判断框
处理框
或 流程线
连接点
注释框
三种基本结构:
为了解决程序设计混乱的问题,1966年提出了三种基本结构:顺序结构、选 择结构、循环结构,然后由这些基本结构按一定规律组成一个算法结构,整个 算法结构是由上而下将各个基本结构顺序排列起来的。使用这三种基本结构顺 序组成的算法结构,可以解决任何复杂的问题,并且是“结构化”的算法。
第04章VB控制结构

陈章良
E-MAIL:CHENZHL_YT@
第四章 VB控制结构
4.0 程序结构
4.1 顺序结构
4.2 选择结构
4.3 循环结构 4.4 其他辅助控制语句 4.5 综合应用 4.6 程序调试
4.0 程序结构
一个VB程序由两部分组成:
Viasual ,是由众多的对象构成了程序的可视 界面。 Basic,是响应各种事件的程序代码,也是程 序设计的重点和难点。
(1)对象:窗体、图形框或打印机。缺省为窗体。 (2)Spc(n):从当前位置起空n个空格 (3)Tab(n):从最左端开始计算的第n列 (4)分号:定位在上一个被显示的字符之后 (5)逗号:定位在下一个打印区开始处(每区14列) 例4.3 Print方法输出图mat格式输出函数 Format函数用于制定字符串或数字的输出 格式。
逻辑数据转换 为整形数据时 ,True为-1, False为0
1.5
其他类型数据转换 为逻辑数据时, 非0转换为True, 0转换为False
2.5
4.1.1 赋值语句
(4)任何非字符类型赋值给字符类型, 自动转换为字符类型。
例:strBh$=6012 【注意】
赋值号左边只能是变量,不能是常量 、常数符号或表达式。
3)If … Then … ElseIf语句(多分支结构)
4)If 语句的嵌套
4.2.1 If条件语句
1. If…Then语句(单分支结构) 形式:If <表达式> Then
语句块(一条或多条语句)
End If
或
If <表达式> Then <语句>
IF演示
C语言教程第4章程序的控制结构.ppt

图
printf("please enter year,capital:");
编
scanf("%d%lf",&n,&capital);
程
deposit=capital*pow(1+rate,n);
printf("deposit=%lf\n",deposit);
}
2020/4/12
14
C语言大学实用教程
画 出
输入n和captial
流
程
depoist=captial*(1+rate)n
图
输出depoist
结束
2020/4/12
13
C语言大学实用教程 #include <math.h>
()
#include <stdio.h>
3
main()
根{
据
int n;
流
double rate=0.0225;
程
double capital,deposit;
C语言大学实用教程
简单分支选择(单分支)结构
条件成立否 no yes 语句A
条件表达式
Hale Waihona Puke .T..F.语句
格式:
2020/4/12
if (表达式) 语句/语句组;
20
C语言大学实用教程
双分支选择结构
条件表达式
.T.
.F.
语句1
语句2
格式: If (表达式) 语句1/语句组1; else 语句2/语句组2;
2020/4/12
4
C语言大学实用教程
算法的描述方法
C语言教程第4章程序的控制结构

printf("y=%f\n",y);}
27
C语言大学实用教程 语言大学实用教程
switch语句构成的多分支结构 用 switch语句构成的多分支结构
多路选择 switch (表达式 表达式) 表达式 { case 常数 常数1: 语句序列1; 语句序列 case 常数 常数2: 语句序列2; 语句序列 ………… default: 语句序列3; 语句序列 } default可以没有,但最好不省略 可以没有, 可以没有 不要忘记break 不要忘记
2011-3-21 28
C语言大学实用教程 语言大学实用教程
例4.8
编程设计一个简单的计算器程序。 编程设计一个简单的计算器程序。(ex48) 要求根据用户从键盘输入的表达式: 要求根据用户从键盘输入的表达式: 操作数1 运算符 运算符op 操作数 操作数2 操作数 计算表达式的值,指定的运算符为加( )、 计算表达式的值,指定的运算符为加(+)、 )、乘 )、除 减(-)、乘(*)、除(/) )、 )、 )
2011-3-21
C语言大学实用教程 语言大学实用教程
开始
( 2 画 出 流 程 图
r=1.5 L=2*3.14*r s=3.14*r*r 输出L,s 输出
结束
2011-3-21 10
)
C语言大学实用教程 语言大学实用教程
# include <stdio.h>
( 3 根 据 流 程 图 编 程 )
2011-3-21
# define PI 3.14
main() { float r,l,s; r=1.5; l=2*PI*r; s=PI*r*r; printf("\nl=%f,s=%f",l,s); }
第04章三种基本控制结构(上)--2012年12月

二、算法的表示方法
自然语言
(通俗易懂, 文字冗长, 容易有“歧义性”)
流程图
(灵活, 自由, 形象, 直观, 易理解, 占篇幅大)
N-S图
(新型流程图, 简洁)
伪代码
(介于自然语言和计算机语言之间, 中英文皆可,格式 自由, 易修改, 不直观, 不容易发现逻辑错误)
计算机语言
(用计算机实现算法, 可以执行出结果, 比如 C 语言)
1. d ( i ) 格式符:输出十进制有符号整数。
格式
功能
%d
按十进制整型数据格式和数据的实际长度输出
%ld
按长整型数据格式和数据的实际长度输出
%hd
按短整型数据格式和数据的实际长度输出
%(-)md m指定输出字段的宽度。如果十进制数据的位数 %(-)mld 小于m,则左端补空格(若m前面有负号,则右端 %(-)mhd 补空格);否则按实际长度输出
%(-)mu m指定输出字段的宽度。如果无符号数据的位数小 %(-)mlu 于m,则左端补空格(若m前面有负号,则右端补空 %(-)mhu 格);否则按实际长度输出
【例3.8】将整型变量按照指定无符号格式输出。
#include <stdio.h> int main( ) {
int a = -1; printf("<按无符号格式输出:%u>\n",a); printf("<按无符号格式输出:%-8lu>\n",a); printf("<按无符号格式输出:%8hu>\n",a);
程序=算法+数据结构+程序设计方法+语言
环境
灵 加工 结构化程序设计
第4章 控制语句与程序调试

TextBox1.Text = ""
TextBox1.Text = "欢迎使用 "
4.1 三种基本控制结构---顺序结构---赋值语句
复合赋值运算符,其作用简化程序代码,提高程序编编译 的效果。语句形式: 变量名 复合赋值运算符 表达式 首先计算右边表达式的值,然后与左边的变量进行相应的 运算,最后赋值给变量。 复合赋值运算符: +=、- =、*=、\=、/=、^=、&= 例如:a *= b+4 等价于 a = a*(b+4)
结构化程序设计及算法表示
例如:例4.1可用如下的伪代码表示
Begin(算法开始)
输入 A,B,C IF A>B 则
A→Max
否则 IF C>Max B→Max 则 C→Max
Max
End (算法结束)
结构化程序设计及算法表示 用传统流程图表示算法
1、传统流程图中的基本符号
起止框 I/O框 判断框
第四章
基本控制结构
王林景 wlj_work@
目录
4.1 顺序结构
4.2 选择结构与相关语句
4.3 循环语句
4.4 其它语句
4.5 程序调试
学习目标:
掌握三种基本控制结构
掌握If 条件语句和Select Case选择语句
掌握For…Next和Do…Loop循环语句
掌握两重循环,了解多重循环
例 输入10个数,打印输出其中最大的数。 算法设计如下: (1)输入1个数,存入变量A中,将记录数据个数的变量N 赋值为1,即N=1 (2)将A存入表示最大值的变量Max中,即Max=A (3)再输入一个值给 A,如果A>Max 则 Max=A, 否则 Max不变 (4)让记录数据个数的变量增加1,即N=N+1 ( 5 )判断 N 是否小于 10 ,若成立则转到第( 3 )步执行 ,否则转到第(6)步 (6)打印输出max
第四部分基本的控制结构教学课件

4.2 选择结构
计算机要处理的问题往往是复杂多变的,仅采用顺序 结构是不够的。 必须利用选择结构等来解决实际应用中的各种问题。 VB中主要通过If条件语句和Select情况语句来实现。 它们都是对条件进行判断,根据判断结果,选择执行不 同的分支。
本章目录
4.2.1 If条件语句
1. If…Then语句(单分支结构)
End Select
代码二错误:
1. Select Case 后不能出现多个变量;
2. Case后不能出现变量及有关运算符。
本章目录
If语句的嵌套
If语句的嵌套是指If或Else后面的语句块中又包含If语
If 表达式1 Then
If 表达式2 Then …
End If …
If x<y Then t=x: x=y: y=t
2. If…Then…Else语句
If 表达式 Then 语句块1
No
Else 语句块2
Image
End If
或 If 表达式 Then 语句1 Else 语句2
作用:当表达式的值为True时,执行Then后面的语句块1, 否则执行Else后面的语句块2
本章目录
双分支结构例
计算分段函数
No Image
If
表达式1 Then
ElseIf
[Else End If
语句块1 表达式2 Then
语句块2 …
语句块 n+1]
No Image
作用:根据不同的表达式值确定执行哪个语句块
不管有几个分支,依次判断,当某条件满足,执行相应的语句,其余分
支不再执行;若条件都不满足,且有Else子句,则执行该语句块,否则什
第4章 程序控制结构

4.1 顺序结构程序设计
4.1.4 数据的输入
InputBox函数的定义格式: 变量=InputBox(<提示项> [,<标题>][,<缺省>] [,<x坐标位置>][,<y坐标位置>]) 功能:产生一个对话框,等待用户键入文本或选择一个按钮后, 将会返回对话框中文本框的内容。 使用说明: (1)<提示项>为字符串表达式,不能省略,在对话框中作为显示信 息。 (2)<标题>为字符串表达式,是对话框的标题。若缺省,则默认显 示应用程序名在标题栏中。 (3)<缺省>为字符串表达式,用来作为对话框中用户输入区域的默 认值,一旦用户输入数据,则该数据立即取代默认值,若省略该参 数,则默认值为空白。
4.1.2
Print方法(2)
逗号(,):各输出项按分区格式输出,即将一个输出行以14 个字符的宽度为单位分成若干区段(称为“打印区”),每个区 段输出一个表达式的值。 如果调用Print方法的语句以分号或逗号结束,则下一次执行 Print方法时将在同一行输出;否则,每执行一次Print方法即自 动换行。
4.2 选择结构程序设计
4.2.1 简单的分支结构
简单分支结构分为单分支选择结构和双分支选择结构语句形式。 1.单分支选择结构 格式一: If <表达式> Then <语句块> End If 格式二: If <表达式> Then <语句> 功能:先计算<表达式>的值,若值 为True,则执行<语句块>或<语句>操 作,否则跳过<语句块>或<语句>操作 ,直接执行End If后面的语句。
第4章程序的控制结构PPT课件

{
语句;
表达式3;
}
22
注意
在for和while语句之后一般没有分号 有分号表示循环体就是分号之前的内容(空循
环体)
while (i < 100); i++;
for (i = 0; i < 100; i++); printf("%d", i);
for通常ቤተ መጻሕፍቲ ባይዱ一个循环变量控制循环的次数,不 要在循环体内改变这个变量
else部分可以没有。 if (表达式) 语句1; 语句3
当表达式值为0时,直接执行语句3
if-else嵌套使用时,注意else和谁配对的问 15
else-if
if的一种扩展形式
if (表达式) 语句1;
else if (表达式) 语句2;
else if (表达式) 语句3;
…………
else
}
20
while
while (表达式) { 语句; }
只要表达式的值为非0,就重复执行语句, 直到表达式值为0时止
21
fforor(表达式1; 表达式2; 表达式3)
{ 语句;
} 首先执行表达式1。如果表达式2的值为非0,
就重复执行语句和表达式3,直到表达式2的值 为0时止
相当于: 表达式1; while (表达式2)
用3种方法编程:
算法1:用不带else子句的if语句编程
17
switch
多路选择 switch (表达式)
{ case 常数1: 语句序列1; case 常数2: 语句序列2; ………… default: 语句序列3;
}
default可以没有,但最好不省略
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录 本章目录
59/51
4.6.1 错误类型
语法错误、运行时错误和逻辑错误三类。 1.语法错误
错误的代码下显示波浪线,任务 窗口上显示警告信息,鼠标指向 波浪线时,显示出错的原因。
程序设计教程
目录
本章目录
60/51
2.运行错误
指令代码执行了一非法操作引起的。例如,类 型不匹配、试图打开一个不存在的文件等。程 序会自动中断,并给出有关的错误信息。
18/51
程序设计教程
目录
本章目录
Dim nop As Integer, op As Char (2) Choose函数 Randomize() Choose(整数表达式,选项列表) 1) nop = Int(Rnd() * 4 + op = Choose(nop, "+", "-", "×", "÷" 根据表达式的值i,返回选项列表中第i个选项。如 MsgBox("nop=" & nop & " op=" 果整数表达式的值越出选项范围时,返回Null。 & o
例4.10 将可打印的 ASCII码制成表格输出
目录 本章目录
Next 的下一语句
程序设计教程
28/51
4.3.2 Do…Loop循环语句
Do循环用于控制循环次数未知的循环结构。
形式1: Do { While|Until }<条件> 语句块 [Exit Do 语句块] Loop 形式2: Do 语句块 [Exit Do 语句块] Loop { While|Until} <条件>
程序设计教程
目录 本章目录
42/51
4.4.2 退出和结束语句
1.Exit语句 VB中有多种形式的Exit语句,用于退出某种控 制结构的执行。Exit的形式如下: Exit For、Exit Do、 Exit Sub、Exit Function 2.End语句 独立的End语句用于结束一个程序的运行,它 可以放在任何事件过程中。
程序设计教程
目录 本章目录
10/51
多分支结构
3. If…Then…ElseIf 语句 If 表达式1 Then 语句块1 ElseIf 表达式2 Then 语句块2 表达式 1 … T [Else 语句块 n+1] 语句块 1 End If
F F 表达式 2 T 表达式 n T 语句块 2 语句块 n 语 句 块 n+ 1 F
程序设计教程
目录 本章目录
26/51
4.3.1 For循环语句 i%, sum% Dim
For i = 1 To 100 Step For循环语句用于控制循环次数预知的循环结构。 2 sum = 步长] For 循环变量 =初值 To 终值 [Step sum + i Next i 语句块 MsgBox str(sum) [Exit For] 语句块 例4.9 计算1~100的 Next 循环变量 奇数和 循环变量必须为数值型。
形式1为先判断后执行,有可能一次也不执行; 形式2为先执行后判断,至少执行一次。
程序设计教程
目录 本章目录
29/51
Do…Loop流程
表达式列表 1 T 语句块 有 Exit Do F 语句块 T 表达式列表 1 F T F 语句块 T
有 Exit Do F 语句块
Do While„Loop
MsgBox("今天是:" & Now & t) 程序设计教程 目录
本章目录
19/51
常见错误和难点分析
(实验指导P35))
• 1、If语句书写问题 • 2、在选择结构中缺少配对的结束语句 • 3、多分支选择 ElseIf关键字的书写和条件 表达式的书写 • 4、 多分支结构
程序设计教程
IF演示
程序设计教程
目录
本章目录
8/51
双分支结构
2. If…Then…Else语句 T F 表达式 If 表达式 Then 语句块1 语句块 1 语句块 2 Else 语句块2 End If 或 If 表达式 Then 语句1 Else 语句2 当表达式的值为True时,执行Then后面的 语句块1,否则执行Else后面的语句块2
100 4. Is 关系运算符表达式 程序设计教程
目录 本章目录
Is < 60
15/51
4.2.3 条件函数
(1) IIf函数
IIf(表达式,表达式为真时的值,表达式为假时的值) IIf函数是If … Then …Else 结构的简洁表示 例如,将x,y中大的数,放入Tmax变量中: Tmax = IIf(x > y,x,y) 该语句与如下语句等价 : If x > y Then Tmax = x Else Tmax = y
目录
3/51
4.1 顺序结构
VB具有结构化程序设计的三种程序控制结构, 即顺序结构、选择结构、循环结构,是程序设计 的基础。 (1)顺序结构
各语句按出现的先后次序执行 a A
用传统流程 图表示为
B b
4/51
程序设计教程
目录
本章目录
根据条件决定执行的语句
传统流程图: 成立 A a
条件?
Do „Loop While
30/51
程序设计教程
目录
本章目录
第四章总结
• 顺序结构 • 选择结构 • 循环结构 • 其它辅助控制语句 • 程序调试
34/51
程序设计教程
目录
4.1 顺序结构
一般程序设计语言中顺序结构的语句主要: 赋值语句和 输入/输出语句等。 在中 赋值语句 输入/输出通过: 文本框控件、标签控件、 InputBox函数、MsgBox函数 Write方法
程序设计教程
目录 本章目录
7/51
4.2.1 If条件语句
1. If…Then语句(单分支结构) 表达式 If <表达式> Then 语句块(可以是一句或多句语句) T 语句块 End If 或 If <表达式> Then <语句>
F
表达式:关系表达式、逻辑表达式,算术表达式。 表达式值按非零为True,零为False进行判断。 该语句的作用是当表达式的值为True,执行Then后 面的语句块,否则不做任何操作。
程序设计教程
目录
25/51
4.3 循环结构
计算机最擅长的功能之一就是按规定的条件, 重复执行某些操作。 例如,按照人口某增长率,对人口增长统计; 根据各课程的学分、绩点和学生的成绩,统计 每个学生的平均绩点等。 这类问题都可通过循环结构来方便地实现。 VB中提供了主要的两类循环语句: For循环语句(一般已知循环次数); Do条件型循环语句(一般未知循环次数).
Visual 程序设计教程 之基本的控制结构
程序设计教程
目录
第四章
4.1 4.2 4.3 4.4 4.5 4.6
基本的控制结构
顺序结构 选择结构 循环结构 其它辅助控制语句 综合应用 程序调试
目录 本章目录
程序设计教程
2/51
举例 程序基本的结构
Private Sub Button1_Click(…. ) Handles Button1.Click Timer1.Interval = 200 顺序结构 Timer1.Enabled = True
目录
23/51
编程实现
• 1、在购买某物品时,若所花的钱 x 在下述 范围内,所付钱y按对应折扣支付(要求分 别使用if…else和select ..case结构实现): • x x<1000 • 0.9x 1000<=x<2000 • y= 0.8x 2000<=x<3000 • 0.7x x>=3000
程序设计教程
目录
本章目录
61/51
3.逻辑错误 程序运行后,得不到所期望的结果,这说明程 序存在逻辑错误。 例如,运算符使用不正确、语句的次序不对、 循环语句的起始、终值不正确等。 通常,逻辑错误不会产生错误提示信息,故错 误较难排除,需要程序员仔细地阅读分析程序, 并具有调试程序的经验。
程序设计教程
目录 本章目录
14/51
4.2.2 Select Case语句
(教程P81)
Select Case 变量或表达式 Case 表达式列表1 语句块1 Case 表达式列表2 表达式列表与变量或表达式的类型必 须相同,是下面4种形式之一 : 语句块2 … 1. 表达式 例: "A" [Case Else 2. 一组用逗号分隔的枚举值 2,4,6,8 语句块n+1] 3. 表达式1 To 表达式2 60 To End Select
程序设计教程
本章目录
目录
43/51
4.6 程序调试
随着程序的复杂性提高,程序中的错误也 伴随而来。 对初学者,看到出现错误不要害怕,关键 是如何改正错误,失败是成功之母。 上机的目的,不光是为了验证你编写的程 序的正确性,还要通过上机调试,学会查找 和纠正错误的方法和能力。
VB为调试程序提供了一组交互的、有效的 调试工具。
4.4.1 Go To 语句 无条件地转移到标号或行号指定的那行语句。 Go To {标号|行号} 注意:标号是字符序列,首字符必须为字母,标号后 应有冒号;行号是一个数字序列; 代码说明 例4.14 判断输入的数是否为素数 素数就是除1和本身以外,不能被其他任何整数整除的 数。根据此定义,判别某数m是否为素数最简单的方法 就是依次用i=2~m-1去除,只要有一个数能整除m,m就 不是素数;否则m是素数。 要求一定范围内的素数,只要将m作为外循环体变量。