当前位置:文档之家› 第04章 选择结构

第04章 选择结构

第04章 选择结构
第04章 选择结构

一、选择题

1. 以下不正确的if语句形式是______。

A)if(x>y&&x!=y);

B)if(x==y)x+=y;

C)if(x!=y)scanf(“%d”,&x) else scanf(“%d”,&y);

D)if(x

2. 已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是______。

if(x>y)z=x;x=y;y=z;

A) x=10,y=20,z=30 B) x=20,y=30,z=30

C) x=20,y=30,z=10 D) x=20,y=30,z=20

3. 以下if语句语法正确的是______。

A)if(x>0)

printf(“%f”,x);

else printf(“%f”,-x);

B)if(x>0)

{ x=x+y; printf(“%f”,x);}

C)if(x>0)

{x=x+y; printf(“%f”,x);};

eles printf(“%f”,-x);

D)if(x>0)

{x=x+y; printf(“%f”,x)}

else printf(“%f”,-x);

4. 请阅读以下程序:

main( )

{

int a=5,b=0,c=0;

if(a=b+c) printf(“***\n”);

else printf(“$$$\n”);

}

以上程序______。

A) 有语法错误不能通过编译B) 可以通过编译但不能通过连接

C) 输出*** D) 输出$$$

5. 以下程序的运行结果是______。

main( )

{

int m=5;

if(m++>5) printf(“%d\n”,m);

else printf(“%d\n”,m--);

}

A) 4 B) 5 C) 6 D) 7

6. 当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是______。

if(a

if(c

else

if(a

if(b

else x=3;

else x=6;

else x=7;

A) 1 B) 2 C) 3 D) 6

7.

A)y=x+1

if(x>=0)

if(x==0) y=x;

B)else y=x-1; y=x-1;

if(x!=0)

if(x>0) y=x+1;

else y=x;

C)if(x<=0)

if(x<0) y=x-1;

else y=x;

D)else y=x+1; y=x;

if(x<=0)

if(x<0) y=x-1;

else y=x+1;

8. 以下程序的输出结果是______。

main( )

{

int a=100, x=10, y=10, ok1=5, ok2=0;

if(x

if(y!=10)

if(!ok1)

a=1;

else

if(ok2) a=10;

a=-1;

printf(“%d\n”,a);

}

A) 1 B) 0 C) –1 D) 值不确定

9. 以下程序的输出结果是______。

main( )

{

int x=2,y=-1, z=2;

if(x

if(y<0) z=0;

else z+=1;

printf(“%d\n”,z);

}

10. 为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总量与______

配对。

A) 缩排位置相同的if B) 其之前的最近的if

C) 其之后最近的if D) 同一行上的if

11. 以下不正确的语句为______。

A)if(x>y);

B)if(x=y)&&(x!=0) x+=y;

C)if(x!=y)scanf(“%d”,&x); else scanf(“%d”,&y);

D)if(x

12. 请阅读以下程序:

#include “stdio.h”

main()

float a,b;

scanf(“%f”,&a);

if(a<0.0)b=0.0;

else if((a<0.5)&&(a!=2.0)) b=1.0/(a+2.0);

else if(a<10.0)b=1.0/x;

else b=10.0;

prinf(“%f\n”,y);

若运行时输入2.0<回车>,则上面程序的输出结果是______。

A) 0.000000 B) 0.500000 C) 1.000000 D) 0.250000

二、程序阅读题

13. 请阅读以下程序:

main( )

{

int t,h,m;

scanf(“%d”,&t);

h=(t/100)%12;

if(h==0) h=12;

printf(“%d:”,h);

m=t%100;

if(m<10) printf(“0”);

printf(“%d”,m);

if(t<1200||t==2400)

printf(“AM”);

else printf(“PM”);

}

若运行时输入:1605<回车>时,程序的运行结果是______。

14. 若运行是输入:5999<回车>,则以下程序的运行结果(保留小数点后一位)是______。

main()

{

int x;

float y;

scanf(“%d”,&x);

if(“x>=0&&x<=2999) y=18+0.12*x;

if(“x>=3000&&x<=5999) y=36+0.6*x;

if(“x>=6000&&x<=10000) y=54+0.3*x;

printf(“%6.1f”,y);

}

15. 以下程序实现输出x,y,z三个数中的最大者。请在_____内填入正确内容。

main( )

{

int x=4, y=6, z=7;

int __1__;

if(__2__) u=x;

else u=y;

if(__3___) v=u;

else v=z;

printf(“v=%d”,v);

}

16. 以下程序实现:输入三个整数,按从大到小的顺序进行输出。请在_____内填入正确的

内容。

main( )

{

int x,y,z,c;

scanf(“%d %d %d”,&x,&y,&z);

if(__1__)

{c=y; y=z; z=c;}

if(__2__)

{c=x; x=z; z=c};

if(__3__)

{c=x; x=y; y=c;}

printf(“%d, %d,%d”,x,y,z);

}

17. 以下程序对输入的两个整数,按从大到小顺序输出。请在_____填入正确内容。

main()

int x, y, z;

scanf(“%d,%d”,&x,&y);

if(__1__)

{z=x; __2__}

printf(“%d,%d”,x,y);

18. 以下程序对输入的一个小写字母,将字母循环后移5人位置输出。如?a?变成?f?,?w?变

成?b?。请在_____内填入正确内容。

#include “stdio.h”

main( )

{

char c;

c=getchar( );

if(c>=?a?&&c<=?u?) __1__;

else if(c>=?v?&&c<=?z?) __2__;

putchar(c);

}

19. 输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,

则把它变成大写字母;其它字符不变。请在_____内填入正确内容。

main( )

{

char ch;

scanf(“%c”,&ch);

if(_____) ch=ch+32;

else if(ch>=?a?&&ch<=?z?) _____;

printf(“%c”,ch);

}

20. 以下程序的运行结果是_____。

main( )

{

int a, b, c;

int s, w, t;

s=w=t=0;

a=-1; b=3; c=3;

if(c>0) s=a+b;

if(a<=0)

{

if(b>0)

if(c<=0) w=a-b;

}

else if(c>0) w=a-b;

else t=c;

printf(“%d %d %d”,s,w,t);

21. 以下程序的运行结果是_____。

main()

int a, b, c, d, x;

a=c=0;

b=1;

d=20;

if(a) d=d-10;

else if(!b)

if(!c) x=15

else x=25;

printf(“%d\n”, d);

22.以下程序的运行结果是_____。

#include “stdio.h”

void main( void )

{

int x, y=1, z;

if(y!=0) x=5;

printf(“\t%d\n”,x);

if(y==0) x=4;

else x=5;

printf(“\t%d\n”,x);

x=1;

if(y<0)

if(y>0) x=4;

else x=5;

printf(“\t%d\n”,x);

}

23.以下程序的运行结果是_____。

#include “stdio.h”

void main( void )

{

int x, y=-2, z=0;

if((z=y<0) x=4;

else if(y==0) x=5;

else x=6;

printf(“\t%d\t%d\n”,x, z);

if(z=(y==0))

x=5;

x=4;

printf(“\t%d\t%d\n”, x, z);

if(x=z=y) x=4;

printf(“\t%d\t%d\n”, x, z);

24.请阅读的程序。

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(“s=%d, t=%d”, s, t);

}

为了使输出结果t=4,输入量a和b应满足的条件是_____。

25.请阅读的程序。

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(“s=%d, t=%d”, s, t);

}

为了使输出结果s=1, t=5,输入量a和b应满足的条件是_____。

26. 以下程序的功能是计算一元二次方程ax2+bx+c=0的根。请在_____内填入正确的内容。

#include “math.h”

main( )

{

float a, b, c, t, disc, twoa, term1, term2;

printf(“enter a, b, c:”);

scanf(“%f %f %f”, &a, &b, &c);

if(__1__)

if(__2__) printf(“no answer due to input error\n”);

else printf(“the single root is %f\n”, -c/b);

else

{

disc=b*b-4*a*c;

twoa=2a;

term1=-b/twoa;

t=abs(disc);

term2=sqrt(t)/twoa;

if(__3__)

printf(“complex root\n real part =%f imag part =%f\n”, term1,term2);

else printf(“real roots\n root1=%f root2=%f\n”, term1+term2, term1-term2);

}

}

27. 以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型。请在_____内填入正确的内容。

#include “stdio.h”

main( )

{

float a, b, c;

float s, area;

scanf(“%f %f %f”,&a, &b, &c);

if(__1__)/*a+b>c&&|a+c>b&&b+c>a*/

{

s=(a+b+c)/2;

arae=sqrt(s*(s-a)*(s-b)*(s-c));

printf(“%f”, area);

if(__2__)/*a==b&&b==c&&a==c*/

printf(“等边三角形”);

else if(__3__)

printf(“等腰三角形”);/*a==b || a==c|| b==c*/

else if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))

printf(“直角三角形”);

else printf(“一般三角形”);

}

e lse printf(“不能组成三角形”);

}

28. 某邮局对邮寄包裹有如下规定:若包裹的长宽高任一尺寸超过1米或重量超过30千克,

不予邮寄;对可以邮寄的包裹每件收手续费0.2元,再上根据下表按重量wei计算的邮资:

重量(千克)收费歀(元)

wei<10 0.80

10

20

请在程序的_____内填入正确内容。

main( )

{

float len, wei, hei, wid, mon, r;

scanf(“%f %f % %f”, &len, &wid, &hei, &wei);

if(len>1||wid>1||hei>1||wei>30) __1__;

else if(wei<10)r=0.8;

else if(wei<=20) r=0.75;

else if(wei<=30) __2__;

if(r==-1) printf(“error\n”);

else

{

__3__; printf(“%f”,mon);

}

}

29. 某服装店经营套服,也单件出售。若买的不少于50套,每套80元;不足50套的每套

90元;只买上衣每件60元;只买裤子每条45元。以下程序的功能是读入所买上衣c 和裤子t的件数,计算应付款m。请在_____内填正确内容。

main( )

{

int c, t, m;

printf(“input the number of coat and trousers your want buy:\n”);

scanf(“%d %d”, &c, &t);

if(__1__)

if(c>=50) m=c*m;

else m=c*90;

else

if(__2__)

if(t>=50) m=t*80+(c-t)*60;

else m=t*90+(c-t)*60;

else if(__3__) m=c*80+(t-c)*45;

else m=c*90+(t-c)*45;

printf(“%d”,m;)

}

30. 以下程序的功能是判断输入的年份是否是闰年。请在_____内填入正确内容。

main( )

{

int y, f;

scanf(“%d”, &y);

if(y%400==0) f=1;

else if(__1__) f=1;

else __2__;

if(f) printf(“%d is ”, y);

else printf(“%d is not”,y);

printf(“a leap year\n”);

}

31. 以下程序针对输入截止日期(年:year,月:mend,日:dend)和出生日期(yman, mman,

dman),计算出实际年龄。请在_____内填入正确内容。

设有:int yend,mend,dend,mman,dman,age;

age=yend-yman;

if(mend__1_), age--;

else if(mend__2__mman&&dend__3__dman)

age--;

32. 有四个数a,b,c,d,要求按从大到小的顺序输出。请在_____内填入正确内容。

main()

int a,b,c,d,t;

scanf(“%d %d %d %d”,&a,&b,&c,&d);

if(a

if(__1__) {t=c; c=d; d=t;}

if(a

if(__2___) {t=b; b=c;c=t}

if(b

if(c

printf(“%d %d %d %d\n”,a,b,c,d);

33. 以下程序的运行结果是_____。

main( )

{

int a=2,b=3,c;

c=a;

if(a>b) c=1;

else if(a==b) c=0;

else c=-1;

printf(“%d\n”,c);

}

34. 当运行时输入:1992<回车>,则以下程序的运行结果是_____。

main( )

{

int y, t;

scanf(“%d”,&y);

t=((y%4==0&&y%100!=0)||y%400==0)?1:0;

if(t) printf(“%d is”,y);

else printf(“%d is not”,y);

printf(“a leap year”);

}

35. 若运行时输入:3 5 /<回车>,则以下程序的运行结果是_____。

main()

float x, y;

char o;

double r;

scanf(“%f %f %c”,&x, &y, &o);

switch(o)

{

case …+? : r=x+y; break;

case …-? : r=x-y; break;

case …*? : r=x*y; break;

case …/? : r=x/y; break;

}

printf(“%f”, r);

36. 设有程序片段:

switch(grade)

{

case …A? : printf(“85-100\n”);

case …B : printf(“70-84\n”);

case …C? : printf(“60-69\n”);

case …D? : printf(“<60\n”);

default: printf(“error!\n”);

}

若grade的值为?C?,则输出结果是______。

37. 以下程序的运行结果是______。

int x=1,y=0;

switch(x)

{

case 1 : switch(y)

{

case 0 : printf(“**1**\n”); break;

case 1 : printf(“**2**\n”); break;

}

case 2 : printf(“**3**\n”);

}

38. 以下程序的运行结果是______。

main( )

{

int a=2, b=7, c=5;

switch(a>0)

{

case 1 : switch(b<0)

{

case 1 : printf(“@”); break;

casa 2: printf(“!”); break;

}

case 0 : switch(c==5)

{

case 0 : printf(“*”); break;

case 1 : printf(“#”); break;

default : printf(“#”); break;

}

default : printf(“&”);

}

printf(“\n”);

}

39. 请读程序:

#include

{

int x=1, y=0, a=0, b=0;

switch(x)

{

case 1:

switch(y)

{

case 0 : a++; break;

case 1 : b++; break;

}

case 2 :

a++; b++; break;

}

printf(“a=%d, b=%d”,a,b);

}

40. 以下程序用以计算y年m1月d1日与同年的m2月d2日之间的天数(m2>=m1),并打

印计算结果。若m1=m2且d1=d2则计算1天。在闰年中,2月有29天。闰年的年号由以下方式确定:该年号能被能被4整除但不能被100整除,或者该年号能被400整除则是闰年。例如:输入1997,2,27,3,10<回车>时,输出为12天。表明从1997年2月27日到3月10日共有12天。请在______内填入正确内容。

main( )

{

int y, m1, d1, m2, d2;

int i,d;

scanf(“%d %d %d,%d,%d”,&y,&m1,&d1,&m2,&d2);

y=(y%4==0___1___y%100!=0___2___y%40==0)?1:0;

d=0-d1;

for(i=m1;i

switch(i)

{

case 1 : case 3 : case 5 : case 7 :

case 8 : case 10 : casae 12 :

d+=31;

break;

case 2 : d=d+28+y;

break;

case 4 : case 6 : case 9 : case 11 : ______; }

printf(“%d”, d+d2+1);

}

答案:

c语言第五章 选择结构程序设计(习题册答案)

第五章选择结构程序设计 基础练习(A) 一、填空题 1、关系表达式的运算结果是逻辑值。C语言没有逻辑型数据,以1代表“真”,以0代表“假”。 2、逻辑运算符!是单目运算符,其结合性是由右结合性。 3、C语言提供的三种逻辑运算符是&&、|| 、!。其中优先级最高的为!,优先级最低的为| | 。 4、逻辑运算符两侧的运算对象不但可以是0和1,或者是0和非0的整数,也可以是任何类型的数据。系统最终以0 和非0 来判定它们属于“真”或“假”。 5、设y为int型变量,请写出描述“y是偶数”的表达式(y%2==0)。 6、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式x2&&x<3。 8、判断char型变量ch是否为大写字母的正确表达式是(ch>=‘A’)&&(ch<=‘Z’)。 9、当a=3,b=2,c=1时,表达式f=a>b>c的值是0。 10、当a=5,b=4,c=2时,表达式a>b!=c的值是1。 11、已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||AB的值是0。 12、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是1。 13、有int x,y,z;且x=3,y=-4,z=5,则表达式(x&&y)==(x||z)的值为1。 14、有int x,y,z;且x=3,y=-4,z=5,则以下表达式的值为1。 !(x>y)+(y!=z)||(x+y)&&(y-z) 15、有int a=3,b=4,c=5,x,y;,则以下表达式的值为0。 !(x=a)&&(y=b)&&0 16、if (!k) a=3;语句中的!k可以改写为k= =0,使其功能不变。 二、选择题 1、逻辑运算符两侧运算对象的数据类型(D)。 A)只能是0或1 B)只能是0或非0正数 C)只能是整型或字符型数据 D)可以是任何类型的数据 2、以下关于运算符优先顺序的描述中正确的是(C)。 A)关系运算符<算术运算符<赋值运算符<逻辑与运算符 B)逻辑与运算符<关系运算符<算术运算符<赋值运算符 C)赋值运算符<逻辑与运算符<关系运算符<算术运算符 D)算术运算符<关系运算符<赋值运算符<逻辑与运算符 3、下列运算符中优先级最高的是(B)。 A)< B)+ C)&& D)!= 4、为判断字符变量c的值不是数字也不是字母时,应采用下述表达式(D)。 A)c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122 B)!(c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122) C)c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122 D)!(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122) 5、能正确表示“当x的取值在[1,100]和[200,300]范围内为真,否则为假”的表 达式是(C)。 A) (x>=1)&&(x<=100)&&(x>=200)&&(x<=300) B) (x>=1)||(x<=100)||(x>=200)||(x<=300) C) (x>=1)&&(x<=100)||(x>=200)&&(x<=300)

第4章 选择结构

第4章流程控制语句_选择结构 一、指出下列语句中的错误 1. If @x ≥ @y Print @x 2. If 10<@x<20 Set @x=@x+20 二、使用IF 语句编程 1. 计算分段函数 假设自变量x 的值为5,要求:用Set 语句或Select 语句给自变量x 赋值,请编写程序。 2. 使用Set 语句输入一个整数X ,判断X 是否能被2整除。判断结果使用Print 语句输出。 3. 使用Set 语句输入一个整数N ,判断其能否同时被3和5整除。判断结果使用Print 语句输出。 4. 火车站托运行李,按规定当行李重量不超过50公斤时,每公斤运费0.25元,超过50公斤后,超过部分按每公斤0.40元收费。输入行李重量W 公斤,计算出应付多少运费。 注意:先使用Set 语句或Select 语句给变量赋初值。 5. 任意输入一个年份,判断该年是否为闰年,输出结果。 注意:先使用Set 语句或Select 语句给变量赋初值。 6. 用Set 或Select 语句输入3个数据,判断这3个数据是否可以组成三角形,如果能够组成三角形,计算并在窗体上输出三角形的面积。构成三角形的条件是:任意两边之和大于第三边。面积公式为area= ))()((C S B S A S S ---, 其中S=(A+B+C)/2,A 、B 、C 为三条 边的长度。 7. 公用电话收费标准如下:通话时间在3分钟之内(包括3分钟),收费0.5元;3分钟以上,则每超过1分钟加收0.15元。编写一段程序,计算某人通话S 分钟,应缴多少电话费。 三、使用Case 函数编程

VB顺序结构练习

VB顺序结构及选择结构练习 一、单选题 1.在窗体上画一个命令按扭(名称为Command1),然后编写如下事件过程 Private Sub Command1_Click() b=5 c=6 Print a = b + c End Sub 程序运行后,单击命令按扭,其结果为(D) A)a=11 B)a=b + c C)a= D)False 2. 在窗体上画一个命令按扭(名称为Command1),然后编写如下事件过程 Private Sub Command1_Click(D) a=11 b=5 c=6 Print a = b + c End Sub 程序运行后,单击命令按扭,其结果为() A)a=11 B)a=b + c C)a= D)True 3.以下语句的输出结果是(B) a = Sqr(3) Print Format(a,”$$#### : ###”) A)$1.732 B)$$1.732 C)$1732 D)$$00001.732 4.以下程序段的输出结果是(D) a = Sqr(3) b = Sqr(2) c =a>b Print c A)-1 B)0 C)False D)True 5.以下语句的输出结果是(C) Print Format$ (32548.5,”000,000.00”) A)32548.5 B)32,548.5 C)032,548.50 D)32,548.50 1.假定有如下语句: answer$=MsgBox(“String1”,, “String2”, “String3”,2) 执行该语句后,将显示1个信息框,此时如果单击“确定”按扭,则answer$的值为(D)A)String1 B)String2 C)String3 D)1

java学习笔记系列第三章-条件选择结构

14、if语句的使用 If语句格式:(条件表达式成立,则运行花括号内语句,如不成立则跳过花括号内语句继续运行程序) If(条件表达式){ //语句} import java.util.*;//*代表导入java.util内所有东西,其中包含后将引用的Scanner变量public class Test{ public static void main(String[] args){ Scanner in=new Scanner(System.in); System.out.println(“请输入你的成绩:”); int score=in.nextInt(); If(score>90){ System.out.println(“你的成绩为A级”); } System.out.println(“请继续输入你的成绩”); } } import java.util.*;//*代表导入java.util内所有东西,其中包含后将引用的Scanner变量public class Test{ public static void main(String[] args){ Scanner input=new Scanner(System.in); System.out.println(“请输入你的成绩:”); int score=input.nextInt(); if(score>90==false){// if语句条件为输入分数>90恒等于false System.out.println(“你的成绩为A级”); } System.out.println(“请继续输入你的成绩”); } } 注:所有逻辑运算符都只能针对boolean类型进行操作,其他int、double类型都会导致报错。import java.util.*;//*代表导入java.util内所有东西,其中包含后将引用的Scanner变量public class Test{ public static void main(String[] args){

《VB选择结构程序设计》教学设计

《VB选择结构程序设计》教学设计 山东省临清市第二中学吴焕英 【案例背景】 高中信息技术新课程的实施,其课程目标定位于全面提升学生的信息素养,其课程的设置从知识与技能、过程与方法、情感态度与价值观三个方面实施这个课程目标。然而,众多的老师实施新课程后发现:教学内容的范围比以前更广泛了、课时远远不够、教学软硬件资源缺乏等诸多问题。因此,如何更有效地开展新课程教学,成为老师们迫切需要解决的问题。本教学案例从学生的实际情况出发,根据现有的数学、英语基础,结合简单的生活实例,引导学生进行探索式学习,问题从简单的英语口语入手,过渡到课题的研究学习。原本枯燥无味的VB程序设计,在简单、形象的生活实例下,激发了学生的思考与探索思维。这样的教学案例,值得我们反思研究、总结与完善。 【教材分析】 算法与程序设计是普通高中信息技术课程中选修模块之一,本模块旨在使学生进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题。 “选择结构”是教育科学出版社出版的高级中学课程标准实验教科书、算法与程序设计第二章第三节的内容,共分三课时,本课为第二课时。主要内容是用选择结构编写简单的程序解决具体问题。用选择结构编写简单的程序解决具体问题是在学生已经掌握了程序设计数据的表示与处理的基础上,理解了顺序结构的前提后提出的。 通过本课的学习,可以促进学生对问题解决方法和思想的理解与掌握,从而提升学生的问题解决能力,让学生在按照一定的流程解决问题的过程中,去体会和理解程序设计的思想,而且也为多分支选择结构的学习打下基础。 【学生分析】 高一的学生在数学课中已经有了算法和程序设计的基础,学生对事物的分析、综合能力及独立思考能力、分析解决问题的能力都有了一定的水平,在教师的有效引导下,有能力进行自我探究,如果用一种学生比较感兴趣的,能够贴近学生日常生活的例子来分析选择结构的话,那么学生会比较感兴趣。 【教学目标分析】 通过教师引导学生去探究、发现技术背后所蕴含的技术价值和技术思想,使其获得知识与技能的同时,理解和掌握过程与方法,这样才能够学会认知,学会做事,乃至学会生活,提高终生学习的能力、分析解决问题的能力,满足其终身发展的需要,成为适应信息社会的公民。 因此本节课的目标有以下几项:

vb选择结构教案

卓资县职业中学实训学案 班级_____姓名_________科目: VB 程序设计主备:闫森审核:日期: 课题:选择结构程序设计实际应用(2) 实验目的: 1、掌握If语句的使用。 2、掌握Select Case语句的使用。 实验内容与过程 说第一步:独学(请同学们独立完成以下任务) 知识回顾: 1、单分支条件语句格式:①IF <表达式> THEN 语句块 End If ②IF <表达式> THEN 语句块 2、双分支条件语句格式: IF <表达式> THEN 语句块1 Else 语句块2 End If 任务1(基本设计题) 题目:一般网络游戏只允许成年人进入,你来编写一个根据 明 : 本 节 课 只 完 成 任 务 1 和 任 务 2 的 题 目 要 求 及 问 年龄判断是否成年的小程序。(规定成年人年龄>18周岁) 请你根据题意,利用双分支条件语句格式2种方法(单行和 多行)编写程序代码,并上机测试。 设计界面如下: 编写程序代码:

题 。课后作业下次实训务必完成。第二步:合作(问题)探究(对学、群学) 任 务 2. ( 提 高 设 计 题) 在 “ 神州号”程序中,需要判断飞船飞行状况。当飞船速度继续 加大时,飞船将达到第二宇宙、第三宇宙速度(见下表)试 编写程序,输入不同的飞船速度V,判断它的各种飞行状况, 显示出来 飞船速度V 单位 (km/s) 飞行状况情况 程序界面如下: 补充程序代码: Private Sub command1_click() Dim V AS single, n AS integer V= VAL(InputBox(“SPEED=”,”输入速度”)) <=V< 1--Move around Earth飞船绕 地球做匀速圆周运动 1 11 19<=V< 2--Move around SUN飞船离开 地球的控制 ,围绕太阳转 2 V> 3--Break gravitate of solar 飞船挣脱太阳引力飞出太阳 系 3 其它警告出错信息0

第5章选择结构程序设计

第5章选择结构程序设计 在日常生活和工作中,经常会遇到各种各样的选择,根据选择的不同,会得到不同的结果。在程序设计中,也经常会根据不同的情况执行不同的操作,这与现实生活中的选择非常类似。但程序设计中的选择结构根据条件只能选择一个分支执行,即无论分支多寡,必择其一;纵然分支众多,仅选其一。 本章主要介绍实现选择结构程序设计方面的知识,包括If语句、Select Case语句、条件函数的使用,最后介绍与选择结构相关的单选按钮、复选框和框架三个基本控件的使用。 5.1引例 【例5.1】输入学生百分制成绩,将该成绩转换为五级分制显示输出。程序运行结果如图5.1所示。其中转换规则为:90及90分以上为优,80~90为良(含80,不含90,后面相同),70~80为中,60~70为及格,0~60为不及格。 图5.1 例5.1的运行结果 该题目是选择结构的典型应用。程序代码如下: Private Sub Command1_Click() cj = Val(Text1) If cj < 0 Or cj > 100 Then MsgBox "输入的成绩无效" Text1.Text = "" Label1.Caption = "" ElseIf cj >= 90 Then Label3.Caption = "优" ElseIf cj >= 80 Then Label3.Caption = "良" ElseIf cj >= 70 Then Label3.Caption = "中" ElseIf cj >= 60 Then Label3.Caption = "及格" Else Label3.Caption = "不及格" End If End Sub

第二章第3节:程序选择结构——多重选择语句

第二章第3节:程序选择结构——多重选择语句 教学基本信息 课题多重选择语句 学科信息技术年级高一 教材书名:《算法与程序设计》出版社:广东教育出版社 指导思想与理论依据 新课程理念强调结合学生生活和学习实际设计问题,通过自主探究、小组合作、教师引导等多种学习方式解决实际问题,让学生在分析问题、设计算法、编写程序、调试程序的过程中,学会用计算机解决问题,进一步掌握信息技术、增强信息意识、提高信息素养。新课程还强调教师应该通过对课程内容的合理延伸或拓展充分提高学生学习兴趣,挖掘学生潜力,培养学生发现、探究、解决问题的能力,最终实现学习方式的转变,为终身学习做好准备,本教学设计就是在此背景下设计实施的。 教学背景分析 教学内容:《多重选择语句》是第二章第3节的“程序选择结构”中的一个重要的组成部分,是在学完程序的顺序结构、程序选择结构IF语句后,是对选择结构更深入的了解和应用。多重选择语句能够很好解决当条件较丰富的情况下,如何使程序的可读性、易用性增加,更好的解决所出现的问题。通过本节的学习,让学生理解多重选择语句的结构,学会利用多重选择语句来解决实际问题,进一步激发学生的求和欲。 学生情况:高一(9)是年级中的重点班,学生信息技术基础可以,学生学习习惯好,接受能力强。前面学习了分析问题、设计算法、编写程序等解决问题的基本过程。在VB语言中的顺序结构中,学生基本上能够利用计算机完成简单计算、输入、输出功能,会使用If语句来解决两种情况的判断和选择问题。在本节课中,通过在多种条件环境下来理解if语句的不足和多重选择语句的结构与功能,达到本节课的教学目标。 教学方式:自主学习法、合作探究法、讲授法、任务驱动法 教学手段:多媒体广播系统、演示文稿 教学目标 知识与能力目标: 1、掌握VB语言的多重选择语句的格式、功能和执行过程。 2、掌握VB语言的表达式、表达式列表等程序设计语言的基本知识。 3、学会使用VB语言的多重选择语句来实现选择控制结构,解决实际问题。 过程与方法目标: 1、经历分析问题、设计算法、编写程序、调试程序等用计算机解决问题的过程,体验成功的快乐。 2、了解正确的程序书写格式,初步掌握程序调试运行的方法。 情感态度与价值观目标: 1、在老师指导下,与同学共同探究问题,让学生体验自主学习、协作学习的乐趣。 2、通过解决各种实际问题,感受计算机为生活服务的乐趣,建立使用计算机编程解决生活中实际问题的信心。 教学重点、难点 教学重点:理解多重选语句的结构。 教学难点:在理解多重选择语句结构的基础上,如何利用计算机来解决生活中的实际问题。 教学策略设计 在教学中通过如何使用键盘控制移动的坦克,用if语句进行比较,发现if语句解决这类问题的不足,引出多重选择语句,引导学生去解决这类问题。教学中采用了“小组讨论”、“学生探究”、“任务驱动”、“师生互动”等方法。

第五章选择结构程序设计练习含答案v1

第五章选择结构程序设计 5.1 选择题 【题5.4】能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假” 的表达式是。C A)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B)(x>=1)||(x<=10)||(x>=200)||(x<=210) C)(x>=1)&&(x<=10)||(x>=200)&&(x<=210) D)(x>=1)||(x<=10)&&(x>=200)||(x<=210) 【题5.5C //// //// X a b c A)(x<=a)&&(x>=b)&&(x<=c) B)(x<=a)||(b<=x<=c) C)(x<=a)||(x>=b)&&(x<=c) D)(x<=a)&&(b<=x<=c) 【题5.6】判断char型变量ch是否为大写字母的正确表达式是。C A)‘A’<=ch<=‘Z’B)(ch>=‘A’)&(ch<=‘Z’) C)(ch>=‘A’)&&(ch<=‘Z’) D)(‘A’<=ch)AND(‘Z’>=ch) 【题5.10】设有:int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b)&&(n=c>d)后n的值为。B A)1 B)2 C)3 D)4 【题5.11】判断char型变量c1是否为小写字母的正确表达式是。D A)‘a’<=c1<=‘z’B)(c1>=a)&&(c1<=z) C)(‘a’>=c1)||(‘z’<=c1) D)(c1>=‘a’)&&(c1<=‘z’) 【题5.12】以下程序的运行结果是。B #include “stdio.h” main() {

第2章 顺序结构、选择结构和循环结构的程序设计 习题答案

第二章顺序结构、选择结构和循环结构的程序设计 一、简答 1. 参考书上23页 2. while先判断,后执行,do while先执行,后判断,循环体至少执行一次 3. 参考书上29页 4. continue,结束本次循环 break,结束循环 区别在于,continue只结束本次循环重新进行下次循环,而break结束整个循环 二、填空题 1. 顺序结构,选择结构,循环结构 2. if else 和switch 3. 语句1 ,语句2 4. 零 5. break ,continue 6. 7 ,0 7. ? : ,双目 三、单选 1-5 ABDCC 6-10 DBACA 11-15 CBCDA 16-20 ACBAD 21-25 ADCBB 26-29 BCCA 四、程序分析题 1. end 1end 2. num%10 max = t 3. j%3 4. 99 五、编程题 1. #include int main(){ char str[100] ; gets(str) ; int n1 , n2 , n3 , n4 , i ; n1 = n2 = n3 = n4 = 0 ; for(i = 0 ; str[i] != '\0' ; ++i) { if(str[i] >= 'A' && str[i] <= 'Z') ++n1 ; else if(str[i] >= 'a' && str[i] <= 'z') ++n2 ; else if(str[i] >= '0' && str[i] <= '9') ++n3 ; else

} printf("大写字母:%d\n" , n1) ; printf("小写字母:%d\n" , n2) ; printf("数字字符:%d\n" , n3 ) ; printf("其他字符:%d\n" , n4) ; return 0; } 2. #include #include int main(){ int array[4] , min , max , i ; for(i = 0 ; i < 4 ; ++i) scanf("%d" , &array[i]) ; min = max = array[0] ; for(i = 1 ; i < 4 ; ++i) { if(array[i] < min) min = array[i] ; else if(array[i] > max) max = array[i] ; } printf("min = %d , max = %d\n" , min , max) ; return 0; } 3. #include int main(){ float money , lixi ; int year ; scanf("%f %d" , &money , &year) ; switch(year) { case 1 : lixi = money * 0.63 / 100 ;

八年级信息技术教案第四章 择路而行---选择结构程序设计

八年级信息技术教案第四章择路而行---选择结构程序设计 第四择路而行---选择结构程序设计 第一节路口诀择----条语句 一、教学目标 1、掌握选择结构程序中常用的Qbasi语句。 2、掌握选择结构程序设计方法。 3、能利用选择结构程序设计解决简单的实际问题。 二、教学重点: 1.选择结构的语句及功能 2.选择结构中程序设计方法。 三、教学方法:讲授法,对比法,分组讨论法。 四、教学时间:2时 五、教学教程: (一)引入新:前面我们学习了顺序结构程序设计,利用顺序结构只能设计一些较简单的程序,如果要处理复杂的问题,就需要采用另外两种基本结构:选择结构和循环结构。选择结构,是一种常用的主要基本结构,是计算机科学用描述自然界和社会生活中分支现象的重要手段。其特性是:无论分支多寡,必择其一;纵然分支众多,仅选其一。 (二)讲述新

l 单行条选择语句IF 1、单行结构条语句IF…THEN…ELSE 格式:IF <条> THEN <语句1> [ELSE <语句2>] 功能:最简单的条选择语句,用进行条判断,使语句有条的执行。说明: 1)当<条>为真(非零数)时,则执行<语句1>。 2)ELSE语句可以省略。 3)当<条>为假(零)时,而且语句中有ELSE语句则执行<语句2>。 4)IF、THEN、ELSE必须在同一行上。 2、示例A、输入x的值,计算的值。 RE 程序名为:eg1bas INPUT “请输入x的值:”,x IF x>=0 THEN =1+X ELSE =1-2*X PRINT “=“; END 例:求一元二次方程Ax2+Bx+=0(A<>0)的实数根。 分析:写写出程序的流程图,参考流程图写程序。 程序清单如下: INPUT A,B, D=B*B-4*A* IF D<0 THEN then

选择结构教案

《程序的选择结构》教学设计 【课题名称】:《程序的选择结构》 (选自粤教版教材信息技术选修1《算法与程序设计》一书第二章第3 节,本节计划分两个课时,此教学设计为第一课时) 【教学目标】: 1、理解程序的选择结构,掌握VB程序中的条件语句的构建,掌握关系 表达式、逻辑表达式等程序设计语言的基本知识; 2、通过对问题的分析、设计、解决来真正了解计算机解决问题的过程, 体验编程解决问题的乐趣; 3、培养学生们对问题宏观分析的能力,多角度分析、处理,并能学以致 用,在收获知识的同时挖掘自己的潜力; 【学情分析】: 此次授课的班级为高一的少年班,他们的信息技术课程最新的进度刚好是必修阶段的第四章——编制计算机程序解决问题,在必修课中, 他们已经了解了编程解决问题的大致过程,以及VB中的一些基本语句。 因此本节课的重难点设置如下: 教学重点: VB中的条件语句的格式、能从实际问题中提炼做判断条件的表达式教学难点: 对实际问题分析出选择结构,提炼出条件表达式,并能用程序设计语言 来实现 【教法设计】: 采用“问题解决教学法”、“学科结合法”、“讲授法”

【学法设计】: 分析法、实践练习法【教学过程】:(简) (一)、导课(5分钟)(二)、讲授 (三)、练习(包含课堂练习)(四)、知识拓展 (五)、知识总结

【评价设计】 【教学过程】:简 (一)、生疑: (二)、质疑: (三)、练习(包含课堂练习) (四)、知识拓展 (五)、知识总结 【教学过程】: (一)、导课(5分钟)什么是选择结构 /*兴趣为主——引出主题——能理解选择及选择的条件控制*/ 教师先提出“物联网”的概念,即物与物之间的相互连接。物联网的实现能使我们的生活更方便。比如可以根据外面光线来选择自动地拉合窗帘,天亮时把窗帘自动拉开,天黑时自动合上。又或者为了保障家里的财产安全,设置防盗装置,当有人从门窗进入时,会发出警报信息,同时发送短信或视频到手机中。这些都是根据某种情况或条件做出的选择,生活中我们自己也会遇到很多选择。(可以让大家说说自己的选择)教师在屏幕上显示四个按钮,四个按钮后面分别对应四个活动,让同学们选择一个按钮,进行课堂活动。其中四个活动分别设置如下: 按钮一活动:英文翻译。 按钮二活动:(游戏)看商品,猜价格。 按钮三活动:(游戏)计算自己的健康指数 按钮四活动:语文造句。用“如果…那么…否则…”来造句 其中:活动一和活动四直接体现了选择,而活动二和活动三可以让学生谈谈哪里体现了选择。教师来解释选择结构,并以两个选择结构为例,给出流程图,解释选择在程序中的实现过程,展开教学。

c语言第4章 选择结构程序设计习题答案

第4章选择结构程序设计 习题(P111) 4.2 C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”? 答:C语言中用1表示真,0表示假;系统按照“非0为真,0为假”判断一个逻辑量的真假。 4.3 写出下面各逻辑表达式的值。设a=3,b=4,c=5。 (1)a+b>c&&b==c (2)a||b+c&&b-c (3)!(a>b)&&!c||1 (4)!(x=a)&&(y=b)&&0 (5)!(a+b)+c-1&&b+c/2 解:该题在求解过程中注意: 一、优先级。逻辑运算符(&&和||)低于算术运算符和关系运算符而高于赋值运算符,在逻辑运算符中,逻辑非最高,逻辑与其次,逻辑或最低; 二、逻辑表达式的求值规则。(P94) 所以得以上表达式的值分别为:(1)0 (2)1 (3)1 (4)0 (5)1 4.4有3个整数a、b、c,由键盘输入,输出其中最大的数。 分析:这是一个规模较小的求最值的算法,习题1.6用函数的方法实现。该题不用函数调用实现,但方法是最值,再依次和第二、第三个数比较得结果。其中都要用到单分支或双分支选择结构语句。 参考程序如下: main() { int a,b,c,max; /*定义4个整型变量,其中a,b,c存原始数据,max存最值*/ printf("\ninput the value of a,b,c:"); /*提示输入*/ scanf("%d%d%d",&a,&b,&c); /*格式符之间无分隔符,输入时可以以空格、回车、跳格分隔*/ if(a>b) max=a; else max=b; if(max

数据结构课后习题及解析第二章

第二章习题 1. 描述以下三个概念的区别:头指针,头结点,首元素结点。 2. 填空: (1)在顺序表中插入或删除一个元素,需要平均移动元素,具体移动的元素个数与有关。 (2)在顺序表中,逻辑上相邻的元素,其物理位置相邻。在单链表中,逻辑上相邻的元素,其物理位置相邻。 (3)在带头结点的非空单链表中,头结点的存储位置由指示,首元素结点的存储位置由指示,除首元素结点外,其它任一元素结点的存储位置由 指示。 3.已知L是无表头结点的单链表,且P结点既不是首元素结点,也不是尾元素结点。按要求从下列语句中选择合适的语句序列。 a. 在P结点后插入S结点的语句序列是:。 b. 在P结点前插入S结点的语句序列是:。 c. 在表首插入S结点的语句序列是:。 d. 在表尾插入S结点的语句序列是:。 供选择的语句有: (1)P->next=S; (2)P->next= P->next->next; (3)P->next= S->next; (4)S->next= P->next; (5)S->next= L; (6)S->next= NULL; (7)Q= P; (8)while(P->next!=Q) P=P->next; (9)while(P->next!=NULL) P=P->next; (10)P= Q; (11)P= L; (12)L= S; (13)L= P; 4. 设线性表存于a(1:arrsize)的前elenum个分量中且递增有序。试写一算法,将X插入 到线性表的适当位置上,以保持线性表的有序性。 5. 写一算法,从顺序表中删除自第i个元素开始的k个元素。 6. 已知线性表中的元素(整数)以值递增有序排列,并以单链表作存储结构。试,分的元素(若表中存在这样的元素)maxk且小于mink写一高效算法,删除表中所有大于 析你的算法的时间复杂度(注意:mink和maxk是给定的两个参变量,它们的值为任意的整数)。7. 试分别以不同的存储结构实现线性表的就地逆置算法,即在原表的存储空间将线性表(a1, a2..., an)逆置为(an, an-1,..., a1)。 (1)以一维数组作存储结构,设线性表存于a(1:arrsize)的前elenum个分量中。 (2)以单链表作存储结构。 8. 假设两个按元素值递增有序排列的线性表A和B,均以单链表作为存储结构,请编写算

第4章选择结构程序设计

第4章选择结构程序设计 通过本章实验作业应达目标 1.练习并熟练掌握if、switch语句使用,实现二路与多路选择结构; 本章必须上交作业 程序4_2.c、4_3.c、4_4.c、4_5.c上传至http://121.251.227.27:8080/c 实验一大小写转换 【实验目的】 熟悉关系与逻辑运算,了解if-else的顺序与嵌套层次关系。 【实验内容】 下面程序希望完成大小写字母转换功能。若输入一个大写字母,则转化为小写输出;若输入小写字母则转化为大写输出;对其他字母则原样不变输出。程序以4_1.c命名,运行程序,分别输入一次大写、一次小写字母、一次‘#’进行验证。如果程序有错,请改正。 #include void main() {char ch; ch=getchar(); if('a'<=ch<='z') ch-=32; if('A'<=ch<='Z') ch+=32; putchar(ch);putchar('\n'); } 实验二算术运算 【实验目的】 学习if~else、switch语句的使用。 【实验内容】 键盘输入一个算术的运算式子,输出运算结果。这里我们规定可以接收五个算术运算的符号:+、-、*、/、^(乘方)。输入这五个符号以外的运算符号则提醒出错。程序以4_2.c命名并上交。 下图是输入输出的示意图: 输入一个加法的算术式: 输入一个除法的算术式: 输入一个乘方的算术式:

求3的平方根: 【实验提示】 本程序需要从键盘接收一个表达式,根据表达式中的运算符号实现相应的运算并将结果保存下来并输出。 C语言本身是没有乘方运算符的,可以调用数学函数pow(x,y)求x的y次方。注意一定要包含。【思考】 输入的表达式实质是按多个不同类型的数据来获取数据的。程序中需要定义多个变量来接收表达式中包含的数据与运算符,并设计相应的输入/输出函数实现。 实验三金额计算 【实验目的】 学习分析与解决实际问题的能力,综合嵌套使用if~else或switch语句。 【实验内容】 某服装店经营套服。以50套为限,若购买数量不少于50套,每套80元;不足50套时每套90元;只买上衣每件60元;只买裤子每条45元。编写程序实现:读入所买上衣c和裤子t的数量,计算应付款总量。程序以4_3.c命名并上交。 实验四成绩转换 【实验目的】 使用if~else、switch语句的嵌套完成程序。 【实验内容】 【实验提示】 本程序需要从键盘接收两个字符,先判断第一个字符,再判断第二个字符以确定其对应的百分制数。例如:输入4+,第一个字符等于'4',则应再判断第二个字符,如果是'+'则输出80,如果是回车符则输出75,如果是'-'则输出70。 【思考】 对于5+、4-这类输入的数据,程序中应采用什么数据类型与数据结构接收保存? 实验五判断天数 【实验目的】 熟练使用switch语句,并设计精巧程序。 【实验内容】

第三章 选择结构程序设计

第三章选择结构程序设计 选择结构 例1:输入一个整数a,判断是否为偶数。(是输出"yes"否则输出"no")。 ①输入a; ②判断 a 值; a mod 2 =0 yes 否则显示no ③根据判断结果显示不同的值。 IF语句 1、格式 Ⅰ、IF <布尔表达式>THEN 语句; Ⅱ、IF <布尔表达式>THEN 语句1 ELSE 语句2; (注意Ⅱ型IF语句中语句1后无";"号) 2、功能 Ⅰ、执行IF语句时,先计算<布尔表达式>的值,若为TRUE则执行语句,否则不执行任何操作。 Ⅱ、执行IF语句时,先计算<布尔表达式>的值,若为TRUE则执行语句1,否则执行语句2; Pascal程序: Program ex4_2; Var a:integer; Begin Write('a=');readln(a); If (a mod 2 =0)then writeln('yes') Else writeln('no'); Readln; End. 例2:超市里卖电池,每个电池8角钱,若数量超过10个,则可打75折。 ①输入X; ②判断 X 值; ③根据判断结果选择符合条件的那种方法计算Y值; ④输出计算结果。 Program ex2_2; Var Num:integer;Price,Total:real; Begin Write('Num=');readln(Num); Price=0.8;

If Num>10 then Price:=Price*0.75; Total:=Num*Price; Writeln('Total=',Total:0:2); Readln; End. 例3:读入三个不同的数,求出最大值。 例4:读入三个不同的数,编程按由小到大的顺序排列打印出来。 Progranm Exam2_4; Var a,b,c,t: Real; Begin Write('Input a, b,c='); Readln(a,b,c); if a>b then begin {复合语句} t:=a; a:=b; b:=t {交换a,b} end; if a>c then begin {复合语句} t:=a; a:=c; c:=t {交换a,c} end; if b>c then begin {复合语句} t:=b; b:=c; c:=t {交换b,c} end; Writeln('a,b,c:',a:6, b:6, c:6); Readln End. 复合语句 if 语句规定它的真项或假项位置上只能是一个基本语句,如果需要写一组语句,就应当使用复合语句。本程序中有三处用到复合语句。每个复合语句的范围是从Begin 开始到与它相对应的End为止。复合语句的地位和一个基本语句相同;其一般格式为:Begin <语句1>; <语句2>; … <语句n> End; 复合IF语句 Else二义性问题 IF <条件1> THEN IF <条件2> THEN <语句1>

第04章 选择结构程序设计

1第4章选择结构程序设计 4.1 关系表达式及逻辑表达式 4.2 if语句 4.3 switch语句 4.4 应用举例 2020/6/29

2 选择结构是结构化程序设计中的三种基 本结构之一。在大多数程序中都会包含选 择结构。它的作用是,根据所指定的条件 是否满足,决定从给定的两组或多组操作 选择其一。 本单元重点介绍if 语句和switch语句的 一般语法形式、功能以及程序应用实例。

3 4.1 关系表达式、逻辑表达式 1、关系表达式:用关系运算符将表达式连接起来的式子 ?优先级:(<<=>=>)>(==!=) ?结合性:自左至右; ?表达式的值:若为真,则结果为1; 若为假,则结果为0。 2、逻辑表达式:用逻辑运算符将表达式连接起来 的式子 ?优先级:!>&&>|| ?结合性:自左至右; ?表达式的值:若为真,则结果为1;

4 4.1 关系表达式、逻辑表达式 3. 运算符的优先级 ! 高 算术运算符 关系运算符 &&和|| 赋值运算符低

5 4.2.1 if 语句 If语句的三种形式 1.if(表达式)语句 这种if语句的执行过程如图: 表达式 语句假(0) 真(非0) main() { float x , y; scanf(“%f ”, &x); y = 2 * x ; if ( x < 0 ) y = 3 -x ; printf(“y= %6.2f”, y ); }

6 2.双分支选择语句 首先先判断表达式的值若为非0则执行语句1。若为0则执行语句2。 if (表达式)语句1 else 语句2 表达式 语句1语句2 真 假

第5章 选择结构程序设计

第5章选择结构程序设计 第一讲选择结构简介、单分支选择结构、多分支选择 结构 教学目标 1. 了解选择结构。 2. 理解掌握单分支选择结构和多分支选择结构的使用。 教学过程 预备知识 5.1 选择结构程序的设计 所谓选择结构就是由特定的条件决定执行哪条语句的程序结构。 在C#中,提供两种选择语句实现流程的改变: if语句,用于判断特定的条件能否满足,用于单分支选择,也可以通过嵌套实现多分支选择。 switch语句,用于多分支选择。 5.2 单分支选择结构(if语句) if语句是程序设计中基本的选择语句,它根据条件表达式的值选择要执行的后面的内嵌语句序列。一般用于简单选择,即选择项中有一个或两个分支,语句执行的过程中根据不同的情况进行选择其中一个分支执行。 5.2.1if 语句 格式: if(布尔条件表达式) 语句序列; 功能:根据布尔条件表达式的值进行判断: 当该值为真时执行if后的语句序列;

当该值为假时什么都不执行。 5.2.2if …else语句 格式为: if (布尔条件表达式) 内嵌语句序列1; else 内嵌语句序列2; 根据布尔条件表达式的值进行判断,当该值为真时执行if语句后的语句序列,当为假时,执行else语句后的语句序列。该结构一般用于两种分支的选择。 下面结合实例介绍if…else语句的使用方法。

【例5-1】某商店为了吸引顾客,采取以下优惠活动:所购商品在1000元以下的,打9折优惠;所购商品多于1000元的,打8折优惠。试采用if语句实现该优惠。 分析:该问题属于数学分段函数问题,当所购商品总额<1000元时,打折后的商品总额为(所购商品总额*0.9);当所购商品总额>1000时,打折后的商品总额为(所购商品总额*0.8)。 (1) 建立项目 在Visual https://www.doczj.com/doc/ca11685078.html,中, 打开“文件”菜单, 依次选择“新建→项目”命令, 打开“新建项目”对话框, 选择“Visual C#项目”, 选择“Windows应用程序”输入项目的名称和存放位置。 (2) 设计窗体 单击工作区左侧的“工具箱”或单击工具栏上工具箱图标,工具箱将显示在工作区左侧。添加相应的控件。 (3) 编辑代码 选中按钮控件,单击鼠标右键,在弹出的菜单中选择“查看代码”命令,或通过“视图”菜单中的“代码”命令,切换到代码视图。也可以双击控件直接在事件中添加代码。代码为: private void button1_Click(object sender, System.EventArgs e)

第4章 选择结构

第4章选择结构 1、以下选项中,当x为大于1的奇数时,值为0的表达式是 A) x%2==0 B) x/2 C) x%2!=0 D) x%2==1 参考答案:A 【解析】算术运算符的优先级高于关系运算符的优先级,所以当x为大于1的奇数时,A选项的值为假,即0?B选项的值为不定值,但绝对不是0?C选项的值为真,即1?D选项的值为真,即1? 2、当变量c的值不为2、4、6时,值为"真"的表达式是 A) (c>=2 && c<=6)&&(c%2!=1) B) (c==2)||(c==4)||(c==6) C) (c>=2 && c<=6)&& !(c%2) D) (c>=2 && c<=6) || (c!=3) || (c!=5) 参考答案:D 【解析】逻辑或表达式中有一个值不为0,结果即为真,逻辑与表达式中只有两个运算对象均非零,结果才为真?所以只有选项D满足要求? 3、以下叙述中正确的是 A) 在C语言中,逻辑真值和假值分别对应1和0 B) 关系运算符两边的运算对象可以是C语言中任意合法的表达式 C) 对于浮点变量x和y,表达式:x==y 是非法的,会出编译错误 D) 分支结构是根据算术表达式的结果来判断流程走向的 参考答案:B 【解析】A选项中,在C语言中,逻辑真值对应非0; C选项中,表达式:x==y 是合法的;D选项中,分支结构的流程走向是根据表达式的值,并不仅仅是算数表达式的值。因此B选项正确。 4、下列关系表达式中,结果为"假"的是 A) 3 <= 4 B) (3 < 4) == 1 C) (3 + 4) > 6 D) (3 != 4) > 2 参考答案:D 【解析】B选项中,关系表达式(3<4)==1即1==1,结果为真; C选项中,(3+4)>6即7>6,结果为真;A选项中,3<=4结果为真。D选项中,(3!=4)>2即1>2,结果为假。因此D选项正确。 5、以下叙述中正确的是 A) 对于逻辑表达式:a++ || b++,设a的值为1,则求解表达式的值后,b的值会发生改变 B) 对于逻辑表达式:a++ && b++,设a的值为0,则求解表达式的值后,b的值会发生改变 C) else不是一条独立的语句,它只是if语句的一部分 D) 关系运算符的结果有三种:0,1,-1 参考答案:C 【解析】B选项和A选项中,对于逻辑表达式,其中b的值不会因为表达式的结果发生改变;D选项中,关系运算符的结果有"真"和"假"两种。因此C选项正确。

相关主题
文本预览
相关文档 最新文档