实验三 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格式。