C程序设计实验指导书 - 2014版

实验二 简单C程序设计

(2) 操作符sizeof用以测试一个数据或数据类型所占用的存储空间的字节数。请编写一个程序,测试在你的系统中,各种基本数据类型所占用的存储空间大小。例如,在VC6.0中,你测试int数据类型,程序会输出: int: 4 bytes

/ * 用sizeof测试一个数据类型占用的存储空间 */ void main() { }

【例2】本例要说明在一个运算符前后的空格是很重要的。研究下面的代码,并写出你模拟运行的结果。再编写一个程序,检查你的答案。 int a, b = 0, c = 0; a = ++b + ++c;

printf(―%d %d %d\\n‖, a ,b, c); a = b++ + c++; printf(―%d %d %d\\n‖, a, b, c); a = ++b + c++; printf(―%d %d %d\\n‖, a, b, c); a = b-- + --c; printf(―%d %d %d \\n‖, a, b, c); 模拟运行结果为:

增量运算符++ 和减量运算符--的用法特点:

11

实验二 简单C程序设计

【例3】除了printf( )外,下面的程序是完整的。它用整数除和取模运算符把秒转换成分和秒。

/ * */ /* Convert seconds to minutes and seconds.*/ #include void main( ) { int input_value,minutes,seconds; printf(―Input the number of seconds: ―); scanf(―%d‖,&input_value); minutes = input_value / 60; seconds = input_value % 60; printf( ); }

请你编写一个适当的printf( )语句完成这个程序。例如,如果在提示后输入123,程序应该输出: 123 seconds is equivalent to 2 minutes and 3 seconds.

【思考】你能修改你的程序,从而实现把秒转换成小时、分和秒吗?例如,如果在提示后输入7382,你的程序应该输出: 7382 seconds is equivalent to 2 hours,3 minutes and 4 seconds.

【例4】当输入流为“56789 0123 45a72”时,执行下面的程序段 int i, j; float x, y; char c; scanf(―-%f%*d%f%c%d‖,&i.&x,&y,&c,&j);

之后,变量i, j, x, y,中的内容各是什么?先写出你的分析结果,再编程验证你的答案。 分析结果为:

编程作业

1. 请你编写一个交互式程序。通过键盘输入圆的半径和圆柱的高度,程序则计算出圆周长、圆面积、圆球表面积、圆球体积和圆柱体积,并在屏幕上整齐地输出所有结果。自己设定输出数据的小数点位数。

【思考】你编程时,考虑到如何检测输入数据的合理性了吗?那么该如何实现呢?你可以去教材第5章寻找解决方法!如果你这样做了,那么,祝贺你,你是一个爱思考和喜欢主动学习的学生,你具有了成为一名优秀程序员的素质!

12

实验二 简单C程序设计

程序流程图 void main() { } 2. Jujius Caesar生活在充满危险和阴谋的年代,为了生存,他首次发明了密码,用于军队消息的传递。假设你是Caesar军团中的一名军官,需要把Caesar发送的消息破译出来,并提供给你的将军。消息加密的方法是:对消息原文中的每个字母,分别用该字母之后的第5个字母替换(例如,消息原文中的每个字母A都分别替换成字母F),其它字符不变,并且消息原文中的所有字母都是大写的。请你编程实现。(? 完成这道题目,你就可以和你的朋友用密码通信联系了!当然了,你还可以设计自己的密码!)

要求:输入为一行加密消息,输出为Caesar的原始消息。

程序流程图 void main() { } 13 实验二 简单C程序设计

选做题

1.已知一个整数的值,求它的平方和平方根,输出时要求有文字提示,并取小数点后两位。

2.编程序,用getchar 函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输出这两个字符。上机运行程序,比较用printf和putchar 函数输出字符的特点。

好的编程习惯

1. 注释对程序的可阅读性是十分重要的。适当使用注释可让他人明白程序做什么以及程序如何工作。个人和组织应该采取并遵循一致的注释风格。风格是一种习惯。良好的习惯有助于编程。

一种文件开头的注释模板如下:

/*************************************************************** **文件名:

**Copyright ? 2007-2008 *****学院*****班级 **创建人: **日期: **文件描述: **版本:

**************************************************************/

2. 应该尽量使用标准库函数。

知识点描述及编程体会

实验成绩 签名

年 月 日

14

联系客服:779662525#qq.com(#替换为@)