中南民族大学电子商务C语言实验报告.docx
《中南民族大学电子商务C语言实验报告.docx》由会员分享,可在线阅读,更多相关《中南民族大学电子商务C语言实验报告.docx(51页珍藏版)》请在冰豆网上搜索。
![中南民族大学电子商务C语言实验报告.docx](https://file1.bdocx.com/fileroot1/2022-10/12/efb69e3a-1f5b-4076-92bc-4ea609368960/efb69e3a-1f5b-4076-92bc-4ea6093689601.gif)
中南民族大学电子商务C语言实验报告
中南民族大学管理学院
学生实验报告
课程名称:
C语言程序设计
年 级:
2015级
专 业:
电子商务
姓 名:
学 号:
2015学年至2016学年度第2学期
实验一C基础练习
实验二基本数据类型和运算符
实验三顺序与分支结构
实验四循环结构
实验五函数
实验六数组
实验七指针
实验八结构体、联合体和枚
实验九文件
实验
(一)C基础练习
实验时间:
同组人员:
实验目的
(1)熟悉VisualC++6.0的调试环境。
(2)掌握在VisualC++6.0的调试环境下调试C程序的方法。
(3)掌握在C程序中定义主函数的方法。
(4)掌握在C程序中书写注释的方法。
(5)了解函数printf()的基本功能。
(6)了解C程序的错误类型。
实验内容
1、通过调试第一个程序,了解调试环境
2、理解注释语句的用法
3、了解什么是编译错误
4、了解什么是连接错误
实验步骤
1、通过调试第一个程序,了解调试环境
操作步骤如下:
(1)在Windows环境下进入Visual++6.0。
(2)在VisualC++6.0环境下建立一个新的工作空间MyWorkplace.
(3)在Myworkplace工作空间中建立一个新的项目MyProject。
(4)在MyProject项目中新建一个SourceFiles类型的文件first.cpp。
(5)在编辑窗口中编辑first.cpp文件。
内容如下:
#include“stdio.h”
Viodmain()
{
Printf(“Welcome\n”);
}
(6)按快捷键【Ctrl+F7】或选择BuildCompile命令项对程序进行编”按快捷键【F7】或选择BuildBuild命令对程序进行连接。
(7)按快捷键【Ctrl+F5】或直接单击运行按钮“!
”,运行程序。
注意:
也可以不做编译直接做Build,同时进行编译和连接。
2、理解注释语句的用法
操作步骤如下:
(1)在编辑窗口中继续编辑first.cpp文件,增加语句。
使程序变为:
#include”stadio.h”
/*firstone*/
Voidmain()
{
Printf(“welcome\n”);
Printf(“------------------\n”);
Printf(“yourname:
\n”);
}
(2)按快捷键【Ctrl+F7】或选择BuildCompile命令对程序进行编译。
(3)按快捷键【F7】或选择BuildBuild命令对程序进行连接。
(4)按快捷键【Ctrl+F5】或直接单击运行按钮“!
”,运行程序。
3、了解什么是编译错误
操作步骤如下:
(1)在编辑窗口中继续编辑first.cpp文件,去掉“printf(“Welcome\n”);”语句后面的分号。
使程序变为:
#include”stadio.h”
/*firstone*/
Voidmain()
{
Printf(“welcome\n”)
Printf(“------------------\n”);
Printf(“yourname:
\n”);
}
(2)按快捷键【Ctrl+F7】或选择BuildCompile命令对程序进行编译。
此时,编译器会提示错误信息如下:
Compeling...
first.cpp
C:
\ProgramFiles\MicrosoftVisualStudio\Myworkspace\MyProject\first.cpp(6):
errorc2146:
syntaxerror:
missing’;’beforeidentifire‘printf’Errorexecutingcl.exe
First.obj-1error(s),0warnings(s)
提示信息的第1、2行是“Compiling...first.cpp”,表示正在对程序进行编译,在生成目标程序first.obj时编译程序检查出了问题。
总共发现了1个错误。
错误信息还明确告诉程序员编译错误出现在第6行,语法错误是“printf标识之前缺少符号”,也就是说第5行后面缺少分号。
C语言规定,每条语句都必须以分号结束,如果不写分号,编译器将会提示错误,这种错误就是所谓的编译错误,也就是说语法错误。
因为有编译程序的帮助,从理论上来说。
语法错误是最容易纠正的错误。
但实际上,由于C语言自身非常灵活的特性,对于初学者开说,寻找到错误也不是一件容易的事情,需要在实践中学习提高。
(3)将分号加回去,程序就可以正确编译连接和运行了。
4、了解什么是连接错误
操作步骤如下:
(1)在编辑窗口中继续编辑first.cpp文件。
程序内容:
#include”stadio.h”
/*firstone*/
Voidprint();
Voidmain()
{
Printf(“welcome\n”);
Printf();
Printf(“yourname:
\n”);
}
(2)按快捷键【Ctrl+F7】或选择BuildCompile命令对程序进行编译。
编译成功。
(3)按快捷键【F7】或选择BuildBuild命令对程序进行连接,连接失败。
系统会提示下面的错误信息:
Linking...
First.obj:
errorLINK2001:
unresolvedexternalsymbol“void_cdeclprint(void)”(?
print@@YAXXZ)
Debug/MyProject.exe-2error(s),0warning(s)
提示信息的第1、2行是“Linking...first.obj”,表示正在对first.obj进行连接,由于printf()函数没有定义,对该函数的的调用将使连接程序找不到这个函数的原型,因此报错。
这种错误称为连接错误。
连接错误比较容易纠正,需要掌握有关函数定义和说明的概念,并要保证相关系统文件在磁盘中存在。
例如,stadio.h文件应该存在,“#include”stadio,h””语句才能将该文件包含到当前程序中。
(4)在编译窗口修改程序如下:
#include”stadio.h”
/*firstone*/
Viodprint()
{
Printf(“------------------\n”);
}
Voidmain()
{
Printf(“welcome\n”)
Print();
Printf(“yourname:
\n”);
}
(5)再次进行编译和连接,都成功,运行程序得到正确结果。
5、什么是运行错误
Voidmain()
{charc;
C=getchar()
Switchc
Case0,1,2,3,4,5,6,7,8,9:
printf(“%d”,c-’0’);break;
Default:
printf(“DataError”);
}
(1)将上面的程序编辑、编译后,错误信息包括:
First.cpp(5):
errorc2143:
syntaxerror:
missing‘;’before’switch’
First.cpp(5):
errorc2061:
syntaxerror:
missing‘;’identifire’c’
First.cpp(5):
errorc2043:
illegalbreak
Cpp(7):
errorc2047:
illegaldefault
Frst.obj-1error(s),1warning(s)
第一个错误提示信息是:
第5行的switch语句缺少了分号,由于编译程序检查下一行才能发现遗漏的分号,因此给出的行号5是不正确的,检查前面一行,“c=getchar()”后面缺少分号,应该加上。
第二个错误提示信息是:
第6行的标识符c语法错误。
检查前一行,c前后应该有圆括号,并且switch应该用花括号括起来。
(2)将“swichc”改为“swith(c)”,并在switch和default两行的下面加上一对花括号。
(3)再次编译,仍然有一个编译错误和一个警告提示。
First.cpp(6):
errorc2051:
caseexpressionnotconstant
First.cpp(8):
warningc4065:
switchstatementcontains‘default’butno‘case’lables
First.obj-1error(s),1warning(s)
第一个错误提示:
case表达式不一致。
实际上是case的写法有问题。
将语句“case0,1,2,3,4,5,6,7,8,9:
printf(“%d”,c-'0');break;”修改为:
Case‘0’:
case‘1’:
case‘2’case‘3’:
case’4’:
Case‘5’:
case‘6’:
case‘7’:
case‘8’case‘9’:
printf(“%d”,c-’0’);break;
(4)再次编译,编译成功
注意:
这里只改了一个错误,编译却成功了,这种情况在调试过程中会经常出现,修改了前面的一个错误,可以消除后面程序中的多个错误。
(5)运行程序,输入1,借果输出1.程序正确。
6、什么是逻辑错误
操作步骤如下:
(1)在编辑窗口中重新编辑first.cpp文件,使程序变为:
#include“stadio.h”
Voidmain()
{
Printf(“%d/%d=%f\n”,6,4,6/4);
}
(2)按快捷键【F7】或选择BuildBuild命令对程序进行编译和连接,成功。
(3)按快捷键【Ctrl+F5】或直接单击运行按钮“!
”,运行程序。
程序运行结果:
6/4=0.000000
显然,这不是我们需要的结果。
我们需要的结果是1.5,并用%f显示浮点数。
但是程序运行的结果却是0。
在程序经过正确的编译和连接后,运行也有了结果,但是却不是我们想要的结果,这就是所谓的逻辑错误。
逻辑错误是最难查找的错误。
这类错误往往来自于编程者对问题的错误理解和对程序设计工具的不了解。
本例程序中,表达式“6/4”中的运算符“/”是整除符号,其结果是整数1,整数1却用%f控制显示,当然不能得到正确的结果。
正确的显示方法是:
Printf(“%d/%d=%f\n”,6,4,6,0/4);
程序运行结果:
6/4=1.500000
当然,如果需要求整除的结果,则可以使用语句:
Printf(“%d/%d=%d\n”,6,4,6/4);
程序运行结果:
6/4=1
关于逻辑错误的查找方法,将在后面的练习中讲解。
实验
(二)基本数据类型与运算符
实验时间:
5月22日 同组人员:
赵兰
实验目的
(1)掌握c语言中变量的定义方法,这些变量的数据类型是基本数据类型。
(2)掌握整型数据类型的格式输入和输出方法。
(3)掌握浮点数据类型的格式输入和输出方法。
(4)掌握字符数据的格式输入和输出方法。
(5)掌握putchar()和getchar()函数的调用方法。
(6)掌握算数运算符的用法。
(7)掌握关系运算符的用法。
(8)掌握逻辑