选择结构程序设计题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

选择结构程序设计

一、实验目的

1.熟练掌握关系表达式和逻辑表达式的使用。

2.熟练掌握嵌套的if语句和switch语句实现多分支结构程序设计。

3.掌握选择结构程序设计的方法。

4.继续熟悉跟踪调试程序的方法和过程。

二、实验内容及步骤

1.分析程序并上机运行验证结果。

#include

void main()

{

int a,b,t;

printf("请输入a,b的值:");

scanf("%d,%d",&a,&b);

if(a

{t=a;a=b;b=t;}

printf("%d ,%d \n",a,b);2,3>>3,2 3,2>>3,2

}

思考:

从输入数据和运行结果分析程序的功能。

将“{t=a;a=b;b=t;}”改为“t=a,a=b,b=t;”,程序的功能改变了吗?为什么?一样的

将“if(a

2.分析程序功能,上机验证时输入不同的数据。

#include

void main()

{

int a,b;

printf("请输入a,b的值:");

scanf("%d,%d",&a,&b);

if (b) printf("a/b=%d \n",a/b); //在确保b非零的情况下执行a/b运算

else printf("ERROR:Cannot divide by zero!\n");

}

提示:

程序的功能是实现两个整数相除。程序设计时应避免被零除的错误,所以“if(b)printf("a/b=%d \n",a/b);”就是在确保b非零的情况下执行a/b运算。

if(b)也可以写作if(b!=0)。

3.阅读、分析程序,记录结果,并上机运行验证结果。

#include

void main()

{

char c;

printf("Enter a single character:");

c=getchar( );

if((c>= 'A'&&c<='Z')|| (c>= 'A'&&c<='Z'))

printf("It’s an alphabetic character.\n");

else if(c>= '0'&&c<='9')

printf("It’s a digit.\n");

else printf("It’s a special character.\n");

}

9 enter It’s a digit. ! It's a special character A It's an alphabetic character 4.分析程序,记录结果,并上机运行验证结果。

#include

void main()

{

int a=1,b=2,c=3,d=4,m=1,n=1,t;

t=((m=a>b)&&(n=c>d));

printf("%d , %d ,%d \n",m,n,t);

}

0,1,0

5.阅读、分析程序,记录结果,并上机运行验证结果。

#include

void main( )

{

int a=13,b=21,m=0;

switch(a%3)

{

case 0:m++;break;

case 1:m++;

switch(b%2)

{

default:m++;

case 0:m++;break;

}

}

printf("m=%d\n",m);

} 3

6.阅读、分析程序,记录结果,并上机运行验证结果。

#include

void main()

{

int score;

char ch;

printf("请输入你的期末考试成绩:");

scanf("%d ",&score);

ch= score>=60? '\1': '\2';

printf("%c",ch);

}

78-78 enter kulian

7.请将下列程序填写完整,并上机运行验证。

(2007年9月)以下程序的功能是:输出a、b、c三个变量中的最小值。

#include

void main()

{

int a,b,c,t1,t2;

scanf("%d%d%d",&a,&b,&c);

t1=a

t2=c

printf("%d\n",t2);

} 4 5 6enter 4

8.改正下列程序中的错误,程序功能是判定输入的字符如果是大写字母,则将其改为对应的小写字母,否则输出数据出错提示。

#include

void main( )

{

char x,y;

printf("Please input the upper letter:");

scanf("%c",&x);

if(x>='A'&&x<='Z')

y=x+32;

printf("The lower letter is:%c\n",y);

else

printf("The input data is wrong!\n");

}

改正后

#include

void main( )

{

char x,y;

printf("Please input the upper letter:");

scanf("%c",&x);

if(x>='A'&&x<='Z')

{y=x+32;

printf("The lower letter is:%c\n",y);}

else

printf("The input data is wrong!\n");

}

9.下列程序的功能是输出3个整数中的中间数。找出程序中的错误并按照程序的思