摘 要:C语言是大学阶段一门必修课程,是许多理工科高校的核心课程之一。学好C语言对个人今后的专业发展和自身发展有着深远的影响。本文对《C语言程序设计》课程学习提出了几点建议,以期抛砖引玉。

关键词:C语言 代码 思考

中图分类号:G642 文献标识码:A 文章编号:1672-1578(2018)10-0048-01

1 引言

在大学阶段,C语言不仅是计算机专业而且也是非计算机专业学习计算机基础的一门必修课程,几乎每一个理工科或者其他专业的学生都要学习它。不管你现在是一个高级编程师抑或一个刚刚起步的计算机语言初学者,C语言毫无疑问是我们所接触的第一门计算机编程语言。一个不懂C语言的人,要想写出优秀高效的程序简直是天方夜谭。因此,学好C语言对个人今后的专业发展和自身发展有着深远的影响。

2 C语言介绍

C语言是国内外广泛使用的一种计算机语言,是计算机程序设计的重要理论基础。C语言使用灵活方便、功能丰富、表达能力强、既具有高级语言的优点,又具有低级语言的许多特点,适合编写各种系统软件。不仅用在计算机上广泛用在电子,机械等方面上,而且很多新型的语言如,C++, Java等都是衍生自C语言。它兼备高级语言与低级语言的优点,属于一种中间语言,非常适合结构化程序设计。他有着较丰富的数据类型、运算符以及函数供以选用,能使修改、编辑其他程序与文档变得轻松,简单。

3 C语言学习的几点建议

在学习《C语言程序设计》的一年里,笔者也在慢慢探索该语言的学习心得,并总结了以下几点建议,以期抛砖引玉。

3.1 积极思考 独立完成

学习c语言最为重要的一点就是要积极思考、独立完成。在解答c语言习题的过程中,我们有时会有自己独特的想法,而一道题目的解法往往不止一种,因此不存在唯一的标准答案,只要能够达到题目所要求的目的即可。在拿到题目时我们不必急着写出程序,应该先独立思考,找到自己想编写程序的解决问题的核心算法。例如经典题目:输入一个3行3列的整型数组,求出这个数组的“鞍点”。鞍点是指这个元素在所在的行上最大, 列上最小。请输出这个鞍点的位置及鞍点的值,如果没有鞍点,请输出没找到。

针对该题,笔者的解题思路是先找到一行中的最大值,并找到该最大值所在列的最小值,接着比较此最大值与最小值对应的数值是否相等,若相等则有鞍点,反之,则没有。而这样的思路也显然将之后程序编写的过程大致分为了三个部分。通过鞍点ad是否等于0来判断是否有鞍点的存在并编写出程序。

事实上,在面对一道C语言相关题目时,我们可能会有多种想法,不妨将这些算法都编写为程序,达到一题多解的效果,而这些解法有各自的优势也有缺点,在相互比较中我们会有更大的提高。当然,将我们对于一道题目的解法思路转换为计算机语言,有时较为复杂和困难,但也是在这种“困难”情境下的思考让我们有更大的进步。

3.2 多看代码 反复实践

C语言学习在有一定基础以后,一定要多看别人的代码,一是同学或网友的代码,学习别人方法的时候,应该是辩证的态度对对待,应该去考虑它是否有问题,不能迷信别人的代码,应该客观地看待,如果有问题,自己试着去解决,并和他们交流。二是看优秀程序的源代码,这类代码了体现了程序框架、设计思想等,我们可以从中加以学习和借鉴。此外,还要多上机练习,反复实践,这是学习好C语言的重要的环节,无论编程学得多好,上机实现才是目的,把每一段代码都敲进计算机,让计算机来实现,这样有助于对程序的理解,并试着修改代码,让代码更精简,效率更高。自己动手的过程实际上就是不断纠正自己不好的编程习惯和认识错误。平时没事的时候,在计算机上多敲代码,有一定的基础以后可以尝试编一点小游戏,基础很扎实的时候,可以编一些关于数据结构方面的东西,诸如最经典的学生管理系统等等。

3.3 多记笔记 善于总结

上课务必认真聆听,课下一定要整理笔记。因为,毕竟大部分人没有过目不忘的能力,记笔记可以加深印象,便于把上课学习的瞬时记忆转为长期记忆。而且,忘记了也便于查找,不用费力到整本书中去查找。记笔记的方式多种多样,因人而异。代码多的笔记建议记在电脑里,可以先敲出来编译运行,看是否有差错,再复制粘贴到记事本上,作为新手这条一定要时时遵守。在编写程序的过程中我们常常会遇到问题,常会编译错误的程序,学习过程中我们一定要虚心学习,重视每一次编译时出现的错误,从错误中汲取教训,善于总结,特别是频繁出现的更要注意。出现错误不要着急,多交流,也许别人会看到你发现不了的漏洞,

3.4 注意细节 培养习惯

基本上每本C语言教材上都要提到,新手在学习过程中一定要注意细节,培养良好的编程习惯。首先,恰当地对代码加以注释。能在代码里说明白的就一定要在代码里体现,比如函数名、变量名,在命名的时候尽量说明其用途,比如看这样的代码:if?"(frmp>10)", "(plist.bdown & x03)", "(plist.y > pond.y)"就比看注释要复杂的多。仅凭光溜溜一堆代码,别人不仅很难读懂,也不利于查找错误代码。其次,务必把主函数尽量写简短,注意语句的嵌套不能过长。一般来说,一段代码里语句最多8个嵌套,这样简洁精妙的代码更容易读懂。最后,还要注意语句的选择。并不是分支语句就用if循环就用while、for。在适当的情况下switch和do while语句也是要用的。在某些时候,switch语句比if语句更加精练明了,而do while比while少一个循环。

总之,学习C语言没有捷径可走,功在平时,只有平时认真积累思考,積极上机练习,水平才能有所提高。

作者简介:凌卉(1999-),女,福建省宁德市人,中央民族大学2017级信息与计算科学系1班学生,研究方向:信息与计算科学。

关于c语言程序设计的想法,关于《C语言程序设计》学习的几点思考相关推荐

  1. c语言综合程序设计省市邮政编码,《C语言程序设计课程设计报告》_课程教学大纲...

    <<C语言程序设计课程设计报告>_课程教学大纲>由会员分享,可在线阅读,更多相关<<C语言程序设计课程设计报告>_课程教学大纲(6页珍藏版)>请在人人文 ...

  2. 在职高学C语言程序设计,中职学校C语言程序设计教学方法.doc

    中职学校C语言程序设计教学方法 中职学校C语言程序设计的教学方法 摘 要:计算机专业中,C语言是一门基础的程序设计课,但学习<C语言程序设计>相对职高学生来说难度较大,但它却是很实用的一门 ...

  3. 有n个学生选修了c语言程序设计这门课程,C语言程序设计报告学生选修课系统(18页)-原创力文档...

    C 语 言 程 序 设 计 学校: 学院: 班级序号: 学号: :姓名 指导老师: C语言程序设计报告 一.C语言课程设计的目的: 高级语言课程设计是学习完<高级语言程序设计>课程后进行的 ...

  4. 国二C语言文字选择程序选择,全国计算机等级考试二级C语言题型总结(二)——选择循环结构程序设计部分.doc...

    全国计算机等级考试二级C语言题型总结(二)--选择循环结构程序设计部分 C语言第二部分上机题型总结 选择结构部分: if结构题型总结 (案例1) 企业发放的奖金根据利润提成.利润(I)低于或等于10万 ...

  5. 北京科技大学C语言程序设计,北京科技大学《C语言》第1章.ppt

    <北京科技大学<C语言>第1章.ppt>由会员分享,可在线阅读,更多相关<北京科技大学<C语言>第1章.ppt(36页珍藏版)>请在装配图网上搜索. 1 ...

  6. c语言程序设计教程ppt,《C语言程序设计教程》.ppt

    <<C语言程序设计教程>.ppt>由会员分享,可在线阅读,更多相关<<C语言程序设计教程>.ppt(30页珍藏版)>请在装配图网上搜索. 1.第1章 预 ...

  7. 江西师范大学c语言程序考研,2018年江西师范大学程序设计(C语言)考研大纲

    科目代码.名称: 865程序设计(C语言) 适用专业: 085211 计算机技术. 085212 软件工程 一.考试形式与试卷结构 (一)试卷满分 及 考试时间 本试卷满分为150分,考试时间为180 ...

  8. 兰州大学C语言程序设计课程作业,兰州大学C语言程序设计课程作业1附答案.doc...

    兰州大学C语言程序设计课程作业1附答案.doc C 语言程序设计课程作业语言程序设计课程作业_A 历次成绩 完成时间 查看详情 1.0.0 2015-11-21 091531 2.0.0 2015-1 ...

  9. 赣南师范大学c语言实验报告,赣南师范大学651C语言程序设计科目三考研真题详解...

    程序设计和C语言 1.1 复习笔记 一.计算机程序 1程序就是一组计算机能识别和执行的指令 2计算机的一切操作都是由程序控制的 二.计算机语言 1定义 人和计算机交流信息,要解决语言问题.需要创造一种 ...

  10. C 语言的标准输入对象是,《面向对象程序设计C+》期末试卷及标准答案

    <面向对象程序设计C++>期末考试试卷(A)班级:姓名:学号:分数: 试卷说明:本套试题共四个大题,全部题目都答在答题纸上,写在 其他地方均无效. (答题纸在本套试卷的第10页上) 一.选 ...

最新文章

  1. android 获取存储卡,Android获取存储卡路径的方式
  2. java实现下载压缩文件_java实现文件压缩下载----压缩下载zip
  3. java beans_java beans的概念及应用?
  4. SQL Cookbook:一、检索记录(13)按模式搜索
  5. 计算机科学与技术学术报告,Dennis K. Peters学术报告
  6. JavaScript刷新页面,不重复提交
  7. SQL:postgresql修改某字段的部分内容
  8. 基金侧袋机制: 指引与操作规范
  9. 用Bolt引擎实现换肤指南
  10. debug 技巧 包括各种场景的debug方法
  11. C#在Word表格中插入图片调整大小Debug
  12. linux svc作用,[svc]linux性能监控
  13. stm32F407控制器在驱动电机等执行机构时,ADS1256采集模块出现死机现象,问题待解决
  14. 银行卡号码显示每隔4位数空一格
  15. java web课程设计之图书管理系统
  16. 小米路由器刷Xiaomi Mi WiFi Mini openwrt
  17. 输入一个字母,若是小写字母,则变为大写输出,否则,原样输出。
  18. JLINK的SN更改
  19. 表格找不到任何要替换的数据,不能替换受保护的工作表中的数据。
  20. 按概率收敛与几乎处处收敛

热门文章

  1. no qualifying bean of type TransactionManager avaliable 错误
  2. 当你穿越到道诡异仙的世界,如何利用密码学知识区分幻想和现实?
  3. Linux环境下开发51单片机
  4. vue 自定义视频上传 el-upload图片上传
  5. (自考)c++程序设计(04737)
  6. 如何打开服务器的ipv6协议,windows7系统家庭组开启ipv6协议的方法
  7. Java安装系列之mysql+sqlyong安装
  8. C#中的里氏替换原则
  9. STM32F103—使用通用定时器控制开关
  10. 用Python爬虫接私活,赚了32K!