实验一 选择结构程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一选择结构程序设计
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");
}
程序运行结果:
例1.1 的程序运行结果
1.2.2 程序调试
1.分析并运行以下程序
#include"stdio.h"
main( )
{
int x, y;
printf("Enter x&y:\n");
scanf("%d%d",&x,&y);
printf("x, y: %d %d\n",x, y);
if(x>y) printf("x=%d\n",x);
if(y>x) printf("y=%d\n",y);
if(x==y) printf("x==y%d:\n",x);
}
若运行时输入35↵,则运行结果为:。
2.分析并运行以下程序
#include”stdio.h”
main( )
{
int a,b,c,t;
printf("input a, b, c: ");
scanf("%d%d%d",&a, &b, &c);
printf("a=%d,b=%d,c=%d\n",a, b, c);
if(a>b)
{t=a; a=b;b=t;}
if(a>c)
{t=a; a=c; c=t;}
if(b>c)
{t=b; b=c; c=t;}
printf("%d, %d, %d\n",a,b,c);
}
若运行时输入897↵,则运行结果为:。
3.分析并运行以下程序
#include”stdio.h”
main( )
{
int x,y;
printf("Enter x&y: ");
scanf("%d%d",&x,&y);
printf("x,y:%d%d\n",x,y);
if(x>y)
printf("max=x=%d\n",x);
else
printf("max=y=%d\n",y);
printf("**end**\n");
}
若运行时输入97↵,则运行结果为:。
4.输入并运行以下程序
#include”stdio.h”
main( )
{
int n;
printf("input n: ");
scanf("%d",&n);
if(n%3==0)
printf("n=%d YES\n",n);
else
printf("n=%d NO\n",n);
}
若运行时输入8↵,则运行结果为:。
5.输入并运行以下程序
#include”stdio.h”
main( )
{
int g;
printf("Enter a mark: ");
scanf("%d",&g);
printf("g=%d: ",g);
switch(g/10)
{
case 10:
case 9: printf("A\n"); break;
case 8: printf("B\n"); break;
case 7: printf("C\n"); break;
case 6: printf("D\n"); break;
default : printf("E\n");
}
}
若运行时输入85 ↵,则运行结果为:。
去掉每一句话后面的break语句,看看运行结果有什么不同。
6.输入并运行以下程序
#include"stdio.h"