安装VisualC++6.0下载请从群里下载MicrosoftVisualStudio.rar。将下载的文件MicrosoftVisualStudio.rar解压后即可使用。请直接运行文件“MicrosoftVisualStudio\Common\MSDev98\Bin\MSDEV.EXE”实验一认识C语言【实验目的】1.熟悉C程序设计编程环境VisualC++,掌握运行一个C程序设计的基本步骤,包括编辑、编译、连接和运行。编辑:编写源程序文件.c编译:生成目标文件.obj连接:生成可执行文件.exe运行:执行.exe文件。2.掌握C语言程序设计的基本框架,能够编写简单的C程序。3.了解程序调试的思想,能找出并改正C程序中的语法错误。【实验内容】1-1在磁盘上新建一个文件夹,用于存放C程序,文件夹的名字可以是学号,如D:\3050888。1-2编程示例,在屏幕上显示一个短句“HelloWorld!”。源程序#includestdio.hvoidmain(){printf(HelloWorld!\n);}运行结果HelloWorld!作为第一个实验,在VisualC++编程环境下,以上述C语言源程序为例,介绍运行一个C程序的基本步骤,请读者按照以下步骤操作。(1)启动VC++执行“开始”—“程序”—“MicrosoftVisualStudio6.0”—“MicrosoftVisualC++6.0”,进入VC++编程环境(如图1.1所示)。图1.1VC++窗口(2)新建文件执行“文件/File”—“新建/New”,单击“文件/Files”选项卡(如图1.2所示),先在“文件/Filename”栏中输入test,把C源(程序)文件命名为test.cpp,在“目录/Location”框中选择你已经建立的文件夹,如,D:\3050888,然后选中“C++SourseFiles”,单击“确定”按钮,在D:\3050888下就新建了文件test.cpp,并显示编辑窗口和信息窗口(如图1.3所示)。图1.2新建文件思考:我们讲过C语言的源程序文件的扩展名为.c,可现在建立的文件名为.cpp,这可以编译执行吗?解答:vc++6.0是c和c++语言的编程环境,c++语言的扩展名为.cpp,并且c++语言完全包括的c语言的语法内容,所以在c++文件中写c语言的内容是可以编译的。如果想将源程序文件的扩展名改为.c,只需要在上图中文件一栏中填写test.c就可以了,如果只写test就是只写一个文件名的话扩展名会自动为.cpp,所以我们可以指定扩展名为.c就可以了。(3)编辑和保存在编辑窗口(如图1.3所示)中输入源程序,然后执行“文件/File”—“保存/Save”或“文件/File”—“另存为/SaveAs”,保存源文件。图1.3编辑源程序(4)编译执行“编译/Build”—“编译/Compile”或Ctrl+F7(如图1.4所示),在“产生工作区”对话框中(如图1.5所示)选择“是/Y”,开始编译,并在信息窗口显示编译信息(如图1.6所示)。图1.4编译源程序图1.5产生一个工作区编辑窗口信息窗口图1.6编译正确图1.6信息窗口中出现的“test.obj-0error(s),0warning(s)”,表示编译正确,没有发现(语法)错误和警告,并生成了目标文件test.obj。请查看目录D:\3050888\Debug中是否有test.obj文件。如果显示有错误error(s),指程序中存在致命的错误,必须要改正;如果显示有警告warning(s),虽然不影响生成目标文件,但通常也应该改正。(5)连接执行“编译/Build”—“构件/Build”或F7,也可用“重建全部/RebuildAll”,开始连接,并在信息窗口显示连接信息(如图1.7所示)。图1.7信息窗口中出现的“test.exe-0error(s),0warning(s)”表示连接成功,产生了可执行文件test.exe。操作完成请查看目录D:\3050888\Debug中是否有test.exe文件。图1.7连接成功并产生运行文件(.exe)(6)运行执行“编译/Build”—“执行/Execute”或Ctrl+F5(如图1.8所示),自动弹出运行窗口(如图1.9所示),显示运行结果“HelloWorld!”,其中“Pressanykeytocontinue”提示读者按任何键退出DOS窗口,返回到VC++编辑窗口。图1.8运行程序图1.9运行窗口也可以进入源文件的目录双击test.exe进行执行。(Window操作系统都是这样运行一个可执行的程序。(7)关闭程序工作区执行“文件/File”—“关闭工作区/CloseWorkspace”(如图1.10所示),在出现的对话框(如图1.11所示)中选择“是/Y”,关闭工作区。图1.10关闭程序工作区图1.11关闭所有文档窗口(8)打开文件如果要再次打开C源文件,可以执行“文件/File”—“打开/Open”,在文件夹D:\3050888下选择文件test.cpp(9)查看C源文件、目标文件和可执行文件的存放位置经过编辑、编译、连接和运行后,在文件夹D:\3050888(如图1.12所示)和D:\3050888\Debug(如图1.13所示)中存放着有关的文件,其中源文件test.cpp在文件夹D:\3050888中,目标文件test.obj和可执行文件test.exe都在文件夹D\3050888\Debug中。图1.12文件夹“D:\3050888”图1.13文件夹“D:\3050888\debug”1-5调试示例,在屏幕上显示一个短句“WelcometoYou!”。源程序(有错误的程序)#includestdoi.hvoidmian(){printf(WelcometoYou!\n)}运行结果(改正后程序的运行结果)WelcometoYou!(1)按照实验内容1-2中介绍的步骤先关闭工作区(点击菜单FilecloseWordspace),然后再参照上边的步骤创建源程序error1_1.cpp。(2)编译,执行“编译/Build”—“编译/Compile”,信息窗口中显示编译出错信息(如图1.14所示)。(3)找出错误,在信息窗口中双击第一条出错信息,编辑窗口就会出现一个箭头指向程序出错的位置(如图1.14所示),一般在箭头的当前行或上一行,可以找到出错语句。图1.14中箭头指向第4行,出错信息指出Welcome是一个未定义的变量,但Welcome并不是变量,出错的原因是Welcome前少了一个双引号。图1.14编译产生的错误信息(4)改正错误,在Welcome前加上双引号后,重新编译,信息窗口显示本次编译的出错信息,第一条出错信息是“missing';'before'}'”,双击该出错信息,箭头指向最后一行,出错信息指出在右大括弧}前少了分号。(5)再次改正错误,在}前补上一个分号后重新编译信息窗口显示编译正确(如图1.15所示)。图1.15编译正确(6)连接,执行“编译/Build”—“构件/Build”或F7。信息窗口显示连接出错信息(如图1.16所示)。仔细观察、分析后发现,主函数名main拼写错误,被误写为“mian”。图1.16连接产生的错误信息(7)改正错误,把“mian”改为“main”后,重新连接,信息窗口显示连接正确(如图1.17所示)。图1.17连接正确(8)运行,执行“编译/Build”—“执行/Execute”或Ctrl+F5,自动弹出运行窗口(如图1.18所示),显示运行结果,与题目要求的结果一致,程序调试结束,读者按任意键返回。图1.18程序运行窗口1-6改错,改正下列程序中的错误,在屏幕上显示以下3行信息。按照实验内容1-2中介绍的步骤先关闭工作区(点击菜单FilecloseWordspace),然后再参照上边的步骤创建源程序error1_2.cpp*************Welcome*************源程序(有错误的程序)#includestdio.hvoidmian(){printf(*************\n);printf(Welcome\n)printf(*************\n);}实验二常量【实验目的】1.学会使用字符常量、字符串常量、整型常量、实型常量、及符号常量2.学会使用转义字符、占位符3.学会使用常量之间的运算4.学会使用vc++6.0编程环境中的wordspace、project、files【实验内容】1.编写程序,使用printf输出以下内容:Hello!WelcometoChina!1234567893.1415933.141593‘’“”说明及要求:第一行要使用字符常量进行输出(使用字符的占位符%c)第二行要使用字符串常量(使用字符串的占位符%s)第三行要使用整型常量,注意每个数字中间是空格。(使用整型的占位符%d)第四行要使用实型常量,并且要用实型常量小数形式(使用实型的占位符%f)第五行要使用实型常量,并且要用实型常量指数形式(使用实型的占位符%f)第六行输出两个单引号,并且要用字符常量(使用转义字符)第七行输出两个双引号,并且要用字符串常量(使用转义字符)参考答案(请同学们将下面的程序补充完整输出第三行及后两行的内容):#includestdio.hmain(){printf(%c%c%c%c%c%c\n,'H','e','l','l','o','!');printf(%s\n,WelcometoChina!);printf(%f\n,3.141593);printf(%f\n,31.41593e-1);}2.运行下边的程序,想想是为什么。#includestdio.hmain(){printf(A=%d\n,'A');printf(65=%c\n,65);printf(B=%d\n,'A'+1);printf(66=%c\n,65+1);}结论:字符型也是整型,并且字符可以于整型相互转换。通过%d、%c转换。根据教材的122页附录3练习字符和整型的转换。3.编写程序,使用printf输出字母A、B、C的ASCII码值。输出结果为:A=65,B=66,C=67提示:字符型对应的占位符为%c,如果printf中使用%c则会输出A、B、C这三个字母。大家都知道C语言中字符数据在内存中其实存储的是该字符对应的ASCII码的值,ASCII码值为整型,所以要想输出字符对应的ASCII码的值,printf中的占位符要用整型对应的占位符。4.编写程序使用printf输出以下内容:3.1415926758说明及要求:要使用实型常量输出,小数或指数形式不限制。(注意占位符%f的使用,显示小数位数问题)请参考P.17printf格式说明一节的内容,关于本程序的所用的知识请参考18页的第(3)。参考答案:#includestdio.hmain(){printf(%1.10f\n,3.1415926758);}请尝试练习教材第17页至第19页表2.1到表2.8中的格式控制符。每个类型的格式控制符都要练习一下。5.将第一题中的后四行改为符号常量输出提示:符号常量使用方法:首先要先用#define定义符号常量,定义格式为:#define符号常量名称常量值然后在printf中将原来常量的位置替换成符号常量名称即可。例如:要输出以下内容:100*3=300100/3=33我们把100定义成符号常量,名称为num。可以这样写程序:#includestdio.h#definenum100main(){printf(%d*3=%d\n,num,num*3);printf(%d/3=%d\n,num,num/3);}定义符号常量的作用是,如果我们想得到另一个数乘以3的结果、另一个数除以3的结果,我们就可以直接修改符号常量num的值为另一个数就行了。比如我们想求200*3、200/3的结果,上边的程序我们只需要将#defi