《C程序设计基础》实验指导 下载本文

《C程序设计基础》实验指导

实验1 C程序的设计环境和运行方法

【实验目的】

1. 熟悉所用计算机系统的基本操作方法。

2. 学习Turbo C 2.0的使用方法,掌握程序编辑、编译、连接、运行及查看运行结果的方

法。

3. 掌握C程序的基本结构。 【实验内容】

1. 熟悉使用的计算机系统的基本操作,创建自己的工作目录,参照附录中介绍的方法,

掌握Turbo C 2.0的启动方法(一种或多种),了解Turbo C 2.0系统的安装路径和结构。 2. 进入Turbo C 2.0的工作环境,参照附录设置环境,用File/Change dir…设置当前工作目

录、用Options/Directories设置系统的安装路径、包含文件路径、标准库文件路径、输出文件路径和源文件路径。

3. 熟悉Turbo C 2.0的系统菜单组成及功能。学习使用功能键和快捷键调用菜单项的方法。

掌握文件建立、编辑、修改和保存的方法。落实文件的存储位置是否是你的工作目录,如果不是,回第二步重新设置。了解编译、连接和运行命令在屏幕菜单项的位置和调用方法。

4. 输入并运行下面最简单的C程序

① 使用File菜单的New命令创建一个新文件。 ② 在编辑区输入下面程序: #include mian() { printf(\ }

③ 按功能键F9进行编译和连接,观察屏幕显示的编译信息。如果出现出错信息,信息窗口中将显示错误内容及定位错误时的语句行号,修改错误,再进行编译。

④ 如果编译无错,按Ctrl+F9运行程序,按Alt+F5切换到用户屏,观察运行结果。 ⑤ 改变源程序中双引号内的字符串内容,重新编译和连接,并查看运行结果。

⑥ 保存文件,查看你的工作目录下是否有该文件。编译连接的中间文件应该在Output设置的目录中。如果没有设置Output目录,中间文件应该在当前工作目录中。

5. 输入并运行下面一个需要在运行时输入数据的程序,程序要求从键盘输入三个浮点数,

输出它们的和。 #include mian()

1

{float a,b,c,sum; printf(\ scanf(\ sum=a+b+c; printf(\ }

① 输入该程序,然后进行编译和连接,如果出错,仔细检查并修改错误,再进行编译连接,直到没有错误为止。

② 按Ctrl+F9运行程序,按照屏幕提示输入a、b、c三个变量的值,变量值之间用空格分隔,输入完毕按回车键【Enter】。

③ 查看运行结果,判断结果正确与否。

④ 保存文件,查看你的工作目录下是否有该文件。

实验2 数据类型和表达式计算

【实验目的】

1.掌握C语言基本数据类型的概念,理解数据类型与运算的关系。

2.熟悉简单变量的定义和赋值方法,掌握不同类型数据之间赋值的规律。

3.学习C语言运算符优先级和结合性的概念,掌握算术表达式的计算方法及表达式计算中的类型转换方法。

4.掌握数学表达式的程序表示方法。

5.进一步熟悉C程序的编辑、编译、连接和运行的过程。 【实验内容】

1.编程计算下面数学表达式的值

(1)

1200 (2)c×a2?b2 (3)lnln(103.5+2)

24?4?52.下面表达式计算中,哪些地方会发生类型转换?各个转换从什么类型转换到什么类型?表达式计算的结果是什么?试编程进行验证。 (1) 2.5+2*7%2/4 (2) 4*(2L+6.5)-12 (3) 10/(5*3) (4) 2*10.0/(5*3) 3.设:x=2.7,a=8,y=4.5,编程计算下面表达式的值:

y+a%5*(int)(x+y)/2%4

4.输入并运行下面程序,对照程序分析运行结果:

(1) 将一个大于32767的长整型数赋给整型变量,会得到什么结果。 (2) 将一个负整数赋给一个无符号的变量,会得到什么结果。 (3) 将一个字符型变量赋给一个整型变量,会得到什么结果。 程序如下:

#include

2

main() { int a,b; long d,e; unsigned f,g; char c; a=100; b=-100; c='a'; d=50000; e=32767;

printf(\ printf(\ printf(\ f=a; g=b;

printf(\ a=c;

printf(\ a=d; b=e;

printf(\}

实验3 顺序结构程序设计

【实验目的】

1.熟练掌握格式输入与格式输出函数的使用,理解scanf函数的工作过程。 2.熟练掌握赋值语句的使用方法。

3.进一步体会C程序的结构组成,体会主函数main的作用。 4.使用顺序结构解决几个简单的计算问题。 【实验内容】

1. 编写程序,使用格式输入函数,从键盘按顺序输入下列数据,再将其用合适的格式分

类输出到屏幕上。注意scanf函数的格式要求。 ‘a’、15、‘c’、100、20.6、60000、3500、32768、450.34、126.3455568

2. 编程计算半径r=2.5的圆面积、圆周长、球面积、球体积及球表面积。如果高h=4.5,

计算圆柱体的表面积和体积。显示结果保留两位小数。 3.输入下面程序并运行

3

#include main() { int a,b,c; a=getchar(); b=getchar(); c=getchar();

printf(\ printf(\}

输入: 1【Enter】 ab【Enter】

分析本题程序的输出结果,解释scanf函数的工作过程,试用其他输入数据验证你的分析结果。

4.以下C程序的功能是:从键盘依次输入4个整数,计算并输出这4个数的平均值。

#include main()

{ int a,b,c,d,av;

printf(\ Input a,b,c,d: \);

scanf(\ %d,%d,%d,%d\,&a,&b,&c,&d); av=(a+b+c+d)/4; printf(\}

观察运行结果,想一想为什么,将最后一句中的“%f”改为“%d”,观察结果有什么变化,如果想使计算结果为实数,如何修改程序?如果想计算4个实数的平均数,如何修改程序?

实验4 选择结构程序设计

【实验目的】

1.理解C语言表示逻辑量的方法,学会正确使用逻辑运算符和逻辑表达式。 2.掌握利用if结构实现选择结构的方法。 3.掌握利用switch结构实现多分支选择结构。 4.掌握若干简单算法。

5.学习选择结构程序的调试。 【实验内容】

1.编写程序计算下面分段函数的值:

2x+5 (x<0) f(x) = x2-x+3 (0≤x<10) x3-7x (x≥10)

4

具体要求如下:

(1) 用if语句实现分支,自变量和函数值均用双精度类型。 (2) 自变量用scanf函数输入,给一些输入提示。

(3) 分别输入三种区间中x的值,检查输出函数值是否正确。

2.编写程序,用scanf函数输入一个年份,计算该年2月份有多少天。

闰年的条件为:年份能被4整除但不能被100整除,或者年份能被400整除。

3.下面的程序,按颜色代码和颜色名称的对应关系,根据输入的颜色号,输出对应的颜色名称:0 -- Black , 1 -- Blue , 2 -- Green , 3 -- Red , 4 -- Yellow

#include main()

{ int color; /* 用整型数表示颜色号*/ printf(\ scanf(\ switch (color)

{ case 0: printf(\ Black\\n\);

break;

case 1: printf(\ Blue\\n\);

break;

case 2: printf(\ Green\\n\);

break;

case 3: printf(\

break;

case 4: printf(\

break;

default: printf(\}

运行程序,使用Turbo C中跟踪执行功能(功能键F8)查看程序执行过程。体会break语句的作用。去掉若干个break语句,观察运行结果有什么变化。并试着将程序结构改为嵌套if结构。运行并查看结果。

4. scanf函数输入一个百分制成绩,输出成绩等级A、B、C、D、E,其中90~100分为A,

80~89分为B,70~79分为C,60~69分为D ,60分以下分为E。

要求百分制成绩用整数输入,在输入前要有提示,输入后要判断成绩的合理性,对不合理的成绩,应输出出错信息。输出结果中应包括百分制和等级成绩,并要有文字说明。使用if语句和switch语句分别实现。

实验5 循环结构程序设计

【实验目的】

1.练习并掌握利用while语句、for语句、do_while语句实现循环结构的方法。 2.掌握循环结构和选择结构的嵌套设计方法。

3.掌握多重循环的设计方法,掌握控制语句break、continue、goto语句的使用方法。 4.调试和修改循环结构的程序。 【实验内容】

5