C.C语言的应用很广泛,越来越多的程序员希望能够学好C由于C语言的编译系统对语法的检查不如其他语言那么严格,因此C语.下面将C语言中初学者最常见的错误分析如下;

1 语句书写错误

由于大部分学生都是初次接触程序设计语言,缺乏程序设计的实践,对C语言语句又比较陌生,因此在编写程序时经常出现丢三落四、画蛇添足的情况.语句书写错误主要有:

(1)语句结束未加分号或多加分号.C语言规定,分号作为语句的终止符,是语句中不可缺少的一部分.初学者经常忽略这个分号,如:

main(); structdate

{intyear;

intmouth;

intday;}{inta=1;……

以上两段程序在编译时都会出错.第一段程序在定义结构体变量时,没有添加终止结构定义的“;”,

第二段程序在函数定义中第一行的函数名后应该没有“;”.可见每一条语句的后边都要加分号,函数名后边不加分号.因此初学者要特别注意分号的使用.

(2){},[],(),′′,″″不配对.解决这个问题最好的方法是在写这些符号的时候先成对书写,然后再在中间添加语句.

(3)不该有空格的位置加了空格.例如,在关系运算符<=,>=,==,!=中,两个符号之间不允许有空格.

对于以上错误,初学者要相当小心,C语言程序虽然书写格式自由,但这些细节不能忽视.那么解决语句类错误的方法是增强感性认识,加深理解,在思维方式上形成固定的语句模式.初学者要多读程序,阅读程序是学习C语言入门最快、最简洁的方法.特别是对于一些没有学过计算机语言的初学者,应该先阅读教材,学习它们的编程格式、编程风格,多看一些优秀代码,拓展自己的思维能力,开阔眼界.2 定义、初始化、引用方式错误

此类错误涉及的是C语言的语法部分.语法是C语言的基础,只有掌握了语法,才能够编写程序.因此要求初学者熟悉C语言的每一个语法,并能根据这些语法来编程.那么C语言中常见的语法错误主要有:

211 使用未经过定义的变量

例如:

a,b;main()

{a=1;b=5;

收稿日期:2017—12—10

作者简介:朱一峰(1983-),男,辽宁朝阳市人,助教,主要从事计算机教学研究.

1994-2017 China Academic Journal Electronic Publishing House. All rights reserved. http://www.ahsrst.cn

朱一峰

}

a=1;B=5;

printf(″%d\n″,a+b);

} 41printf(″%d+%d=%d\n″,a,b,a+b); 又如:main() {inta,b;

以上两段程序在编译时都会出错.C语言要求对程序中用到的每一个变量都必须预先定义,并且严格区分大、小写英文字母.C语言程序习惯上使用小写英文字母,大写英文字母通常作为常量的宏定义和其他特殊的用途.

212 数组的定义与引用方式不正确

C语言规定,数组定义的形式采用“数组名+[常量表达式]式,不能出现变量或非整型值.(3(; (1)inta[j];

(2)intx=10,b[x];(4)213 3pt=&a;int3pt,a;

pt前面的“3”是一个指针声明符,表示是一个整形指针变量,在第二条语句中pt前面的“3”是指针运算符,也称为“间接引用运算符”,作用于指针变量,3pt表示指针变量pt所指向的存储空间,相当于变量a.另外,在使用指针前一定要对其进行初始化,否则系统在执行程序时会给出如下的信息:run-timeerrorR6001———nullpointerassigment或者引起更严重的错误使系统崩溃.214 定义函数时出现的错误

如:

);{printf(″insidesum\n″ (1)intfun(inta,intb)

{intresult;

result=a+b;

}

(2)intsum(void)intsum1(void));{printf(″insidesum1\n″}}

在C语言中,函数有返回值时要有返回值语句,第一段程序缺少“return;”语句;一个函数的定义不能从属于另外一个函数,因此函数不能嵌套定义,第二段程序应将函数sum1定义在函数sum之外.

解决语法类问题的最好办法是课上认真听讲、积极思考,课下多实践,具体做好以下几点.(1)养成良好的编程习惯.C语言的学习过程就是反复实践的过程,实践环节是非常重要的.要编出好的程序,就要通过上机操作来验证程序的正确性.多上机、勤上机不但可以提高个人反映速度、锻炼心理素质、增强心理承受能力,而且通过执行程序,初学者会发现程序中的错误,从而了解所学知识的不足,同时也能学会根据编译时系统提示的错误信息来改正程序中的错误.(2)学习C语言必须注意代码运行的细节.教材上的例子代码一定要自己动手上机运行一遍,编译、执行结果完全和教材上说的一致才算是学完一个例题,如果与教材不符,就要仔细查找出错原因.除了教材上现有的例子外,自己还要尽可能地“设计”一些程序,以便验证自己的想法是否正确.(3)初学者不要忽视课后习题,应该独立完成所有课后习题,然后参照习题答案中给出的代码,查看自己程序代码的不足,再修改自己的程序.大多初学者不重视习题的做法是错误的,因为作者通常会在习题中给出一些重要的编程思想,而不是简单的检验已学知识.3 混淆错误

《C语言常见错误分析及解决方法》全文内容当前网页未完全显示,剩余内容请访问下一页查看。

c语言程序一些常见的不足,C语言常见错误分析及解决方法相关推荐

  1. c语言程序第一章编程,c语言程序的设计第一章 C语言编程入门.ppt

    c语言程序的设计第一章 C语言编程入门 第1章 C语言编程入门 本章是本书的入门篇,专为初学者熟悉编程过程.掌握程序结构而准备的. 本章学习目标 ? 1)? 能够通过模仿与改变来构造带有测试函数的C语 ...

  2. 统计字符 c语言程序,统计字符个数的C语言程序.doc

    统计字符个数的C语言程序.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文 ...

  3. php小程序session取不到,微信小程序实现Session功能及无法获取session问题的解决方法...

    因为小程序原生不支持Cookie,因此也不支持Session. 网上找到的的一些方法有缺陷,而且很多累赘,估计没有实际测试过,在此直接给出实测可用的代码. 大概思路就是借助小程序本地储存+网络请求的h ...

  4. “另一个程序正在使用此文件,进程无法访问”的解决方法

    "另一个程序正在使用此文件,进程无法访问"的解决方法 参考文章: (1)"另一个程序正在使用此文件,进程无法访问"的解决方法 (2)https://www.cn ...

  5. Linux下C/C++程序编译链接加载过程中的常见问题及解决方法

    Linux下C/C++程序编译链接加载过程中的常见问题及解决方法 1 头文件包含的问题 报错信息 该错误通常发生在编译时,常见报错信息如下: run.cpp:2:10: fatal error: dl ...

  6. 电脑应用程序错误怎么办_遇到电脑桌面应用程序无法正常启动(0xc0000142)怎么办?0xc0000142解决方法...

    遇到电脑桌面应用程序无法正常启动(0xc0000142)怎么办?0xc0000142解决方法 说起电脑这东西让人摸不清头脑:有时对它好呢?电脑也对你好,你对它不好:它就无故给你来点小故障,小弹窗啥的. ...

  7. 单片机长时间程序跑飞_单片机程序跑飞的三种现象、原因及解决方法

    今天在编写单片机程序的时候,由于中断服务程序写的不好,导致单片机程序总是跑飞,最后费了好长时间,花了很大功夫才找到问题原因,由此总结了单片机程序跑飞的三种现象.原因及解决方法. 一.数组越界(数组溢出 ...

  8. uniapp(小程序) 配置 海康威视-萤石监控(直播替代方案) 踩坑与解决方法

    uniapp(小程序) 配置 海康威视-萤石监控(直播替代方案) 踩坑与解决方法 因为公司业务需求需要获取监控的摄像头,萤石是给出了几种方案去实现. 直播接入:萤石开放平台API文档 小程序接入:萤石 ...

  9. php7应用程序无法启动,window_win7系统打开软件提示应用程序无法启动的故障原因分析及2种解决方法,      nbs - phpStudy...

    win7系统打开软件提示应用程序无法启动的故障原因分析及2种解决方法 win7系统打开软件提示应用程序无法启动,因为应用程序的并行配置不正确,具体问题现象如下图所示: 故障原因分析: 一个可能是Win ...

最新文章

  1. 农林废弃物如何变废为宝?
  2. Myeclipse常用快捷键
  3. c从sqlite3数据库中获取数据,并对数据进行拼接
  4. linux 用户管理以及其他命令
  5. html新建通用loading,漂亮实用的页面loading(加载)封装代码
  6. ZooKeeper官方文档学习笔记03-程序员指南
  7. Linux系统查看内存使用情况
  8. 模拟用户操作购物车添加商品修改数量
  9. 信息系统项目管理师核心考点(七)软件架构风格
  10. 关于 CVE-2021-44228 Log4j2 漏洞的相关应对汇总说明(包含中英文客户公告)
  11. 百度账号管理静态页面
  12. blender报错“RuntimeError: Operator bpy.ops.object.mode_set.poll() Context missing active object”
  13. 面板数据分析及stata应用笔记
  14. 登录学习通报错:浏览器没有开启cookie功能
  15. GameofMir引擎架设传奇服务器【1:架设服务端】
  16. 如何搭建自动化测试框架
  17. Mybatis中resultMap和resultType的区别
  18. 为什么谷歌会从零开始构建一个全新的操作系统?
  19. java实现分页功能(一)
  20. 使用lgb.cv时出现ValueError: Supported target types are: (‘binary‘, ‘multiclass‘). Got ‘continuous‘ instea

热门文章

  1. 面向对象 —— 类设计(十一)—— 构造与析构
  2. 自学python考哪些证书-自学python找什么书?
  3. python入门基础知识实例-Python入门基础知识实例,
  4. python画柱状图-Python 使用 matplotlib 画柱状图教程
  5. python学习-要学 Python 需要怎样的基础?
  6. vb还是python强大-VB强大还是python强大
  7. win7系统语音识别操作电脑的操作方法
  8. 根据百度的语音识别例子,展示C如何调用C++库
  9. 科大讯飞新一代语音识别系统揭秘
  10. boost.asio mysql_boost asio学习笔记