实验2 顺序结构程序设计
一、实验目的
1.掌握赋值语句的用法。
2.掌握各种数据的输入、输出方法,能正确使用各种格式转换符。
3.熟悉顺序结构程序中语句的执行过程。
4.能设计简单的顺序结构程序。
5. 进一步掌握编写程序和调试程序的方法。
二、实验内容
1.输入并运行以下程序。(设x赋值为5,y赋值为6,c语言入门书籍排行榜ch1赋值为’a’,ch2赋值为’b’,ch3赋值为’c’,注意程序运行时怎么输入数据)
#include<stdio.h>
int main()
{ int x,y;
char ch1,ch2,ch3;
scanf("%d,%d",&x,&y);
getchar(); //得到scanf语句输入的回车符
printf("x=%d,y=%d\n",x,y);
scanf("%c%c%c",&ch1,&ch2,&ch3);
printf("ch1=%c,ch2=%c,ch3=%c\n",ch1,ch2,ch3);
return 0;
}
运行以上程序(可以直接复制),回答以下问题
1) 输入“24,36”并回车,再输入“abcdef”,输出结果是什么?
答:x=24,y=36,ch1=a,ch2=b,ch3=c.
2) 输入“12 35” 并回车,再输入“abcdef”,输出结果是什么?
答:x=12,y=-858993460,ch1=3,ch2=5,ch3=
解释以上情况出现的原因。提示:从scanf语句的格式进行分析,并总结使用scanf语句需要注意什么。
答:因为scandf中的两个%d用“,”连接,所以第一种输入正确。而第二种的空格也被认为是一个字符,导致Y不能识别到正确的值,ch3无可识别的值。注意:要看清scandf语句中的%d用什么间隔,就要用什么输出。
3)有如下几个scanf语句,其中a为整型变量,b为单精度变量,请出语法正确的scanf语句,并写出对应的正确输入。、
scanf(“%d”,&a); √
scanf(“%f”,&a);
scanf(“%d%f”,&b,&a);
scanf(“%d%f”,&a,&b);
scanf(“a=%d,b=%f”,&a,&b); √
scanf(“%d, %f”,&a,&b); √
scanf(“%f, %d”,&a,&b);
2.输入一个小写字母,将其转换成大写字母后输出。
#include<stdio.h>
void main()
{
char c1,c2;
c1=getchar();
printf("%c\n",c1);
c2=c1-32;
printf("%c\n",c2);
}
3.输入三角形的边长,求三角形的面积。面积公式如下:
提示:求平方根可用sqrt函数,要调用该函数,在程序的起始处加上头文件包含命令#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c,m,s,e;
scanf("%f,%f,%f",&a,&b,&c);
m=(a+b+c)/2;
e=m*(m-a)*(m-b)*(m-c);
s=sqrt(e);
printf("s=%f\n",s);
return 0;
}
4.有一圆柱体,底半径为r,圆柱高为h, 求圆柱底面积、圆柱表面积和圆柱体积。输出时要有文字说明,结果保留两位小数。
#include<stdio.h>
#include<math.h>
int main()
{
float r,s1,s2,v,pi,h;
scanf("%f,%f",&r,&h);
pi=3.14;
s1=pi*r*r;
s2=2*(pi*r*h);
v=(pi*r*r*h)/3;
printf("圆柱的底面积s1=%7.2f\n圆柱的侧面积s2=%7.2f\n圆柱的体积v=%7.2f\n",s1,s2,v);
return 0;
}
提示:C编译系统不知圆周率的值。可定义一个符号常量PI,并给其赋初值。
四、附加题(选作)
1.输入任意一个三位数,将其各位数字反序输出(例如:输入123,输出321)。提示,思考怎么由1个三位数得到对应的每一位数
2.编程从键盘输入两个整数分别给变量a和b,分别写出不借助于其他变量和借助于其他变量的条件下,将变量a和b的值实现交换。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论