中南民族大学电子商务C语言实验报告.doc





《中南民族大学电子商务C语言实验报告.doc》由会员分享,可在线阅读,更多相关《中南民族大学电子商务C语言实验报告.doc(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、中南民族大学管理学院学生实验报告课程名称:C语言程序设计 年 级:2015级 专 业: 电子商务 姓 名: 学 号: 2015学年至2016学年度 第2学期目 录实验一 C基础练习 实验二 基本数据类型和运算符 实验三 顺序与分支结构 实验四 循环结构 实验五 函数 实验六 数组 实验七 指针 实验八 结构体、联合体和枚 实验九 文件 实验(一) C基础练习 实验时间:同组人员: 实验目的(1) 熟悉Visual C+6.0的调试环境。(2) 掌握在Visual C+6.0的调试环境下调试C程序的方法。(3) 掌握在C程序中定义主函数的方法。(4) 掌握在C程序中书写注释的方法。(5) 了解函
2、数printf()的基本功能。(6) 了解C程序的错误类型。实验内容1、 通过调试第一个程序,了解调试环境2、 理解注释语句的用法3、 了解什么是编译错误4、 了解什么是连接错误实验步骤1、 通过调试第一个程序,了解调试环境操作步骤如下:(1) 在Windows环境下进入Visual+6.0。(2) 在Visual C+6.0环境下建立一个新的工作空间My Workplace.(3) 在My workplace工作空间中建立一个新的项目MyProject。(4) 在MyProject项目中新建一个Source Files 类型的文件first.cpp。(5) 在编辑窗口中编辑first.cpp
3、文件。内容如下:#include “stdio.h”Viod main() Printf(“Welcomen”);(6) 按快捷键【Ctrl+F7】或选择Build Compile命令项对程序进行编”按快捷键【F7】或选择Build Build命令对程序进行连接。(7) 按快捷键【Ctrl+F5】或直接单击运行按钮“!”,运行程序。注意:也可以不做编译直接做Build,同时进行编译和连接。2、 理解注释语句的用法操作步骤如下:(1) 在编辑窗口中继续编辑first.cpp文件,增加语句。使程序变为: #include”stadio.h”/*first one*/Void main() Prin
4、tf(“welcomen”); Printf(“-n”); Printf(“your name:n”); (2)按快捷键【Ctrl+F7】或选择Build Compile命令对程序进行编译。(3) 按快捷键【F7】或选择Build Build命令对程序进行连接。(4) 按快捷键【Ctrl+F5】或直接单击运行按钮“!”,运行程序。3、 了解什么是编译错误操作步骤如下:(1) 在编辑窗口中继续编辑first.cpp文件,去掉“printf(“Welcomen”);”语句后面的分号。使程序变为: #include”stadio.h”/*first one*/Void main() Printf(“
5、welcomen”) Printf(“-n”); Printf(“your name:n”); (2)按快捷键【Ctrl+F7】或选择Build Compile命令对程序进行编译。此时,编译器会提示错误信息如下:Compeling.first.cppC:ProgramFilesMicrosoftVisualStudioMyworkspaceMyProjectfirst.cpp(6):errorc2146:syntaxerror:missing;beforeidentifireprintfError executing cl.exeFirst.obj-1 error(s),0 warnings(
6、s) 提示信息的第1、2行是“Compiling.first.cpp”,表示正在对程序进行编译,在生成目标程序first.obj时编译程序检查出了问题。总共发现了1个错误。 错误信息还明确告诉程序员编译错误出现在第6行,语法错误是“printf标识之前缺少符号”,也就是说第5行后面缺少分号。 C语言规定,每条语句都必须以分号结束,如果不写分号,编译器将会提示错误,这种错误就是所谓的编译错误,也就是说语法错误。 因为有编译程序的帮助,从理论上来说。语法错误是最容易纠正的错误。但实际上,由于C语言自身非常灵活的特性,对于初学者开说,寻找到错误也不是一件容易的事情,需要在实践中学习提高。(3) 将分
7、号加回去,程序就可以正确编译连接和运行了。4、了解什么是连接错误操作步骤如下:(1) 在编辑窗口中继续编辑first.cpp文件。程序内容:#include”stadio.h”/*first one*/Void print();Void main() Printf(“welcomen”); Printf(); Printf(“your name:n”);(2)按快捷键【Ctrl+F7】或选择Build Compile命令对程序进行编译。编译成功。(3)按快捷键【F7】或选择Build Build命令对程序进行连接,连接失败。系统会提示下面的错误信息:Linking.First.obj:erro
8、rLINK2001:unresolved external symbol “void_cdecl print(void)”(?printYAXXZ)Debug/MyProject.exe -2 error(s),0 warning(s)提示信息的第1、2行是“Linking.first.obj”,表示正在对first.obj进行连接,由于printf()函数没有定义,对该函数的的调用将使连接程序找不到这个函数的原型,因此报错。这种错误称为连接错误。连接错误比较容易纠正,需要掌握有关函数定义和说明的概念,并要保证相关系统文件在磁盘中存在。例如,stadio.h文件应该存在,“#include”s
9、tadio,h”语句才能将该文件包含到当前程序中。(4) 在编译窗口修改程序如下: #include”stadio.h”/*first one*/Viod print() Printf(“-n”);Void main() Printf(“welcomen”) Print(); Printf(“your name:n”); (5)再次进行编译和连接,都成功,运行程序得到正确结果。5、 什么是运行错误Void main() char c;C=getchar()Switch c Case 0,1,2,3,4,5,6,7,8,9: printf (“%d”,c-0);break; Default :p
10、rintf (“Data Error”);(1) 将上面的程序编辑、编译后,错误信息包括:First.cpp(5) :error c2143 :syntax error :missing ; before switchFirst.cpp(5) :error c2061 :syntax error :missing ; identifire cFirst.cpp(5) :error c2043 :illegal breakCpp(7) :error c2047:illegal defaultFrst.obj-1 error(s),1 warning(s) 第一个错误提示信息是:第5行的switc
11、h语句缺少了分号,由于编译程序检查下一行才能发现遗漏的分号,因此给出的行号5是不正确的,检查前面一行,“c=getchar()”后面缺少分号,应该加上。 第二个错误提示信息是:第6行的标识符c语法错误。检查前一行,c前后应该有圆括号,并且switch应该用花括号括起来。(2) 将“swich c”改为“swith (c)”,并在switch和default两行的下面加上一对花括号。(3) 再次编译,仍然有一个编译错误和一个警告提示。First.cpp(6):error c2051:case expression not constantFirst.cpp(8):warning c4065:sw
12、itch statement contains defaultbut no caselablesFirst.obj-1 error(s),1 warning(s)第一个错误提示:case 表达式不一致。实际上是case 的写法有问题。将语句“case 0,1,2,3,4,5,6,7,8,9: printf(“%d”,c-0);break;”修改为:Case 0: case 1 : case 2 case 3: case4:Case 5:case 6: case 7 : case 8 case 9: printf(“%d”,c-0);break;(4) 再次编译,编译成功注意:这里只改了一个错误
13、,编译却成功了,这种情况在调试过程中会经常出现,修改了前面的一个错误,可以消除后面程序中的多个错误。(5) 运行程序,输入1,借果输出1.程序正确。6、什么是逻辑错误操作步骤如下:(1) 在编辑窗口中重新编辑first.cpp文件,使程序变为:#include “stadio.h”Void main() Printf(“%d / %d= %fn”,6,4,6/4);(2) 按快捷键【F7】或选择Build Build命令对程序进行编译和连接,成功。(3) 按快捷键【Ctrl+F5】或直接单击运行按钮“!”,运行程序。程序运行结果:6/4=0.000000显然,这不是我们需要的结果。我们需要的结
14、果是1.5,并用%f显示浮点数。但是程序运行的结果却是0。 在程序经过正确的编译和连接后,运行也有了结果,但是却不是我们想要的结果,这就是所谓的逻辑错误。逻辑错误是最难查找的错误。这类错误往往来自于编程者对问题的错误理解和对程序设计工具的不了解。 本例程序中,表达式“6/4”中的运算符“/”是整除符号,其结果是整数1,整数1却用%f控制显示,当然不能得到正确的结果。 正确的显示方法是: Printf(“%d / %d= %fn”,6,4,6,0/4); 程序运行结果: 6/4=1.500000 当然,如果需要求整除的结果,则可以使用语句: Printf(“%d / %d= %dn”,6,4,6
15、/4); 程序运行结果: 6/4=1 关于逻辑错误的查找方法,将在后面的练习中讲解。实验(二) 基本数据类型与运算符 实验时间:5月22日同组人员:赵兰 实验目的(1) 掌握c语言中变量的定义方法,这些变量的数据类型是基本数据类型。(2) 掌握整型数据类型的格式输入和输出方法。(3) 掌握浮点数据类型的格式输入和输出方法。(4) 掌握字符数据的格式输入和输出方法。(5) 掌握putchar()和getchar()函数的调用方法。(6) 掌握算数运算符的用法。(7) 掌握关系运算符的用法。(8) 掌握逻辑运算符的用法。(9) 掌握位逻辑运算符的用法。(10) 掌握调试程序的简单技巧。实验内容1、
16、 练习用各种基本数据类型定义变量和输出方式。2、 练习使用scanf()函数接收数据。3、 练习使用scanf()函数接收带有特殊格式的数据。4、 通过调试,将下面的程序修改为正确的程序。5、 编写程序练习题的结果。实验步骤1、 练习用各种基本数据类型定义变量和输出方式。操作步骤如下:(1) 打开工作空间MyWorkspace中的MyProject项目。(2) 打开Windows的记事本,将first.cpp文件中的整个程序复制到笔记本的编辑窗口中,另存为一个文件。这样,就可以将第一个练习中的源程序保存起来。 接着,将新的程序输入MyProject项目中的文件first.app中(覆盖原来的内
17、容),并对其进行调试。本书中的实验指导主函数所在的源程序都存入文件first.cpp中。 当然,我们也可以建立一个新的工作空间、新的项目以及新的文件first.cpp。(4) 在编辑窗口中编辑first.cpp文件,内容如下:#include “stadio.h”Void main()int a=1,b=2,c=3;Printf(“%d+%d+%d=%dn”,a.b.c.a+b+c);(5) 按快捷键【Ctrl+F7】或选择Build -Build命令对程序进行编译和连接。(6) 按快捷键【Ctrl+F5】或直接单击“!”,运行程序,运行结果正确。(7) 在编辑窗口中编辑first,cpp文件
18、,内容如下:#include “stadio.h”Void main() double a=1.0,b=2.0,c=3.0; Printf(%d+%d+%dn”,a,b,c,a+b+c);(8) 重新编译、连接并运行程序。程序运行结果:0+0+0=16638这是一个错误结果。程序不能完成预定的功能,原因是显示格式的错误,初学者通常不能注意到这点。数据类型变化以后,输出方式也必须随之变化,否则就会遇到本例的问题。(9) 将语句“ Printf(%d+%d+%dn”,a,b,c,a+b+c);”改为 “ Printf(%1f+%1f+%1fn”,a,b,c,a+b+c);”。(10) 编译、连接并
19、运行程序,得到正确结果。2、 练习使用scanf()函数接收数据。操作步骤如下:(1) 在编辑窗口中重新编辑first.cpp文件,内容如下:#include “stadio .h”Void main() int a,b,c; Printf(“please enter 3 int:”); Scanf(“%d%d%d=%dn”,a,b,c,a+b+c);(2) 编译、连接并运行程序。程序运行时,在提示语句“please enter 3 int:”出现后,输入“1 2 3”,得到正确结果。(3) 再次执行程序。 程序运行时,在提示语句“piease enter 3 int:”出现后,输入“1、2、
20、3、”,但是系统却在等待操作者输入下一个数。因为123三个数中间没有用空白符分离,系统将其认为是一个数。我们必须再输入两个数:34 5程序才能正确接收数据,但这时系统计算的是123+4+5的值。空白符是指空格符、回车符和tab符,因此,要想让程序正确的接收数据,正确的输入格式不止一个,还可以有许多组合。例如:输入可以为:123(4) 再次运行程序时,选择不同的输入格式进行测试。3、练习使用scanf()函数接收带有特殊格式的数据。操作步骤如下:(1) 在操作窗口中重新编辑first.cpp文件,内容如下:#include “stadio.h”Void main() int a,b,c; Pri
21、ntf(“请输入时间(格式为00:00:00):”); Scanf(“%d:%d:%d”,&a,&b,&c); Printf(时间是%d:%d:%d:,a,b,c);(2) 编译、连接并运行程序。 程序运行时,在提示语句“请输入时间(格式为00:00:00):”,出现后,输入“13 30 05”,运行结果为“时间是:13:-858993460:-858993460”。 显然,程序没有正确接收数据。原因是:在scanf函数中,格式控制除了%开头的格式控制,出现的其他字符应该是由用户在程序运行时输入,否则,scanf()函数不能正确接收输入。(3) 再次运行程序。 在提示语句“请输入时间(格式为0
22、0:00:00):”出现后,输入“13:30:05”。4、 通过调试,将下面的程序修改为正确的程序。#include (stadio.h)Void main int a=6;b=8;c; C=a*b; Printf(%d,c);操作步骤如下:(1) 在操作窗口中重新编辑first.cpp文件,内容如上。(2) 编译该程序,编译的结果是该程序有4个错误,对错误的提示信息包括:First.cpp : error c2006:#include expected a filename, foundFirst.cpp :error c2146 sytax error ;missing;before id
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中南 民族大学 电子商务 语言 实验 报告

限制150内