二级c语言程序设计十篇

时间:2023-04-07 03:16:35

二级c语言程序设计

二级c语言程序设计篇1

关键词:汇编语言,C语言

 

单片机的开发离不开单片机的开发语言,对于一个开发者来说,选择适合的语言是非常重要的一个开发环节。

目前的单片机的编程语言主要有汇编和高级语言两种,每一种类型的单片机都有自己的汇编语言,软件可移植性不是很好。而高级语言有C 语言,PLM 语言,PASCAL 语言,BASIC语言等几种。BASIC 语言主要应用在MCS51 系列单片机上,但效果不是很理想,现在已经基本上不用。PLM 语言主要应用在MCS51 和MCS96 系列单片机中,对硬件的控制能力和代码效率都很好,PLM51语言是介于C语言和汇编语言之间的一种高级语言, 是由一种曾经用于大中型计算机的高级语言 PLM 语言移植来的。PLM 的程序书写格式相当灵活,其说明语句写在输入行的位置不受限制,而且程序的元素之间可以随意插入空格。PASCAL语言在MOTOROLA 单片机中有应用。C语言是现代单片机开发中较常用的高级语言,其程序的可读性,可移植性都很好,对硬件的控制能力也很强,唯一不足的是其代码效率较低,在程序量较大时需使用大容量的程序存储器。下边本文就主流的汇编语言与C语言的语言结构和特点进行研究。

首先是汇编语言的结构及特点。

汇编语言是一种采用助记符来编写程序的语言,它由操作符和操作数两个部分组成,其中操作数又分为源操作数和目的操作数。汇编语言比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。论文大全,汇编语言。。汇编语言的特点是用符号代替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。

由于汇编语言中使用了助记符,用汇编语言编制的程序必须通过预先放入计算机的'汇编程序'的加工和翻译,才可以变成能被计算机识别和处理的二进制代码程序。用汇编语言等非机器语言书写好的符号程序称为源程序,运行时汇编程序要将源程序翻译成目标程序。目标程序是机器语言程序,它一经被安置在内存的预定位置上,就能被计算机的CPU处理和执行。

汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。

其次是C语言的结构及特点。

C语言是一种通用的计算机程序设计语言,在国际上十分流行,它既可用来编写计算机的系统程序,也可用来编写一般的应用程序。以前计算机的系统软件主要使用汇编语言编写的,对于单片机应用系统来说更是如此。由于汇编语言程序的可读性和可移植性都较差,采用汇编语言编写单片机应用系统程序的周期长,而且调试和排错也比较困难。而一般效率高的高级语言难以实现汇编语言对于计算机硬件直接进行操作(如对内存地址的操作移位操作等)的功能。而C语言既具有一般高级语言的特点,又能直接对计算机的硬件进行操作,并且采用C语言编写的程序能够很容易地在不同类型的计算机之间进行移植,因此许多以前只能采用汇编语言来解决的问题现在可以改用C语言来解决。

C语言可以用来编写科学计算或其他应用程序,但它更适合于编写计算机的操作系统程序以及其他一些需要对机器硬件进行操作的场合,有的大型应用软件也采用C语言进行编写,这主要是因为C语言具有很好的可移植性和硬件控制能力,表达和运算能力也较强。

概括来说,C语言具有以下一些特点:

1.语言简洁紧凑,使用方便灵活 :C语言一共只有32个关键字,9个控制语句,主要用小写字母表示,压缩了一切不必要的成分;C语言程序书写形式自由,可以用简单的方法构造出复杂的数据类型和程序结构。

2.运算符丰富 :C语言把括号、赋值、强制类型转换等都作为运算符处理,从而使C的运算类型极其丰富,共有34 种运算符。C表达式类型多样化,灵活使用各种运算符可以实现其他高级语言难以实现的运算。

3.数据结构类型丰富 :C的数据结构类型丰富,根据需要可以采用:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等多种数据类型来实现复杂数据结构的运算,尤其是指针类型数据使用起来非常灵活多样。

4.可进行结构化程序设计 :C语言是以函数作为程序设计的基本单位的,用函数作为程序模块以实现程序的模块化,是结构化的理想语言。

5.语法限制不严格,程序设计自由度大 :C语言的语法规则不太严格,程序设计的自由度比较大,限制和灵活是一对矛盾。C语言放宽了语法检查,所以程序员应当仔细检查程序,而不要过分依赖C编译程序去查错。

6.C语言允许直接访问物理地址 :C语言允许直接访问物理地址,能进行位(bit )操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作,这样它可以对单片机的内部寄存器和I/O口进行操作,可以直接访问片内或片外存储器。

7.生成目标代码质量高 :众所周知,汇编语言程序目标代码的效率是最高的,但统计表明,C语言编 写的程序生成代码的效率仅比汇编语言低10~20%。

8.程序可移植性好 :汇编语言完全依赖于机器硬件,因而不具有可移植性,C语言是通过编译来得到可执行代码的。C语言的编译程序便于移植,基本上不作修改就能用于各种机器和操作系统。

尽管C语言具有许多的优点,但和其他任何一种程序设计语言一样,也有其自身的缺点。但总的来说,C语言的优点远远超过了它的缺点。论文大全,汇编语言。。

因此我们在使用中通常将汇编语言和C语言相结合,利用共同的优点来完成开发工作。那在C语言中如何使用汇编语言呢?这个问题在不同的编译器中,具体实现方法是不同的。不过在实现大方上也不过就是有两种,而且各种编译器的实现方法也是大同小异。论文大全,汇编语言。。通常的方法是:一、对C语言程序编译后形成的汇编程序进行手工修改与优化;二、在C语言程序中直接嵌人汇编语句;三、分别编写C语言程序和汇编语言程序,然后独立编译成目标代码模块,再进行链接。第一种编程方式要求对汇编与C语言都极其熟悉,并且这样的编程方式对程序的可读性和扩展性的负面影响比较大,一般不建议使用。第二种方法适用于语句执行频率非常高,并且C编程与汇编编程效率差异较大的情况,例如进入中断的通用中断子程序等。第三种方式是混合编程最常用的方式之一,在这种方式下,C语言程序与汇编语言程序均可使用另一方定义的函数与变量。通过这样的方法就可以使二者结合起来,达到混合使用的目的。

以上就是本文对多种单片机的开发语言特点进行的研究。

参考文献:

[1]陈建铎.单片机原理于应用.北京:科学出版社,2005.2

[2]刘守义.单片机应用技术.西安:西安电子科技大学出版社,2007.8

[3]李平,杜涛,罗和平.单片机应用开发与实践.北京:机械工业出版社,2008.7

二级c语言程序设计篇2

关键字:程序设计语言教学改革

中图分类号:G642 文献标识码:A 文章编号:1672-3791(2012)02(c)-0000-00

1 概述

计算机程序设计语言,通常简称为编程语言,是一组用来定义计算机程序的语法规则。它是一种被标准化的交流技巧,用来向计算机发出指令。

当今计算机程序设计语言种类繁多、共性大、更新速度快,同时软件工程和项目管理的蓬勃发展使得计算机软件开发从业人员的职业分工更为明确。从人力资源与社会保障部颁布的“计算机程序设计员国家职业标准”上看,除了要求从业者必须要有扎实的基本功外,还要具备解决问题的综合能力。因此计算机程序设计员专业的学生在计算机程序设计语言的知识和技能的学习中,不能再仅仅孤立地教授几门编程语言、几门相关的专业课程而已,而是要教会学生掌握通过计算机程序设计来解决实际问题的知识和技能,成为一名合格的“软件蓝领”。这就要求我们不能延续传统的学历教育方法,计算机程序设计语言教学需要改革,需要一种全新的教学理念和模式。

当前的教学改革更多的体现在教学方法和内容上,“学习领域”、“任务驱动”、“职业岗位导向”、“面向工作”等各种课程设计方法层出不穷。然而,纵观大部分课程改革,我们发现其教学改革更多体现在独立的课程中,并没有在课程与课程的衔接上下功夫。大部分院校均先后开设VB、C、C++、JAVA等多门程序设计语言和数据结构、数据库管理系统等专业课程,学生虽然学习了多门程序设计语言,然而每一门语言都只学了皮毛,每一门课程都学了基础,只能完成课堂和课后的作业和练习,而对于能解决什么问题,怎么解决问题,如何综合解决问题一筹莫展,碰到问题时往往觉得无从下手。

2 程序设计语言教学探索与改革:C语言学习三部曲

C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点,同时很多新型的语言都是衍生自C语言,,掌握了C语言,经过简单的再学习,就可以用其他新型的语言去进行程序开发了。因此,在计算机专业的课程中,只要把C语言学扎实了、学透了,就可以说掌握了计算机程序设计语言的精粹。在课程设计中,我们以C语言为主线,以一脉相承的C语言、C++语言、C#语言为基本知识内容,配合上数据结构、UML、数据库等相关知识点,提出语言知识入门、语言能力提高、语言技能应用三个阶段和应用层次的“C语言学习三部曲”的课程改革方案。

第一阶段:语言知识入门――C语言与数据结构整合

1、课程知识要求:

1) 掌握C语言的基本语法,如数据类型,3种语句结构,数组,指针等。

2) 掌握数据基本结构形式和操作,如线性结构,树形结构,图形结构,以及数据结点的查找、添加、删除、排序等操作。

3) 掌握“自顶先下、逐步细化”的结构化程序设计方法。

2、课程技能要求:

掌握如何用计算机解决日常问题,特别是数据的表现形式和动作行为的表现形式。

3、课程设计要点:

将C语言和数据结构进行有机整合,特别是在讲解C语言的数据类型时溶入数据结构知识,在讲解C语言的语法结构时溶入数据结构的数据操作知识。

4、课程目的:

通过该课程的学习,要求学生掌握基本程序设计思想和理论,学会数据及数据处理由现实世界向计算机世界的转换方法和过程,学会用计算机程序设计语言描述和解决日常生活中问题。

第二阶段:语言能力提高――C++语言与UML工具整合

1、课程知识要求:

1) 掌握C++语言的高级语法知识以及面向对象的概念和形式,如面向对象的三大特征:封装、继承、多态,以及模板等概念。

2) 掌握UML知识,掌握利用UML工具(如ROSE)来进行面向对象的分析和建模的方法和过程。

3) 掌握以“抽象与分类”为关键的面向对象的程序设计方法。

2、课程技能要求:

掌握如何用计算机解决日常问题,特别是以面向对象的方法来分析和解决问题。该课程要求学生在第一阶段掌握了结构化的设计方法后,进一步了解面向对象程序设计方法。

3、课程设计要点:

把C++语言和UML进行有机的整合。将UML作为面向对象程序设计的分析和设计的工具,而将C++语言作为进行面向对象程序设计的编程和实现工具。

4、课程目的:

通过该课程的学习,要求学生掌握面向对象理论,学会面向对象分析(OOA)、面向对象设计(OOD)和面向对象编程(OOP)方法和工具。

第三阶段:语言技能应用――C#语言与数据库操作整合

1、课程知识要求:

1) 掌握C#语言的高级语法知识和软件架构知识,如集合、委托、托管、、C/S与B/S架构开发方法等。

2) 掌握数据库操作知识,如SQL语法、、XML等。

2、课程技能要求:

掌握多层架构的数据库应用系统开发方法。,该课程要求学生在复习第二阶段的面向对象的设计方法后,掌握开发.Net应用系统的方法,掌握将数据存储在数据库中的方法,以及掌握对数据库进行查询、添加、删除等操作的方法和步骤。

3、课程设计要点:

将C#语言与数据库操作知识进行有机整合,在讲解用C#语言开发基于.Net的多层架构应用系统中,通过讲解与LINQ将SQL溶入C#语言。

4、课程目的:

通过该课程的学习,要求学生掌握C#语言和数据库操作,掌握通用的企业级应用系统的开发方法和过程。

3 结语

教育部部长周济在2008年度职业教育会议上说到:“以改革创新为强大动力,推动职业教育又好又快发展”。职业教育的生存和发展,离不开教学改革和创新。在进行计算机程序设计语言教学探索与研究中,我们通过走进企业,与企业软件开发人员的进行密切联系与沟通,了解市场发展与需求等一系列调研后,提出了改革方案并付诸实施。实践证明我们的改革思路是正确的,课程改革是卓有成效的。

参考文献

[1] 谭浩强,“C程序设计”[M],清华大学出版社

二级c语言程序设计篇3

关键词:教学方法;语言;设问解答式

“C语言程序设计”是高等学校的公共基础课程,该课程要求学生了解程序设计的基础知识并通过基本的编程训练,培养大学生的计算机应用能力和软件设计的基本能力[1]。C语言程序设计概述(下简称“概述”)是课程的第一讲内容,一般包括计算机程序设计的基本概念、C语言的产生及发展过程和C语言程序设计的特点[2]。作为课程的导入课,“C语言程序设计概述”的课堂教学应该树立起学生对课程的宏观和整体认识,要解释和回答好以下几个问题[3]252:为什么要学这门课?这门课有什么用途?什么是计算机语言?计算机语言和人类自然语言有什么异同?什么是程序设计语言?程序设计语言是什么样的计算机语言?C语言又是什么样的程序设计语言?如何学好C语言?传统的课堂教学往往对上述问题没有完全回答或回答得不好。

2教学内容设计

笔者曾经做了这样一个调查,对正在学习C语言程序设计课程,而且学习已经接近尾声的学生进行问卷调查。75%的学生回答不出来课程有什么用?85%的人不能准确说出“计算机语言”的概念,80%的人不能说出到底什么是“C语言”?70%以上的学生认为没有十足的把握一次通过计算机二级考试。从这个调查问卷,发现笔者的“C语言程序设计”教学真的很失败――学生连最基本的概念都没有掌握,我们感到上好“概述”真的十分重要。教师在讲解“概述”时,一般就是从给学生演示“程序编辑调试”入手,进而讲解C语言的发展,接着讲解C语言程序设计中的数据类型、控制语句等。殊不知,这些学生都是从高中才进入大学,他们对程序设计可能一无所知,乍一接触这些知识,一下子可能无法接受,更有学生从此就失去了学习“C语言程序设计”的兴趣。

2.1设问解答式教学思路[4-6]

“概述”是C语言教学的敲门砖,上好这一节课,直接影响到后续章节的成败。讲述这个内容时,我们首先需要讲解这门课程的重要性,使学生认识到这门课必须要学好。在学生还不知道课程内容时,适当地通过课程提问,逐一分析解决,使学生认识到C语言的强大功能,产生学习的动力,希望学好C语言,了解C语言的学习方法。如图1所示。

2.2承上启下讲解课程的性质

对于学习,人总有一种想法,重要的东西才去学。对任何一门课程,教师必须要跟学生强调这门课程的重要性,从扩充知识体系方面去强调重要性,同时要用通俗的语言来提起学生的兴趣。对于C语言程序 设计,我们采用了如图2所示的讲解方法,使学生初步了解课程的重要性。

2.3层层递进提出问题

设问解答式在教学中已经成为一种流行的教学方法,但在问题设置和解答方面都要有技巧。很多人习惯提的问题是某一讲内容的重点、难点,殊不知,学生还没有开始内容的学习,如何能做到对提出问题有印象,从而做出解答。针对学生对程序设计的了解情况,我们设置以下问题,这些问题层层递进,如果学生了解了这几个问题,那么就对C语言有了一定的了解:

1) 有了丰富的人类语言,为什么还要有计算机语言?

2) 计算机语言有何特征?

3) 程序设计语言是一种什么样的计算机语言?

4) C语言是什么样的程序设计语言?有何特点和作用?

5) 如何学习C语言?

2.4教学方法和技巧――解决问题

2.4.1为什么要学习计算机语言

这是每个计算机初学者遇到的问题,我们利用图3所示的方法来使学生了解计算机语言与人类语言的区别:计算机语言是人与电脑交流的工具,计算机看得懂;而人类的自然语言是人与人交流的工具,计算机不认识。因此我们要指挥计算机做事,就必须要学习计算机的语言。

2.4.2计算机语言家族

有学生认为所有的语言学起来都枯燥无味,计算机语言也不例外。这个时候我们可以列举一下“图灵奖与计算机语言”,如图4为计算机语言的类别,通过讲解让学生了解到计算机语言的大师们对计算机语言的贡献,对计算机及信息技术发展的贡献,使他们感受到计算机语言的魅力,激发学习兴趣。

2.4.3以独特的视角展现“C语言”特色

学生在了解了计算机语言的概念后,肯定很想知道计算机语言的特征,我们抓住学生的心理特点,将C语言的特点总结如下:

1) 严格定义,有严谨的语法;

2) 语义上无二义性;

3) 比自然语言要精简;

4) 是机器可执行的。

在讲解这一部分时,我们一定要注意与人类的自然语言进行对比,使学生留下深刻的印象。

2.4.4层层细化,讲解C语言的发展

当学生了解了“语言”、“计算机语言”之后,接着即可引入“C语言”的相关知识。讲解过程中,我们始终把握联系实际,由浅入深的步骤[3]252-253,如图5展示了讲解思路,采用图示的方式讲解计算机语言的发展过程:

2.4.5图解“程序”的概念

我们一直强调,要计算机做事,要控制计算机,而其中重要的步骤是编写程序、解决问题。理论上说,计算机可以作任何事情,只要把实际问题抽象、制作为可求解的程序,本过程适宜采用如图6所示的图示方式讲解[3]252。

3结语

我们在全校“C语言程序设计”教学中普遍实施上述教学思路,教师和学生普遍感觉收获颇多,特别是加深了学生对C语言的了解,激发了他们学习的兴趣,课堂教学与实验教学效果都比过去有了明显改善。“C语言程序设计”课程在2010年度被评为湖南省精品课程。通过改革教学内容、改进教学方法使C语言教学更适应学生的需求,便于学生循序渐进地学习相关知识和技能[7]。同时在这个过程中,学生会不断地获得成就感,更大地激发起求知欲望,从而培养出独立探索、勇于开拓进取的自学能力。最终使我们的教学更适用于培养学生的创新能力、独立分析问题和解决问题的能力[8]。

注:本文所涉及内容的视频录像可在湖南工业大学“C语言程序设计”省级精品课程网站:218.75. 216.182/vc/850839观看。

参考文献:

[1] 张锦祥. 高级程序设计语言课程教学改革与实践[J]. 浙江教育学院学报,2007(4):71-76.

[2] 谭浩强. C程序设计[M]. 3版. 北京:清华大学出版社,2005:1-12.

[3] 赵娜. C语言程序设计课程教学研究[J]. 科技情报开发与经济,2007,17(8):252-253.

[4] 郭敏,刘会杰.“目标任务型”教学模式在程序设计课程教学中的应用[J]. 河北广播电视大学学报,2007(2):54-56.

[5] 刘小燕,申艳梅.“C语言程序设计”教学方法探析[J]. 计算机教育,2010(6):94-96.

[6] 杨素吟. 设问讲练教学法在教学中的运用[J]. 职业教育研究,2005(8):59-59.

[7] 温雅敏. 数学专业高级语言程序设计课程教学模式改革探讨[J]. 科技经济市场,2008(5):119-120.

[8] 楼蔚松. C语言教学新模式探索[J]. 现代企业文化:理论版,2009(22):191-192.

Based Question and Answer Style’s“C Programming Language Overview”Teaching Content Design

LIU Qiang, LI Changyun, RAO Juhua

(School of Computer and Communication, Hunan University Of Technology, Zhuzhou 412008, China)

二级c语言程序设计篇4

关键词:嵌入式软件开发;C语言;课程改革

0.引言

C语言程序设计作为程序设计语言的入门基础课程,是各高校理工科专业中计算机程序设计类课程的普遍选择。作为一门理工科通识课程,其目的在于使学生通过对C语言中各种语言成分的学习,初步认识计算机程序设计及进行程序设计的过程,掌握基本的程序设计思想与方法。作为通识类课程,目前各院校通常将该门课程的教学安排在一年级,每周3-4学时(含实验),讲授内容主要包含C语言的数据类型与表达式、程序结构、函数、指针、链表、文件等。在教学实践中,我们发现,由于学时限制或学生接受程度等原因,常常需要对部分教学内容(如多级指针、文件操作、位操作等)进行削减,无形中降低了课程内容的深度与广度。作为通识类课程,这样的削减影响不太大。而对于信息类专业(计算机、电子、自动化等)而言,仅掌握通识教育中所讲授的部分是远远不够的。

嵌入式系统开发是信息类专业的一个主要发展方向。进入21世纪以来,融合先进的计算机技术、半导体技术、电子技术及各行业领域具体应用的嵌入式系统,已在工业控制、交通管理、信息家电、智能家居、环境监测、电子商务、机器人等领域得到了广泛应用。

一般说来,嵌入式系统是指以应用为中心,以计算机技术为基础,软硬件可剪裁,适用于心用领域,对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。由于在成本、功耗、体积等方面的限制,对嵌入式系统中的软件开发提出了更高的要求。嵌入式软件开发是在特定的硬件平台上进行,需要使用具有较强硬件操作能力的编程语言。由于C语言是具备了这一特质的高级语言,成为嵌入式系统开发的最佳选择。

调查显示,在信息类专业中,电子类本科专业教学计划与嵌入式系统教学要求相脱节,电子类本科学生的软件基础也较弱。在这样的背景下,对C语言程序设计课程进行相应改革,以适应嵌入式系统开发人才培养的需要是十分必要的。

1.嵌入式软件开发对C语言的需求

在适用于嵌入式系统开发的3类主要语言中,C语言占有超过70%的份额。开发嵌入式软件,除掌握C语言的基础知识和基本技能外,主要还存在以下几方面的要求:

1)指针。

指针作为C语言的主要特点,其使用十分灵活,因而也很难完全掌握。它可用于指向不同类型的普通变量、数组、字符串,甚至函数。在嵌入式软件开发中对各类不同指针(数组指针、指针数组、指向结构体的指针、多级指针)的使用十分普遍。因此,指针相关内容的教学必须足够深入。

2)位操作。

C语言有别于其他高级语言的一个特点是可直接对硬件进行操作。指针和位操作是这一特点得以实现的工具。通过6种位操作符,可直接对内存、寄存器或I/O端口的字节进行测试、置换或移位处理。熟练掌握位操作符的使用,是进行嵌入式软件开发必不可少的重要基础。在一些国内高校普遍选用的经典C语言教材(如文献[4])中,由于定位于普适教育,并未包含位操作部分的内容。

3)文件读写。

嵌入式系统中“一切皆文件”,系统的运行以文件读/写方式进行操作。理解文件系统的构成、掌握基本的文件操作方法也是进行嵌入式软件开发必须掌握的技能。

4)宏定义。

在嵌入式软件中使用宏定义,不仅可防止代码出错,提高可移植性、可读性,而且是产生内嵌代码的唯一方法,可用于替代函数调用,从而达到嵌入式系统性能要求。

以上4个方面的内容,在通识型的C语言课程中,由于课时和学生程度等原因,都不能进行针对性的特别训练。学生在进入嵌入式系统开发阶段后,显然会成为程序设计知识方面的短板。

2.课程改革思路

基于上一节的认识,我们对C语言程序设计课程的教学提出了下面的调整思路。

2.1课程设置

作为通识课程的C语言程序设计通常安排在一年级或二年级上学期完成。信息类专业的学生在大学三年级开始进入嵌入式系统开发相关课程时,不可避免地对已学过的C语言的知识会有一定程度的遗忘。

针对嵌入式系统开发的要求,考虑将C语言程序设计课程划分为2个阶段。第1阶段为c语言程序设计基础,每周3学时,可在大学一年级下学期或二年级上学期开设;第2阶段为嵌入式系统C语言程序设计,每周2学时,作为嵌入式系统开发方向的选修课,可在大学三年级上与其他嵌入式系统相关课程,如嵌入式系统、嵌入式操作系统一起开设。这样设置一方面满足了在低年级完成程序设计类通识课程的要求,使学生不必过早接触C语言中较为深入、复杂的部分;另一方面,通过将与嵌入式软件开发密切相关的知识适当推后,确保了嵌入式系统开发各门课程问的知识联系。

2.2教学内容的划分

由于将课程划分为基础部分和面向嵌入式系统开发的提高部分,则可将C语言的一般基础(基本语句、控制结构、数组、函数、指针、结构体)划人C语言程序设计基础课程中,通过这部分的学习使学生掌握C语言的基本理论知识并具备基本的编程技能,达到程序设计类课程的通识教育水平。

对于与嵌入式开发密切相关的知识,将在嵌入式系统C语言程序设计课程中讲授,主要包括:宏定义、位操作、文件操作和复杂指针运用。这部分内容的教学可围绕嵌入式软件开发实例展开,深入讲解各知识点的应用。通过嵌入式系统C语言程序设计课程的学习,学生应更深入地理解和领会C语言的精华思想,同时具备基于嵌入式平台进行软件开发的能力。

2.3实验内容

任何程序设计语言的学习都离不开大量的实践,实验是学习C语言的重要组成部分。根据前面对课程的划分,C语言程序设计基础课程中可开设的实验项目如表1所示。

实验1在学习了C语言的数据类型、运算符、表达式和输入/输出之后进行,目的在于使学生熟悉C语言的编译环境,逐步认识C语言语句的基本构成。实验2涵盖了程序的3种基本结构,便于学生统一认识关系、逻辑运算和程序结构。实验3-6分别对应于数组、函数、指针和结构体各章节的内容,重点掌握这些语言成分的定义及使用方法。实验7将综合运用本课程中的知识,完成一个较小的、具备一定功能的小型软件的开发。

嵌入式系统C语言程序设计课程的实验内容则围绕一个嵌入式软件开发实例展开,实例由任课教师选定。根据所选实例,实验内容可包含以下项目(如表2所示)。

实验1的目的在于使学生熟悉嵌入式系统的软件开发环境,主要介绍嵌入式Linux下的c语言编译工具。实验2-5则根据所选实例,选取特定的模块有针对性地进行文件操作、宏定义、位运算及复杂指针运用方面的练习。

2.4教学方法与手段的调整

毋庸讳言,由于种种因素的影响,当前各高校中普遍存在学风怠惰现象,相当一部分学生学习积极性较低下。如何提升学生对所学课程的兴趣,是每一名教师都要面对的问题。在多年的C语言程序设计课程教学过程中,我们接到学生的反馈意见最多的是“上课听得懂,下来不会自己编程”。究其原因,大概不外乎两种:一是学生尽管在课堂上听了课,课下并未及时回顾整理并主动思考;二是在理论课堂上一讲到底,学生要等到实验课时才真正动手体会讲过的知识,往往不能及时动手练习,进而影响消化吸收。针对第一种情况,我们采取了每一堂课以提问开始的方式,提问内容主要是对之前所学内容的回顾和脉络梳理,同时还留出了一定的课堂练习时间,这样能在一定程度上起到督促学生课下及时复习的作用,也便于教师及时了解学生的知识掌握情况。而对于第二种原因,可尝试采取将理论课堂搬至机房的方式,在完成一个知识点的讲授后布置即时练习,让学生能及时体验和理解。但当机房容量有限而班级较大时,并不适用,这样的情形如何处理?需要我们进一步思考。

二级c语言程序设计篇5

【关键词】计算思维 C语言程序设计 教学改革

引言

C语言一直在等级考试和实际应用中占有不可或缺的地位,逐渐也成为国内各高校工科专业广泛使用的教学课程。它作为一种优秀的结构化程序设计语言,其功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好、既具有高级语言的优点,又具有低级语言能够直接操作底层硬件的特点,既适于编写系统软件,又能方便地用来编写应用软件。

《C语言程序设计》课程处于非计算机专业计算机基础课程3个层次(大学计算机基础、计算机程序设计基础、计算机应用基础)中第二层次,是一门理论性和实践性很强的课程。所以,教学工作者单纯利用传统的教学模式,并不能有效帮助学生在这一课程上获得大步提升。相反,可能增强学生的抵触心理。因此,改革C语言程序设计课程教学模式改革刻不容缓。

一、计算思维的含义

2006年3月,美国卡内基・梅隆大学计算机科学系主任周以真教授在美国计算机权威期刊上提出:计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。所以,在这里的“计算思维”不是狭义的计算机编程,而是运用计算机基本概念去求解问题、设计系统和理解人类行为。

二、C语言程序设计课程的现状

《C语言程序设计课程》作为高校理工类非计算机专业本科学生的一门的计算机基础课程,重要性不言而喻。C语言课程更是数据结构、C+面向对象程序设计、操作系统和软件工程等课程的基础,并可为这些课程提供实践工具。但是,一般而言,C语言程序设计所涉及的课程内容较为抽象,而大量的概念及语法更使得这门课程乏味无趣,降低学生的学习兴趣。并且,即便学习了这门课程,很多学生在处理问题时,仍不能利用C语言进行思维、表达,仍未建立起程序设计的计算思维模式,不会运用计算机基本概念去求解问题。

(一)无意识计算思维教学

传统教学模式的教学方式是:用大量的时间讲定义、语法、概念、语句,对学生的要求是注重接受、理解、记忆,讲课方式是老师讲、学生听。学生掌握的只是比较抽象、机械、静止、片面和孤立,他们不知道如何灵活地综合运用这些知识去解决实际问题,缺乏计算思维的培养。

(二)教学形式陈旧忽视整体思维培养

在教学过程中,教学工作者重视理论,轻视了《C语言程序设计》课程的实践性。理论教学与实验教学是两个相互依存、相互促进的教学体系。实验教学相对于理论教学更具直观性和创造性,可以让学生在实验中更好地理解理论知识。《C语言程序设计》虽然已经有了相对独立的实验教学计划,但实验内容脱离实际,导致理论和实际教学相分离,不能有效培养学生的实践能力和创新能力,制约学生整体思维能力的提升。

(三)教学内容偏重语法细节轻视而忽视算法思想

在讲解《C语言程序设计》课程时,教师过分注重C语言的一些语法规则,忽视程序设计部分,从而致使语言与程序设计不能有机结合,忽视了对学生算法思想和能力的培养。如此,突出了C语言程序设计枯燥的一面,难以调动学生的积极性和主动性,同时,对培养和锻炼学生的逻辑思维能力具有局限性,影响学生的问题分析理解和求解能力发挥。明确该课程的重点并非一些语法细则,而是培养学生思考问题、分析问题的思维能力和思维模式。

三、《C语言程序设计》课程的教学改革

《C语言程序设计》是典型的计算思维课程,其中的教学内容也成了计算思维能力培养的重要内容。任课老师可以以解决实际问题为引导,讲授C语言程序设计中最基本的方法,将程序设计中的语法知识有机融入,避免知识太过零散,影响学生的记忆和思维能力,进而消磨学生习积极性。

《C语言程序设计》课程是C语言与课程设计相结合的一门课程,这就要求教师既要讲解C语言的一些语法规则,又要重视程序设计。而对于计算机专业的学生来说“程序设计”应该是重点。所以,在整个学习过程中,就要让学生感觉是在学习“程序设计”,学习如何分析问题,解决问题,而不仅仅是在学习语法规则。相反,如果学生对于C语言的语法规则不熟悉,也会影响编程学习,进而影响学生的积极性。因此,将C语言与程序设计有机结合,是对于教师的基本要求。也是培养学生计算思维能力的一种方式。

在教学过程中,教师应一改传统固化的教学模式,采用多种灵活的教学方法和手段,提高教学效率,加强学生对于计算思维的培养。上课时,教师可以在短时间内把课本的主要思想和问题作引导性的讲授,然后有目的的布置具有一定代表性和实际意义的课题或小型项目,并简单提示解决思路,让学生通过讨论、查资料、做实验等方式完成任务,借此来理解相关知识及应用,达到融会贯通知识的目的。这种方式不仅提高学生学习的积极性和主动性,锻炼学生解决实际问题的能力,而且培养学生的思维方式和能力。

针对形式单一的考试制度,可以加大平时成绩和阶段性考核成绩在课程总成绩中所占的比重。将实践环节和理论环节相结合,加强实验考核,在规定时间内上机并完成实验习题,根据完成习题的数量、质量,记录成绩。如此,实验教学和理论教学同步进行,利于培养学生的思维能力。

四、结论与展望

计算思维不单单关联C语言程序设计课程,更与我们的生活息息相关,在到处都有计算机存在的时代,计算思维也越发重要。《C语言程序设计》课程的教学改革,是希望学生在学习C语言的同时,计算思维同样得到训练,从而提升学生的认知能力,为其专业课程的学习打下良好基础。当然,以计算思维为基础的C语言程序设计课程教学改革也并非是一蹴而就的事情,在这个过程中,我们仍需要不断学习、研究、实践、总结和优化。

参考文献

[1]郑爽,王全民,李秀荣. C语言程序设计课程中培养计算思维的案例教学法研究[J]. 计算机光盘软件与应用,2013,21:210-212.

[2]丁岩,张宇昕. C语言程序设计课程改革与计算思维的培养[J]. 重庆与世界(学术版),2014,01:84-86.

二级c语言程序设计篇6

关键词:C语言;C语言学习;C语言技巧

中图分类号:TP312文献标识码:A文章编号:1009-3044(2007)12-21713-03

Shallowly Discusses the C Language Learning Skills

CHEN Wu

(Electronic Information Institute of Yangtze University, Jingzhou 434023, China)

Abstract:C language as a broad international popular computer language, Over the years we have been like to learn but difficult to learn. This article is Based on a brief introduction to the C language, combined with years C language learning experience of the author, analysis of the skill of learning C language and participation computer rank test.

Key words:C language; C language studies; the C language skill; C program

1 学习C语言的意义

一提起C语言,大家就有说不出的忧与喜,为什么呢?很多人都认为它难学,但如果学进去了,就会觉得其乐无穷。

在学习C语言之前,我们先了解一下C语言的发展史。C语言是1972年由美国的Dennis Ritchie设计发明的,并首次在UNIX操作系统的DEC PDP-11计算机上使用。它由早期的编程语言BCPL(Basic Combind Programming Language)发展演变而来。在1970年,AT&T贝尔实验室的 Ken Thompson根据BCPL语言设计出较先进的并取名为B的语言,最后导致C语言的问世。随着微型计算机的日益普及,出现了许多C语言版本。由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准,成为现行的C语言标准。

C语言是国际上广泛流行的计算机语言,既可以用来写系统软件,也可以用来写应用软件。许多著名的软件,如DBASEⅢ PLUS、DBASEⅣ 都是由C 语言编写的。学好C语言,可以为以后学习其他语言打下一个良好的基础,比如网络编程语言PHP的绝大部分内容与C语言相同,如果学过C语言,那么再学PHP就会非常轻松。

2 TC2.0的使用方法

TC2.0是TURBO C2.0的简称。Turbo C是美国Borland公司的产品,Borland公司是一家专门从事软件开发、研制的大公司。该公司在1987年首次推出Turbo C 1.0产品,1988年,Borland公司又推出Turbo C1.5版本,增加了图形库和文本窗口函数库等,而Turbo C 2.0则是该公司1989年出版的。TC2.0下载好后,要安装在C盘的根目录下,也就是地址C:\TC下。安装好后,打开TC的应用程序,将出现以下界面:

其中顶上一行为Turbo C 2.0主菜单,中间窗口为编辑区,接下来是信息窗口,最底下一行为参考行。这四个窗口构成了Turbo C 2.0的主屏幕,以后的编程、编译、调试以及运行都将在这个主屏幕中进行。其实,上面这么多的菜单栏,只要掌握几个功能就行了。首先,按F10键,进入主菜单,用键盘上的“”和“”键可以选择菜单中所需要的菜单项,被选中的项以“反相”形式显示(如菜单中的各项原来是以白底\字显示,选中后就会改为\底白字显示)。此时按回车键或者“”键,就会出现一个下拉菜单。开始选择File的下拉菜单中的new选项,创建一个新的文件,当把源程序编写好后,按F9键,完成编译和连接,这时屏幕上会显示编译或连接时有无错误的信息框,按任意键,信息框消失,光标停留在出错之处。修改完毕后,再按F9,再次进行编译与连接,直到不再显示出错为止,再按Ctrl+F9组合键,系统就会执行程序,如果需要输入数据,则应从键盘输入数据,按回车键后,再按Alt+F5查看结果。最后选择File下拉菜单下的Save或者Save as保存,Save是保存在默认目录下,Save as是自己选择目录保存。最后按Alt+X关闭窗口。在使用TC时一定要习惯使用键盘,虽说有些版本的TC可以使用鼠标进行操作,但在计算机二级考试中的TC可不能用鼠标。再提一点,就是TC2.0与TC3.0的区别,最明显的是在TC2.0中有很多头文件不用加上去,但用TC3.0编写程序时,在每个程序的开头,都要加上#include(stdio.h),如果要进行算术运算,就要加上#include(math.h),而这些在TC2.0中都不需要加。

3 C语言内容概述

C语言的内容大致可以分为这么几块:(1)C语言的运算符与运算顺序;(2)C语言的三种基本程序结构,顺序,选择,循环;(3)数组;(4)函数;(5)指针;(6)结构体与共用体;(7)文件。本文针对这些内容,每一块简要介绍几句,也许对大家的C语言学习有些许帮助。

3.1 C语言的运算符与运算顺序

学好C语言的运算符和运算顺序,这是学好《C程序设计》的基础,C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则显得十分重要。在学习中,只要对此合理进行分类,找出它们与我们在数学中所学到运算之间的不同点之后,记住这些运算也就不困难了,有些运算符在理解后就会牢记心中,将来用起来得心应手,而有些可暂时放弃不记,等用时再记不迟。

3.2 C语言的三种基本结构

C语言的三种基本结构是构成程序的最基本的框架,顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算,输出三步曲的程序就是顺序结构,例如计算圆的面积,其程序的语句顺序就是输入圆的半径r,计算s = 3.14159*r*r,输出圆的面积s。不过大多数情况下顺序结构都是作为程序的一部分,与其它结构一起构成一个复杂的程序,例如选择结构中的复合语句、循环结构中的循环体等。在学习选择结构时,要注意它的嵌套使用,也就是一个if语句中又有一个if语句,在if的判断语句中要注意一个问题,就是=与==的区别,比如if(b=1)与if(b==1),在执行完if(b=1)后,b的值为1,而执行完if(b==1)后,b的不变。在循环语句中,要注意break与continue的用法与区别,break语句是使程序从循环体中退出,从而结束循环;而continue语句是结束本次循环,进入下一个循环。

3.3 数组

数组就是一个同类元素的集合,也就是说,一个数组中的元素必须是同类型的,数组主要有一维数组与二维数组,而二维数组的本质就是一维数组,说通俗一点,二维数组就是把一维数组拆成了几行。要注意对二维数组的几种定义与初始化的方法:

(1)可以只对部分元素赋初值,未赋初值的元素自动取0值。

例如:int a[3][3]={{1},{2},{3}}; 是对每一行的第一列元素赋值,未赋值的元素取0值。赋值后各元素的值为:1 0 0 2 0 0 3 0 0。int a [3][3]={{0,1},{0,0,2},{3}}; 赋值后的元素值分别为 0 1 0 0 0 2 3 0 0。

(2)如对全部元素赋初值,则第一维的长度可以不给出。

例如:int a[3][3]={1,2,3,4,5,6,7,8,9}; 可以写为:int a[][3]={1,2,3,4,5,6,7,8,9}。

C语言中,只能单个引用数组元素,而不能一次引用整个数组元素,在对数组进行引用与赋值时,要学会使用循环语句。还有一点就是要注意把字符串赋给数组的几种方法。

3.4 函数

函数是C源程序的基本模块。从函数定义的角度看,函数可分为库函数和用户定义函数两种。C语言的函数兼有其它语言中的函数和过程两种功能,从这个角度看,又可把函数分为有返回值函数和无返回值函数两种。从主调函数和被调函数之间数据传送的角度看又可分为无参函数和有参函数两种。函数定义的一般格式:

[数据类型] 函数名([形式参数])

{类型说明;

语句;}

函数一般都有返回值,用return语句返回返回值。要学会函数的递归调用与嵌套调用,注意函数的值传递与地址传递。

3.5 指针

有人说,指针是C语言的灵魂,它C语言中广泛使用的一种数据类型,学习指针是学习C语言中最重要的一环,能否正确理解和使用指针是我们是否掌握C语言的一个标志。同时, 指针也是C语言中最为困难的一部分,在学习中除了要正确理解基本概念,还必须要多编程,上机调试。只要做到这些,指针也是不难掌握的。假定P是指针,那么P就是指针变量,它的内容是地址量,*P是指针的目标变量,它的内容是数据,&P是指针变量占用的存储区域地址。把整型变量a 的地址赋予p可以有以下两种方式:

(1)指针变量初始化的方法

int a;int *p=&a;

(2)赋值语句的方法

int a;int *p;p=&a;

不允许把一个数赋予指针变量,故下面的赋值是错误的:int *p;p=1000; 被赋值的指针变量前不能再加“*”说明符,如写为*p=&a 也是错误的。指针与数组的联系也是十分密切的。有如下例子:

int *p,s[10];

P=s;

可以用&s[i],s+i,p+i来表示s[i]的地址。

int *p,s[10][10];

p=s;

可以用&s[i][j]和p+i*10+j来表示s[i][j]的地址。

把字符串的首地址赋予指向字符类型的指针变量。例如:char *pc;pc="c language"; 或用初始化赋值的方法写为:char *pc="C Language"; 这里应说明的是并不是把整个字符串装入指针变量,而是把存放该字符串的字符数组的首地址装入指针变量,要特别注意指针作为函数参数时,可以在调用一个函数时得到多个由被调函数修改的值,还有返回指针的问题,许多库函数都是返回指针值,在调用时一般都要设立相应的指针来接受返回值。

3.6 结构体与共用体

结构和联合是两种构造类型数据,是用户定义新数据类型的重要手段。要学会结构体与共用体类型数据的定义方法和引用方法与用指针和结构体构成链表,链表的建立、输出,这些是以后编写一个大型程序必不可少的。

3.7 文件

C系统把文件当作一个“流”,按字节进行处理。C文件按编码方式分为二进制文件和ASCII文件。C语言中,用文件指针标识文件,当一个文件被 打开时,可取得该文件指针。文件在读写之前必须打开,读写结束必须关闭。文件可按只读、只写、读写、追加四种操作方式打开,同时还必须指定文件的类型是二进制文件还是文本文件。文件可按字节,字符串,数据块为单位读写,文件也可按指定的格式进行读写。文件内部的位置指针可指示当前的读写位置,移动该指针可以对文件实现随机读写。

4 C语言的学习技巧

有人说,C语言的学习就是一个体力活,也就是说,要勤上机。对此,笔者深有感触,可以说学习C语言的过程就是上机的过程。在学习C语言的第一个星期,笔者花了三个小时看书,十五个小时上机。那时,刚接触C语言,不知道从何下手,但笔者悟出了一个道理,就是学习任何一种语言,都要从软件方面着手。到网上查阅资料后,找到了TC2.0,下载安装好后,就照着书本操练起来。当时,笔者对C语言的语法一窍不通,就是照着书一个字母、一个字母的往上敲,边敲边看书上对这个程序的解释,敲完后,就运行程序,但界面上显示在程序中还有几处错误,又照着书一个一个字地对,发现不是这儿少了一个分号,就是那个单词打错了,改过来再次运行就成功了。有时,一个程序调试了半天就是找不到错误所在,就有点泄气了,但是,万事开头难,只要度过了这个难关就好了。就这样,不停的敲程序,不停的改,逐渐有了些感觉。学习就是要有兴趣,有兴趣了就可以学好任何东西。在对C语言地一些基本的语法有所了解后,就尝试着对书上的程序进行一些改动或者自己编写一些小程序,看看改了某个地方后程序会发生什么变化,如果发生了变化,就考虑为什么会发生这些变化,如何消除这些变化,就这样对这些程序进行剖析,对C语言有了更进一步的了解;有时,当脑海中有了某些想法时,就在计算机上进行模拟,当然这些想法有时会成功,有时会失败,每当成功了,就有一种成就感,失败了也不气馁,这样对C语言的兴趣逐渐浓厚起来了,有时一下课笔者就往机房跑,把自己又有的想法与疑惑到电脑上进行试验。学习C语言时,不要怕看长程序,自己多分析几个长的程序后,再去看那些短的程序时,一眼就可以看出程序的目的。

下面再来谈一谈计算机二级考试。全国计算机二级考试每年四月份与九月份各举行一次,由笔试与机试两部分组成,笔试120分钟,机试60分钟,笔试部分又有两部分组成,公共基础知识与C语言程序设计知识,只有选择题与填空题。机试只有三道题,填空,改错与程序设计。笔试只要把历年的考试题做完就可以了,而机试是从一百套题中抽出来的,那一百套题的题库是公开的,考试前把那一百套题做一遍就应该没问题了。在进行机试时,一定要注意这几个问题:做填空题时,一定要把空的下划线去掉,做填空与改错时不要增行删行,因为机试是电脑评卷,电脑在改这两题是是逐行逐行的扫描,一旦发现哪一行与标准答案有不相符的地方就会判为错误,哪怕写对了。做机试题目时,一定要有输出结果,不然就会没分,还有如果题目中这样说:请设计一个程序,将一个数的奇位输出,比如输入7654321,那么就要输出7531。当你把程序修改完或设计好后,一定要输入7654321,而不要输入其它数,电脑评卷时是要看你的结果的,如果结果不是7531,而是其它,可能会判你错。最后做完题一定要保存,最好选择save,而不选save as。

参考文献:

[1]谭浩强. C语言程序设计[M]. 第二版.北京:清华大学出版社,2005.

[2]全国计算机等级考试全真笔试+上机考题解答与训练[M]. 电子科技大学出版社,2005.

[3]全国计算机等级考试二级教程――C语言程序设计[M]. 高等教育出版社,2002.

二级c语言程序设计篇7

【关键词】计算机 C语言 应用

在计算机信息化的21世纪,要掌握现代科学技术,培养新时代复合型人才,计算机是必要的工具,已经大众化的趋势在全球范围内推广使用。语言是计算机的核心,是计算机更新换代的重要载体。C语言是一种重要的计算机程序设计语言,其由贝尔实验室20世纪70年代研发而来,以其丰富的语言功能、强大的表达能力、广阔的应用领域和快速的目标程序效率等优点,伴随UNIX操作系统广泛使用并迅速推广至大、中、小计算机上。

1 C语言的特点

C语言除了作为工作系统设计语言外,还可应用于编写不依赖于计算机硬件的应用程序,兼具汇编语言和高级语言的特点,逐渐成为当今高级程序设计中较为流行的设计语言之一,其主要特点包括:

1.1 具有模块化思想

C语言基于模块化思想,在进行程序设计时,按功能原则分割较大程序为小的功能单一、便于理解、结构清晰的子模块,即小程序。

1.2 结构紧凑、语言简洁、使用方便

C语言在结构上紧凑匹配,语言上简洁明了,使用上便捷方便,其主要由34个运算符、32个关键字、9条控制语句组成,在计算机运算符号过程以其全面、方便、快捷、灵活的特点超越了其他各种语言程序,实现其他各种语言程序无法实现的运算操作功能。

1.3 十分丰富的数据结构

C语言数据结构包罗万象,十分丰富。兼具实型、整型、指针类型、字符型、结构体类型、数据类型、共同体类型等各种现代化语言的数据类型。

1.4 强大的可移植性

C语言具有很好的兼容性和强大的可移植性,可以不做任何修改广泛适用于各种型号不通的计算机和各种操作系统环境下。

1.5 灵活的可调试性

C语言较之其他高级语言,具有良好的可调试性,其可以直接调试系统功能,实现操作硬件的目的。

2 计算机原理中C语言的应用

在计算机普及的今天,C语言可以应用于编写计算机系统软件和二维、三维和动画的设计中。要实现C语言的应用,就要搞懂C语言在计算机原理中的应用,要全面了解C语言在计算机原理中的运用,就首先要认识C语言如下的基本知识:

2.1 C语言的指针

C语言中的指针将其与同时代高级语言区别开来。将“*”号放在一个相应变量声明前,说明其为一个指针型变量,表示这个变量有固定的存储地址,这个内存地址内存储着这个变量的内容。通常情况下,一个指针对应一个地址,一个变量。但也有特殊情况,一个指针变量对应不同代表变量的指针值。实质上,C语言中的指针一方面可以代表相应变量、数组、数组元素以及相应函数的地址,另一方面还代表与这些地址相对应的储存内容。另外,作为参数的指针,可以通过再次调用函数的过程获得一个以上不同于return(z)的返回值。

2.2 字符串

字符串实质上是一种以ASCII的UNL作为数组推出的chair型字符数组,表示的是text文本的字符系列。在计算机原理中,这些字符串的使用并不需要引用库,C标准库中包括一些函数,其可以对相应的字符串在一定程度上实施操作,最后使得这些函数更像是字符串而不是数组。但是值得注意的是,在使用这些函数时,一定记得在相应头文件下进行引用。

2.3 C语言结构的应用

C语言主要包括以下三种结构模式:顺序结构、选择结构、循环结构,以下分别逐一介绍各种结构:

2.3.1 顺序结构

是指按先后顺序依次进行操作,其可构建成一个机构相对简单,程序较为完整,运用相对独立的体系。顺序结构广泛应用于常见的输入、计算、输出程序等计算机运用原理中。例如,X=2,Y=4,若要交换X和Y的值,实际上就相当于两个杯子进行交换,假定第三个杯子是Z。可利用C语言编程为:Z=X;X=Y;Y=Z,执行的相应结果应该是:X=2,Y=Z=4。若打乱该顺序为:X=Y;Z=X;Y=Z,执行结果会变为:X=Y=Z=4。这与我们想要的结果大径相庭。

2.3.2 循环结构

主要应用于运算和处理过程中出现的许多具有规律性的重复,依靠程序中重复执行某些语句。其中,这些被重复执行的语句称为循环体。循环结构在语言中具有重要意义,一方面减少了反复书写相关源程序的工作量,便于记录重复执行某段算法出现的问题和具有规律性的重复运算,另一方面还可以简化程序,缩短程序长度。当前,C语言常用的循环语句包括“for”“while”“do-while”“goto”等,用来实现计算机原理中的循环结构。以上四种循环结构在一定程度上可以实施一定的替换,均可以对相同问题进行相关的处理。循环结构中以表达式判定循环。非0和0分别表示判定结果的真或假。

2.3.3 选择结构

是基于相关条件对应的执行路径进行选择,是对相关选择结构的执行。应用性较强的分支条件和与之相关的分析程序的相应流程是选择结构设计方法中的关键点。选择结构的语句主要由“if”和“if-else”来实现,另外,“switch case”语句是应用于多分支选择结构,这是因为选择结构中会有另外的选择结果的派生,出现多分支选择结构。

3 总结

C语言以其模块化思想、结构紧凑、语言简洁、使用方便、丰富的数据结构、强大的可移植性和灵活的可调试性成为广泛应用于计算机高级语言设计中。C语言的指针、字符串、C语言顺序结构、循环结构和选择结构是计算机原理中C语言的应用的重要元素,是其从众多高级语言中脱颖而出的主要原因,成为当今高级程序设计中较为流行的设计语言之一。

参考文献

二级c语言程序设计篇8

"计算机二级高于计算机一级,它们区别如下:1、考试内容不一样:计算机一级考试科目包括一级MSOffice、一级WPSOffice、一级Photoshop,一级共三个科目;计算机二级考试科目包括C语言程序设计、VB语言程序设计、Java语言程序设计、Access数据库程序设计、C++语言程序设计、MySQL数据库程序设计、Web程序设计、MSOffice高级应用、新增“Python语言程序设计”(2018年9月首次开考)。2、二级的级别比一级的级别更高:计算机二级考试级别:程序设计、办公软件高级应用级,考核内容包括计算机语言与基础程序设计能力,要求参试者掌握一门计算机语言,可选类别有高级语言程序设计类、数据库程序设计类、Web程序设计类等;二级还包括办公软件高级应用能力,要求参试者具有计算机应用知识及MSOffice办公软件的高级应用能力,能够在实际办公环境中开展具体应用。"

(来源:文章屋网 http://www.wzu.com)

二级c语言程序设计篇9

关键词:C++程序设计语言;实践教学;建设

中图分类号: G641 文献标识码: A 文章编号: 1673-1069(2017)01-103-2

1 实践课程简介

本课程属于我校计算机类本科生的第一门专业基础实践课,课程内容包括C++语言程序设计的理论和实践两个部分。基础理论部分内容包括C语言程序设计的基本概念、C++面向对象程序设计、类、对象、继承、派生、多态、模板等概念。实践部分则包括C++语言程序设计的基本训练、类和模板的设计编程、几个算法的实现、简单应用等。

C++语言程序设计是计算机类本科生的一门程序设计语言基础课程,虽然现在大多数程序员使用Java语言做项目开发,但作为程序设计的入门语言,考虑到在培养程序员思维方式的转变过程中,既要兼顾理解计算机硬件和软件的结合,又要程序员从传统的数学逻辑思维方式继承并成功转型到计算机逻辑思维方式。目前也只有C或C++语言能够较好的满足这种需求。

本课程注重采用C++编程语言的最新国际标准[1],结合我们学校实验室硬件的情况,尽可能采用国际上正在流行的比较新的编程软件进行实践教学。使得课程的讲授内容始终跟踪C++程序设计语言的前沿性和先进性。积极学习和引入国内外同行的先进教学方法和教学案例。简单介绍C++语言程序设计的几个流派、现实的应用情况及未来发展趋势。

本课程强调学生在认真听课、阅读理解课本上的有关程序设计的概念、方法外,还要善于利用互联网的资源,特别是学习C++语言程序设计的几个官方网站、几个行业大牛的网站上的知识。在理解理论的基础上展开实验验证,不断的修正自己的理解偏差,使自己学到的知识不断完善,形成体系,为后续课程的学习打下一个坚实的基础。在C++语言程序设计实践教学过程中,强调合作能力的培养,团队意识的形成。自2004年以来,本课程教学效果得到学生的一致肯定,锻炼和培养了学生的实践能力,比较好的完成了本门课程的教学任务。

2 实践教学目标

本课程的实践教学目标包括:学生通过本课程的学习、实践,让学生从中学生传统的数学思维方式转变为结合计算机软硬件特点和计算机逻辑的计算机思维模式去分析问题、编写程序、实现解决问题。通过C++语言程序设计课程的实践训练,了解什么是面向对象的设计思想,养成良好的程序设计风格。利用C++语言程序设计来解决一些实际问题;学会自顶向下,逐步细化,会把复杂问题拆解为几个更为简单的问题,利用面向对象技术进行设计和编程。培养团队协作和开放意识,为计算机类专业后续课程的学习打下一个良好的基础。

3 实践教学方法、手段(举例说明采用的各种教学方法及手段的使用目的、实施过程、实施效果)

①建立以转变传统数学逻辑思维方式为结合计算机软硬件特点的计算机逻辑思维方式为主线的,分层级、渐变式的实验教学体系。首先训练学生学习计算机编程的三种基本逻辑,数组等数据的组织方式,学会排序等几个简单常用算法、解决一些简单问题。然后学习把数据和定义在数据上的操作整合在一起引入类的概念、学会类的定义、理解继承、派生、多态、学会模板的定义和使用、学习文件的使用方法。使学生养成良好的程序设计风格、形成计算机逻辑思维模式。

②采用灵活多变的教学方法,加快提高学生的编程能力。实践教学过程中,针对一些具体的例题,先解决基本问题,然后分析对于一些语句进行适当修改和加入新的语句就可以解决类似的其他问题。设计、利用一些实验数据发现所设计的程序的关键性问题,然后引导学生去解决此类问题。因为本门课程是学生接触的第一门实践性课程,教学过程中引出的问题有些是当前阶段可以解决的,一些问题还要通过后续课程的学习提高能力后才能解决,不一定马上就要把问题解决掉、重点是培养学生继续学习的兴趣。激发学生自主学习的积极性、主动性和能动性。

鼓励学生自主组建C++语言程序设计兴趣小组去找协作课题、完成课程设计作业。实验课堂上也鼓励学生多走动、多交流。建立网上资料、技术分享机制、鼓励学生分享解决问题的方法,老师根据学生的分享情况,适当增加学生的平时成绩。

③逐步建立学校和社会的协同培养模式。在教学过程中,课外时间如有可能,适当组织部分学生走出校门,利用校友资源,组织参观企业、科研院所、地方政府等单位在计算机方面的应用情况。了解社会需求、拓展视野、激发学生学习本专业的积极性。形式多样的人才培养协同创新模式。教学团队通过学院与广州易数信息科技有限公司、广东省信息安全测评中心、广州杰赛科技股份有限公司、广州腾科网络技术有限公司等企事业单位建立了长期战略合作关系。这些都为创新型人才培养打下了坚实的基础。

4 实践教学考核方法

本课程的总评价分数包括平时考勤,平时作业,中段考试、期终前上机考试、课程设计与新技术资料翻译,期末考核六部分。分别占10%、10%、15%、15%、10%、40%。其中,平时作业主要是针对课程中每章节后,为巩固所学内容所布置的习题编程实现;课程设计则主要是训练学生的协作能力和解决实际问题的分析、设计、编程能力、要求提交一份相对完整的设计文档;英文资料翻译采用自主选择网络上国外近半年来计算机类的英文资料、鼓励组团分解翻译大块文件,要求每人翻译至少2个A4版面。期末考试通过闭卷方式考核程序设计的能力,期终考试占总成绩的40%。

5 实践教材

本课程的实践教材为本课程主持人及参与人员王玉山等所编著的《C++语言程序设计实践》,该教材现在只有电子稿,还没有正式出版。

6 实践教学环境和教学资源

本课程的实践教学环境为:①学习版的微软公司的Visual Studio Visual C++的集成开发环境。②Bloodshed Dev-C++(C++开发工具)V5.11.0中文免费版。③奇趣科技开发的跨平台C++图形用户界面应用程序开发框架Qt。

教学资源:

①课程概要:课程简介、教学大纲、课程特色、教学效果。

②在线课堂:课程PPT。

③实验指导:实验指导书和实验报告。

④部分大作业选题目录。

⑤C++语言程序设计课程及研究常用、重要网址列表。

7 实践教学效果

经过多年探索和实践,教学团队在人才培养模式、教学方法、实践教学改革、试验教材编写等方面取得了一定的成绩。团队成员发表相关教改论文10余篇,获得过2010年广东省千百十校级人才项目,主持广东外语外贸大学校教学研究课题“毕业设计管理系统”,2010年度、2012年度广东外语外贸大学优秀科研业绩奖二等奖,周咏梅和林华两位老师获得过年度优秀个人。教学团队成员具有丰富的教学改革实践经验和理论基础,保证了本门实践课的教学质量。

通过大作业与新技术资料翻译,提高了学生主动学习的积极性、培养了团结协作精神。提高了解决问题的能力。组织部分学生到相关企业参观、坚定同学们学习本专业的积极性。

指导学生积极开展科研实践和申报项目,获得成绩如下:

①在王玉山老师的指导下,软件系2015级大学一年级新生林泽聪等获得了广东省团委的攀登计划项目:个人健康档案,获得资助2万元。

②在周咏梅和蒋盛益老师指导下,彭金原等同学获得广东外语外贸大学校级大学生创新创业项目:网络舆情构建关键问题研究―以微博客为分析对象(2011年校级);黄确君等获得:面向高校图书馆的推荐系统(2012年校级)。

部级学科竞赛获奖情况:

Innc多媒体解析语言,2007年在天津举办的全国第10届挑战杯比赛3等奖,2004级软件工程专业,文羲畅。指导老师王玉山。该项目同时获得广东省2007年第九届挑战杯1等奖。

省级学科竞赛获奖情况:

①四灵象棋――基于互联网与移动设备联合开发,广东省第18届“高校杯”软件作品赛一等奖,2006级计算机专业:郭勇、刘荣科、何健,指导老师:林华、蒋盛益、吴彩虹、王玉山。

②基于Web3d的网上服装商城 , 第十七届广东省“文泰高校杯”软件设计(本科组)竞赛1等奖, 2004级软件工程专业学生,指导老师,王玉山。

泛珠三角安利杯大学生计算机作品赛:

2006级计算机专业,陈俊平,余雯. 基于C++语言程序设计的垃圾邮件识别系统, 泛珠三角大学生计算机作品赛广东赛区, 二等奖,2009。

2006级计算机专业学生,“任意达”――私人定制高校客车联盟系统,大学生计算机作品赛暨泛珠三角大学生计算机作品赛广东赛区选拔赛三等奖 , 指导教师林华。

8 实践课程特色及价值

《C++语言程序设计》作为大学计算机类1年级新生的第1门实践课程, 肩负着既要把学生从传统的数学思维方式向结合计算机软硬件特点的计算机思维方式转变,又要转变学生的应试教育模式学习方式向探索式、实证式、协同式、全球互联网求助式、开放式教育学习方式转变。还要求学会面向对象的程序设计思想方法,为后续课程的学习打下一个良好的基础。课程内容本身要求理论联系实际、在理解理论的基础上进行实践验证并不断修正、完善自己理论体系。学习本课程后,要求能够进行面向对象的类的设计,能够解决一些实际问题。本课程的特色和价值主要表现在:

①课程内容理论联系实际,所用软件实验工具、环境要符合时代需要、要采用最新的C++语言程序设计国际标准进行实验讲学,在试验中老师要善于对于同一个程序代码、进行适当变换就可以讲解、实验几个概念和方法,争取用较短的实验时间获得尽可能大的教学效果。

②对于实验内容的数量和深度做到适度,有时候甚至要把问题进行分解,让学生容易理解和实验操作,然后再把解决的问题整合串联、形成比较复杂的编程逻辑、达到锻炼能力、逐步提高水平的目的。也要让学生逐步学会对于程序提出各种修改方案进行实验、达到灵活运用。由于是大学新生的第一门实验课,要学习的基本概念、基础方法比较多,一些程序技巧和需要记住的语句段落要有适当重复训练。内容也要紧密联系实际,吸引学生投身于科技创新。让学生设计一些联系实际的程序,让学生具有的成就感,吸引学生更深入的学习C++语言程序设计。

③在保证基本实践教学的同时,要善于发现好的苗子,并适度引导他们开展四年的项目规划,利用课外时间进行深入研究,形成合作团队,为人才培养的连续性做出贡献。组织部分学生到企业参观实习,让学生早点了解行业需求,使得今后的学习更加贴近实际、符合社会需要。

二级c语言程序设计篇10

【关键词】C语言 项目化教学 程序设计

一、引言

C语言作为计算机科学的基础课程,长期以来都是按照传统的灌输知识点的方式进行教育教学。以课本章节知识为主要教学内容,依课本顺序讲解基本知识,如数据类型、运算符、变量等;依结构讲解程序结构,如数组、函数、结构体等。这种传统的教学模式由浅入深的引导学生学习C语言,但是对于大多数大学新生来说,比较抽象,犹如听“天书”,学习进程慢。学生往往需要反复学习基础知识、经过大量的题海战术。才能悟出C语言的真谛,才可以独立的编写程序。大部分学生学习C语言程序设计也是为了应付考试,很难对程序编写产生兴趣,学生的抽象思维和解决问题的能力得不到锻炼,将来工作中遇到实际的问题,个人解决问题能力也很难再实践中得到提升。为了解决学生只懂理论,实践动手能力差的普遍问题,提出了基于项目化教学的C语言教学研究,给C语言教学研究的发展提出了新的思路,学生学习C语言理论联系实际得到了有益的效果。

二、项目化教学的基本思路

C语言的项目化教学的主要目的就是理论与实践相结合,以理论知识抓住具体应用项目的解决方案,以具体的应用项目本身的实际加深对理论知识的理解。项目与理论的融合、项目的难易搭配、循序渐进的项目训练模式是教学研究的重点和难点。首先,要确定理论知识掌握的目标和实践目标;其次,对知识点的难易程度和深度进行描述;再次,根据知识点的难易度和深度确定具体的项目;最后在具体的项目实践中,完成项目的同时深入理解知识点。

(一)项目设置原则。项目化教学以学生解决实际项目的方式来加深对理论知识的领悟能力,有利于培养学生的创新意识,培养学生的抽象思维,锻炼学生解决问题的能力。以项目化的问题,引导学生进入问题情境,发现问题,找到突破点,主动探索解决问题。因此,C语言项目化设置的原则有两个,一个是程序功能要能解决实际问题,且与学生感兴趣东西相关;一个是项目具有层次,由浅入深,由易到难,又单一到综合。使学生在项目程序设计过程中将C语言的基本结构、数组、函数、指针的编程和调用综合利用来实现编程,解决实际问题的同时对软件的认识得到提升。

(二)项目化教学的几个阶段。C语言的项目化教学可以分为三个阶段,初级阶段、中阶段和高级阶段。每个阶段任务明确,循序渐进。如表1所示的项目化教学的分阶。

初级阶段是对C语言的基本内容的学习过程,包括变量、数据类型、运算符号、语句结构等,在掌握基本内容的基础上C语言的基本语句和程序设计思路。力求达到数组、指针、函数等的基本操作和常用函数库的使用,逐步基本操作的熟练使用以及顺序、循环、选择结构的使用方式。掌握C语言中的较难的数组、指针、文件操作、函数等的概念及操作,进行简单的实际应用练习,对知识点加深理解。

中级阶段是在初级阶段掌握的基础上,高级阶段由具体的项目任务构成,这些项目有多种解决方法和多种结构结合使用才可以实现。结合基本知识和具体项目,进行程序和算法设计,在调试过程中,理解编程技巧和深入理解知识点。

高级阶段是对软件的常用算法、模块开发、信息传递等进行深入学习和改进的阶段。在此阶段的项目化教学中,算法的改进、函数编写、参数传递和程序调试作为重要知识点,将项目分工和模块化作为练习提高的目标,提高团队合作开发的技能。

(三)实施过程中的关键点。C语言项目化教学的具体实施过程中,教师的作用至关重要,整个项目的组织、监控、引导、点拨都需要教师的作用。在引导和点拨上,引导学生发现项目的问题所在,分析探究问题的原因,指导学生如何应对和解决关键性的技术问题、寻求最简洁的工作路径,如何做出符合要求的程序。

(四)评价体系。每个项目结束后,设置相应的评价体系进行探讨和提高,一方面使理论和实践相融合,另一方面满足学生的成就感,激发更大的潜力。项目完成后,进行分级评价,首先是学生自评,让学生自己展示自己的程序,讲解设计思路。其次,同学之间互评,学生了解其他同学的设计思路和程序的基础上,对其进行评价,从多角度探讨问题的解决方案。最后是教师总评,根据项目完成的情况评定学生的成绩,给出相应评价,并对自评、互评环节进行综合评价,给学生表扬和鼓励,并引导学生发现解决问题的捷径。评价体系根据项目的不同作出适当的调整,评价也不能只注重结果,更要重视项目实施的全过程,评价的同时给出下一步需要进行的任务。评价体系在一定程度上给学生增加了积极性,满足了成就感,引发学生从多角度、多方面考虑问题,达到举一反三的效果。

三、项目化教学中应注意的问题

进过一段时间的项目化教学试点,发现项目化教学存在一些问题值得引起注意:项目设置的基本原则要以C语言教学大纲为蓝本,涉及到的知识点不能出现超纲现象;项目的选取和设置要与学生的兴趣为出发点,使学生对项目具有强烈的好奇心;项目设置要分层分级,又易到难,循序渐进,使学生满足一定的成就感的同时增强自信心;项目随行业新理论新方法的出现而随时调整,并保证通过学生的努力探索和实践可以完成的;项目完成过程中锻炼学生的抽性思维能力,培养学生的自主创新意识。

四、结论

本文提出了基于项目化教学的C语言教学研究,从项目化教学的新思路,具体实施过程以及应注意的事项分别进行了阐述,理论与实践相结合的模式,对于学生学习C语言的积极性和主动性具有明显的效果。

参考文献:

[1] 王晓勇,肖四友,张文祥. 基于能力培养的C语言项目化训练教学模式初探[J]. 计算机教育,2009, (11):62-64.

[2] 谭浩强.C语言程序设计[M].北京:清华大学出版社,2004.