c语言程序设计的一般错误的是,《C语言程序设计》第十章 程序常见错误分析.pdf...

第十章 程序常见错误分析

第十章 程序常见错误分析

C 语言是一种方便灵活、功能性很强的程序设计语言,但是对于初学者很难掌

握,尤其是出了错还不知道错误在哪儿,这是由于 c 编译程序对语法的检查不如其

他高级语言那样严格,往往要求设计者自己设法保证程序的正确性,因此调试一个

c 语言程序是不容易的,需要设计者不断积累经验,提高程序设计和调试的水平。

本章将初学者容易犯的错误集中列举出来,供初学者参考,另外,还介绍了调

试程序的一般方法,以便于初学者提高调试程序的能力。

10.1 常见错误分析

程序出错通常有两种情况:

一、语法错误。这种错误通常 c 语言编译程序会给出“出错信息”,并且告诉你

在哪一行出错,程序

设计者只要细心,会很快发现并排除这类错误。

二、逻辑错误。这种错误通常 c 语言编译程序不会检查出来,因此它比语法错

误更难检查,这就要求

程序设计者必须要有丰富的经验,才能很快的解决。有时可能设计者忘记加某种符

号,例如,复合语句的花括号,而导致程序出错,这种错误经过仔细检查,还是可

以发现的。但是,如果程序从算法上就有问题,那修改和检查起来就非常困难了,

像这种错误,在这里不作赘述。

下面将程序中常见的错误列举出来,供初学者参考,并以此为鉴。

1.没有定义变量

在 c 语言程序中,变量一般是先定义后使用。

例如:

main ()

{int x=10,y=2;

s=x*y+3;

printf(“%d\n”,s);

}

编译后,编译程序在程序第三行给出出错信息“Undefined symbol 's' in function

main ”,意思是在 main 函数中第三行有未定义的符号‘s ’,如果在程序开头这样写

“int x=10,y=2,s; ”上面的程序就顺利通过编译程序了。

再如:

127

第十章 程序常见错误分析

main ()

{int x=10;y=2;

printf (“%d\n”, x*y+3);

}

编译后,编译程序在程序第一行给出出错信息“Undefined symbol 'y' in function

main ”,在定义类型一致的多个变量时,变量之间用逗号隔开,如果用分号隔开说明

这句定义语句结束,后面的变量就没有被定义,如果将“y =2 ;”这句前的分号改成

逗号,程序就不会出错了。这种错误是初学者最爱犯的错误。

2 .未注意数据的数值范围

各种不同类型的数据类型表示数的范围不同,例如,int 类型的数占 2 个字节,

表示范围-32768~

32767,如果所表示的数超过这个范围,结果就会出错,如下面的程序段:

int num;

num=89101;

printf(“%d”,num);

程序运行结果是 23565 ,而不是 89101,原因是 89101 已超过了32767,两个字节容

不下 89101,则将高位截取。见图 12.1

00 00 00 00 00 00 00 01 01 01 11 00 00 00 11 01 89101:

23565 :

01 01 11 00 00 00 11 01

3 .输入输出的数据类型与所用格式说明符不一致

输入输出的数据类型应与所用格式说明符匹配,否则将会导致运行结果与原意

不符。

例如下面的程序段:

int a=3;

float b=4.5;

printf(“%f,%d\n”,a,b);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值