C++实验常见错误及解决办法.doc_第1页
C++实验常见错误及解决办法.doc_第2页
C++实验常见错误及解决办法.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C+语言易错点总结(待续)1.所有编程用的字符都是英文格式的,用引号括起来的表示字符型数据。2.分号表示一条语句的结束,所有语句结束都要加分号,除了预处理命令以外。3.书写标识符时,忽略了大小写字母的区别。main()int a=5;printf(%d,A);编译程序把a和A认为是两个不同的变量名,而显示出错信息。C认为大写字母和小写字母是两个不同的字符。习惯上,符号常量名用大写,变量名用小写表示,以增加可读性。3.忽略了变量的类型,进行了不合法的运算。main()float a,b;printf(%d,a%b);%是求余运算,得到a/b的整余数。整型变量a和b可以进行求余运算,而实型变量则不允许进行“求余”运算。例:int a=5/9;结果是a=0,因为a为整型.想得到小数,可写成a=5.0/9;3.忽略了“=”与“=”的区别。“=”是赋值运算符,“=”是关系运算符。如:if (a=3) a=b;前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。5.多加分号。对于一个复合语句,如: z=x+y;t=z/100;printf(%f,t);复合语句的花括号后不应再加分号,否则将会画蛇添足。6.对于复合语句,一定要用大括号包括起来,否则程序以多条语句处理。如z=x+y;t=z/100;printf(%f,t); 一条复合语句包括三条简单语句7.在使用变量值之前一定要初始化,否则程序会赋给变量一个随机值,易出错。warning C4700: local variable i used without having been initialized解决办法:int i=0; 使用之前赋一个常量值8.main 函数是程序的入口,一个程序只能有一个主函数。否则报错如下fatal error LNK1169: one or more multiply defined symbols found(一种)解决办法:关闭当前工作空间,重新新建一个空间重新编译。9.程序调试:前提:程序无语法错误,error为0,即能执行。 快捷键:F7 编译并连接 F5 调试启动 F9 设置的断点 F10 单步调试 F11进入函数调试 Ctrl+F10 执行到光标位置10函数返回值的类型由函数定义前的类型决定。在函数可能的每一个出口都要return,否则报警告如下,若不处理易引起错误。warning C4715: main : not all control paths return a value解决办法:在函数的每一个逻辑出口都加上return语句。11输入输出语句cout和cin,头文件为iostream.h.A. 使用这两个语句一定要包含该头文件,即在程序开头加上#include iostream.hB. Cout 与配合使用,反向就会报错C. Endl和n表示输出地结束,只能用在cout之后,同样要用隔开12在进行数据处理时,要注意分母不能为零。尤其是在循环体中,多次循环之后分母为零导致意外错误。解决办法:分母为零一般是非语法错误,所以进行调试查找即可。13.函数调用问题函数声明和定义:当被调用函数在调用函数之后定义时,需要在调用之前对函数惊醒声明。声明格式同函数定义时的原型。之前定义的不需声明。例:void fun(参数列表);为函数声明,后加分号void fun(参数列表) 可看作函数原型执行语句; 为函数定义,函数原型后不加分号 函数返回值:调用函数后,该函数的最终取值为该函数出口的return值,void型无返回值,注意return语句后的值类型必须与函数名前的类型匹配。14 常见语句使用注意事项If() else if () :要注意if后的小括号表关系判断;大括号表示执行语句为复合语句While()语句:注意循环退出条件,防止死循环;大括号内的语句为循环语句;Switch ()case: 注意每一个case值后有冒号;若使用break,表示执行一个case就退出,若没有break则表示执行完当前case后接着执行后面的case直至结束。 且所有case最好用大括号括起来类与对象的常见错误1. 在类作用于内,成员变量名和类名以及成员函数的名字不能相同,否则出现标识符重定义错误。但成员函数名称可以重载,只要参数类表不同即可。2. 任何函数的函数体内的局部变量不能与参数列表中的形式参数相同,否则否则出现标识符重定义错误。3. 成员函数的声明和后面该成员函数的实现中的函数名称、参数列表和返回值类型必须相同,否则会认为是重载的不同函数而不是同一个函数,于是出现类中声明了的成员函数没有定义,定义了的成员函数在类中没有声明的错误。4. 类定义的“”后面必须有一个“;”,否则会导致一系列错误,比如说后面的构造器不应该有返回值类型的错误提示。5. 调用对象的成员函数时必须把实际参数写在函数名后的“()”里,没有参数的函数也必须带上空的“()”,否则程序编译没有错误,执行后的结果错误。6. 隐含调用类的无参构造器函数时,不能有参数,连空的“()”都不能有,否则会造成错误,比如如果Point类有无参构造函数,则声明对象变量p1 并调用无参构造函数创造对象应写成 Point p1; 而不是 Point p1();7.如果一个类已经写

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论