C语言初学者容易犯的错误,你犯了吗?

yumo6663个月前 (07-26)技术文章61

很多初次学习C语言的同学总会犯这样那样的错误,虽然C语言编程在语法方面的宽松给编程人员留下了很大的自由发挥的余地,但正是这些“余地”,给程序的调试带来了诸多不便,尤其对于初学C语言的同学来说,经常会出一些自己都不知道错在哪里的错误,下面就给大家分享几个C语言初学者常见的并且容易犯的错误。

01

在main函数后加分号

C语言main函数只有参数,后面接大括号,是没有分号的。加了分号,会产生一系列错误提示,事实上,你只是多加了个分号而已。

02

编写标识符时,忽略了大小写的区别


在C语言中,小写字母和大写字母是不同的字符,如果定义时写小写,输出时写大写,必然会报错。习惯上,符号常量名用大写,变量名用小写表示,以增加可读性。

03

printf函数没有用双引号括起来


当printf没有用双引号括起来时,编译器就会出现如下错误提示:

error C2001:newline in constant

error C2146:syntax error:missing ')' before identifier 'scanf'

意思是新的一行没有断开,语法错误,少了)

实际上,是少了个双引号。

04

忽略了“=”和“==”的区别

在许多高级语言中,用“=”符号作为关系运算符“等于”。但C语言中,“=”是赋值运算符,“==”是关系运算符。例如:if (a==5) b=a;前者是进行比较,后者是把a的值赋给b。

05

switch语句中漏写break语句

有时候我们需要用switch语句来进行条件选择,其中case只起标号的作用,而不起判断作用,漏写了break,在执行完当前语句后,就无法跳出条件选择,继续执行后面的语句。

06

将字符常量与字符串常量混淆

char c;

c=“a”;

这里就混淆了字符常量与字符串常量,字符常量是由一对单引号括起来的单个字符,字符串常量是一对双引号括起来的字符序列。C规定以“\”作字符串结束标志,它是由系统自动加上的,所以字符串“a”实际上包含两个字符:‘a’和‘\0’,而把它赋给一个字符变量是不行的。

07

忽视了while和do-while语句在细节上的区别

while循环是先判断后执行,而do-while循环是先执行后判断。do-while循环要额外执行一次循环体。

08

输入变量时忘记加地址运算符“&”


这种输入是不合法的,scanf函数的作用是:按照a、b在内存的地址将a、b的值存进去。“&a”指a在内存中的地址。


以上就是一些C语言初学者容易犯的错误,希望能帮助到大家哦!!


更多有关C语言和C++的知识和学习资料,欢迎关注微信公众号:C语言学习基地!

相关文章

你真的了解scanf吗(scanf-s)

scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。其调用格式为: scanf("<格式化字符串&g...

C语言学习笔记系列—第三章(c语言第二章)

继续第二章之后的学习,上一章学习认识了一些最简单的C程序。第三章将基于C的数据类型进行笔记学习,和之前一样本文还是已一个重新学习角度去认识C语言,所以文中只会引用到需要数据类型介绍。不会像其他C语言教...

7.C语言-选择结构设计(c语言选择结构设计实验报告)

1.IF单分支结构if(表达式) 语句表达式可以是任意表达式,语句可以是一条语句,也可以是复合语句,执行过程,先判断表达式是否为真,如果为真,那么执行语句,如果为假,那么跳过语句执行后面的程序。flo...

嵌入式C语言常用的5类预处理(嵌入式对c语言的要求)

在嵌入式系统编程中不管是内核的驱动程序还是应用程序的编写,涉及到大量的预处理与条件编译,这样做的好处主要体现在代码的移植性强以及代码的修改方便等方面。因此引入了预处理与条件编译的概念。在C语言的程序中...

C语言求解一元二次方程(升级版)(c语音求一元二次方程的解)

C语言求解一元二次方程,利用scanf函数可以实现输入方程的系数,如果要实现连续输入,可以使用do…while循环。do…while循环do…while循环的基本格式do{ 循环体语句 }wh...

C语言新手常犯的 17 个错误及解决方式!摆脱新手魔咒

C语言的最大特点是:功能强、使用方便灵活。C编译的程序对语法检查并不像其它高级语言那么严格,这就给编程人员留下“灵活的余地”,但还是由于这个灵活给程序的调试带来了许多不便,尤其对初学C语言的人来说,经...