(007)C语言程序设计1实验指导书(20学时) 下载本文

C语言程序设计I实验指导书

实验1 C编译环境(4学时)

第一次:

一、实验目的

1. 了解所用的计算机系统的基本操作方法,学会独立使用该系统。 2. 了解在该系统上如何编辑、编译、连接和运行一个C程序。 3. 通过运行简单的C程序,初步了解C源程序的特点。

二、实验内容和步骤

1. 检查所用的计算机系统是否已安装了C编译系统并确定它所在的子目录。 2. 进入所用的集成环境。

3. 熟悉集成环境的界面和有关菜单的使用方法。 4. 输入并运行一个简单的、正确的程序。

? 观察屏幕上显示的编译信息。如果出现“出错信息”,则应找出原因并改正之,

再进行编译,如果无错,则进行连接。

? 如果编译连接无错误,使程序运行,观察分析运行结果。 5. 输入并编辑一个有错误的C程序。

? 输入以下程序(教材第1章中例1.2,故意漏或打错几个字)

? 进行编译,仔细分析编译信息窗口,可能显示有多个错误,逐个修改,直到不

了现错误。最后请与教材上的程序对照。 ? 使程序运行,分析运行结果。

6. 输入并运行一个需要在运行时输入数据的程序。 7. 运行一个自己编写的程序。

? 输入自己编写的源程序。

? 检查程序有无错误(包括语法错误和逻辑错误),有则改之。

? 编译和连接,仔细分析编译信息,如有错误应找出原因并改正之。 ? 运行程序,输入数据,分析结果。 ? 自己修改程序(例如故意改成错的),分析其编译和运行情况。

三、预习内容

1. 《C程序设计》(第三版)第1章。

2. 本书第二部分中的有关部分(根据所用的C编译环境选择有关章节)。

第二次:

一、实验目的

1. 掌握不同的类型数据之间赋值的规律。

2. 学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)

和自减(--)运算符的使用。

3. 进一步熟悉C程序的编辑、编译、连接和运行的过程。

二、实验内容和步骤

调通作业3.6 3.7 3.8 3.10

注:在时间上可以把这两次实验统一安排。只要在两次实验中完成内容即可。只写一份实验报告(选做其中两题)。

实验2 顺序结构程序(2学时)

一、实验目的

1. 掌握C语言中使用最多的一种语句——赋值语句的使用方法。

2. 掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。

二、实验内容和步骤

1. 调通4.5程序掌握各种格式转换符的正确使用方法。

2. 按习题4.8要求编写程序,并上机运行。题目为:设圆半径 r=1 .5,圆柱高h =3,求

圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果。输出时要有文字说明,取小数点后两位数字。

3. 编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和scanf

函数输出这两个字符。

4. 上机运行程序,比较用printf和putchar函数输出字符的特点。

三、预习内容

预习教材第4章。

实验3 逻辑结构程序(2学时)

一、实验目的

1. 了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。 2. 学会正确使用逻辑运算符和逻辑表达式。 3. 熟练掌握if语句和switch语句。 4. 结合程序掌握一些简单的算法。 5. 学习调试程序。

二、实验内容和步骤

本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。 1. 习题5.5。有一函数:

? 用scanf函数输入x的值,求y值。

? 运行程序,输入x的值(分别为x<1、1~10、x≥10这3种情况),检查输出

的y值是否正确。

2. 给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,81~89

分为B,70~79分为C,60~69分为D,60分以下为E。(本题是教材第5章习题5.6)。 ? 事先编好程序,要求分别用if语句和switch语句来实现。运行程序,并检查

结果是否正确。

? 再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出

等级,修改程序,使之能正确处理任何数据,当输入数据大于100和小于0时,通知用户“输入数据错”,程序结束。

3. 输入3个整数,要求按由小到大顺序输出(本题是教材第5章习题5.9)。在得到正

确结果后,修改程序使之按由大到小顺序输出。

三、预习内容

预习教材第5章。

实验4 循环结构程序(4学时)

一、实验目的

1. 熟悉掌握用while语句、do-while语句和for语句实现循环的方法。

2. 掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。 3. 进一步学习调试程序。

二、实验内容和步骤

编程序并上机调试运行。

1. 输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数(本题

是教材第6章习题6.2)。

在得到正确结果后,请修改程序使之能分别统计大小写字母、空格、数字和其他字符的个数。

2. 猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了

一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩一个桃子了。求第一天共摘了多少桃子(本题是教材第6章习题6.10)。

在得到正确结果后,修改题目,改为猴子每天吃了前一天剩下的一半后,再吃两个。请修改程序并运行,检查结果是否正确。

三、预习内容

预习教材第6章。

实验5 数组(4学时)

一、实验目的

1. 掌握一维数组和二维数组的定义、赋值和输入输出的方法; 2. 掌握字符数组和字符串函数的使用;

3. 掌握与数组有关的算法(特别是排序算法)。

二、实验内容和步骤

编程序并上机调试运行

1. 用选择法对10个整数排序。10个整数用scanf函数输入(本题是教材第7章习题7.2)。 2. 有15个数存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第

几个元素的值。如果该数不在数组中,则输出“无此数”。以15个数用赋初值的方