- C语言实验指导及习题解析
- 钱冬梅 王宁
- 1788字
- 2025-03-22 01:05:14
实验三 C语言的输入和输出控制
一、实验目的
(1)掌握各种格式说明符的用法。
(2)掌握输入/输出库函数scanf()、printf()的功能及使用方法。
(3)掌握字符输入/输出库函数getchar()、putchar()的功能及使用方法。
(4)能独立编写顺序结构程序并调试通过。
二、实验内容
1.计算3个整数的乘积
编写程序求3个整数的乘积。该程序主要由实现如下功能的语句构成:
(1)定义整型变量x、y、z和result。
(2)提示用户输入3个整数。
(3)从键盘读入3个整数并将其分别存入变量x、y和z中,输入3个整数时用“,”隔开。
(4)计算3个整数的积并将结果赋值给变量result。
(5)打印“乘积等于:”,并紧跟着打印整型变量result的值。
2.交换两个变量的值
编写程序交换两个变量的值。输入两个数分别存入变量x、y,交换两个变量的值并输出x、y的值。
3.输出菱形图案
编写程序在屏幕上输出由星号(*)组成的菱形图案,程序运行结果应为:

4.将连续输入的4个数字字符组成一个整型数值
编写程序将输入的4个数字字符组成一个整型数值。如输入4个字符分别是1、2、4、8,应该得到一个整型数值1248。
5.逆序输出3位数
编写程序逆序输出一个3位正整数的每一位数字。如3位正整数123,输出结果应为321。
三、实验指导
1.计算三个整数的乘积
1)编程分析
(1)本题主要考查printf()函数和scanf()函数的基本用法。
(2)通过scanf函数输入数据时,各个数据之间默认的分隔符是空格、Tab或Enter键,如果指定“,”或其他字符作为输入间隔,须在scanf()函数中的“格式控制”字符串中加入新指定的间隔符。
2)参考程序

3)程序调试
(1)输入数据时,除了输入满足条件的数据,还应考虑输入不满足条件的数据,如实数、字符,观察会是什么结果。
(2)考虑如果输入数据间隔符改为空格、Tab或回车,应该如何修改。
2.交换两个变量的值
1)编程分析
交换两个变量的值需要引入第三个中间变量,就如交换两个杯子里的水需要使用第三个杯子,交换杯子里的水一共需要3个步骤完成,同理,两个变量值的交换也需要3条语句完成。
2)参考程序

3)程序调试
考虑不引入第三个变量,利用两个变量自身是否能完成两个变量值的交换。
3.输出菱形图案
1)参考程序

2)程序调试
可考虑打印正方形、椭圆、箭头等形状。
4.将连续输入的4个数字字符组成一个整型数值
1)编程分析
(1)字符在机器内以整型常量的形式存放,对应的值就是该字符在规定的字符集中的ASCII码,数字字符0到9所对应的ASCII码为48到57。
(2)首先将数字字符转换成相应的数值,如字符“1”转换成数值1,就可通过对应ASCII码的运算完成转换,字符“1”的ASCII码为49,只须用“1”减“0”或者“1”减48即可。
(3)转换成数值后分别通过乘以1000、100、10等将数值放到相应的千位、百位、十位和个位。
2)参考程序

3)程序调试
运行程序时,应考虑如下问题:
(1)使用字符输入函数getchar()完成赋值。
(2)若将字符“0”换成48,观察并分析结果。
5.逆序输出3位数
1)编程分析
一个3位数是一个整体,若逆序输出,首先应将3位数的个位数、十位数及百位数通过求余运算或除运算或两种运算结合分离出来,再逆序存放到相应的位置即可。
2)参考程序

四、自主设计题
题目1.编程实现:已知圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积,要求小数点后面保留两位小数,数据由键盘输入。
简单提示:
程序可分为3部分:输入部分、计算部分、输出部分。输入部分输入单精度型变量r、h的值,可利用格式输入函数scanf()完成;计算处理部分利用相关的计算公式来完成问题的求解。
其中:圆周长l=2*PI*r;
圆面积s=PI*r*r;
圆球表面积sq=4*PI*r*r;
圆球体积vq=4.0/3.0*PI*r*r*r;
圆柱体积vz=PI*r*r*h;
PI为符号常量,代表3.1415926。
输出部分利用格式输出函数printf()完成各数据的输出,可采用%m.nf格式。
注意:
应尽力追求程序的可读性和可操作性控制。比如要求输入数据,应当显示提示字符串,提示用户输入;输出时要求有文字说明。
题目2.输入一个华氏温度,要求输出摄氏温度,公式为c=5/9·(f-32),输出要有文字说明,取两位小数。
简单提示:
参考实验内容中的第一个实验。
题目3.编程实现输入两个整数a和b(设a=1900,b=450),求a除以b的商和余数,要求按如下形式输出结果(□表示空格)。
a=□1900,b=□450
a/b=□□4,the□a□mod□b=□100
简单提示:
输入部分输入整型变量a、b的值,可利用格式输入函数scanf()完成;计算处理部分求a/b的商和余数,利用赋值语句完成;输出部分利用格式输出函数printf()完成格式输出,可采用%md格式。