习题3 上机题
1.
实验三 逻辑运算和判断选择控制(2学时)
一 目的要求
⑴ 了解C语言表示逻辑量的方法(以0代表假,以1代表真);
⑵ 掌握关系运算符、关系表达式、逻辑运算符和逻辑表达式的使用方法;
⑶ 熟悉掌握if语句和switch语句;
二 复习内容
基本内容: ⑴ 关系运算与逻辑运算;⑵ C语言的流程控制;⑶ if语句和利用if语句构成的选择结构;⑷ if 语句嵌套;⑸ 条件运算符与条件运算;⑹ switch 语句;
常用语法:
① if(表达式) 语句;
或 if(表达式) 语句1 else 语句2;
② switch(表达式)
{ case 常量表达式1:语句1;
……
case 常量表达式n:语句n;
default: 语句 n+1;
}
三 实验内容和步骤
⑴ 输入一个学生的成绩,如果它低于60,则输出”FAIL”, 否则,输出”PASS”。
⑵ 输入10个字符,统计其中英文字母、回车、数字和其他字符的个数。(要求用SWITCH语句来实现)
可参考P47 例3-1
⑶ 输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。
提示: 设char ch; ch=’A’;
则用语句 ch=ch+32; 即可以得到ch=’a’;
⑷ 输入4个整数,找出其中的最小值,最大值并且输出,输出格式为”a,b,c,d中最大值为?,最小值为?”。
可参考P57 例3-5
⑸ 输入一百分制成绩,要求输出成绩等级‘A’,‘B’,‘C’,‘D’,‘E’。90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。
(要求编写2个程序:
① 用if语句编程序;
②用switch语句编程序。)
要求做在实验报告册上上交(下周)。
每个题目包括以下要求:
1:题目
2:程序代码
3:编译结果
4:程序执行结果。
#include <stdio.h>
void main()
{
float cj;
printf("input cj:\n");
scanf("%f",&cj);
if (cj<60)
printf("fall\n");
else
printf("pass\n");
}
#include <stdio.h>
void main()
{
int blank,digit,i,letter,other;
char ch;
blank=digit=letter=other=0;
printf("input 10 characters:");
for(i=1;i<=10;i++)
ch=getchar();
switch(ch)
{
case((ch>='a'&&ch<='z')||(ch>='A'&& ch<='Z')):
letter++;
case(ch>='0'&& ch <='9'):
digit++;
case(ch==''0||ch=='\n'):
blank++;
default:
other++;
}
printf("letter=%d,bland=%d,digit=%d,other=%d\n",letter,blank,digit,other);
}
#include <stdio.h>
void main()
{
char ch;
printf("input 1 character:");
ch=getchar();
if (ch<'a')
ch=ch+32;
putchar(ch);
}
1.
实验三 逻辑运算和判断选择控制(2学时)
一 目的要求
⑴ 了解C语言表示逻辑量的方法(以0代表假,以1代表真);
⑵ 掌握关系运算符、关系表达式、逻辑运算符和逻辑表达式的使用方法;
⑶ 熟悉掌握if语句和switch语句;
二 复习内容
基本内容: ⑴ 关系运算与逻辑运算;⑵ C语言的流程控制;⑶ if语句和利用if语句构成的选择结构;⑷ if 语句嵌套;⑸ 条件运算符与条件运算;⑹ switch 语句;
常用语法:
① if(表达式) 语句;
或 if(表达式) 语句1 else 语句2;
② switch(表达式)
{ case 常量表达式1:语句1;
……
case 常量表达式n:语句n;
default: 语句 n+1;
}
三 实验内容和步骤
⑴ 输入一个学生的成绩,如果它低于60,则输出”FAIL”, 否则,输出”PASS”。
⑵ 输入10个字符,统计其中英文字母、回车、数字和其他字符的个数。(要求用SWITCH语句来实现)
可参考P47 例3-1
⑶ 输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。
提示: 设char ch; ch=’A’;
则用语句 ch=ch+32; 即可以得到ch=’a’;
⑷ 输入4个整数,找出其中的最小值,最大值并且输出,输出格式为”a,b,c,d中最大值为?,最小值为?”。
可参考P57 例3-5
⑸ 输入一百分制成绩,要求输出成绩等级‘A’,‘B’,‘C’,‘D’,‘E’。90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。
(要求编写2个程序:
① 用if语句编程序;
②用switch语句编程序。)
要求做在实验报告册上上交(下周)。
每个题目包括以下要求:
1:题目
2:程序代码
3:编译结果
4:程序执行结果。
#include <stdio.h>
void main()
{
float cj;
printf("input cj:\n");
scanf("%f",&cj);
if (cj<60)
printf("fall\n");
else
printf("pass\n");
}
#include <stdio.h>
void main()
{
int blank,digit,i,letter,other;
char ch;
blank=digit=letter=other=0;
printf("input 10 characters:");
for(i=1;i<=10;i++)
ch=getchar();
switch(ch)
{
case((ch>='a'&&ch<='z')||(ch>='A'&& ch<='Z')):
letter++;
case(ch>='0'&& ch <='9'):
digit++;
case(ch==''0||ch=='\n'):
blank++;
default:
other++;
}
printf("letter=%d,bland=%d,digit=%d,other=%d\n",letter,blank,digit,other);
}
#include <stdio.h>
void main()
{
char ch;
printf("input 1 character:");
ch=getchar();
if (ch<'a')
ch=ch+32;
putchar(ch);
}