- 6
- 0
- 约8.86千字
- 约 11页
- 2017-04-12 发布于四川
- 举报
VisualC6.0中的调试工具使用和常见错误
C语言常见错误及解决方法
(注:红色粗体是常见的错误,请大家检查自己的程序,并注意尽量不要犯这些常见的错误。其余它体是避免错误的方法和正确的写法)
一、基础知识和数据类型、表达式
拼写错误,尤其是include,main,void,float等词。C语言的32个关键字与基本含义如下:
double :声明双精度变量或函数
int: 声明整型变量或函数
char :声明字符型变量或函数
float:声明浮点型变量或函数
void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)
auto :声明自动变量 一般不使用
struct:声明结构体变量或函数
break:跳出当前循环
else :条件语句否定分支(与 if 连用)
long :声明长整型变量或函数
switch :用于开关语句
case:开关语句分支
enum :声明枚举类型
register:声明积存器变量
typedef:用以给数据类型取别名(当然还有其他作用)
extern:声明变量是在其他文件正声明(也可以看做是引用变量)
return :子程序返回语句(可以带参数,也看不带参数)
union:声明联合数据类型
const :声明只读变量
short :声明短整型变量或函数
unsigned:声明无符号类型变量或函数
continue:结束当前循环,开始下一轮循环
for:一种循环语句(可意会不可言传)
signed:生命有符号类型变量或函数
default:开关语句中的“其他”分支
goto:无条件跳转语句
sizeof:计算数据类型长度
volatile:说明变量在程序执行中可被隐含地改变
do :循环语句的循环体
while :循环语句的循环条件
static :声明静态变量
if:条件语句
{},[],(),‘’,“”不配对。解决这个问题最好的方法就是每当写这些符号的时候就先写成一对,然后再在中间加内容。
忘记在语句的末尾加分号,或在预处理命令后多加分号。记住:每一个语句的后边都要加分号,而预处理命令并不是语句,所以不加分号,他们必须每行一条,不能把多个命令写在一行。
混淆/和\;注释对应的符号是/* */,而转义字符是以\开头,除号是/。
printf()和scanf()的参数设置有误,主要表现在以下几方面:
类型不匹配的问题。(例如:有float a=3.5,但输出的时候printf(“a=%d”,a);则屏幕上会显示出a=0.00000或者提示其它运行错误)。基本原则是:float对应%f, int对应%d, char对应%c。
个数不匹配。无论是哪个函数,都可以有n个参数,第一个永远是“”括起来的内容,表示输出格式。剩下的n-1个是输出的变量或者输入的变量的地址。需要注意的是,如果后边有n-1个参数,那么前边一定对应n-1个%f一类的格式说明符。
scanf()中变量前忘了加&。记住:scanf()中变量前要有&(但后边学到的字符数组名和指针前不用加)
定义标识符的时候经常出现使用非法字符的情况,例如:标识符中不能用空格,也就是说不能有这样的定义:int radium of circle;一般情况下可用下划线将三个单词连接在一起。
在使用变量前未定义,或未初始化。例如:若下边的sum未定义,则在编译时会提示相应的错误信息,而若未初始化为0,则求和的结果一定是错误的。
void main()
{ int I,a[10], sum=0; /*只要下边要用,这个定义就必须要有,一般情况下也要有初始值*/
for(I=0;I10;I++) sum+=a[I];
printf(“%d”,sum);
}
符号常量定义错误。例如:#define PI=3.14159,这里的=应该换成空格。
计算错误。主要注意:++,――和其它运算符一起运算时,除根据优先级进行计算时,还要考虑先后位置的特殊含义;数据类型不一致时发生的自动转换也会导致计算的误差;还要注意求模结果的符号与被除数相同;某些特殊情况下 使用懒惰求值法。
不能除以0,要做合法性检查;
类型溢出。记住每种数据类型的取值范围,确保数据在所定义类型范围之内;
数学表达式的格式有误。常见的有:(1)数学与C语言运算表达式的混淆(例如:=表示赋值,而= =才表示我们数学中的相等关系)。(2)、忽略了运算的优先级。解决这个问题的最好方法就是写数学表达式时不要从左到右,而是按优先级的顺序写,写完优先级高的一个表达式后加上()再写下一级的表达式,例如:计算梯形的面积时,要s=((a+b)*h)/2,不要1/2*a+b*h. (3)忽略了计算和赋值时的自动转换。例如:fl
您可能关注的文档
- 河北省保定市高阳中学2013-2014届高二下学期第七次周练地理试题含解析.doc
- PEP3年级英语下册Unit4说课稿.doc
- 河北省保定市高阳中学2013-2014届高二下学期第七次周练数学试题含解析.doc
- pep6年级下册英语教案(全册).doc
- 河北省保定市高阳中学2013-2014届高二下学期第七次周练物理试题含解析.doc
- 河北省保定市高阳中学2013-2014届高二下学期第一次周练化学试题含解析.doc
- 河北省保定市高阳中学2013-2014届高二下学期第三次周练化学试题含解析.doc
- PEP76年级上学期期末英语测试卷2010.doc
- 河北省保定市高阳中学2013-2014届高二下学期第三次周练地理试题含解析.doc
- pep6年级英语上册知识点总结.doc
- 2025年新能源汽车铝合金型材表面处理报告.docx
- 2025_2026学年新教材高中历史第四单元资本主义制度的确立9资产阶级革命与资本主义制度的确立课时作业含解析新人教版必修中外历史纲要下.doc
- 2026版高考历史一轮训练课后限时集训10近代西方民主政治的确立与发展含解析人民版.doc
- 2025年光伏支架轻量化研发趋势与材料创新报告.docx
- 2025_2026学年新教材高中英语UNIT3SPORTSANDFITNESS预习新知早知道学案含解析新人教版必修第一册.doc
- 初中道德与法治八年级上册《爱我中华》单元教学设计(1).docx
- Unit9IlikemusicthatIcandancetoSectionA(3a3c)(教学课件)人教版(0)九年级英语全册().pptx
- 四年级下册《我的“自画像”》习作指导课教学设计——基于例文支架的精准表达训练.docx
- 星火燎原:新中国“两弹一星”伟业的奠基与精神传承.docx
- 中考英语一轮复习:解锁单项选择的逻辑与策略(第一讲).docx
最近下载
- 医学课件-生物活性材料诱导牙本质再矿化和仿生矿化的研究进展.pptx
- Anhao安翰磁控胶囊胃镜系统NU-I用户手册.pdf
- QC成果提高环氧地坪一次验收合格率.pdf VIP
- 物性数据表_瑞士EMS PA610 Grilamid XE 3959 nat.pdf VIP
- SY_T 5225-2019 石油天然气钻井、开发、储运防火防爆安全生产技术规程.docx VIP
- 长安深蓝S7使用说明书(增程版).pdf VIP
- SL∕T 618-2021 水利水电工程可行性研究报告编制规程.pdf
- 2024年考研203日语真题.doc VIP
- 建筑施工 - 07J306集水坑施工图集.pdf VIP
- 抗震支架安装施工方案及技术措施.docx VIP
原创力文档

文档评论(0)