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

很多初次学习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语言scanf()函数的那些奇奇怪怪行为

scanf() 是从标准输入设备(键盘)读取数据,带有行缓冲区的,这让 scanf() 具有了一些独特的特点,例如可以连续输入、可以输入多余的数据等。反过来,scanf() 也出现了一些奇怪的行为,例...

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

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

第3天:7天学会C语言,每天5分钟,不需要基础

昨天讲了系统安装,今天可以继续讲编写程序了。先把昨天的作业给做了,昨天的作业是编写C语言程序输出以下图形:程序如下:怎么样?很简单吧?复习一下,每一行第2个双引号前面的 \n 是什么?对了,是换行。上...

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

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

C语言程序编写输入任意三个数求它们的平均值?

题目:输入任意三个数求它们的平均值?程序:#include<stdio.h> int main() { int a,b,c,sum; float avg; scanf("%d %...