数学与统计学院C语言实验.docx

上传人:b****8 文档编号:10353477 上传时间:2023-02-10 格式:DOCX 页数:76 大小:515.38KB
下载 相关 举报
数学与统计学院C语言实验.docx_第1页
第1页 / 共76页
数学与统计学院C语言实验.docx_第2页
第2页 / 共76页
数学与统计学院C语言实验.docx_第3页
第3页 / 共76页
数学与统计学院C语言实验.docx_第4页
第4页 / 共76页
数学与统计学院C语言实验.docx_第5页
第5页 / 共76页
点击查看更多>>
下载资源
资源描述

数学与统计学院C语言实验.docx

《数学与统计学院C语言实验.docx》由会员分享,可在线阅读,更多相关《数学与统计学院C语言实验.docx(76页珍藏版)》请在冰豆网上搜索。

数学与统计学院C语言实验.docx

数学与统计学院C语言实验

 

 

《C语言程序设计》实验指导与报告书

2012-2013学年第2学期

陆建明编写

 

姓名:

______________

学号:

______________

班级:

______________

指导教师:

______________

数学与统计学院

2012

目录

 

实验要求1

C程序上机的步骤2

实验1:

TurboC集成开发环境和C程序实现3

实验2:

基本数据类型的使用8

实验3:

运算符与表达式14

实验4:

顺序结构程序设计19

实验5:

选择结构程序设计22

实验6:

循环结构程序设计25

实验7:

多重循环结构程序设计28

实验8:

一维数组与二维数组31

实验9:

字符数组与字符串35

实验10:

函数的定义、声明和调用38

实验11:

指针41

实验12:

编译预处理、结构体数据类型45

实验13:

文本文件操作48

实验14:

小规模实用软件的设计50

附录1:

VisualC++集成开发环境的调试52

附录2:

全国计算机二级C语言上机模拟试卷61

附录3:

江苏省二级C语言上机模拟试卷66

实验要求

C语言程序设计实验是C语言程序设计课程的重要组成部分,属于学科基础实验范畴,是与相关教学内容配合的实践性教学环节。

学生通过实验,验证课堂学习的知识,掌握算法设计、编程实现和程序调试的方法,从而形成一定的编程能力。

在《C语言程序设计》的课程实验过程中,要求学生做到:

(1)预习实验指导书有关部分,认真做好实验内容的准备,就实验可能出现的情况提前作出思考和分析。

(2)仔细观察上机编程时出现的各种现象,记录主要情况,作出必要说明和分析。

(3)认真书写实验报告。

实验报告包括实验目的和要求,实验情况及其分析,写出程序设计说明,给出源程序框图和清单。

(4)遵守机房纪律,服从辅导教师指挥,爱护实验设备。

(5)实验课程不迟到,如有事不能出席,所缺实验一般不补。

本实验指导内容的编写,是根据本课程教学大纲的指导下,以提高学生的实践能力为目的而编写。

要求学生在上机实验前进行预习准备,实验过程认真调试,实验结束后完成实验报告。

本实验指导设计了十四个实验,学生务必独立完成。

 

C程序的上机步骤

在编好一个C源程序后,如何上机运行呢?

在纸上写好一个程序后,要经过以下几个步骤:

上机输入与编辑源程序→对源程序进行编译→库函数连接→运行可执行的目标程序。

过程如下图所示:

实验1:

TurboC集成开发环境和C程序实现

一、实验目的

1、掌握WindowsDOS环境的操作以及有效管理用户程序文件。

2、熟悉C程序的实现过程和方法。

(1)掌握编辑、编译、连接、运行程序的过程和方法。

(2)了解常见的两种语法错误(Error/Warning)。

3、了解TurboC集成开发环境强大的功能。

二、实验内容

1、WindowsDOS环境的操作以及有效管理用户程序文件,即:

掌握切换工作驱动器;创建、进入用户目录;目录列表(注意可以随时用图形界面比较)的命令。

2、了解TurboC集成开发环境的功能,熟悉菜单、热键基本操作

(1)启动、退出TurboC集成开发环境。

(2)了解F5/F6;F10,→、←、↑、↓功能键;Alt+高亮度键的效果和作用。

(3)激活文件菜单(File)、编译菜单(Compile)、运行菜单(Run)、监视菜单(Break/Watch),查看菜单选项。

3、在TurboC下完成“源程序清单”中规定的程序题。

三、实验要求

1、实验中仔细观察本实验创建的目录、文件,回答实验小结和思考中的问题。

2、在TurboC下完成“源程序清单”中规定的程序题。

编辑、编译、运行程序并获得程序结果;如果程序有错,记录编译、连接遇到的提示错误。

仔细思考出错原因,并更正之。

3、编制的程序必须保存在D:

\用户目录中。

注:

用户目录可以用学号或姓名拼音简写。

四、实验步骤、过程

1、启动操作系统,查找TurboC集成开发环境安装位置(路径)。

假如为:

C:

\TC,查看目录中是否有tc.exe,此程序就是TurboC集成开发环境的执行程序。

记录您的系统TurboC2.0的安装位置。

2、切换到D盘,创建、进入用户目录。

创建以学号为目录名的用户目录;

以后您的程序默认保存在此目录下!

3、启动、退出TurboC集成开发环境。

(1)启动TurboC集成开发环境。

如TurboC集成开发环境安装位置(路径)为:

C:

\TC,则:

C:

\>c:

\tc\tc<回车>启动TurboC集成开发环境。

(2)退出TurboC集成开发环境。

File-Quit退出TurboC集成开发环境

(3)再次启动TurboC环境。

C:

\>c:

\tc\tc<回车>

4、TurboC环境中,F5/F6;F10,→、←、↑、↓功能键;Alt+高亮度键的效果和作用。

(1)重复按F6键,仔细观察。

当前激活窗口在编辑窗口、消息窗口之间切换。

(2)重复按F5键,仔细观察。

当前激活窗口最大,正常状态之间切换。

(3)先按F10,可以看到主菜单被激活,按→、←,主菜单各个项被依次激活,试着按↑、↓可以打开相应菜单。

重点浏览File(文件管理)、Run(程序运行控制)、Compile菜单(程序编译、连接)菜单。

最后按ESC键光标回到编辑窗口。

(4)主菜单各个项,首字母为红色(高亮度)。

可以按Alt+高亮字母,直接激活相应菜单选项。

例如按Alt+F激活File菜单,比F10再按光标快捷多了!

按ESC键光标回到编辑窗口。

(5)观察当前源程序名NONAME.C表示当前的程序还没有取名字,以后保存程序时,系统会提示输入源程序名。

5、按照下面步骤完成第1个程序题。

(1)“File”-“New”创建一个新的源程序文件

(2)输入源程序,全屏幕编辑源程序。

(3)“File”-“Save”保存源程序(文件名应按题目要求)。

观察编辑窗口源程序名是否已经修改。

用Windows资源管理器查看用户目录中是否产生了源程序文件*.c。

(4)“Compile”-“Buildall”编译、连接源程序。

如果有语法错误,修改源程序后再次编译、连接程序,直到没有语法错误,系统提示成功。

编译连接成功后用Windows资源管理器查看用户目录中是否产生了目标文件*.obj,可执行文件*.exe,观察其命名规则。

(5)“Run”-“Run”运行程序,用Alt-F5切换到用户屏幕查看运行结果。

对比结果是否与预期相同。

如果发现逻辑错误-结果与预期不同,修改源程序,重复(3)-(5)保存、编译、运行程序,直到程序获得正确结果。

注意:

⏹必须顺序完成程序编辑、编译连接、运行的各个过程。

没有正确编译成功的程序是不可能运行的!

⏹程序开发中经常用“File”-“Save”保存源程序以免意外导致源程序丢失。

6、按步骤5完成第2个程序题。

注意:

Error-致命错的程序不能产生目标程序、执行程序,必须修改程序,并重新编译,直到成功。

7、按步骤5完成第3个程序题。

注意:

Warning-警告错的程序可以产生目标程序、执行程序,试着运行一下,结果是?

!

^_^,还是修改吧,警告错一般也意味着程序有毛病,尽管这种程序可以强行编译连接为可执行程序,但结果一般都有问题。

五、源程序清单、测试数据、结果。

1、最简单的C程序。

(要求文件名:

1_1.c)

#include

main()

{

printf(“Helloworld!

\n”);

}

2、一个具有致命语法错的程序。

(要求文件名:

1_2.c)

#include

main()

{

inti=9

printf(“i=%d\n”,i)

}

2、一个具有警告语法错的程序。

(要求文件名:

1_3.c)

main()

{

inti=9,j,s;

s=i+j;

printf("s=%d\n",s);

}

六、实验出现的问题、实验结果分析(语法错英语提示,中文翻译,原因,您的理解?

1、

 

2、

 

3、

 

七、实验小结和思考

1、您自己的系统上TurboC安装目录在哪里?

TurboC集成开发环境程序名是什么?

答:

 

2、F5/F6;F10,→、←、↑、↓功能键;Alt+高亮度键的效果和作用?

答:

 

3、与C语言程序直接相关的几种文件及扩展名分别是什么?

答:

 

4、C语言程序主要的实现过程?

答:

 

5、C语言程序主要的错误?

答:

 

八、实验评分

实验预习30%

实验过程40%

实验报告30%

成绩

实验日期:

 年 月 日

实验2:

基本数据类型的使用

一、实验目的

1、掌握C语言基本数据类型(整型,实型,字符型)数据的常量表示、变量的定义和使用。

2、掌握常见格式控制字符对输出结果的控制作用。

3、了解数据溢出错误和舍入误差(以整型、实型数据为例)。

4、进一步熟悉C程序的实现过程。

二、实验内容

在TURBOC下完成“源程序清单”中规定的程序题(4个)。

三、实验要求

1、实验前认真预习,自行分析4个程序题的结果,体会本次实验的目的并了解实验要求。

实验时仔细对比程序实际运行结果,认真思考并回答实验小结和思考中的问题。

2、在TURBOC下完成“源程序清单”中规定的程序题。

编辑、编译、运行程序并获得程序结果;如果程序有错,记录编译、连接遇到的提示错误。

仔细思考出错原因,并更正之。

3、编制的程序必须保存在E:

\用户目录中。

注:

用户目录可以用学号或姓名拼音简写。

4、学生可以对实验程序进行修改、补充,以便上机完成自己需要的程序验证和测试。

在完成实验要求的工作外,要学会创造性的工作。

四、实验步骤、过程

1、启动操作系统,进入DOS窗口;切换到用户磁盘,创建、进入用户目录。

(方法、命令与实验1相同)

2、启动TURBOC集成开发环境。

(方法与实验1相同)

3、完成4个程序题。

(编辑、编译连接、运行程序,步骤与实验1相同)

注:

(1)仔细观察2_3,2_4两个程序的编译、连接、运行过程,系统提示错误吗?

程序运行结果有问题吗?

(2)经常用“File”-“Save”(热键F2)保存源程序以免意外导致源程序丢失。

4、退出TURBOC集成开发环境,关机。

五、源程序清单、测试数据、结果。

(注释供阅读、理解程序,上机时不必输入)

1、写出一个程序测试整型、字符型数据表示,并输出以验证是否正确。

(要求文件名:

2_1.c)

#include

main()

{

intx=010,y=10,z=0x10;/*整型数据表示*/

charc1='M',c2='\x4d',c3='\115',c4=77,c;/*字符型数据表示*/

/*整型数据的输出*/

printf("x=%o,y=%d,z=%x\n",x,y,z);

/*数据以原进制输出,注意是否有前导0或0x*/

printf("x=%d,y=%d,z=%d\n",x,y,z);

/*数据以10进制输出,换算到10进制,结果对吗?

*/

/*字符型数据的输出*/

printf("c1=%c,c2=%x,c3=%o,c4=%d\n",c1,c2,c3,c4);

/*数据以原进制输出,注意是否有前导0或0x*/

printf("c1=%c,c2=%c,c3=%c,c4=%c\n",c1,c2,c3,c4);

/*结果都是什么字符?

,也就是说字符可以自由的表示成几种形式?

*/

printf("c1=%d,c2=%d,c3=%d,c4=%d\n",c1,c2,c3,c4);

/*看看这些字符的10进制ASCII码,哦,ASCII码一样,同一种字符*/

/*字符型数据参与算术运算*/

c=c1+32;/*字符怎么参加了数学运算,哦,是字符对应的ASCII码-整数

/*参与数学运算;结果还是一个整数-另外一个字符的ASCII码*/

printf("c=%c,c=%d\n",c,c);

/*看看这个字符是什么?

哇,'M'+32='m'了,看看ASCII码表,原来如此!

*/

}

结果:

 

2、常见预定义的转义字符对输出的控制作用。

(要求文件名:

2_2.c)

#include

main()

{

inta,b,c;

a=5,b=6,c=7;

printf("12345678123456781234567812345678\n");/*打印一个标尺以便检查输出结果*/

printf("%d\n\t%d%d\n%d%d\t\b%d\n",a,b,c,a,b,c);/*打印1个字符串*/

printf("c:

\\a.txt");/*打印一个文件名*/

printf("\n");

}

结果:

 

3、整型数据的溢出错误。

(要求文件名:

2-3.c)

整型(int型)数据的表达范围是-32768~32767,如果最大允许值32767+1,最小允许值-32768-1,会出现什么情况?

#include

main()

{

inta,b;

a=32767;

b=a+1;

printf("a=%d,a+1=%d\n",a,b);

a=-32768;

b=a-1;

printf("a=%d,a-1=%d\n",a,b);

getch();//获得键盘击键,起到暂停程序运行作用,目的是保留用户屏幕,便于查看结果。

}

结果:

 

4、实型数据的舍入误差。

(要求文件名:

2_4.c)

实型变量只能保证7位有效数字,后面的数字无意义

#include

main()

{

floata,b;

a=123456.789e5;

b=a+20;

printf("a=%f,b=%f\n",a,b);

printf("a=%e,b=%e\n",a,b);

}

结果:

 

六、实验出现的问题、实验结果分析(语法错英语提示,中文翻译,原因,您的理解?

1、

2、

3、

七、实验小结和思考

(1)C语言中整型数据、一般的字符型数据分别可以以什么形式表示?

答:

补码两个字节的二进制

一个字节八位二进制表示

 

(2)程序2_1.c中c4=77,c=c4+32说明什么问题?

答:

说明大写字母M的ASCII码加32变成小写字母m

 

(3)程序2_1.c中c=77是否还可以写成c=0x4d,c=0115?

答:

 

(4)简述转义字符:

‘\n’,‘\t’,‘\b’的功能?

答:

 

(5)可以用一个字符串表示文件的路径,请问路径的连接符‘\’在C语言中如何表示?

若要表示D:

\wubin\stu.dat这个文件,C语言如何表示?

答:

一个、写成双、、

 

(6)观察2_3,2_4两个程序的编译、连接、运行过程,系统提示错误吗?

程序运行结果有问题吗?

思考如何解决?

答:

 

(7)使用计算机处理数据可能出现溢出错误和舍入误差,这对我们编制程序有什么要求?

答:

 

(8)写出一个演示字符型数据溢出的程序。

(提示:

参考2_3.c)

#include

main()

{

chara,b;

a=127;

b=a+1;

printf("a=%d,a+1=%d\n",a,b);

a=-128;

b=a-1;

printf("a=%d,a-1=%d\n",a,b);

getch();

}

结果:

 

八、实验评分

实验预习30%

实验过程40%

实验报告30%

成绩

实验日期:

 年 月 日

实验3:

运算符与表达式

一、实验目的

1、掌握C语言算术、赋值、自增、自减运算符及相应表达式

2、掌握不同类型数据之间的赋值规律

3、了解强制数据类型转换以及运算符的优先级、结合性。

4、学会根据表达式,编写相应程序,验证表达式结果的方法。

二、实验内容

1、已知:

a=2,b=3,x=3.9,y=2.3(a,b整型,x,y浮点),计算算术表达式(float)(a+b)/2+(int)x%(int)y的值。

试编程上机验证。

提示编程要点:

(1)先判断结果值类型,可设置一个此类型的变量用于记录表达式结果,本例用r存放结果;

(2)程序先给几个条件变量赋初值,然后将表达式赋值给变量r;

(3)最后打印变量r的值就是表达式的值。

您分析的表达式结果:

2、已知:

a=7,x=2.5,y=4.7(a整型,x,y浮点),计算算术表达式x+a%3*(int)(x+y)%2/4的值。

试编程上机验证。

您分析的表达式结果:

3、已知:

a=12,n=5(a,n整型),计算下面表达式运算后a的值。

试编程上机验证。

(1)a+=a

(2)a-=2(3)a*=2+3(4)a/=a+a(5)a%=(n%=2)(6)a+=a-=a*=a

您分析的表达式结果:

(1)

(2)(3)(4)(5)(6)。

4、分析下面程序结果,并上机验证。

#include

main()

{

inti,j,m,n;

i=8;j=10;

m=++i;

n=j++;

printf("i=%d,j=%d,m=%d,i=%d\n",i,j,m,n);

}

您分析的表达式结果:

5、将k分别设置为127,-128,128,-129,分析下面程序结果,并上机验证。

#include

main()

{

floata=3.7,b;

inti,j=5;

intk=127;/*用127,-128,128,-129测试*/

unsignedU;

longL;

charC;

i=a;printf("%d\n",i);/*浮点赋值给整型*/

b=j;printf("%f\n",b);/*整型赋值给浮点*/

U=k;printf("%d,%u\n",U,U);/*相同长度类型之间赋值*/

L=k;printf("%ld\n",L);/*整型赋值给长整型,短的类型赋值给长的类型*/

C=k;printf("%d\n",C);/*整型赋值给字符型,长的类型赋值给短的类型*/

}

您分析的表达式结果:

结果行

k=127

k=128

k=-128

k=-129

1

2

3

4

5

三、实验要求

1、1-3题要求实验前手工计算,并编制好上机测试用源程序,以便上机实验。

2、4、5题要求实验前分析程序结果,以便上机时对比结果。

3、实验中仔细观察、记录、比较实验结果,如果不一致应找出原因。

4、编制的程序必须保存在D:

\用户目录中。

注:

用户目录可以用学号或姓名拼音简写。

四、实验步骤、过程

1、启动操作系统,进入DOS窗口;切换到用户磁盘,创建、进入用户目录。

(方法、命令与实验1相同)

2、启动TURBOC集成开发环境。

(方法与实验1相同)

3、完成5个程序题。

(编辑、编译连接、运行程序,步骤与实验1相同)

注:

经常用“File”-“Save”(热键F2)保存源程序以免意外导致源程序丢失。

4、退出TURBOC集成开发环境,关机。

五、源程序清单、测试数据、结果。

1、(要求文件名:

3_1.c)

 

结果:

 

2、(要求文件名:

3_2.c)

 

结果:

 

3、文件名:

3_3.c

 

结果:

 

4、文件名:

3_4.c

 

结果:

 

5、文件名:

3_5.c

 

结果:

 

六、实验出现的问题、实验结果分析(语法错英语提示,中文翻译,原因,您的理解?

1、

2、

3、

七、实验小结和思考

(1)C语言取整是4舍5入?

还是截断取整?

答:

阶段取整

 

(2)总结赋值转换原则。

答:

先计算表达式的值,然后转换再赋值

 

(3)通过本次实验你学会编写程序来验证表达式结果,这对我们学习C语言有什么启发?

 

八、实验评分

实验预习30%

实验过程40%

实验报告30%

成绩

实验日期:

 年 月 日

实验4:

顺序结构程序设计

一、实验目的

1、掌握:

使用标准输入/输出函数进行常见数据类型的数据的输入/输出方法。

2、初步培养编制程序框图和源程序、准备测试数据以及实际调试程序的独立编程能力。

二、实验内容

在TURBOC下完成程序题:

(1)设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积.用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。

编写程序实现。

(2)输入三角形的三边长,求三角形的面积。

输出时要有格式说明,取2位小数。

注:

为简单起见,设输入的三边长a,b,c(如a=3,b=4,c=5)能构成三角形。

求三角形的面积公式为:

area=

其中s=(a+b+c)/2;

(3)编程序求一元二次方程

+bx+c=0的解。

用a=3,b=-12,c=-15来验证结果。

输出时要求有文字说明,格式要直观。

注:

变量名可以自由选择,以易于理解为原则;数据由键盘输入。

三、实验要求

1、实验前编制程序框图、编写源程序、准备测试数据。

2、实验测试数据要求从键盘输入。

应尽力追求程序的完美。

比如要求输入数据,应当显示提示字符串,提示用户输入;输出时要求有文字说明。

3、在TURBOC下完成程序的编辑、编译、运行,获得程序结果。

如果结果有误,应找出原因,并设法更正之。

4、编制的程序必须保存在D:

\用户目录中。

注:

用户目录可以用学号或姓名拼音简写。

四、实验步骤、过程

1、启动操作系统,进入DOS窗口;切换到用户磁盘,创建、进入用户目录。

(方法、命令与实验1相同)

2、启动TURBOC集成开发环境。

(方法与实验1相同)

3、完成2个程序题。

(编辑、保存、编译连接、运行程序,步骤与实验1相同)

4、退出TURBOC集成开发环境,关机。

五、源程序清单、测试数据、结果。

1.根据圆柱体的半径和高,计算圆周长、圆面积、圆柱体表面积、圆柱体体积

程序

 

运行:

 

2.输入三角形的三边长,求三角形的面积。

输出时要有格式说明,取2位小数。

 

3.编程序求一元二次方程

+bx+c=0的解。

用a=3,b=-12,c=-15来验证结果。

输出时要求有文字说明,格式要直观。

 

六、实验出现的问题、实验结果分析

1、

2、

 

七、实验小结和思考

1、若scanf("%f,%f",&price,&discount);如何输入两个数据?

 

2、仔细观察两个程序变量采用什么类型,思考为什么不用整型?

 

八、实验评分

实验预习30%

实验过程40%

实验报告30%

成绩

实验日期:

 年 月 日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 文化宗教

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1