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

第五章选择结构程序设计练习含答案v1
第五章选择结构程序设计练习含答案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()

{

int a,b,d=241;

a=d/100%9;

b=(-1)&&(-1);

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

}

A)6,1 B)2,1 C)6,0 D)2,0

【题5.13】执行以下语句后a的值为【1】,b的值为【2】。CA

int a,b,c;

a=b=c=1;

++a||++b&&++c;

【1】A)错误B)0 C)2 D)1

【2】A)1 B)2 C)错误D)0

【题5.15】以下不正确的if语句形式是。C

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

【题5.17】已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是。B 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

【题5.18】以下if语句语法正确的是。B

A)if(x>0)

printf(“%f”,x)

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

B)if(x>0)

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

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

C)if(x>0)

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

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

D)if(x>0)

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

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

【题5.19】请阅读以下程序:

main()

{

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

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

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

}

以下程序。D

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

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

【题5.20】以下程序的运行结果是。C

main()

{

int m=5;

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

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

}

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

【题5.21】当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是。B 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

【题5.22

下面程序段中能正确表示上面关系的是。C

A)y=x+1; B)y=x-1;

if(x>=0) if(x!=0)

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

else y=x-1; else y=x;

C)if(x<=0) D)y=x;

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

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

else y=x+1; else y=x+1;

【题5.23】以下程序的输出结果是。C

main()

{

int a=100,x=10,y=20,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)值不确定

【题5.24】以下程序的输出结果是。B

main()

{

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

if(x

if(y<0) z=0;

else z+=1;

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

}

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

【题5.25】为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与配对。B

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

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

【题5.26】以下不正确的语句为。B

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

【题5.27】请阅读以下程序:

#include

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;

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

}

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

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

【题5.28】若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是。B

A)(exp==0) B)(exp!=0)C)(exp==1) D)(exp<>0)

【题5.29】若运行时给变量x输入12,则以下程序的运行结果是。A main()

{

int x,y;

scanf(“%d”,&x);

y=x>12?x+10:x-12;

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

}

A)0 B)22 C)12 D)10

【题5.30】以下程序的运行结果是。D

main()

{

int k=4,a=3,b=2,c=1;

printf(“\n%d\n”,k

}

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

【题5.31】执行以下程序段后,变量a,b,c的值分别是。B

int x=10,y=9;

int a,b,c;

a=(--x==y++)?--x:++y;

b=x++;

c=y;

A)a=9,b=9,c=9 B)a=8,b=8,c=10

C)a=9,b=10,c=9 D)a=1,b=11,c=10

【题5.32】若w、x、y、z、m均为int型变量,则执行下面语句后的m值是。A w=1; x=2; y=3; z=4;

m=(w

m=(m

m=(m

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

【题5.33】若w=1、x=2、y=3、z=4,则条件表达式w

【题5.34】执行以下程序段后的输出结果是。C

int w=3,z=7,x=10;

printf(“%d\n”,x>10?x+100:x-10);

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

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

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

A)0 B)1 C)0 D)0

1 1 1 1

0 1 0 1

1 1 1 0

5.2 填空题

【题5.35】当a=3,b=2,c=1时,表达式f=a>b>c的值是【】。0

【题5.36】当a=5,b=4,c=2时,表达式a>b!=c的值是【】。1

【题5.37】以下程序的运行结果是。5 25 1

#include

void main(void)

{

int x=1,y,z;

x*=3+2;

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

x*=y=z=5;

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

x=y==z;

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

}

【题5.38】在C语言中,表示逻辑“真”值用【】。1

【题5.39】设y为int型变量,请写出描述“y是奇数”的表达式【】。y%2==1或 y%2!=0

【题5.40】C语言提供的三种逻辑运算符是【1】、【2】、【3】。&& || !

【题5.41】设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式【】。

【题5.42】设x,y,z均为int型变量,请写出描述“x,y和z中有两个为负数”的表达式【】。

【题5.50】条件“2

【题5.51】当m=2,n=1,a=1,b=2,c=3时,执行完d=(m=a!=b)&&(n=b>c)后;n的值是【0】,m的值是【1】。

【题5.52】以下程序的运行结果是。1,1

main()

{

int x,y,z;

x=1; y=2; z=3;

x=y--<=x||x+y!=z;

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

}

【题5.53】以下程序的运行结果是。a1=1 a2=1

b1=0 b2=1

main()

{

int a1,a2,b1,b2;

int i=5,j=7,k=0;

a1=!k;

a2=i!=j;

printf(“a1=%d\ta2=%d\n”,a1,a2);

b1=k&&j;

b2=k||j;

printf(“b1=%d\tb2=%d\n”,b1,b2);

}

【题5.54】以下程序的运行结果是。1,0

main()

{

int x,y,z;

x=1; y=1; z=0;

x=x||y&&z;;

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

}

【题5.61】若运行时输入:16<回车>,则以下程序的运行结果是。

#include

void main(void)

{

int year;

printf(“Input you year:”);

scanf(“%d”,&year);

if(year>=18)

printf(“you $4.5yuan/xiaoshi”);

else

printf(“you $3.0yuan/xiaoshi”);

}

【题5.62】若运行时输入:2<回车>,则以下程序的运行结果是。

#include

void main(void)

{

char Class;

printf(“Enter 1 for 1st class post or 2 for 2nd post”);

scanf(“%c”,&Class);

if(Class==‘1’)

printf(“1st class postage is 19p”);

else

printf(“2nd class postage is 14p”);

}

【题5.63】若运行时输入:4.4<回车>,则以下程序的运行结果是。

#include

void main(void)

{

float CostPrice,SellingPrice;

printf(“Enter Cost Price $:”);

scanf(“%f”,&CostPrice);

if(CostPrice>=5)

{

SellingPrice=CostPrice+CostPrice*0.25;

printf(“Selling Price(0.25)$%6.2f”,SellingPrice);

}

else

{

SellingPrice=CostPrice+CostPrice*0.30;

printf(“Selling Price(0.30)$%6.2f”,SellingPrice);

}

}

【题5.64】以下程序的运行结果是。

main()

{

if(2*2==5<2*2==4)

print(“T”);

else

printf(“F”);

}

【题5.65】请阅读以下程序:

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<回车>时,程序的运行结果是。

【题5.66】以下程序实现:输入圆的半径r和运算标志m,按照运算标志进行指定计算。

请在【】内填入正确内容。

标志运算

a 面积

c 周长

b 二者均计算

#define pi 3.14159

main()

{

char m;

float r,c,a;

printf(“input mark a c or b&&r\n”);

scanf(“%c %f”,&m,&r);

if(【1】) m==’a’

{ a=pi*r*r; printf(“area is %f”,a); }

if(【2】) m==’c’

{ c=2*pi*r; printf(“circle is %f”,c);}

if(【3】) m==’b’

{ a=pi*r*r; c=2*pi*r; printf(“area&&circle are %f %f”,a,c);} }

【题 5.67】若运行时输入:5999<回车>,则以下程序的运行结果(保留小数点后一位)是。3635.4

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);

}

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

main()

{

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

int 【1】; u,v;

if(【2】) u=x; x>y

else u=y;

if(【3】) v=u; u>z

else v=z;

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

}

【题5.69】以下程序实现:输入三个整数,按从大到小的顺序进行输出。请在【】内填入正确内容。

main()

{

int x,y,z,c;

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

if(【1】) y

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

if(【2】) x

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

if(【3】) x

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

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

}

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

main()

{

int x,y,z;

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

if(【1】) x

{ z=x; 【2】} x=y,y=z;

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

}

【题5.71】以下程序对输入的一个小写字母,将字母循环后移5个位置后输出。如‘a’变成‘f’,‘w’变成‘b’。请在【】内填入正确内容。

#include “stdio.h”

main()

{

char c;

c=getchar();

if(c>=‘a’&&c<=‘u’) 【1】; c=c+5;

else if(c>=‘v’&&c<=‘z’) 【2】; c=c-21;

putchar(c);

}

【题5.71】输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其它字符不变。请在【】内填入正确内容。

main()

{

char ch;

scanf(“%c”,&ch);

if(【1】) ch=ch+32; ch>=’A’ && ch<=’Z’

else if(ch>=‘a’&&ch<=‘z’) 【2】; ch=ch-32;

printf(“%c”,ch);

}

【题5.73】以下程序的运行结果是。2 0 0 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);

}

【题5.74】以下程序的运行结果是。20

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);

}

【题5.75】以下程序的运行结果是。5

5

1

#include

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);

}

【题5.76】以下程序的运行结果是。

#include

void main(void)

{

int x,y=-2,z;

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

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

else x=6;

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);

}

运行结果:

4 0

4 -2

【题5.77】请阅读以下程序:

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应满足的条件是【】。a0

【题5.78】请阅读以下程序:

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应满足的条件是【】。a<0 &&(a==b) 【题5.79】下面程序根据以下函数关系,对输入的每个x值,计算出y值。请在【】内填

main()

{

int x,y;

scanf(“%d”,&x);

if(【1】) y=x*(x+2);

else if(【2】) y=2*x;

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

else 【3】;

if(y!=-1) printf(“%d”,y);

else printf(“error”);

}

【题5.80】下面程序根据以下函数关系,对输入的每个x 值,计算出相应的y 值。请在【】

#include “math.h”

main()

{

int x,a;

float y;

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

if(【1】) y=0;

else if(【2】) y=sqrt(a*a-x*x);

else y=x;

printf(“%f”,y);

}

【题5.81】以下程序的功能是计算一元二次方程02=++c bx ax 的根。请在【】内填入正确内容。

#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=2*a;

term1=-b/twoa;

t=abs(disc);

term2=sqrt(t)/twoa;

if()

printf(“complex root\n real part=%f imag part=%f\n”,

term1,term2);

else

printf(“re al roots\n root1=%f root2=%f\n”,

term1+term2,term1-term2);

}

}

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

#include “math.h”

main()

{

float a,b,c;

float s,area;

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

if(【1】)

{

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

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

printf(“%f”,area);

if(【2】)

printf(“等边三角形”);

else if(【3】)

printf(“等腰三角形”);

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

printf(“直角三角形”);

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

}

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

}

【题5.83】某邮局对邮寄包裹有如下规定:若包裹的长宽高任一尺寸超过1米或重量超过30千克,不予邮寄;对可以邮寄的包裹每件收手续费0.2元,再加上根据下

表按重量wei计算的邮资:

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

main()

{

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

scanf(“%f %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);}

}

【题5.84】某服装店经营套服,也单件出售。若买的不少于50套,每套80元;不足50套的每套90元;只买上衣每件60元;只买裤子每条45。以下程序的功能是

读入所买上衣c和裤子t的件数,计算应付款m。请在【】内填入正确内容。

main()

{

int c,t,m;

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

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

if(【1】)

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

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);

}

【题5.85】以下程序的功能是判断输入的年份是否是闰年。请在【】内填入正确内容。

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”);

}

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

main()

{

int a,b,c,d;

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);

}

【题5.88】以下程序的运行结果是。

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);

}

【题5.96】以下程序的运行结果是。

#include

main()

{

int a=-10,b=-3;

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

printf(“%d,”,(a-b,a+b));

printf(“%d\n”,a-b?a-b:a+b);

}

【题5.97】以下程序的运行结果是。

main()

{

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

y=y+z;

x=x+y;

printf(“%d,”,x

printf(“%d,”,x

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

}

【题5.98】以下程序的运行结果是。

main()

{

int x,y,z;

x=3;

y=z=4;

printf(“%d,”,(x>=y>=x)?1:0);

printf(“%d\n”,z>=y&&y>=x);

}

【题5.99】若运行时输入:-2<回车>,则以下程序的输出结果是。

main()

{

int a,b;

scanf(“%d”,&a);

b=(a>=0)?a:-a;

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

}

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)

选择结构程序设计习题

选择结构程序设计练习 1.从键盘输入一个字符型数据,若输入一个数字字符('0'-'9'),则将其转换成相应的整数显示出来;若输入其它字符,则显示出错信息。[提示]根据字符型数据的ASCII码值是否在‘0’字符与‘9’字符之间进行判断。使用if…else…语句。 精选文档,供参考!

2.编写一个程序,其功能为:从键盘输入三个数x、y、z,判断x+y=z是否成立,若成立输出“x+y=z”的信息,否则输出“x+y!=z”的信息。[提示] 条件判断表达式x+y==z 3.编写一个程序,其功能为:输入三个整数,输出最大数和最小数。 [提示] 设置最大值变量max和最小值变量min;首先比较a,b的大小,并把大数存入max,小数存入min;然后最大值变量max和最小值变量min 再与c比较,若c大于max,则max取值c,否则保持不变;如果c小于min,则min取值c,否则保持不变。最后输出max和min的值。使用if…else…语句、if语句以及复合语句。 精选文档,供参考!

精选文档,供参考!

4.某产品生产成本c=c1+mc2,其中c1为固定成本,c2为单位产品可变成本。当生产数量m<10000时,c1=20000元,c2=10元;当生产数量m≥10000时,c1=40000元,c2=5元;编写一个程序,其功能为:分别计算出生产数量为6000以及25000时,总生产成本及单位生产成本。 精选文档,供参考!

5.分段函数的计算。编写一个程序,计算下列函数: y= x x<1 2x-1 1≤x<10 3x-11 x≥10 [提示]根据输入的x值的取值,计算y的值并输出。使用if…else if语句以及复合语句。 精选文档,供参考!

matlab选择结构程序设计答案讲解学习

m a t l a b选择结构程序 设计答案

实验三选择结构程序设计 一、实验目的 1、掌握建立和执行M文件的方法。 2、掌握利用if语句实现选择结构的方法。 3、掌握利用switch语句实现多分支选择结构的方法。 4、掌握try语句的使用。 二、实验内容 1、求分段函数的值。用if语句实现,分别输出x=-5.0,3.0,1.0,2.0,2.5,3.0,5.0时 的y值。 ①x=input('please input the value of x'); if x<0&x~=-3 y=x*x+x-6; elseif x>=0&x<5&x~=2&x~=3 y=x*x-5*x+6; else y=x*x-x-1; end y ②please input the value of x-5.0 y = 14 >> aaaaa please input the value of x-3.0

y = 11 >> aaaaa please input the value of x1.0 y = 2 >> aaaaa please input the value of x2.0 y = 1 >> aaaaa please input the value of x2.5 y = -0.2500 >> aaaaa please input the value of x3.0 y =

5 >> aaaaa please input the value of x5.0 y = 19 2、输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90分 ~100分为A,80分~89分为B,70分~79分为C,60~69分为D,60分以下为E。要求: (1)分别用if语句和switch语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理性的成绩应输出出错信息。 If语句 ①s=input('please input the score:'); if s>=90&s<=100 rank='A'; elseif s>=80&s<=89 rank='B'; elseif s>=70&s<=79 rank='C'; elseif s>=60&s<=69 rank='D'; elseif s>0&s<=59 rank='E';

循环结构程序设计课后习题及答案

循环结构程序设计习题及答案1、循环语句的三要素分别 是、、。 2、for语句括号内的3个表达式的作用分别 是、、。 3、在2层循环嵌套中,外层循环语句的每个执行周期中,内层循环语句都要完整地,只有当时,才结束整个循环。 4、在循环结构中,break语句的作用是;continue语句的作用是。 5、当循环条件一开始就为假时,对于while语句、do…while语句、for 语句,分别执行循环体次、次、 次。 6、下面程序段的执行次数: int a=0; while(a=0) { printf("good\n"); a--; } 7、下面程序段的执行次数: int a=0; while(a==0)

{ printf("good\n"); a--; } 8、下面程序段的执行次数: int a=1; while(a=1) { printf("good\n"); a++; } 9、下面程序段的执行次数: int a=1; while(a==1) { printf("good\n"); a++; } 10、下列程序段的运行结果是。 for(i=5;i>=0;i--) printf(“%d “,i); 11、下列程序段的运行结果是。 for(n=1;n<20;n=n+3) printf(“%d “,n); 12、下列程序段的运行结果是。

for( ch='a' ;ch<='e' ;ch++) printf(“%d“,ch-97); 13、下列程序段的运行结果是。 for(i=1,j=5 ; i

选择结构程序设计

第四章择路而行---选择结构程序设计 第一节路口诀择----条件语句 一、教学目标 1、掌握选择结构程序中常用的Qbasic语句。 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的值,计算y的值。 REM 程序名为:eg1.bas INPUT “请输入x的值:”,x IF x>=0 THEN Y=1+X ELSE Y=1-2*X PRINT "Y=";Y END 例:求一元二次方程Ax2+Bx+C=0(A<>0)的实数根。 分析:写写出程序的流程图,参考流程图来写程序。 程序清单如下: INPUT A,B,C D=B*B-4*A*C IF D<0 THEN then X1=(-B+SQR(D))/(2*A) X2=(-B-SQR(D))/(2*A) PRINT “X1=”;X1, “X2=”;X2 ELSE PRINT “此方程无实根” END

第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

程序的选择结构教学设计

程序的选择结构 教案编写教师:付虹杨 实际授课教师: ___________________ 实际授课日期:

Then End if Else The n Then Else Else End if 教学过程教师活动学生活动设计意图格式2:又叫块If I f 条件Then Else 2> End I 语句组1> 语句组说明: 新课讲授 (1)条件可以是算术表达式、关系表达式或逻辑表达式等。表达式都会 得到两种可能:非真即假,True或False。 (2)格式2中的if与end if 必须成对出现,缺一不可。 (3)在书写时,格式1中的<语句组>可以有多条语句,如 果有多条语句则必须写在一行,而且语句之间用冒号“:” 分隔开。格式2中的<语句组>中的多条语句,则需分行书写。 (4)将If、Else和End If 语句左对齐,而<语句组1>和<语 句组2>向右缩进若干空格,以使程序结构更加清楚,便 于阅读和查错。 4、条件语句的执行过程 当条件成立时,执行Then后面的语句组1, 否则执行语句组2 选择结构的流程图如下所示: 5、下面我们共同运用选择结构来解决问题:例1、选择题 将鼠标价钱大竞猜的程序补充完整。 Dim a As Si ngle a=I nputBox(“请输入您猜的价钱”) ____ a=20_Print"猜对了"__Print “猜错了” 学生边看课 件,边听教师 讲解选择结构 的基本格式。 注意事项,及 程序的执行过 程。 学生运用选择 结构将鼠标价 钱大竞猜程序 补充完整。 进一步理解 选择结构的 用法、格式、 功能。 让学生熟练 掌握双分支 选择结构的 两种基本格 式及相互转 换。

实验四-答案--选择结构程序设计讲课讲稿

实验四-答案--选择结构程序设计

实验四选择结构程序设计答案 实验时间:年月日【实验步骤】 一、程序调试练习 1、写出下列程序的运行结果: (1)ex4_1.c #include void main() { char ch; printf("input a character:"); ch=getchar(); if(ch>='A' && ch<='Z') ch=ch+32; printf("%c\n",ch); } 具体要求: ①从键盘上输入a,分析程序运行的结果。 ②从键盘上输入A,分析程序运行的结果。 ③从键盘上输入5,分析程序运行的结果。 程序运行结果: ①a ②a ③5 (2)ex4_2.c #include void main() { int x,y,z; printf("input x,y,z"); scanf("%d,%d,%d",&x,&y,&z); if(x

①从键盘上给x、y、z分别输入2,-1,2,分析程序运行的结果。 ②从键盘上给x、y、z分别输入3,5,2,分析程序运行的结果。 ③从键盘上给x、y、z分别输入-5,-3,2,分析程序运行的结果。 程序运行结果: ①z=2 ②z=3 ③z=0 (3)ex4_3.c #include main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d\n",a,b); } 程序运行结果: a=2,b=1 (4)ex4_4.c #include void main() { 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; case 3: a++; b++;

第五章选择结构程序设计练习含答案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() {

选择结构程序设计练习题

选择结构程序设计练习题 1.逻辑运算符两侧运算对象的数据类型( ) A.只能是0和1 B.只能是0或非0正数 C.只能是整型或字符型数据 D.可以是任何类型的数据 2.下列运算符中优先级最高的是( ) A.< B.+ C.&& D.!= 3.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假"的表达式是( ) 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)

4.表示图中坐标轴上阴影部分的正确表达式是( ) 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.判断char型量ch是否为大写字母的正确表达式是() A.‘A’<=ch<=‘Z’ B.(ch>=‘A’)&(ch<=‘Z’) C.(ch>=‘A’)&&(ch<=‘Z’) D.(‘A’<=ch)AND(‘Z’>=ch) 6.设x,y,z都是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是 () A.‘x’&&‘y’ B.x<=y C.x||y+z&&!y D.!(x

7.已知x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<‘B’&&!y)的值是() A.0 B.语法错误 C.1 D.“假” 8.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是() A.A%2==1 B.!(A%2==0) C.!(A%2) D.A%2 9.设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后的值为() A.1 B.2 C.3 D.4 10.下列运算符中优先级最低的是( )优先级最高的是( ) A.? B.&& C.+ D.!=

C语言选择结构程序设计编程题.doc

实验2 选择结构程序设计 一.实验目的: 1.掌握选择控制语句的使用方法; 2.了解C程序语句的执行过程。 二.实验内容: 1.编写程序:输入一个整数,判断该数的奇偶性。(输出相应的标志even-偶数odd-奇数,请记住这两个单词)。 2.从键盘输入的正整数,判断是否能被5和7同时整除,若是,则输出Yes;否则输出No。 3.输入一个字符,如果是大写字母改变为小写字母;如果是小写字母,则把它变为大写字母;若是其它字符则不变。 4.编写程序,对于给定的一个百分比制成绩,输出相应的五分制成绩。设:90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为’E’(用if…else…与switch 语句两种方法实现)。 5. 企业发放的奖金根据利润提成。利润(i)低于或等于10万元时,奖金可提成10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万元到40万元之间时,高于20万元的部分,可提5%;40万元到60万元之间时,高于40万元的部分,可提成3%;60万元到100万元之间时,高于60万元的部分,可提成1.5%;高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润i,求发放奖金总数。 6. 输入某年某月某日,判断这一天是这一年的第几天。 7. 输入一个字符,请判断是字母、数字还是特殊字符。 8. 身高预测: 男性成人身高=(父亲身高+母亲身高)*0.54cm 女性成人身高=(父亲身高*0.923+母亲身高)/2cm 如果喜爱体育锻炼,那么身高可增加2%;如果有良好的饮食习惯,可增加身高1.5%。键盘输入性别、父母身高、是否爱好体育锻炼、是否有良好的饮食习惯,利用给定身高预测方法对你的身高进行预测。 9. 要求用switch语句编程设计一个简单的计算器程序。要求根据用户从键盘输入的表达式。 操作数1 运算符op 操作数2 计算表达式的值。指定的算术运算符为加(+)、减(-)、乘(*)、除(/)。 在此基础上,增加如下要求: (1)如果要求程序能进行浮点数运算,程序应该如何修改?如何比较实型变量和常数0是否相等? (2)如果要求输入的算术表达式中的操作数和运算符之间可以加入任意多个空格符,那么程序如何修改? (3)如果要求连续多次算术运算,每次运算结束后,程序都给出提示: Do you want to continue(Y/N y/n)? 如果用户输入Y或y时,程序继续进行其它算术运算,否则程序才退出运行状态。那么程序如何进行修改?

C语言 选择结构程序设计练习题

第四章选择结构程序设计 一、填空 1.在C语言中,表示逻辑“真”值用_________。 2.得到整型变量a的十位数字的表达式为_________。 3.表达式:(6>5>4)+(float)(3/2)的值是_________。 4.表达式:a=3,a-1‖--a,2*a的值是_________。(a是整型变量) 5.表达式:(a=2.5-2.0)+(int)2.0/3的值是_________。(a是整型变量)6.C语言编译系统在给出逻辑运算结果时,以数值_________代表“真”,以 _________代表“假”;但在判断一个量是否为“真”时,以_________代表“假”,以_________代表真。 7.当m=2,n=1,a=1,b=2,c=3时,执行完d=(m=a!=b)&&(n=b>c)后,n的值为_________,m的值为_________。 8.若有int x,y,z;且x=3,y=-4,z=5,则表达式:!(x>y)+(y!=z)||(x+y)&&(y-z)的值为_________。 二、编程: 1.企业发放的奖金根据利润提成。利润(i)低于或等于10万元时,奖金可提10%; 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润i,求应发放奖金总数? 2.输入三个整数x,y,z,请把这三个数由小到大输出。 3.输入某年某月某日,判断这一天是这一年的第几天? 4.本程序演示从键盘输入x的值,计算并打印下列分段函数的值。 y=0(x<60) y=1(60<=x<70) y=2(70<=x<80) y=3(80<=x<90)

C语言程序设计习题答案

C 语言程序设计习题答案 习题一 C 语言程序设计概述 一、名词解释 (1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2 (5)高级语言P2 (6)编译程序P3 (7)解释程序P3 (8)算法P4 (9)结构化的程序设计P9 二、简述题 1. 设计程序时应遵循哪些基本原则?P4 答:正确性、可靠性、简明性、有效性、可维护性、可移植性。 2. 算法的要素是什么?算法具有哪些特点? 答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。 3. 算法的表示形式有哪几种? 答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S 流程图,盒图)。 4. 有哪三种基本结构? 答:三种基本结构是:顺序结构、选择结构和循环结构。 5. 传统流程图与N-S 流程图最大的区别是什么? 答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。 三、用传统流程图、N-S 图分别表示求解以下问题的算法。 1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。 2. 依次将10个数输入,求出其中最大的数 和最小的数并输出。 3. 求1+2+3+…+100的值。

5. 求下列分段函数的值。 6. 求100~200之间的所有素数。 7. 求一元二次方程ax 2+bx+c=0的根。分别考虑d=b 2-4ac 大于0、等于0和小于0三种情况。 四、注释下面C 程序的各个组成部分。 main() /*主函数 */ { /*程序开始 */ int a,k,m; /*定义三个用来存放整数的变量 */ a=10; /*将整数10赋值给变量a */ k=2; /*将整数2赋值给变量k */ m=1; /*将整数1赋值给变量1 */ a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量a */ printf("%d\n",a); /*在屏幕上打印出变量a 的值 */ } /*程序结束 */ 习题二 数据类型、运算符与表达式 一、选择题 1~10:BCDCB DDBCA 11~20: ADDAA DBADC 21~28: DABAD CDD Y= 3X (X<1) 4X-1 (X=1) 5(X-1)+6 (1

matlab选择结构程序设计问题详解

实验三选择结构程序设计 一、实验目的 1、掌握建立和执行M文件的方法。 2、掌握利用if语句实现选择结构的方法。 3、掌握利用switch语句实现多分支选择结构的方法。 4、掌握try语句的使用。 二、实验内容 1、求分段函数的值。用if语句实现,分别输出x=-5.0,3.0,1.0,2.0,2.5,3.0,5.0时的y 值。 ①x=input('please input the value of x'); if x<0&x~=-3 y=x*x+x-6; elseif x>=0&x<5&x~=2&x~=3 y=x*x-5*x+6; else y=x*x-x-1; end y ②please input the value of x-5.0 y = 14 >> aaaaa please input the value of x-3.0 y =

>> aaaaa please input the value of x1.0 y = 2 >> aaaaa please input the value of x2.0 y = 1 >> aaaaa please input the value of x2.5 y = -0.2500 >> aaaaa please input the value of x3.0 y = 5

please input the value of x5.0 y = 19 2、输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90分~100分为A,80 分~89分为B,70分~79分为C,60~69分为D,60分以下为E。要求: (1)分别用if语句和switch语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理性的成绩应输出出错信息。 If语句 ①s=input('please input the score:'); if s>=90&s<=100 rank='A'; elseif s>=80&s<=89 rank='B'; elseif s>=70&s<=79 rank='C'; elseif s>=60&s<=69 rank='D'; elseif s>0&s<=59 rank='E'; else rank='wrong socre' end rank ②>> >> bbb please input the score:94

选择结构程序设计(精)

实验七选择结构程序设计 一、实验目的 1、掌握应用双生选择结构设计程序解决一般的单分支问题。 2、掌握应用多重选择结构设计程序解决一般多分支问题 二、实验要求 1、对单分支和多分支的语句格式深入了解 2、利用单分支和多分支结构解决较复杂的问题 三、实验内容与步骤 计算机的判断功能是通过结构实现的。选择结构又称为分支结构,是程序设计中应用中较多的程序结构,其特点是由分支中的条件是否成立来决定程序执行的不同走向。 选择结构分为双重选择(IF-ELSE-ENDIF)和多重选择(DO CASE –ENDCASE)两种。 1、设计双重选择结构程序 计算电费:不超过50度,每度0.8元;超过50度时,超出部分每度1.20元. 解:电费DF显然为电量DL的一个分段函数: 0.8*DL (DL<=50) DF= 0.8*50+1.20*(DL-50) (DL>50) 应用选择结构完成电费DF的计算. 设计1: YY1.PRG SET TALK OFF CLEAR INPUT “请输入电量(度):” DL IF DL<=50 DF=0.8*DL ELSE DF=0.8*50+1.20*(DL-50) ENDIF ?”应缴电费:”,DF SET TALK ON RETU 设计2: *YY2.PRG SET TALK OFF CLEAR INPUT “请输入电量(度):” DL DF= 0.8*DL IF DL>50 DF=0.8*50+1.20*(DL-50) ENDIF ?”应缴电费:”,DF SET TALK ON

RETU 2、设计多重选择结构程序 设计程序处理商场推出让利用促销问题:凡购物金额超过500元未超过1000元者,返回20元,超过1000元,返回5%;超过2000元,返回7%,超过4000元,返回10%。输入购物金额,输出应交款数。 解:设购物金额为X,让利金额为Y,则应交款为X-Y。 根据输入的X,采用多重选择结构分5种情形计算Y,输出X-Y。程序为: *YY4.PRG CLEAR SET TALK OFF INPUT “请输入购物金额:”TO X Y=0 DO CASE CASE X〈500 Y=0 CASE X〈1000 Y=20 CASE X〈2000 Y=X*0.05 CASE X<4000 Y=X*0.07 OTHE Y=X*0.1 ENDCASE ?”应交款”,X-Y SET TALK ON RETURN 运行程序:DO YY4.PRG 请输入购物金额:3000 应交款:2790.00元 四、实验习题与思考 1、选择结构分哪几种?有哪几种方法实现多重选择? 2、双多重选择结构中,有ELSE与没有ELSE在功能上有什么区别? 3、在多重选择结构中,OTHERWISE子句的意义是什么?如果不要该子句,如何修改程 序? 4、从永州到长沙铁路托运行李的运费标准为:40千克及以下,每千克0.24元;超过40千克, 超出部分每千克0.42元.设计程序,输入行李重量,输出运费. 5、从键盘输入一个正整数X:若X为奇数,输出X+3,若为偶数,输出X/2。 6、设计多分支选择结构程序,输入一个考试得分F:若F大于或等于90分,显示“优秀”; 若F大于或等于80,显示“良好”;若F大于或等于70,显示“中等”;若F大于或等于60,显示“及格”;若F少于60,显示“补考”。

c语言程序设计第五版习题答案

c语言程序设计第五版习 题答案 Prepared on 24 November 2020

习题解析与答案 第1章C语言概述 一.简答题 1.概述C语言的主要特点。 【解答】 (1)语言简洁、紧凑,使用方便、灵活。 (2)数据类型丰富,表达能力强。 (3)运算符多样。C语言中的运算符包含的范围非常广泛。 (4)具有结构化的控制语句。如if…else语句、while语句、dowhile语句、switch语句、for语句。 (5)允许直接访问物理地址。C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。 (6)所生成的目标代码质量高,可移植性好。 2.构成C语言程序的基本单位是什么它由哪几部分组成 【解答】函数是构成C语言程序的基本单位。一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。 3.C语言程序的运行一般要经过哪几个步骤 【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。 二.运行程序写结果 1.输入下面程序并运行。 main() { inta1,a2,x; a1=100; a2=50; x=a1-a2; printf(″x=%d\n″,x); } 【解答】运行结果为:x=50 2.输入下面程序并运行。 main()

{ inta1,a2,x; a1=10; a2=20; x=a1*a2; printf(″a1=%d,a2=%d\n″,a1,a2); printf(″x=%d\n″,x); } 【解答】运行结果为:a1=10,a2=20 x=200 三.编程题 1.参照本章例题,编写一个C程序,用于显示如下信息: ************************* IloveCprograms! ************************* 【分析与提示】 ①要有文件包含语句#include<>。C语言中没有数据的输入、输出等功 能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf 等来实现的。这些函数的说明都包括在文件中。 ②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干 条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。 ③注意显示的信息有三行,所以要用到换行符“\n”。 参考代码: #include<> main() { printf("************************\n"); printf("IloveCprograms!\n"); printf("************************\n"); } 第2章数据类型及其运算一.简答题 1.C语言中的数据类型主要有哪几类 【解答】短整型(shortint) 整型整型(int) 长整型(longint) 基本类型字符型(char)(float) 实型(浮点型) 双精度(double) 枚举类型(enum) 数组类型

选择结构程序设计实验报告

嘉应学院计算机学院 实验报告 课程名称程序设计基础实验名称实验地点 指导老师实验时间提交时间 班级姓名座号 一、实验目的和要求 (1)了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。 (2)学会正确使用逻辑运算符和逻辑表达式。 (3)熟练掌握if语句的使用(包括if语句的嵌套)。 (4)熟练掌握多分支选择语句—switch语句。 (5)结合程序掌握一些简单的算法。 (6)进一步学习调试程序的方法。 二、实验环境和方法 实验方法: (一)综合运用课本所学的知识,用不同的算法实现在不同的程序功能。 (二)结合指导老师的指导,解决程序中的问题,正确解决实际中存在的异常情况,逐步改善功能。 (三)根据实验内容,编译程序。 实验环境:Windows xp Visual C++6.0 三、实验内容及过程描述 实验步骤: ①进入Visual C++ 6.0集成环境。 ②输入自己编好的程序。 ③检查一遍已输入的程序是否有错(包括输入时输错的和编程中的错误),如发现有错,及时 改正。 ④进行编译和连接。如果在编译和连接过程中发现错误,频幕上会出现“报错信息”,根据提 示找到出错位置和原因,加以改正。再进行编译,如此反复直到不出错为止。 ⑤运行程序并分析运行结果是否合理。在运行是要注意当输入不同的数据时所得结果是否正 确,应运行多次,分别检查在不同情况下结果是否正确。 实验内容: 本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。 (1)有一函数: () () ()? ? ? ? ? ≥ - < ≤ - < = 10 x 11 3 10 x 1 1 2 1 x x x x y

实验一 选择结构程序设计

实验一选择结构程序设计 1.1实验目的与要求 1.学会正确使用逻辑运算符和逻辑表达式的方法。 2.掌握程序的书写风格; 3.熟练掌握if语句的使用; 4.熟练掌握switch语句的使用。 1.2 实验内容 1.2.1 典型例题分析 【例1.1】编程实现,判别从键盘输入的一个字符是控制字符、数字、大写字母和小写字母中的哪一种。例如输入为“g”,则输出显示它为小写字符。 分析:可以根据输入字符的ASCII码来判别类型。由ASCII码表可知ASCII值小于32的为控制字符。在字符“0”和“9”之间的为数字,在字符“A”和“Z”之间为大写字母,在字符“a”和“z”之间为小写字母,其余则为其它字符。这是一个多分支选择的问题,所以用if-else-if语句编程,根据输入字符ASCII码所在的范围,分别给出不同的输出。 源程序代码: #include"stdio.h" main() { char c; printf("input a character: "); c=getchar(); if(c<32) //判断输入字符的ASCII值是否小于32 printf("This is a control character\n"); else if(c>='0'&&c<='9') //判断输入的字符是否在字符“0”和“9”之间 printf("This is a digit\n"); else if(c>='A'&&c<='Z') //判断输入的字符在字符“A”和“Z”之间 printf("This is a capital letter\n"); else if(c>='a'&&c<='z') //判断输入的字符在字符“a”和“z”之间 printf("This is a small letter\n"); else //判断输入的字符是否其它字符 printf("This is an other character\n"); } 程序运行结果:

第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.360docs.net/doc/146697959.html,中, 打开“文件”菜单, 依次选择“新建→项目”命令, 打开“新建项目”对话框, 选择“Visual C#项目”, 选择“Windows应用程序”输入项目的名称和存放位置。 (2) 设计窗体 单击工作区左侧的“工具箱”或单击工具栏上工具箱图标,工具箱将显示在工作区左侧。添加相应的控件。 (3) 编辑代码 选中按钮控件,单击鼠标右键,在弹出的菜单中选择“查看代码”命令,或通过“视图”菜单中的“代码”命令,切换到代码视图。也可以双击控件直接在事件中添加代码。代码为: private void button1_Click(object sender, System.EventArgs e)

相关文档
最新文档