c语言实验指导书全稿.docx
- 文档编号:30037513
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:94
- 大小:246.44KB
c语言实验指导书全稿.docx
《c语言实验指导书全稿.docx》由会员分享,可在线阅读,更多相关《c语言实验指导书全稿.docx(94页珍藏版)》请在冰豆网上搜索。
c语言实验指导书全稿
目录
实验一Turboc集成开发环境的使用2
实验二数据类型、运算符与表达式14
实验三数据的输入、输出19
实验四选择结构程序设计24
实验五循环语句31
实验六数组37
实验七函数45
实验八指针53
实验九结构体与共用体59
实验十位运算与文件操作65
附录一、C语言上机考试样题71
附录二、重庆市二级C考试样题73
附录三、学C语言常犯的错误74
实验报告要求79
参考文献79
实验一Turboc集成开发环境的使用
一、实验目的
1.掌握TurboC集成环境的使用,能将一个简单的C语言源程序打开、存盘、编译、运行并查看运行结果。
2.通过运行简单的C程序,初步了解C源程序的特点。
二、实验指导
TurboC是一个集程序编辑、编译、连接、调试为一体的C语言程序开发软件,我们通常称之为 IDE(IntegratedDevelopmentEnvironment),TCIDE就是TC集成开发环境,另外如VCIDE是指VC的集成开发环境。
本次实验将要学习如何使用该集成开发软件的使用。
1.TurboC3.0的安装
目前下载的TC2,TC3按安装分类大概有两种版本:
一是通过install安装,二是直接解压后建立TC.EXE的快捷方式,在WINDOWS下双击即可运行(DOS下直接运行TC.EXE)。
下面介绍第一种情况的安装过程:
1下载得到TurboC3.0的文件,解压在某个目录下,现假设解压在D盘tc3目录下,该目录下即为安装TC3.0所需的文件,如图1.1所示
图1.1
2运行TC3目录下的安装文件install.exe,出现图1.2的界面
图1.2
3按回车进入界面如图1.3,输入安装文件所在的驱动器,默认为A驱即软驱,现应输入D,回车后选择安装文件所在的目录TC3,如图1.4
图1.3
图1.4
4选择完安装文件的目录后确定软件安装的目的盘符及路径,如图1.5,界面上所示的路径D:
\TC是默认的盘符及路径,如果不修改则将软件安装到D盘的TC目录下,如果想安装在C盘则可将光标移到Directories…处进行修改,如图1.6所示。
图1.5
图1.6
5最后选择图1.7所示界面中的StartInstallation,回车后完成TC3.0的安装
图1.7
2.有关TurboC3.0中的路径问题
①包含路径:
IncludeDirectories
默认是而且应该是TC路径\Include,否则程序在编译时将会报错,怎么找不到stdio.h啦等等,原因就在这里没有按要求设置。
2静态库路径:
LibraryDirectories
唯一跟包含路径不同的是把Include对应改成lib,如果你把TC路径下的lib改名叫john,那么你就应该改成TC路径\john.
3输出路径:
OutputDirectory。
就是你的源程序编译生成的.obj,.exe等存放的路径,默认是工作路径,当然你可以修改成你指定的路径。
4源代码路径:
SourceDirectory.
是一个使用连接库的工程在被集成调试器调试的时候为调试器指定的连接库的源代码路径。
因为使用了连接库的工程原本不可以开放库程序的源代码的。
这个路径只在调试连接库时用到,因此对于初学者,尤其是不涉及编写连接库的程序时,大可不理它。
3.TurboC3.0工作环境介绍
(1)TurboC3.0的启动
一种方式是直接在安装目录TC下的bin目录下点击tc.exe,或者将命令行路径设置到bin目录,然后输入tc(回车)后打开的方式。
例如,安装目录为C:
\tc,则tc.exe在目录C:
\tc\bin目录下,直接运行该程序即可。
如果你的计算机中TurboC的安装路径不同的话,在上述方式中改变相应路径即可。
第二种打开方式就是你在其他路径下建立TC.exe的快捷方式,然后点击快捷方式进入。
启动TC后,其界面如图1.8所示:
图1.8
其中顶上一行为TurboC3.0主菜单, 中间窗口为编辑区, 接下来是信息窗口,最底下一行为参考行,以后的编程、编译、调试以及运行都将在这个主屏幕中进行
(2)常用命令菜单的使用
进入TC的集成环境后,编辑、调试程序均要用到菜单中提供的各项功能。
按功能键F10可激活主菜单,然后用光标键移动色棒进行选择,回车则执行。
下面介绍几个常用菜单的功能:
①主菜单
显示屏的顶部是主菜单条,它提供了8个选择项:
File处理文件(装入、存盘、选择、建立、换名存盘、写盘),目录操作(列表、改变工作目录),退出TurboC,返回DOS状态。
Edit建立、编辑源文件。
Search查找源代码中的字符串,也可查找替换
Run自动编辑、连接并运行程序,跟踪执行程序。
Compile编辑、生成目标文件。
Project将多个源文件和目标文件组合成工作文件。
Option提供集成环境下的多种选择和设置(如设置存储模式、选择编参数、诊断及连接任选项)以及定义宏;也可记录Include、Output及Library文件目录,保存编译任选项和从配置文件加载任选项。
Windows进行窗体的缩放、切换、关闭等操作,也可调出某个窗体,如Message窗体。
②编辑窗口
编辑窗口是在主菜单下,信息窗口之上的区域,其顶行中间有“Edit”标志。
在此窗口中可以建立、编辑一个源文件。
功能键F5可以扩大编辑窗口到整个屏幕,或恢复分屏式环境。
在插入模式下(用Ins键转换)向编辑窗口内输入代码,按回车键结束一行(TC编辑器不能自动换行),再按一次Ins键,屏幕转换成为替换模式,输入的字符将替换光标所在位置的字符。
③信息窗口
编译和调试源程序时,信息窗口显示诊断信息、警告、出错信息、错误在源程序中的位置。
功能键F5可以扩大和恢复信息窗口,按F6或Alt+E,光标从信息窗口跳到编辑窗口,也可用鼠标直接操作。
④功能键提示行
屏幕低行是功能键提示行,显示当前状态下功能键(俗称TurboC热键)的作用,见下表。
应当注意,在不同状态下功能键的作用是不同的。
正确使用功能键可以简化操作。
热键
简单说明
F1
Help,以分页的形式显示帮助信息
F2
保存当前正在编辑窗口中的文件
F3
装入一个文件。
按F3,屏幕上弹出一个输入框,输入要装入的文件名
F5
Zoom,缩放活动窗口
F6
Switch,活动窗口开关,按F6键,光标从编辑窗口跳到信息窗口,或从信息窗口跳到编辑窗口
F7
Trace,跟踪到函数中
F8
Step,单步跟踪,但不进入函数内部
F9
Make,对当前文档进行编辑、连接
F10
Menu,激活主菜单,光标跳到主菜单
4.运行一个C语言程序的一般过程
1)编辑源文件
在主菜单下,直接按Alt+F键,或按F10后将光带移到“File”选项上,按回车键,在“File”下面出现一个下拉菜单,菜单中有以下选项:
New表示新文件,缺省文件名为NONAME00.CPP。
OpenF3表示加载或装入一个文件
SaveF2将正在编辑的文件存盘。
Saveas将正在编辑的文件写入指定的文件中,若文件名已存在,则重写。
Saveall将当前打开的文件全部存盘
ChangeDir改变驱动器及目录
OSshell进入TurboC命令行模式,命令EXIT可返回集成环境
QuitAlt+x退出TurboC,返回DOS状态。
建立一个新文件,可用光标移动键将“File”菜单中的光带移到“New”处,按回车键,即可打开编辑窗口。
此时,编辑窗口是空白的,光标位于编辑窗口的左上角,屏幕自动处于插入模式,可以输入源程序。
屏幕右上角显示缺省文件名为NONAME00.CPP,编辑完成之后,可用F2或选择“Save”或“saveas”进行存盘操作,此时系统将提示用户将文件名修改成为所需要的文件名。
(2)源程序的编译、连接
直接按F9键,或将菜单“Compile”中的光带移到“Make”项上,按回车键,就可实现对源程序的编译、连接。
若有错误,则在信息窗口显示出相应的信息或警告,按任意键返回编辑窗口,光标停在出错位置上,可立即进行编辑修改。
修改后,再按F9键进行编辑、连接。
如此反复,直到没有错误为止,即可生成可执行文件。
注意:
C程序的连接是在编译后自动完成的。
(3)执行程序
直接按Ctrl+F9键,即可执行.EXE文件;或在主菜单中(按F10进入主菜单)将光带移到“Run”选项,按回车键,弹出一个菜单,选择“Run”选项,回车。
这时并不能直接看到输出结果。
输出结果是显示在用户屏幕上,在TC屏幕上看不到,直接按复合键Alt+F5,或选择“Windows”菜单中的“UserScreen”选项,即可出现用户屏幕,查看输出结果。
按任意键返回TC集成环境。
另外,选择“Run”菜单下的“Run”项,或直接按Ctrl+F9键,可将C程序的编译、连接、运行一次性完成,即第3步中包含有第2步的工作。
如果程序需要输入数据,则在运行程序后,光标停留在用户屏幕上,要求在用户输入数据,数据输入完成后程序继续运行,直至输出结果。
如果运行结果不正确或其他原因需要重新修改源程序,则需重新进入编辑状态。
修改源程序,重复以上步骤,直到结果正确为止。
(4)退出TurboC集成环境
退出TurboC环境,返回操作系统状态。
可在主菜单选择“File”菜单的“Quit”选项,或者直接按Alt+x。
在执行退出TurboC环境时,系统将检查一下当前编辑窗口的程序是否已经存盘,若未存盘,系统将弹出一个提示窗口,提示是否将文件存盘,若按“Y”则将当前窗口内的文件存盘后退出;若按“N”则不存盘退出。
5.程序举例
【例1】编程实现在屏幕上显示如下三行文字
Hello,world!
WolcometotheClanguageworld!
Everyonehasbeenwaitingfor.
在TurboC的集成环境下,键入如下源文件。
敲Alt+F组合键打开File菜单,第一次存盘时File菜单中save选项可将默认noname00.cpp文件名改为任意文件名,若第二次存盘要修改文件名及路径,则需使用File菜单中的Saveas。
程序example.c如下:
#include
voidmain()
{
printf("Hello,World!
\n");
printf("WolcometotheClanguageworld!
\n");
printf("Everyonehasbeenwaitingfor.\n");
}
然后用Ctrl+F9编辑执行example.c,用Alt+F5查看结果,即在屏幕上显示题目要求的三行文字。
按回车键重新返回TurboC的编辑环境。
注意,在运行程序之前最好先存盘。
【例2】输入并运行程序,写出运行结果。
#include
voidmain()
{
inta,b,sum;
a=123;b=456;
sum=a+b;
printf(“sumis%d\n”,sum);
}
运行方法同上,最后结果为:
sumis579。
【例3】
输入并运行程序,写出运行结果。
#include
intmax(intx,inty);
voidmain()
{
inta,b,c;
scanf(“%d,%d”,&a,&b);
c=max(a,b);
printf(“max=%d”,c);
}
intmax(intx,inty)
{
intz;
if(x>y)z=x;
elsez=y;
return(z);
}
这个程序的功能是对于任意输入的两个整数,输出较大的那个数。
所以程序运行之后,光标将停留在用户屏幕上,等待用户输入两个整数,比如输入“3,5”,回车,在用户屏幕上就会输出“max=5”。
三、实验内容
1.在C:
盘的根目录下以自己姓名拼音缩写为名建立一个子目录;输入以下源程序,运行并查看结果,将源程序文件命名为hello.c存放到所建目录下。
/*HELLO.C--Hello,world*/
#include
main()
{
printf("Hello,world\n");
}
将以上源程序输入存盘后,按以下步骤调试:
1)按F9编译,编译系统检查源程序是否有错,如果有错则在编辑窗口下方显示错误,此时需根据错误提示修改源程序中的语法错误,直到编译成功为止。
2)按Ctrl+F9执行。
程序执行后,似乎没有结果,此时应按步骤3)查看结果。
3)按Alt+F5查看结果,按任意键返回到编辑状态。
提示:
C语言源程序的调试都按照以上步骤调试运行。
2.输入以下程序,将其命名为test.c存放到C:
\TC目录下。
该源程序有错,请调试修改正确。
main()
{inta=2,b=c=3;
sum=a+b+c
printf(“%d”,sum);
}
3.以下程序的功能是交换变量num1和num2的值,所给源程序有错,按要求调试程序并改错。
(注意:
程序左边的序号表示程序的行数,不是程序的内容,输入源程序时无需输入。
)
1)main()
2){intnum1,num2;
3)num1=2;
4)num2=3;
5)printf(“num1=%d,num2=%d\n”,num1,num2);
6)num1=num2;
7)num2=num1;
8)printf(“num1=%d,num2=%d\n”,num1,num2);
9)}
调试练习要求:
①按F8单步执行该程序。
每按一次F8程序执行一条语句,观察编辑窗口和程序执行的结果。
②在程序的第六行设置断点,按Ctrl+F9执行程序,查看程序执行结果,若要将程序执行完毕,应怎样操作?
③清除断点。
④向监视窗口添加监视表达式num1、num2,单步执行程序,观察变量num1和num2值的变化,由此可检查出程序出错的原因。
四、实验报告总结
1.写出以下编辑源程序的方法:
1)编辑一个新的源程序;
2)调出一个已有源程序进行编辑;
3)如何将源程序存到指定的目录;
2.编辑、调试程序的详细步骤。
实验二数据类型、运算符与表达式
一、实验目的
1.掌握C语言数据类型,熟悉各种数据类型的定义和赋值。
2.掌握表达式值的计算方法与计算原则。
3.学会使用C的有关算术运算符,特别是自加(++)和自减(――)运算符的使用。
4.进一步熟悉C程序的编辑、编译、连接和运行的过程。
二、实验指导
1.变量的定义与初始化
在C语言中,要求对所有用到的变量,必须先定义、后使用;
(1)变量定义的一般格式
[存储类型]数据类型变量名[,变量名2……];
例如,floatradius,length,area;
(2)变量初始化的一般格式
变量的初始化是指在定义变量的同时进行赋初值的操作。
[存储类型]数据类型变量名[=初值][,变量名2[=初值2]……];
例如,floatradius=2.5,length,area;
如下变量的定义与初始化是错误的:
floatradius=length=2.5;
因为在定义同一数据类型的变量时,各变量名之间必须用逗号分隔。
2.标识符定义规则
简单地说,标识符就是一个名字。
在C语言中,符号常量、变量名、函数名、文件名等都称为标识符,它们都遵循标识符的命名规则:
⑴有效字符:
只能由字母、数字和下划线组成,且以字母或下划线开头。
⑵有效长度:
随系统而异,但至少前8个字符有效。
如果超长,则超长部分被舍弃。
⑶C语言的关键字不能用作变量名。
标识符命名的良好习惯──见名知意:
所谓“见名知意”是指,通过变量名就知道变量值的含义。
通常应选择能表示数据含义的英文单词(或缩写)作变量名,或汉语拼音字头作变量名。
例如,name/xm(姓名)、sex/xb(性别)、age/nl(年龄)、salary/gz(工资)。
3.变量的赋值
变量的赋值是用赋值运算符给变量赋值,这与变量的初始化不同。
例如:
main()
{inta,b;
a=2;
b=3;/*两条赋值语句的作用是分别使变量a的值为2,b的值为3*/
……
}
将以上程序改为:
main()
{inta,b;
a=b=2;/*一条赋值语句使a、b的值都为2*/
……
}
4.运算符的使用
C语言中有十分丰富的运算符,除控制语句和输入输出函数外,其它所有基本操作都作为运算符处理。
有些运算符对于运算对象有特殊要求:
(1)%(求余运算符)
要求两侧的操作数均为整型数据,否则出错。
例如:
floatx;
inty;
y=x%y;
在上述程序段中,x为浮点型数据,就不能作为%的运算对象。
(2)/(相除运算符)
两个整数相除,其商为整数,小数部分被舍弃。
两个数有一个为实数,则结果为double型。
例如:
5/2=2。
5.0/2=2.5
又如:
floata=5;
a=a/2;/*a的值为2.5*/
(3)自增(++)、自减(--)运算符
自增运算使单个变量的值增1,自减运算使单个变量的值减1。
前置运算──运算符放在变量之前:
++变量、--变量先使变量的值增(或减)1,然后再以变化后的值参与其它运算,即先增减、后运算。
后置运算──运算符放在变量之后:
变量++、变量--变量先参与其它运算,然后再使变量的值增(或减)1,即先运算、后增减。
例:
intx,y;
x=6;
y=++x;/*y=7*/
y=x--;/*y=7*/
注意:
自增、自减运算符,不能用于常量和表达式。
例如,5++、--(a+b)等都是非法的。
5.表达式求值
表达式的求值原则:
1)按运算符的优先级高低次序执行。
例如,先乘除后加减。
2)如果在一个运算对象(或称操作数)两侧的运算符的优先级相同,则按C语言规定的结合方向(结合性)进行。
三、实验内容
1.计算以下各表达式的结果并上机验证计算结果是否正确。
125/3%3
23.5+1/2+56%10
3若有定义:
intb=7;floata=2.5,c=4.7;
a+(int)(b/3*(int)(a+c)/2)%4
4若有:
intx,y,z
执行语句:
x=(y=(z=10)+5)-5;
x=?
y=?
z=?
5x,a均是整型
执行x=(a=4,6*2)后,x的值是多少?
执行x=a=4,6*2后,x的值是多少?
6若有:
intx=5,n=5;
执行x+=n++后,x=?
n=?
2.读以下源程序,写出输出结果并上机验证,想一想为什么会有这样的结果?
main()
{charch1,ch2;
ch1=‘a’;ch2=‘B’;
printf(“ch1=%c,ch2=%c\n”,ch1-32,ch2+32);
printf("ch1+200=%d\n",ch1+200);
printf("ch1+200=%c\n",ch1+200);
printf("ch1+256=%d\n",ch1+256);
printf("ch1+256=%c\n",ch1+256);
}
3.分析下程序,写出运行结果,再输入计算机运行,将得到的结果与你分析得到的结果比较对照。
#include“stdio.h”
voidmain()
{inti,j,m,n;
i=8;j=10;
m=++i;n=j++;
printf(“%d,%d,%d,%d”,i,j,i++,j++);
}
分别作以下改动之后,先分析再运行:
1)将第四行改为:
m=i++;n=++j;
2)程序改为:
main()
{
inti,j;
i=8;j=10;
printf(“%d,%d”,i++,j++);
}
3)在2)的基础上,将printf语句改为:
printf(“%d,%d”,++i,++j);
4)再将printf语句改为:
printf(“%d,%d,%d,%d”,i,j,i++,j++);
5)程序改为:
main()
{
inti,j,m=0,n=0;
i=8;j=10;
m+=i++;n-=--j;
printf(“i=%d,j=%d,m=%d,n=%d”,i,j,m,n);
}
此程序主要考查自加、自减运算符以及复合运算符的用法。
3.编程实现:
输入一个华氏温度,要求输出摄氏温度。
公式为c=5.0/9.0*(f-32).
实验三数据的输入、输出
一、实验目的
1.掌握简单的程序设计,能正确写出顺序结构的源程序。
2.掌握数据的输入输出方法,能正确使用各种格式转换符。
二、实验指导
6.赋值语句
赋值语句是由赋值表达式加上一个分号构成,作用是将一个确定的值赋给一个变量。
格式为:
变量名=表达式;
赋值语句有如下特点:
⑴先计算,后赋值。
先计算表达式的值赋给赋值号左边的变量。
⑵赋值语句中的“=”是赋值号不是数学意义的等号,赋值号两侧的内容不能任意调换。
①main()②main()
{inta,b;{inta,b;
a=1;b=2;a=1;b=2;
a=b;b=a;
printf(“%d%d”,a,b);printf(“%d%d”,a,b);
}}
程序①a和b的值都是2,程序②中a,b的值都是1.
注意:
赋值运算符的左边只能是变量名,不能是表达式或常量
7.数据输入函数
(1)getchar()函数
此函数的功能是等待输入直到按回车才结束, 回车前的所有输入字符都会逐个显示在屏幕上。
但只有第一个字符作为函数的返回值。
例如:
#include
#include
main()
{
charc;
c=getchar(); /*从键盘读入字符直到回车结束*/
putchar(c); /*显示输入的第一个字符*/
}
输入:
abc↙
程序运行后变量c的值为’a’
(2)scanf()函数
其调用格式为:
scanf("<格式化字符串>",<地址表>);
地址表是需要读入的所有变量的地址,而不是变量本身。
在使用该函数输入数据时,常见的错误主要有以下几种类型:
1输入列表中,变量名前忘记加取地址符号&。
如:
scanf(“%d,%d”,a,b);(此语句有错)
改为:
scanf(“%d,%d”,&a,&b);
2格式控制字符与变量的类型不一致。
floata,b;
scanf(“%d,%d”,&a,&b);(此语句有错)
改为:
scanf(“%f,%f”,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实验 指导书
![提示](https://static.bdocx.com/images/bang_tan.gif)