欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

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

    • 资源ID:36077965       资源大小:154KB        全文页数:41页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    中南民族大学管理学院学生实验报告课程名称:C语言程序设计 年 级:2015级 专 业: 电子商务 姓 名: 学 号: 2015学年至2016学年度 第2学期目 录实验一 C基础练习 实验二 基本数据类型和运算符 实验三 顺序与分支结构 实验四 循环结构 实验五 函数 实验六 数组 实验七 指针 实验八 结构体、联合体和枚 实验九 文件 实验(一) C基础练习 实验时间:同组人员: 实验目的(1) 熟悉Visual C+6.0的调试环境。(2) 掌握在Visual C+6.0的调试环境下调试C程序的方法。(3) 掌握在C程序中定义主函数的方法。(4) 掌握在C程序中书写注释的方法。(5) 了解函数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文件。内容如下:#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() Printf(“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(“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(s) 提示信息的第1、2行是“Compiling.first.cpp”,表示正在对程序进行编译,在生成目标程序first.obj时编译程序检查出了问题。总共发现了1个错误。 错误信息还明确告诉程序员编译错误出现在第6行,语法错误是“printf标识之前缺少符号”,也就是说第5行后面缺少分号。 C语言规定,每条语句都必须以分号结束,如果不写分号,编译器将会提示错误,这种错误就是所谓的编译错误,也就是说语法错误。 因为有编译程序的帮助,从理论上来说。语法错误是最容易纠正的错误。但实际上,由于C语言自身非常灵活的特性,对于初学者开说,寻找到错误也不是一件容易的事情,需要在实践中学习提高。(3) 将分号加回去,程序就可以正确编译连接和运行了。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:errorLINK2001: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”stadio,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 :printf (“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行的switch语句缺少了分号,由于编译程序检查下一行才能发现遗漏的分号,因此给出的行号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:switch 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) 再次编译,编译成功注意:这里只改了一个错误,编译却成功了,这种情况在调试过程中会经常出现,修改了前面的一个错误,可以消除后面程序中的多个错误。(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显然,这不是我们需要的结果。我们需要的结果是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/4); 程序运行结果: 6/4=1 关于逻辑错误的查找方法,将在后面的练习中讲解。实验(二) 基本数据类型与运算符 实验时间:5月22日同组人员:赵兰 实验目的(1) 掌握c语言中变量的定义方法,这些变量的数据类型是基本数据类型。(2) 掌握整型数据类型的格式输入和输出方法。(3) 掌握浮点数据类型的格式输入和输出方法。(4) 掌握字符数据的格式输入和输出方法。(5) 掌握putchar()和getchar()函数的调用方法。(6) 掌握算数运算符的用法。(7) 掌握关系运算符的用法。(8) 掌握逻辑运算符的用法。(9) 掌握位逻辑运算符的用法。(10) 掌握调试程序的简单技巧。实验内容1、 练习用各种基本数据类型定义变量和输出方式。2、 练习使用scanf()函数接收数据。3、 练习使用scanf()函数接收带有特殊格式的数据。4、 通过调试,将下面的程序修改为正确的程序。5、 编写程序练习题的结果。实验步骤1、 练习用各种基本数据类型定义变量和输出方式。操作步骤如下:(1) 打开工作空间MyWorkspace中的MyProject项目。(2) 打开Windows的记事本,将first.cpp文件中的整个程序复制到笔记本的编辑窗口中,另存为一个文件。这样,就可以将第一个练习中的源程序保存起来。 接着,将新的程序输入MyProject项目中的文件first.app中(覆盖原来的内容),并对其进行调试。本书中的实验指导主函数所在的源程序都存入文件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文件,内容如下:#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) 编译、连接并运行程序,得到正确结果。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、3、”,但是系统却在等待操作者输入下一个数。因为123三个数中间没有用空白符分离,系统将其认为是一个数。我们必须再输入两个数:34 5程序才能正确接收数据,但这时系统计算的是123+4+5的值。空白符是指空格符、回车符和tab符,因此,要想让程序正确的接收数据,正确的输入格式不止一个,还可以有许多组合。例如:输入可以为:123(4) 再次运行程序时,选择不同的输入格式进行测试。3、练习使用scanf()函数接收带有特殊格式的数据。操作步骤如下:(1) 在操作窗口中重新编辑first.cpp文件,内容如下:#include “stadio.h”Void main() int a,b,c; Printf(“请输入时间(格式为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) 再次运行程序。 在提示语句“请输入时间(格式为00: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 identifier mainFirst.cpp :error c2501 void; missing storage-class or type specifiersFirst.cpp :fatal error c1004 :unecpected end of file foundFirst.obj - 4 error (s), 0 warning(s) 分析这四个错误产生的原因。第一个错误在第一行,错误的原因是:“include在需要一个文件名的的地方发现了花括号”,根据提示,可以发现#inclide后面的stadio.h文件应该用双引号;剩下的3个错误都在第三行,错误的原因分别是:“标识符main前缺少分号”、“void前缺少类型说明”和“不期望文件结束”,这几行提示并不是非常准确,因为c编译程序有自己的判断语法和说明,但我们还是能够发现声明主函数语句的V和M用大写是错误的,并且函数名后面没有使用圆括号。(3) 将编辑窗口中的第一行修改为“#include”stdio.h”,第二行修改为“void main()”,第五行修改为“printf(“%d”,c);”。(4) 再次编译程序,编译程序还是发现两个错误。这说明经过修改的程序很有可能被编译系统发现新的错误。First,cpp(3):error c2065: b:undecleaed identifiersecond.,cpp(3):error c2065: c:undecleaed identifierFrst.obj - 2 error(s), 0 warning(s)这两个错误都在第三行,错误的原因分别是符号b没有定义和符号c没有定义,原来,程序在 int a=6后面使用的是分号,从而结束了定义语句,使b=8;c中的b和c成为没有经过定义的变量,c语言规定,没有定义的变量是不能使用的。(5) 在编辑窗口中将语句int a=6;b=8;c;改为inta=6,b=8,c;。(6) Compiling. First.cpp filesmicrosoft visual studio myprojectsmyworkspacemyprojectfirst.cpp(5):errror c2664:printf:cannot convert parameter 1from const int toconst char*Conversion from integral type to printer type requires reintpret _cast,c-style cast or function-style castError executing cl.exe.First.obj - 1 error(s), 0 warning(s) 这个错误在第5 行,错误的原因是:“不能将printf的第一个参数从整型变量转化成字符常量”,因为单引号括起来的是字符常量,而printf的第一个参数应该是字符串(字符串在系统内部通常用首地址表示,地址是整型数),这样就可以发现%d应该是双引号。(7) 第4 次编译程序,编译成功。5、编写程序练习题的结果。 如果有些习题没有答案,不妨自己编写一个小程序来验证。对于不同的习题,程序的编写也会有些不同。 习题1:假设有定义“int j=6:;”,执行语句“j+=j-=j*j;后”j的值是多少? 习题2:若变量已正确定义和赋值。下列表达式中那些符合c语言语法?x=y+7=z*6 16.5%3 x=y=z*6 x:=y操作步骤如下:(1) 为了求解习题1,编写程序如下:#include “stadio.h”Void main() int j=6;J+=j-=j*j;Printf(“j=%d”,j)(2) 编译、连接并运行上面的程序,得到运行结果“j=-60”。因此,习题的答案是: j的值是-60.(3) 为了求解习题2,编写程序如下:#include “stadio.h” int x,y,z,i;X=y+7=z*6;/*i=16.5%3;printf (“i=%d”,i);*/x=y=z*6;*/Printf (“x=%d y=%d z=%d ”,x,y,z,);注意:由于要判断表达式是否正确,所以要将所有的表达式加上分号以后写在程序里。为了调试方便,先将后面3个表达式暂时用注释行符号括起来,这三行将不被编译。(4) 编辑和编译上面的程序,编译出现了错误,说明表达式“x=y+7=z*6;”错误。(5) (5)删除程序中的“x=y+7=z*6;”语句,同时去掉i=16.5%3;printf (“i=%d”,i)前后的注释符号,将程序改为:#include “stadio.h” X=y+7=z*6; i=16.5%3;printf (“i=%d”,i);/x=y=z*6;*/x:=y;*/ Printf (“x=%d y=%d z=%d ”,x,y,z,);再次编译,仍然出错,说明表达式“int “16.5%3不正确”。(6) 将上面的程序删除“i=16.5%3;printf (“i=%d”,i)”语句,同时去掉“x=y=z*6;”前后的注释符号,再次编译,这次编译没有出错。说明表达式“x=y=z*6;是正确的。但是,编译的结果有两个警告信息:First.cpp(3): warning c4101:i :unrefrenced local variable First .cpp(3):warning c4700: local variable zused without having been innitialized First.obj -0 error(s),2 warning(s) 警告信息一般不影响程序的运行,有时也能帮助发现程序的逻辑错误。本例的第一个警告信息是说程序中的i是没有用的局部变量,因为现在我们调试的程序,在定义了i以后一直也没有用到它。另一个警告信息是说程序中的局部变量a在使用之前还没有赋初值,因为程序在定义了z'以后没有为他赋值,却在表达式中使用了它,那么,它的值将是不定值。(7) 去掉对i的定义,并为z赋值1,程序改为:#include “stadio.h” int x,y,z=1; X=y+7=z*6;/x:=y;*/ Printf (“x=%d y=%d z=%d ”,x,y,z,);再次编译,编译成功并且没有警告信息。(8) 用同样的方法,可以知道表达式“x:=y;”是错误的。6、练习在被调试程序中增加输出语句帮助调试程序,检查程序的逻辑错误所在之处。下面的程序功能是:程序要接收用户输入的年利率i和存款总数s,计算并输出一年后的本息合计(1) 为了求解习题,编写程序如下:#include “stadio.h”Void main() Float i, s; Printf(“inter data:”); Scanf(“%d”,&i,&s); S=s*(1+i); Printf(“i have %.2f yuan after 1 year”,s);(2) 编译、连接上面的程序,程序通过了编译和连接。(3) 运行程序,从键盘输入数据“0.02 10000”,系统接收数据并计算结果。得到的结果却是:I have -107374176 yuan after oneyear(4) 在编辑窗口中的语句”Scanf(“%d”,&i,&s);”,后面加上一条帮助调试的语句:“printf(“i=%f,s=%f,i,s”);”。(5) 再次编译、连接和运行程序,根据结果,发现i和s的值没有被正确接收,这时可以清楚地知道错误语句只能是“scanf(“i=%d%d”,&i&s);”,该语句用%d来接收浮点数显然是错误的。(6) 在编辑窗口中修改程序,将语句“scanf(“i=%d%d”,&i&s);” 改为“scanf(“i=%f%f”,&i&s);”。(7) 去掉语句“printf(“i=%f,s=%f,i,s”);” ,这点很重要,用于调试程序的语句不能作为程序的一部分。再次编译、连接运行程序,得到正确结果实验(三) 顺序与分支结构 实验时间:2016.5.22同组人员:赵兰 实验目的(1) 熟练掌握顺序结构程序的设计方法。(2) 熟练掌握if形式的分支程序设计方法。(3) 熟练掌握ifelse形式的分支程序设计方法。(4) 熟练掌握else if形式的分之程序设计方法。(5) 掌握switch语句的使用方法。(6) 掌握条件运算符的用法。(7) 了解如何用调节工具Debugger调试程序。实验内容(1) 练习使用单步调试方法调试程序,检查程序的逻辑错误之所在(2) 通过调试,将程序修改为正确的程序实验步骤1. 练习使用单步调试方法调试程序,检查程序的逻辑错误之所在程序的单步执行是一种程序动态调试的技术,这种技术又叫跟踪。跟踪技术一般是在确知逻辑错误在某个范围内,又无法确定是哪一种或哪个程序段时使用的调试技术。其特点是:程序一次执行一行。每执行一行,程序都会停止运行,此时,程序员可以检查有关变量和表达式的值(通过变量窗口和观察窗口),以此为依据判断每一条语句是否正确,从而找出逻辑错误之所在。习题:编写程序,接收用户输入的年利率i 和存款总数s ,计算并输出一年后的本息合计。本题也是实验2的习题(逻辑错误所在的位置不同),实验2中采取的调试方法是在程序中增加输出语句。而在本次实验中我们将使用Visual C+提供的调试工具进行程序的调试。(1) 将下列程序在编辑窗口中输入#include “stdio.h”void main() float i,s;printf(“Enter data:”);scanf(“%f%f”,&i,&s);s=s*(1+i);printf(“I have %d yuan after 1 year”,s);(2) 编译、连接上面的程序,程序通过了编译和连接。(3) 执行程序,从键盘输入数据“0.02 10000”,系统接收数据并计算出结果。得到的结果却是:I have -107374176 yuan after 1 year这是一个有逻辑错误的程序。(4) 设置项目类型是Win32 Debug。为了正确地使用调试器,必须将程序所在的项目类型定义为Win Debug。选择ProjrctSetting命令,系统弹出对话框。在Setting For下拉列表框中选择Win32 Debug选项。(5) 进入调试器状态,观察调试器控制下的几个窗口。 选择BuildStart DebugStep Into命令(或直接按快捷键【F11】),系统将程序装入内存,开始执行主函数。我们会看到一个黑色的窗口闪了一下之后再回到Visual C+6.0环境下,此时,界面的布局发生了变化。出现了一个新的程序调试窗口,该窗口的左边有一个黄色的箭头,箭头所指的位置标示这一行命令还未开始执行。在程序调试窗口下还有两个窗口,左侧的是变量窗口,右侧的是观察窗口,这两个窗口可以帮助我们观察变量的内容。(6) 观察变量窗口的内容。 选择DebugStep Over命令(或直接按快捷键【F10】),程序单步执行一句,黄色箭头指向语句“printf(“Enter data”);”,表示下一句要执行这条语句。现在我们来观察一下变量窗口的内容。从变量窗口的Locals选项卡中,可以看到变量i和s的内容都是-1.07374e+008,这表示两个变量都没有被初始化。(7) 观察Debug菜单和Debug工具栏。打开主菜单中的Debug菜单。这些命令都是与调试程序有关的命令。与Debug菜单对应的还有Debug工具栏。该工具栏中包括了常用的Debug操作。打开Debug工具栏的方法是:在Visual C+环境窗口上部的菜单中的空白处右击,在弹出的快捷菜单中选择Debug命令。Debug菜单中包括了常用的Debug操作和相应的快捷键。(8) 继续对程序进行单步调试。 选择DebugStep Over命令(或直接按快捷键【F10】)两次,单步执行了两条语句,系统显示接收数据的界面,在该界面中输入数据“0.02 10000”,此时,观察变量窗口的Locals选项卡,发现i和s的内容已经变成了0.02和10000,再次按快捷键【F10】单步执行,观察s的内容由10000变成了10200,这说明语句“s=s*(1+i);”也正确执行了。接着,按快捷键【F10】单步执行最后一条语句,显示的结果却是错误的,这说明程序只有最后一条语句有逻辑错误。从而发现输出格式“%d”使用错误,应该修改为“%f”。(9) 退出调试状态。 选择DebugStop Debugging命令(或直接按快捷键【Shift+F5】),退出调试状态。(10) 在编辑窗口中将最后一条语句中的“%d”改为“%f”,再次编译、连接并运行程序,程序调试成功。2. 通过调试,将下面的程序修改为正确的程序程序的功能是:输入3个整数,输出3个整数中间的数。#include “stdio.h”void main() int x,y,z;printf(“请输入三个整数:”);scanf(“%d%d%d”,&x,&y,&z);if(x<y<z); printf(“middle is %d”,y);else if(y<x<z)printf(“middle is %d”,x);else printf(“middle is %d”,z);(1) 在编辑窗口中输入上述程序。(2) 编译该程序。编译错误提示:first.cpp(5):warning C4804:<:unsafe use of type bool in operationfirst.cpp(6):warning C4390:;:empty controlled statement found; is th-is the intent?first.cpp(7):error C2181:illegal else without matching iffirst.cpp(7):warning C4804:<:unsafe use of type bool in operationfirst.obj 1 error(s), 3 warning(s)系统提示有一个编译错误和三个警告。我们首先来分析一下编译错误。编译错误提示指出程序的第7行:else没有对应的if与之匹配。(3) 在编辑窗口中修改程序的第5行,去掉分号。(4) 按快捷键或选择BuildBuild命令对程序再次进行编译。编译提示两个警告。first.cpp(5):warning C4804:<:unsafe use of type bool in operationfirst.cpp(7):warning C4804:<:unsafe use of type bool in operationfirst.obj 0 error(s), 2 warning(s)警告信息是相同的:符号“<”在逻辑表达式中的使用是不安全的。(5) 将“if(x<y<z)”修改为“if(X<y&&y<z)”,将“if(y<x<z)”修改为“if(y<x&&x<z)”。程序被修改为:#include “stdio.h”void main() int x,y,z;printf(“请输入三个整数:”);scanf(“%d%d%d”,&x,&y,&z);if(x<y&&y<z); printf(“middle is %d”,y);else if(y<x&&x<z)printf(“middle is %d”,x);else printf(“middle is %d”,z);(6) 按快捷键【Ctrl+F5】或直接单击运行按钮,输入“1 2 3”,结果是正确的,但是输入“2 3 1”。这说明程序有逻辑错误。(7) 按快捷键【F11】进入单步调试,连续按快捷键【F10】。并在输入界面输入数据“2 3 1”。在观察窗口输入表达式“y<x&&x<z”,表达式的计算结果是0,这说明该表达式不能正确的判断x在y和z中间,只表示了一种x大于y并且x小于z的情况,却没有表示x大于z并且x小于y的情况。表达式“y<x&&x<z”也存在同样的错误。(8) 按快捷键【Shift+F5】,退出调试状态。在编辑窗口中,修改源程序为:#include “stdio.h”void main() int x,y,z;print

    注意事项

    本文(中南民族大学电子商务C语言实验报告.doc)为本站会员(叶***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开