C语言程序设计语法知识体系结构总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计语法知识体系结构总结
摘要:本文就C语言程序设计知识体系结构进行深入的分析与归纳,提出C语言程序设计的语法方面的知识体系结构。首先,讨论知识体系结构中各概念的定义;其次,分别给出C语言的语法知识体系和程序设计的语法知识体系。为设计C 语言程序设计题库提供理论基础。
关键词:知识体系;C语言程序设计;C语言语法;C程序语法
定义1:知识是指特定事物、普遍事理、方法、过程、式样、结构和原理等在大脑中的记忆,以及它们间的关系的记忆。知识是无限的,而结合某一领域的知识却是有限的。也就是说,C语言程序设计知识体系结构中有关它们的语法知识体系是客观存在的。
定义2:知识点是指具体领域中符合定义1的知识。知识的表现形式是概念、判断、推理。其中概念分为具体概念和抽象概念。它们的表现形式是具体事物和抽象名词。2500年前荀况称它们为实知和名知。而判断是描述事物的属性或事物间的关系,他们的表现形式是由词语组成的命题,即陈述句;推理是一段原委的叙述,它由一个或多个句子组成。从它们的语义内容来看,C语言知识可以分为14类:定义,功能,组成,作用,特征,区别,算法,分类,原理,方法,策略,过程,应用,方法。
定义3:知识单元是指知识在语义上是同一概念的性质和(或)同一种属关系等知识组成的知识点集合。知识单元的大小是与知识单元中知识点的多少成正比。而由可满足某一应用的最少知识点组成的知识单元称为独立知识单元。例如:C 语言的常量是一个知识单元,而常量中的十进制常量是一个独立知识单元。
定义4:知识块是指在语义上有联系的若干个知识单元的集合。知识块的大小与集合中知识单元的多少成正比。而由可满足某些应用的最少独立知识单元组成的知识块称为独立知识块。例如:C语言中的基本数据类型是一个知识块,而十进制数据类型、值域和对应的运算符是一个独立知识块。
定义5:知识体系是指能够构成一个完整应用的若干的知识块的结合。知识体系的大小是与知识块的多少成正比的。而构成一个最小的完整应用的最少知识块的集合称为独立知识体系。
定义6:知识体系结构是指知识体系中知识点间和(或)知识单元间和(或)知识块间具有横向的直接或间接关系的知识体系。例如:数组是一个知识块,指针也是一个知识块。那么指针数组或数组指针是这两个知识横向联系产生的知识块。具有这样知识块的知识体系称为知识体系结构。知识体系结构也存在一个基本的知识体系结构。
领域知识体系结构是指一个具体领域的知识体系结构,本文就是探讨和提出“C语言程序设计”这个具体领域的知识体系结构。
2C语言程序设计的知识体系
现用backus的元语言来描述C语言程序设计的知识体系。该元语言有三个符号:、׃׃=、|,其中,里面存放非终极符,׃׃=是将其左边的非终极符替换成其右边的内容。|表示“或者”。例如:׃׃=||是一个元语言的表示,其意思是字可被替换成字母或者数字或者特殊符号。׃׃=。其意思是函数可被替换成函数头和函数体。或者说,函数是由函数头和函数体两部分组成。本文为了研究方便,把可选项括在元符号“[”和“]”中。
׃׃=
׃׃=
׃׃=
这三个产生式表示C语言程序设计知识体系由六个知识体系组成的。其中,C 语言语法知识体系是指C语言的组成及其每个成分的组成规则。同理,C程序设计的语法知识体系是指该程序的组成及其每个成分的组成规则。
C语言语义知识体系是指C语言的各个成分的含义及其在语境中的含义。同理,C程序设计的语义是指程序的各个成分的含义及其在语境中的含义。
语用原本是描述该语言成分在计算机中如何实现的含义,即计算机受到程序的“刺激”后,它有什么反应。当语用这个词用在程序设计中时,是指使用者用程序的成分、部分、整体在解题中的用途。即它们的功能。惟独语用在这一点上,它的知识体系是无限的。
本文仅探讨C语言语法知识体系和C程序设计语法知识体系。
3C语言语法知识体系
׃׃=
3.1字
׃׃=||
׃׃=|
׃׃=A|B|C|……|Z
׃׃=a | b | c |……| z
׃׃=0 | 1 | 2 | 3 |……| 9
׃׃= +|–|*|/|%||=|&|||! | : |, |; |. |_|#|″|′|\|~|∧|?|空格符|[|]|{|}|(|) ,由上可知,C语言有92个字。
3.2词
׃׃=|||||
׃׃=||||
׃׃=auto|break|case|char|const|continue|default|do|double|else|enu m|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|t ypedef|union|unsigned| void|volatile|while
׃׃=|||||||||||
׃׃=() | [] | . | –>
׃׃= ! | ~| ++ | –– | – |(类型)| * | & | sizeof
׃׃=* | / | %
׃׃= +| –
׃׃=>
׃׃= | >=
׃׃= != | = =
׃׃= & | ∧| |
׃׃=&& | ||