当前位置:首页 > 单片机 > C语言编程
[导读]正文一.语言使用错误在打代码的过程中,经常需要在中文与英文中进行转换,因此常出现一些符号一不小心就用错,用成中文。例如:“;”中文中的分号占用了两个字节,而英文中“;”分号只占用一个字节。编译器只能识别英文。因此会报错。在报错后检查这些字符时最需要眼力和时间的。因此打代码是需注意...


正文

一.语言使用错误

在打代码的过程中,经常需要在中文与英文中进行转换,因此常出现一些符号一不小心就用错,用成中文。例如:“;”中文中的分号占用了两个字节,而英文中“;”分号只占用一个字节。编译器只能识别英文。因此会报错。在报错后检查这些字符时最需要眼力和时间的。因此打代码是需注意。

二.忘打分号

分号是C语言是语句的标志,在C中无分号不成语句,无语句不能识别。在编译中如果没有分号,编译器就会将,b=2合到上一个语句a=1中,进而出现语法错误。

img

三.多打分号

复合语句中,花括号后不应再加分号,虽然不会有什么影响,但是多此一举,毫无意义。

img
另外,if(a == 0)后不应加分号,if(a ==0)后加分号就会是语句提前结束,而使用if的目的就是为了控制其后的语句,加了分号之后。程序将永远执行i ,不论a是否等于0.

img
for()后不应加分号。

img
本意是输入4个数,每输入一个数后再将它输出。由于for()后多加了个分号,导致循环变成空语句,此时就变成只能输入一个数并输出了。

四.变量命名的错误

C语言规定,标示符由字母,数字和下划线“_"组成,它的第一个字母必须是字母或下划线。在C语言中变量的命名不允许出现的情况有以下三种:1.以数字开头进行开头;2.不能包含运算符;3.不能与系统保留字(即关键字重名)。一旦出现这三种情况之一,编译器就会报错。如下图所示:

img
这里附上C语言中的关键字,即用作专用的定义符,也称为保留字。

img
作为C语言的初学者,变量的命名往往是简单单调的。而程序员大佬往往用具有特定意义的英文单词进行命名,并形成了一套自己的命名法则:业界目前共有四种命名法则;驼峰命名法,匈牙利命名法,帕斯卡命名法和下划线命名法。其中前三种是比较流行的命名法。1.驼峰命名法是将每个单词(逻辑断点)用大写字母区分开。2.匈牙利命名法通过在变量名前面加上小写字母的符号标识作为前缀,标识出变量的作用域,类型等。3.帕斯卡命名法。与驼峰命名法类似,只不过将开头首字母换成了大写字母。4.下划线命名法是将每个单词(逻辑断点)用下划线隔开。

img

五.忽略大小写字母的区别

img
出现这种情况编译器会将a和A认为是两个不同的变量,因而报错。因此在定义变量和输出变量的同时要注意大小写字母的一致性。因为C会将大写字母和小写字母看成是不同的字符。

六.数据类型的使用错误

例如:我们要输出一个a = 3.1415的情形。如果数据类型使用错误,将得不到我们想要的结果。使用整型,将只输出3。必须使用浮点型float,double,long double。

img
img

七.“/”运算时,和“%”时计算结果的错误

“/”运算时,参与运算的两个数均为整型时,结果为舍去小数的整型数,例如;

img
尽管定义了浮点型但是结果却是1.0,而不是我们想要的1.5。为得到1.5的结果,我们必须将3/2改成3.0/2,或者是3/2.0.才能输出1.5的结果。

img
如果除数和被除数中有一个为负值,其结果与具体实现有关。例如:“-9/7”在有的系统中计算结果为-2,有的系统计算结果为-1,这是对小数部分的舍入处理不同造成的。“%”要求参与的运算操作数均为整型,计算结果的符号与“%”左侧运算对象的符号相同,如“-9/4"的结果为-1。一旦非整型,编译器将报错。

img
也就是说整型变量a和b可以进行求余运算,而实型变量则不允许进行“求余”运算。

八.字符常量和字符串常量的表示错误

字符变量是用类型符char定义字符变量,字符常量是由一对单引号扣起来的单个字符;字符串常量是用双引号括起来的字符序列,在C中通常以“/”作为结束标志。像下面的字符串"a",实际上包含两个字符'a'和'',这把它们赋给一个变量是不行的。

img

九.“=”与“==”的混淆

C语言中“=”是赋值运算符,而“==”则是关系运算符。命名的不同者也就意味着作用不同和优先级的不同。关系运算符的的优先级高于赋值运算符。

img
if()括号中的语句是进行判断的内容,判断a是否等于4,所以说里面的符号应该用关系运算符“==”而不是赋值运算符“=”。正确的表示如下:

img

十.scanf()括号中忘记加地址运算符“

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭