序言

C语言的最大特点是:功能强、使用方便灵活。C编译的程序对语法检查并不象其它高级语言那么严格,这就给编程人员留下“灵活的余地”。但由于这个灵活给程序的调试带来了许多不便,尤其对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误。

看着有错的程序,不知该如何改起,积累了一些C编程时常犯的错误,写给各位小伙伴以供参考。

1.书写标识符时,忽略了大小写字母的区别

int main(){ int a=5; printf("%d",A);}

编译程序把a和A认为是两个不同的变量名,而显示出错信息。C认为大写字母和小写字母是两个不同的字符。习惯上,符号常量名用大写,变量名用小写表示,以增加可读性。

2.忽略了变量的类型,进行了不合法的运算

main(){ float a,b; printf("%d",a%b);}

%是求余运算,得到a/b的整余数。整型变量a和b可以进行求余运算,而实型变量则不允许进行“求余”运算。

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

char c;
c=”a”;

在这里就混淆了字符常量与字符串常量,字符常量是由一对单引号括起来的单个字符,字符串常量是一对双引号括起来的字符序列。

C规定以“\”作字符串结束标志,它是由系统自动加上的,所以字符串“a”实际上包含两个字符:‘a’和‘’,而把它赋给一个字符变量是不行的。

4.忽略了“=”与“==”的区别

在许多高级语言中,用“=”符号作为关系运算符“等于”。如在BASIC程序中可以写

if (a=3) then …

但C语言中,“=”是赋值运算符,“==”是关系运算符。如:

if (a==3) a=b;

前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。由于习惯问题,初学者往往会犯这样的错误。

5.忘记加分号

分号是C语句中不可缺少的一部分,语句末尾必须有分号。

a=1
b=2

编译时,编译程序在“a=1”后面没发现分号,就把下一行“b=2”也作为上一行语句的一部分,这就会出现语法错误。

改错时,有时在被指出有错的一行中未发现错误,就需要看一下上一行是否漏掉了分号。

代码如下:

{ z=x y; t=z/100; printf("%f",t);

对于复合语句来说,最后一个语句中最后的分号不能忽略不写(这是和PASCAL不同的)。

6.输入字符的格式与要求不一致

在用“%c”格式输入字符时,“空格字符”和“转义字符”都作为有效字符输入。

scanf(“%c%c%c”,&c1,&c2,&c3);

如输入a b c

字符“a”送给c1,字符“ ”送给c2,字符“b”送给c3,因为%c只要求读入一个字符,后面不需要用空格作为两个字符的间隔。

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

例如,a已定义为整型,b定义为实型

a=3;b=4.5;

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

编译时不给出出错信息,但运行结果将与原意不符。这种错误尤其需要注意。

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

(1)

main()
{int a=0,I;
scanf(“%d”,&I);
while(I<=10)
{a=a I;
I  ;
}
printf(“%d”,a);
}

(2)

main()
{int a=0,I;
scanf(“%d”,&I);
do
{a=a I;
I  ;
}while(I<=10);
printf(“%d”,a);
}

可以看到,当输入I的值小于或等于10时,二者得到的结果相同。而当I>10时,二者结果就不同了。

因为while循环是先判断后执行,而do- while循环是先执行后判断。对于大于10的数while循环一次也不执行循环体,而do-while语句则要执行一次循环体。

最后

互联网科技发展蓬勃兴起,抓住风口。为帮助那些往想互联网方向转行想学习,却因为时间不够,资源不足而放弃的人。

声明:

本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

新手学习C语言编程的8个致命错误,你中招了吗?相关推荐

  1. java语言就业方向_四大就业方向彻底解决你学习Java语言编程的后顾之忧-生活感悟与随笔 -亦是美网络...

    前面的文章中已经给大家介绍了关于Java编程语言的优势.特点以及就业前景等内容,大家之所以这么热衷于Java编程学习,不仅是因为Java是编程市场上最为广泛流行的语言,大家更关心的是学习了Java编程 ...

  2. c语言错误出在花括号上,初学者在学习c语言编程过程中常出现的错误分析

    在高校经常中开设的第一科关于程序设计的语言就是C语言,这种语言有很多优势,比如说使用比较灵活,功能比较强大,可以用于编写程序.软件,但是对于初学者来说, 1 0 8 应用方法论 22第霸 0赫 6乱 ...

  3. c语言编程 完美数,用完美数的数字之美激发学生学习C语言编程的兴趣

    崔孝凤 摘要:对于c语言的初学者来说,激发出学习c语言的兴趣至关重要,该文通过探讨完美数的多种实现方法的案例教学,同时列举完美数特有性质,激发学生的学习兴趣,提高教学质量. 关键词:c语言;完美数;案 ...

  4. 如何轻松学习C语言编程!

    C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...

  5. 掌握了c语言就能够编程,C语言编程学习-C语言编程学习app-最火手机站

    C语言编程学习是一款优质的学习软件,能够帮助用户更好的学习C语言,让用户在线就能够获得更多的帮助,快速的解决你的学习需求,增加你的使用体验,进入平台就能够获得优质的学习服务,更好的解决用户的学习问题; ...

  6. python需要音语基础_英语基础一般,如何才能学习C语言编程和Python

    早期为奠定基础不需要太多的英语基础,只需要一个简单的初级层次,当前的程序开发环境非常友好,许多人已经集成在一起,编程方便,在如何配置.编写代码时基本上打开,程序语言只不过是顺序.判断和循环语句,编写一 ...

  7. 学python需要英语基础吗-英语基础一般,如何才能学习C语言编程和Python

    前期打基础不需要太高深的英语基础,只需要简单的初级水平,现在的程序开发环境又很友好,很多都已经集成到一起,方便编程,基本上打开之后不需要怎么配置,直接写代码就行,程序语言无外乎顺序.判断和循环语句,写 ...

  8. Linux下学习C语言编程(一)系统环境配置

    文章目录 前言 一.环境选择 二.配置环境 1.下载CentOS 7 2.创建虚拟环境 2.1 创建新的虚拟机 2.2 新建虚拟机向导 2.3 安装来源 2.4 指定安装位置 2.5 设定磁盘容量 2 ...

  9. 为什么建议电气人学习C语言编程?

    说起编程大家可能都听过,但编程究竟是怎么一回事你弄懂了吗? 编程=对计算机程序进行编写,这些程序可以是现在手里拿着的手机.办公的电脑.你点击的页面.浏览的网页,都是有程序让它执行你要它做的事情. PL ...

最新文章

  1. ADO.NET之使用SqlConnection链接数据库
  2. php导出excel数据代码,phpspreadsheet导出数据到Excel的方法介绍(代码示例)
  3. 二叉树的深度优先遍历(DFS)与广度优先遍历(BFS)
  4. github中的各种操作
  5. oracle 函数 如何编写
  6. RoboCode 参考代码
  7. UFS 3.1协议分析(第一至四章) -- UFS概述
  8. 了解衡量网络性能的四大指标:带宽、时延、抖动、丢包
  9. echarts学习笔记1
  10. OSPF基本配置及手动修改路由器优先级
  11. 固定资产自动盘点系统,盘点固定资产及利润更清晰
  12. String截取指定字符前面(后面)所有字符和String的常用方法
  13. 转录组分析 - 使用 sratoolkit docker镜像 - 目录挂载 - docker中的路径和linux中的路径
  14. web.py应用工具库:webpyext
  15. 为什么DCIM在中国市场不给力?
  16. Arduino控制PCF8574
  17. 中鑫吉鼎|不同人生阶段的女性理财方式
  18. 基于android7.0源码修改
  19. 程序员的生活之二--吃在大连(要来大连的,不看这个可就可惜了!看了不顶,那就太没义气了!)...
  20. 推荐给广大MM们-化妆品品牌中英文对照

热门文章

  1. java对象序列化去掉字段_使用序列化查找对象中的脏字段
  2. 通过引入switch表达式来增强Java switch语句
  3. apache camel_Apache Camel简介
  4. jmeter实现翻页功能_JMeter定制功能实现
  5. Java命令行界面(第20部分):JSAP
  6. 渴望订阅– RxJava常见问题解答
  7. 信号量使用例子_用信号量锁定:一个例子
  8. HazelCast的Spring-Boot和Cache抽象
  9. 生产Java应用程序中的十大异常类型-基于1B事件
  10. coherence安装_在Oracle Coherence中分发Spring Bean