实验三顺序结构程序设计
一、实验目的
1、掌握C 语言中赋值语句的使用方法;
2、掌握不同类型数据的输入输出方法,能正确使用各种格式字符;
二、实验预习
1、认真阅读数据的输入输出部分内容。
三、实验指导
1、从键盘输入两个0 到127 的整数,求两数的平方差并输出其值以及这两个整数的ASCII 码对应的字符。
(1)算法分析:标准ASCII 码值范围是0 到127,所以在这范围内的数可以以字符形式输出,实现方法是用格式输出函数并用格式符c 控制输出。
(2)根据结果书写源程序
#include<stdio.h>
void main( )
{
int x,y,sub ;
scanf("%d%d",&x,&y);
/* 变量前一定要加取地址符& */
sub=x*x-y*y ;
printf("%c,%c,%d",x,y,sub);
}
(3)在C 编辑环境下编辑源程序。
(4)编译【F9】,直到程序没有错误。
(5)运行【Ctrl+F9】,从键盘输入:
100 50↙
注意输入时两数间应以空格间隔,不能用逗号,只有源程序输入函数中两格式符以逗号间隔时输入才可以是:100,50↙
(6)查看结果【Alt+F5】,输出内容如下:
d,2,7500
2、输入程序
#include <stdio.h>
void main( )
{
int a,b ;
float d,e ;
char c1,c2 ;
double f,g ;
long m,n ;
unsigned int p,q ;
a=61 ;
b=62 ;
c1='a' ;
c2='b' ;
d=3.56 ;
e=-6.87 ;
f=3157.890121 ;
g=0.123456789 ;
m=50000 ;
n=-60000 ;
p=32768 ;
q=40000 ;
printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);
printf("f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u\n",f,g,m,n,p,q);
}
(1)运行程序并分析结果。
(2)在此基础上,修改程序的第8~13 行:
a=61; b=62;
c1=a; c2=b;
f=3157.890121; g=0.123456789;
d=f; e=g;
p=a=m=50000; q=b=n= - 60000;
运行程序,分析结果。
(3)改用scanf 函数输入数据而不用赋值语句,scanf 函数如下:
scanf(“%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u”,&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n, &p,&q);
输入的数据如下:
61,62,a,b,3.56,-6.87,3157.890121,0.123456789,50000,-60000,32768,40000(回车)
(说明:lf 和ld 格式符分别用于输入double 型和long 型数据)分析运行结果。
(4)将printf 语句改为:
printf(“a=%d,b=%d\nc1=%c,c2=%c\nd=%15.6f,e=%15.12f\n”, a,b,c1,c2,d,e);
printf(“f=%f,g=%f\nm=%d,n=%d\np=%d,q=%d\n”, f, g, m, n, p, q);
运行程序,分析结果。
(5)将p、q 改用%o 格式符输出。运行程序,分析结果。
四、实验内容
1、在C 编辑环境下编辑实验指导中给出的程序、编译并运行。
2、本节实验题目:printf输出格式lf
(1)从键盘输入两个字符,要求输出这两个字符,并输出它们的ASCII 码及其ASCII码的平方和的平方根。
提示:字符变量以它的ASCII 码值参加运算;求平方根应用函数SQRT,此函数存放在数学函数库中;求出的平方根可能不是整数。
五、实验报告要求
实验结束后,应整理实验报告,其内容应包括:
1、实验题目
2、设计思路
3、写出程序源代码
4、写出程序运行结果
5、对实验结果进行分析、总结
实验四选择结构程序设计
一、实验目的
1、学会正确使用逻辑运算符及逻辑表达式;
2、熟练掌握if 语句与switch 语句;
二、实验预习
1、认真阅读if 语句和switch 语句部分内容。
2、编写好所需要的程序。
三、实验指导
1、输入三角形的三边长,判断这个三角形是否是直角三角形。
(1)算法分析:直角三角形斜边最长,要先出三边中最长的边,判断最长边的平方是否等于其余两边的平方和,若相等就是直角三角形。
根据分析结果书写源程序。
#include<stdio.h>
void main( )
{
int a,b,c,t ;
/* 三边设为a,b,c,t 是用于交换的中间变量*/
scanf("%d,%d,%d",&a,&b,&c);
if(a<b)
{
t=a ;
a=b ;
b=t ;
}
/* a 中放a,b 中较长边*/
if(a<c)
{
t=a ;
a=c ;
c=t ;
}
/* a 中放a,b,c 中的最长边*/
if(a*a==b*b+c*c)
printf("Y");
else
printf("N");
}
(2)编辑源程序
(3)编译【F9】,直到没有错误。
(4)运行【Ctrl+F9】,输入:
3,4,5↙
(5)查看结果【Alt+F5】,输出:
Y
四、实验内容
1、在C 编辑环境下编辑实验指导中给出的程序、编译并运行。
2、本节实验题目:
(1)给出一个百分制成绩,要求输出成绩等级A、B、C、D。90 分以上为A,80~89
分为B,70~79 分为C,60~69 分为D,60 分以下为E。
事先编好程序,要求分别用if 语句和switch 语句实现。运行程序,并检查结果是否正确。再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级。
修改程序,使之能正确处理任何数据。当输入数据大于100 或小于0 时,通知用户“输入数据错”,程序结束。
根据上述题目要求编程并上机调试运行。
五、实验报告要求
实验结束后,应整理实验报告,其内容应包括:
1、实验题目
2、设计思路
3、写出程序源代码
4、写出程序运行结果
5、对实验结果进行分析、总结
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论