第二章--高级程序设计语言

合集下载

01 高级程序语言设计——概述

01 高级程序语言设计——概述

00000000 00000100;将4与寄存器上的内容相 加,结果保存至
寄存器上
11110100
;结束
目 录 2.汇编语言 上一页 为了客服机器语言的不足,人们利用助记 下一页 符代替机器语言,因此产生了汇编语言。
退 出 例如:计算15+4的汇编语言程序
MOV AL,15;将15保存至寄存器上
ADD AL,4 ;将4与寄存器上的内容相 加,
主讲:银利伟
2.计算机语言
目 录 计算机语言的发展经历了从机器语言、汇编语 上一页 言到高级语言的历程。
下一页 1.机器语言
退 出 机器语言是用二进制代码表示的能被计算
机识别和执行的指令集合,机器语言的每一条 语句实际是一条指令。
主讲:银利伟
例如:计算15+4的机器语言程序
10110000 00001111;将15保存至寄存器上
主讲:银利伟
目 录 设year为被检测的年份。算法表示如下:
上一页 – S1:2000year
下一页 退出
– S2:若year不能被4整除,则输出year 的值和“ 不是闰年”。然后转到S6
– S3:若year能被4整除,不能被100整除,则输 出year的值和“是闰年”。然后转到S6
– S4:若year能被400整除,则输出year的值和“ 是闰年” ,然后转到S6
第一章 绪论:概述
主讲:银利伟
目 录 C语言着重培养的能力点 上一页 1、算法分析与设计能力 下一页 2、程序阅读和编写能力 退 出 3、程序调试与排错能力
程序、数据、文档之间关系 软件——菜肴 软件开发人员——厨师 软件中的数据——食材 软件中的程序——烹饪流程 软件的文档——菜谱

02-《高级语言程序设计(C)》C语言概述

02-《高级语言程序设计(C)》C语言概述
Ø与前一种写法意思一样,括 号内的void可以省略
Copyright © 2000-2013 王灿辉. All Rights Reserved.
C 语言程序最简单实例 int main() { //很多人这么用,不好! } //省略语句return 0;
Ø 编译程序会给出下述警告-----warning
Copyright © 2000-2013 王灿辉. All Rights Reserved.
C 语言程序最简单实例
int main(int argc,char *argv[]) { return 0; }
Ø 这种程序框架也非常常用,但要等 学习指针后才能理解其含义!这种 框架可以接受操作系统(OS)传给 该程序的参数。
Copyright © 2000-2013 王灿辉. All Rights Reserved.
C 语言:保留字
Ø 注意:main、include、define等, 以及printf、scanf等函数并不是保留 字。它们一般被称为预定义标识符。 Ø 包含大写字母的单词也一定不是保留 字,如:Int、SHORT等。 Ø 更不能想当然地认为integer、real等 是保留字。 Ø 自己抄写一遍C的保留字!
Copyright © 2000-2013 王灿辉. All Rights Reserved.
C 语言程序实例
#define PI 3.1415927 //C惯例,常量用大写字母! /*常量定义,使得常量的意义明确,易维护, 程序中不能改变常量的值,不能用;结束*/ #include <stdio.h> void main() { //计算圆的面积 float r,s; //变量定义,程序中用到的每个变量都必须先定义才能使用 r=2.0f; /*赋值语句,每个语句均用;结束*/ /*输出圆的面积*/ s=PI*r*r; //赋值语句,有计算功能,每个语句均用;结束 printf("area is : %f\n",s); }

高级语言程序设计(全套课件245P)

高级语言程序设计(全套课件245P)
欢迎学习 高级语言程序设计
华北电力大学信息网络管理 中心计算机基础教研室
办公室电话:2474

• 计算机语言的作用 • 主要内容

是人与计算机进行交流的桥梁 计算机语言分为机器语言、 汇编语言和高级语言。C是高级语言
– C语言的语法规则
程序规则 运算规则 语句规则等
– 程序设计的方法
• 学习要求
– 课前预习,课后复习
1.1 1.2 1.3 1.4 1.5 计算机语言 C语言概述 C程序的开发及上机步骤 基本数据类型 运算符和表达式
1.1 计算机语言
.机器语言
.用0、1组成, 执行速度快, 难记、不通用
.汇编语言
.用助记符 便于记忆、 不通用
.高级语言
.类似自然语言 和数学语言, 通用性强
.例如:A=10,B=4 求A+B的值 00111101 00001010 11000110 00000100 11110011 01110110 LD A,0AH LD B,04H ADD A,B HALT
例1.1 第一个程序 Hello,World! 注释
/* example1.1 The first C Program*/ #include <stdio.h> 编译预处理 main() 函数 { 语句 printf(“Hello,World!”); } 输出: Hello,World!
例1.2
/* example1.1 calculate the sum of a and b*/ #include <stdio.h> 预处理命令 /* This is the main program */ main() 注释 函数 { int a,b,sum; a=10; b=24; 语句 sum=add(a,b); printf(”sum= %d\n",sum); } /* This function calculates the sum of x and y */ int add(int x,int y) { int z; z=x+y; 运行结果: return(z); sum=34 }

第二章 高级程序设计语言描述

第二章 高级程序设计语言描述
第二章 高级程序设计语言描述
周开来 西南林业大学计算机与信息科学系
内容简介:
本章概述程序设计语言的结构 和主 要的共同特征,并介绍程序设计语言主要 语句的文法描述与形式定义。
2.1 程序语言的定义
任何语言实现的基础是语言定义。 语言的定义决定了该语言 具有什么样 的语言功能、什么样的数据结构、 什么 样的程序结构、 以及具体的使用形式 等细节问题。
获得计算机图灵奖统计:
程序设计语言(10) Alan J. Perlis (1966) -- ALGOL Edsger Wybe Dijkstra (1972) -- ALGOL John W. Backus (1977) -- FORTRAN Kenneth Eugene Iverson (1979) -- APL程序语言 Niklaus Wirth (1984) -- PASCAL John Cocke (1987) -- RISC & 编译优化 Ole-Johan Dahl,Kristen Nygaard (2001) -- Simula语言和 面向对象概念 Alan Kay(2003) -- SmallTalk语言和面向对象程序设计 Peter Naur(2005) -- ALGOL60以及编译设计 形式语言, 程序语言语义 (4) Robert W. Floyd (1978) -- 编程语言语义,自动程序验证 C. Antony R. Hoare (1980) -- Hoare Logic, CSP Robin Milner (1991) -- LCF,ML,CCS,PI-calculus Amir Pnueli (1996) -- 时序逻辑和系统验证
二. 语义
语义:一组规则,用它可以定义一个程序 的意义。 描述方法:

高级语言程序设计习题答案(免费)

高级语言程序设计习题答案(免费)
17.执行下面语句后,a和b的值分别为(b)。
int a=5,b=3,t;
int&ra = a;
int &rb = b;
t = ra;ra = rb;rb = t;
(a) 3和3(b)3和5(c)5和3(d) 5和5
18.在下列运算符中,(d)优先级最高。
(a) <=(b)*=(c)+(d)*
19.在下列运算符中,(d)优先级最低。
(c) 0.2e-2.5,e-5(d) 5.0e-4,0.1,8.e+2
12.下列正确的字符常量为(b,d)。
(a) " a "(b) '\0'(c) a(d) '\101'
13.下列选项中,(a,b,c)能交换变量a和b的值。
(a) t=b;b=a;a=t;(b) a=a+b;b=a-b;a=a-b;
解答:略
第2章 程序控制结构
2.1选择题
1.已知int i,x,y;在下列选项中错误的是(c)。
(a) if(x == y)i++;(b)if(x=y)i--;
(c) if(xy)i--;(d)if(x+y)i++;
2.设有函数关系为y= ,下面选项中能正确表示上述关系为(c)。
(a)y=1;(b)y=-1;
switch(i)
{case 1:i++;
case 2:i--;
case 3:++i;break;
case4:--i;
default:i++;
}
(a)1(b)2(c)3(d)4
4.已知int i=0,x=0;下面while语句执行时循环次数为(d)。

高级语言程序设计方法学第02章-10

高级语言程序设计方法学第02章-10

第2章 程序设计语言的设计概述本章介绍程序设计语言的设计目标以及为实现这些目标所遵循的设计准则,设计语言最后要给出语言的参考手册,为此,从表示的角度介绍与语法,语义和上下文约束有关的概念和表示法。

目前在程序语言语法文本中,语法形式表示是完整的,语义表示多半是非形式的。

本章仅给出各种形式语义的初步概念,有关理论后文还要讲述。

2.1 表示与抽象(Representation & Abstraction)程序就是程序设计语言表示的计算。

所谓表示是人为制造的符号组合以表达我们需要表达的意思。

每个合乎语法的表示都表达了某种语义,例如:float n; //n是C语言中的浮点数变量sqrt(n); //对n取平方根由于我们约定float是浮点类型的关键字,故float n这个合法表示表明“n是浮点数”, 是一个静态的说明。

同样,sqrt(n)说明要做“对n取平方根”的动作。

表示是对事物抽象的表达。

抽象是对论题本质的提取。

当我们为某软件投入市场作市场调查并写出分析报告时,我们已先完成了抽象(从社会效益、技术效益、经济效益列出定性或定量的分析),也完成了表示(报告正文)。

表示的规则是语法的,抽象的,内容是语义的。

同一事物可在不同抽象层次表示它。

同一程序可用高级语言表示、汇编码表示以及机器码表示。

当然,高级语言上面还可以有甚高级、超高级语言不断抽象上去。

所以,每种语言都是在某个抽象层次上的表示。

从日常概念中,我们可以得知概念愈是抽象其内涵愈小(只包含主要特征,略去其余)而外延愈大(能满足该主要特征的事物愈多)。

例如“张三在种地”也可以说“张三在改变生态环境”,还可以说“张三修理地球”都没有错。

之所以不错是表达了主要概念:“地表情况有了变化”。

但张三用锄种玉米的细节全被抽象(忽略)掉,且“李四砍树”也可以说成“改变生态环境”、“修理地球”。

当然,这种近乎失真的外延是不希望的,同样,能满足高级语言描述的计算的机器码实现也可以不止一个。

高级语言程序设计2

高级语言程序设计2
例如: int n; float e;
n=10; e=2.718;
//使变量n的值为10 //使变量e的值为2.718
2、条件语句
2.1 if…else语句
if…else语句的语法格式为:
if (条件表达式)
{
语句序列A;
}
else
{ 语句序列B;
}
执行过程:当条件表达式的值为 非0(真)时,执行语句序列A, 否则执行语句序列B。
【例2.1】输入两个整数a和b,输出其中较大的一个数。 #include <iostream.h> void main() { int a,b,max;
cout<<"Input a,b:"; cin>>a>>b; if (a>b)
max=a; else
max=b; cout<<"max="<<max<<endl; } 思考题:输入一个数,判断该数是正数还是负数 。
表达式1 ?表达式2 :表达式3
它的运算方式为:
Y
表达式1
N
表达式2
表达式3
2.3 switch语句
switch语句是多分支的选择语句。 switch语句的语法格式为:
switch (整数表达式) {
case 常量表达式1:<语句序列1>; case 常量表达式2:<语句序列2>;
…… case 常量表达式n:<语句序列n>; default:<语句序列n+1>;
任意。 (7)每个case语句中不必用{ },而整体的switch结
构一定要写一对花括号{ }。 (8)switch结构也可以嵌套。

《高级语言程序设计》教案

《高级语言程序设计》教案

《高级语言程序设计》教案第一章:概述1.1 课程介绍介绍《高级语言程序设计》课程的目的、意义和主要内容讲解高级语言程序设计与低级语言程序设计的区别和联系1.2 高级语言的发展历程介绍高级语言的发展历程,如Fortran、Cobol、Pascal、C、C++、Java等讲解各种高级语言的特点和应用领域1.3 编程规范和编程习惯讲解编程规范和编程习惯的重要性介绍一些通用的编程规范和编程习惯第二章:C语言基础2.1 C语言简介介绍C语言的历史、特点和应用领域讲解C语言的优点和缺点2.2 基本数据类型和运算符讲解C语言的基本数据类型,如整型、浮点型、字符型等介绍各种运算符的用法和优先级2.3 控制语句讲解C语言的控制语句,如if、switch、for、while等举例说明控制语句的使用方法和注意事项第三章:函数和编译预处理3.1 函数的定义和调用讲解函数的定义、声明和调用方式介绍函数的参数传递和返回值3.2 局部变量和全局变量讲解局部变量和全局变量的概念和作用域介绍全局变量和局部变量的相互访问问题3.3 编译预处理讲解编译预处理的概念和作用介绍宏定义、文件包含、条件编译等预处理指令的使用方法第四章:数组和字符串4.1 一维数组讲解一维数组的定义、声明和初始化介绍数组的访问和排序等基本操作4.2 二维数组和多维数组讲解二维数组和多维数组的定义、声明和初始化介绍数组的访问和应用实例4.3 字符串讲解字符串的概念和表示方法介绍字符串的常用操作,如字符串长度、字符串拷贝、字符串连接等第五章:指针5.1 指针的概念和表示方法讲解指针的概念和表示方法介绍指针的赋值和指针的运算5.2 指针与数组讲解指针与数组的关系介绍通过指针访问数组元素的方法5.3 指针与函数讲解通过指针传递函数参数的方法介绍指针作为函数返回值的使用方法5.4 指针与动态内存分配讲解动态内存分配的概念和原理介绍使用指针进行动态内存分配的方法和注意事项第六章:结构体、联合体和枚举6.1 结构体的定义和使用讲解结构体的概念和定义方法介绍结构体的使用,包括结构体的声明、初始化和访问成员6.2 联合体的概念和使用讲解联合体的概念和定义方法介绍联合体的使用,包括联合体的声明、初始化和访问成员6.3 枚举类型的定义和使用讲解枚举类型的概念和定义方法介绍枚举类型的使用,包括枚举类型的声明和访问枚举成员第七章:文件操作7.1 文件和文件系统简介讲解文件和文件系统的概念介绍文件的基本操作和文件系统的工作原理7.2 文件打开与关闭讲解文件打开和关闭的操作介绍文件指针的概念和文件的状态7.3 文件的读写操作讲解文件的读写操作介绍文件的读写模式和缓冲区7.4 文件的定位操作讲解文件的定位操作介绍文件的位置指针和文件定位的方法第八章:标准库函数8.1 标准输入输出库函数讲解标准输入输出库函数的使用介绍常用的输入输出函数,如printf、scanf、puts、getchar等8.2 字符串处理库函数讲解字符串处理库函数的使用介绍常用的字符串处理函数,如strlen、strcpy、strcat、strcmp等8.3 数学计算库函数讲解数学计算库函数的使用介绍常用的数学计算函数,如sin、cos、tan、sqrt等第九章:编程实践9.1 程序设计的基本步骤讲解程序设计的基本步骤,包括需求分析、设计算法、编写代码、调试和优化等强调编程实践中的规范性和团队合作的重要性9.2 常见编程问题和解决方案分析常见的编程问题和错误,如内存泄露、指针错误、逻辑错误等提供解决编程问题的方法和技巧9.3 编程实例和案例分析提供典型的编程实例,如计算器、文本编辑器、小游戏等分析实例中的关键算法和编程技巧强调重点概念和技能的重要性10.2 高级语言程序设计的展望介绍高级语言程序设计的发展趋势和新技术探讨高级语言程序设计在未来的应用前景重点和难点解析重点环节1:高级语言程序设计与低级语言程序设计的区别和联系重点环节2:C语言的特点和应用领域重点环节3:编程规范和编程习惯的重要性重点环节4:C语言的基本数据类型和运算符重点环节5:控制语句的使用方法和注意事项重点环节6:函数的定义、声明和调用方式重点环节7:局部变量和全局变量的概念和作用域重点环节8:编译预处理的概念和作用重点环节9:数组、字符串和指针的关系和操作重点环节10:结构体、联合体和枚举的使用场景重点环节11:文件操作的实现方法和注意事项重点环节12:标准库函数的使用和作用重点环节13:编程实践中的规范性和团队合作的重要性重点环节14:常见编程问题和解决方案重点环节15:编程实例和案例分析重点环节16:高级语言程序设计的发展趋势和新技术本文档对《高级语言程序设计》课程的十个重点环节进行了详细的解析和补充。

《高级语言程序设计课件》

《高级语言程序设计课件》

1
指针基础
学习指针的基本概念和用法。
动态内存分配
2
介绍如何动态分配和释放内存。
3
指针与数组
深入理解指针和数组之间的关系。
文件操作和异常处理
第七章将重点介绍文件操作和异常处理的高级概念。我们将学习文件的读写、异常的处理和处理常见错误。
文件读写
异常处理
学习如何打开、读取和写入文件。 了解异常的类型和处理方法。
递归
深入探讨递归函数的概念和应用。
数组和字符串
第五章将重点讲解数组和字符串的高级应用。我们将学习如何处理多维数组 和字组的技巧。
2 字符串操作
学习字符串的处理和常用操 作。
3 文件操作
介绍如何读写文件和进行文件处理。
指针和内存管理
第六章将深入解析指针和内存管理的重要概念。我们将学习指针的声明、使用和内存分配。
错误处理
介绍如何调试和处理常见错误。
面向对象编程
第八章将引导您进入面向对象编程的世界。我们将学习类、对象、继承和多态等面向对象的重要概念。
类和对象
深入理解类和对象的概念和关系。
继承和多态
学习如何使用继承和多态实现代码复用和扩展。
设计模式
介绍常用的设计模式和实践。
异常处理
了解如何处理和抛出异常。
模块化编程和库的使用
《高级语言程序设计课件》
前言和简介
欢迎来到《高级语言程序设计课件》。本课程将介绍现代高级编程语言的基本概念和技术。通过学习本课程, 您将掌握高效编程和解决实际问题的能力。
基本语法和变量
第二章将讲解编程语言的基本语法和变量。我们将学习如何声明和使用变量,以及控制程序流程的各种语句和 结构。
变量声明

编译原理

编译原理

2.3.1 上下文无关文法

通常,用 1 n 表示:从1出发,经过一步或
定义:称A直接推出,即
A
仅当A 是一个产生式,且, (VT VN)* 。
如果1 2 n,则我们称这个序列是 从1到n的一个推导。若存在一个从1到n的推 导,则称1可以推导出n 。
对文法G(E): E i | E+E | E*E | (E) E (E) (E+E) (i+E) (i+i)
可见,集合A的正闭包表示A上元素a,b构成 的所有符号串的集合;
集合A的闭包比集合A的正闭包多含一个空 符号串。
2.3.1 上下文无关文法
文法: 描述语言的语法结构的形式规则 例如:He gave me a book.
<句子> <主语><谓语><间接宾语><直接宾语> <主语> <代词> <谓语> <动词> <间接宾语> <代词> <直接宾语> <冠词> <名词> <代词> He <代词> me <名词> book <冠词> a <动词> gave
例如,设X=ABC,Y=10A 则XY=ABC10A,YX= 10AABC
注意:对任意一个符号串x, 我们有 εx = xε = x。
符号串的运算
3. 符号串的幂运算
设x是符号串, 则x的幂运算定义为:
x0= x1= x x2= xx
注意:x0≠ 1
x3= xxx …
xn= xx … x=x xn-1(n>0)

高级语言程序设计Advanced Language Programming

高级语言程序设计Advanced Language Programming

《高级语言程序设计》教学大纲课程名称(中文/英文名称):高级语言程序设计/ Advanced Language Programming 课程代码:学分/总学时:开课单位:计算机科学与技术系面向专业:一、课程的性质、目的和任务本课程是计算机科学与技术专业非师范类的专业基础课。

通过教授C高级程序设计语言,帮助学生掌握C语言的基本语法结构、程序设计的基本方法,使学生初步具有运用C 语言进行程序设计、分析和解决问题的实践能力。

本课程作为《面向对象程序设计》课的先修课,与《面向对象程序设计》课一起,为学生后续数据结构、操作系统、软件工程、编译原理、计算机组成原理、数据库等课程的学习和应用开发打下扎实的语言基础。

本课程主要任务为:讲授C语言的语法和常用标准库;讲授结构化程序设计的基本方法;培养应用C语言和结构化程序设计方法进行程序设计的能力。

二、学习本课程学生应掌握的前设课程知识先修课要求:《计算机导论》C语言程序设计是一门专业基础课程,需要学生有一定的计算机软硬件的一般性基础知识。

C语言处理程序是一个复杂的系统软件,学习本课程之前学生应具备计算机导论(文化)、算法设计等方面的基础知识技能。

这些知识可在高中阶段或大学第一学期的《计算机导论》课中获得。

三、学时分配学时数:128学时,其中理论课教学64学时,实验课64学时四、课程内容和基本要求第一章C程序设计概述(5学时)基本要求:了解计算机程序设计语言及程序设计方法的发展过程,了解C语言的特点,掌握C程序的基本组成结构,掌握开发和运行一个C程序的过程。

第二章数据类型、运算符与表达式(8学时)基本要求:掌握常用类型的数据在内存中的存放形式;掌握常量的分类,变量的定义和变量名的命名规则;理解指针的含义,掌握指针变量的定义及简单应用;掌握算术运算符、关系运算符、逻辑运算符、赋值运算符、逗号运算符及其表达式。

第三章简单的C程序设计(3学时)基本要求:进一步理解C程序的组成,了解C语句的分类;掌握C语言中数据的输入/输出方法,常用输入/输出函数的使用;掌握顺序结构程序设计方法,能编写简单的C程序第四章控制结构(8学时)基本要求:掌握C语言中的关系运算及逻辑运算;掌握选择控制语句――if语句、switch语句及其嵌套应用;掌握循环控制语句――for语句、while语句、do…while 语句及其嵌套应用;掌握break语句、goto语句、continue语句的应用;能够运用三种结构进行综合程序设计。

软件工程专业高级语言程序设计知识点解析

软件工程专业高级语言程序设计知识点解析

----------------------- 页面1-----------------------软件工程专业《高级语言程序设计》知识点解析Provided by xxzzsoft 2010.10C 语言程序设计基本知识点1.C 源程序的框架尽管各个C 源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。

2.C 语言源程序的书写规则:(1)C 源程序是由一个主函数和若干个其它函数组成的。

(2)函数名后必须有小括号,函数体放在大括号内。

(3)C 程序必须用小写字母书写。

(4)每句的末尾加分号。

(5)可以一行多句。

(6)可以一句多行。

(7)可以在程序的任何位置加注释。

3.语句种类语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C 语言的基本语句可以分为五大类。

(1)流程控制语句流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。

其中后两种结构要用特定的流程控制语句实现。

(2)表达式语句表达式语句的形式是:表达式;,即表达式后跟一分号";",分号是语句结束符,是一个语句必不可少的成分。

表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。

最常见的表达式语句是赋值语句。

(3)函数调用语句函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。

(4)空语句空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。

(5)复合语句----------------------- 页面2-----------------------复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。

C语言程序设计第二章

C语言程序设计第二章

2.2 理论知识
运行结果:
2.2 理论知识
常量和变量 直接常量
字符串常量 字符串常量是用一对双引号括起来的零个或多个字符
如"","Hello,world!","123"等
双引号仅起定界作用,本身并不是字符串中的内容
2.2 理论知识
常量和变量 直接常量
字符串常量 字符串的长度 指一个字符串中所包含的字符个数 C语言规定在存储字符串常量时,由系统在字符串的末 尾自动加一个'\0'作为结8.539815
2.2 理论知识
符号常量的两个好处
1. 修改程序方便 2. 见名知意,便于理解程序
符号常量的使用
1. 其值在它的作用域内不能改变,也不能再被赋值 2. 符号常量名用大写,变量名用小写,以示区别
2.2 理论知识
举例:
#define PI 3.1415
void main() { int PI; PI=3.1415; PI=3.14159; }
指针类型 构造类型 空类型
数组类型
结构体类型
共用体类型
2.2 理论知识
C语言的基本数据类型 整数类型
数据类型 有符号整型
短整型 长整型
int a,b,sum; a=32768;
数据类型符 int
short long [int] [int]
占用字节数 2
2 4




-215~(215-1) 即-32768~32767
2.2 理论知识
常量和变量 变量的赋值
在定义变量时赋值 float data1=1.5,data2=2.6;
“先定义后赋值
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.2.2 程序结构
不同程序语言都有各自的程序结构 C语言程序可以包含多个函数 支持过程的嵌套定义 程序结构的不同,决定了符号表构造方
法的不同
是一个允许子程序嵌套定义的语言
… P1Байду номын сангаас …
P11; … … ;
… ; P2; … … ; …
2.2.3 数据类型与操作
程序设计语言支持特定的数据类型与操作。 一个数据类型通常包括以下三种要素: a.用于区别这种类型的数据对象的属性 b.这种类型的数据对象可以具有的值 c.可以作用于这种类型数据对象的操作
2.2.1 高级语言分类
从不同的角度看,对高级程序设计语言有不同的分类方法。 如果我们从语言范型分类,当今的大多数程序设计语言可划分为四 类。
一、强制式语言 强制式语言也称过程式语言。其特点是命令驱动,面向语句。
一个强制式语言程序由一系列的语句组成,每个浯句的执行引起若 干存储单元中的值的改变。这种语言的语法形式通常具有如下形式:
2.1.2 语义
对于一个语言来说,不仅要给出它的词 法、语法规则,而且要定义它的单词符 号和语法单位的意义。这就是语义问题。
语义是指这样的一组规则,使用它可以 定义一个程序的意义。
我们采用的方法为:属性文法和基于属 性文法的语法制导翻译方法。
程序
程序语言的基 本功能是描述 数据和对数据 的运算。所谓 程序,从本质 上来说是描述 一定数据的处 理过程。
条件1→动作l 条件2→动作2 条件n→动作3
2.2.1 高级语言分类
四、面向对象语言
面向对象语言如今已成为最流行、 最重要的语言。它主要的特征是支持 封装性、继承性和多态性等。把复杂 的数据和用于这些数据的操作封装在 一起,构成对象;对简单对象进行扩 充、继承简单对象的特性,从而设计 出复杂的对象。通过对象的构造可以 使面向对象程序获得强制式语言的有 效性,通过作用于规定数据的函数的
程序
子程序 或 语句
表达式
数据引用
算符
分程序
函数调用
程序设计语言的定义
建立在有限字母集之上的一个符号系统 有一定的语法和语义规则 语法规则:词法规则和语法规则 语义规则:描述语法单位的功能和含义 程序设计语言的功能是描述数据和对数
据的运算
2.2 高级语言的一般特性
2.2.1 高级语言分类 2.2.2 程序结构 2.2.3 数据类型与操作 2.2.4 语句与控制结构
用域。 标识符、名字与存储空间的关系:同一标识符
可以表示不同的名字;同一名字可以表示不同 的存储空间;同一存储空间可以有多个名字
二.构造数据类型
a. 数组
特点:一个数组是由同一类型数据所组成的某种 n维矩形结构。每个元素占相同的存储空间
下标:沿着每一维的距离称为一个下标。
数组元素的命名:数组名+下标
2.1 程序语言的定义
任何语言实现的基础是语言的定义。 在定义方面,编译程序研制者与一般用户有
所不同 用户关心语言如何使用 开发人员关心语言的定义。他们对哪些构造
允许出现更感兴趣。即使一时不能看出某种 构造的实际应用,或者判断实现该结构会导 致严重的困难,但仍必须严格根据语言的定 义实现它。 程序语言主要由语法和语义两方面定义。
对于首地址的偏移()
如:就而言, 的相对数分别为0、20、24。 于是,假定的首地址为a,那么, 地址为 a 地址为 20 地址为 24
2.2.4 语句与控制结构
表达式
数值、关系、逻辑、字符串
语句
赋值语句
控制语句(无条件、条件、循环、过程调 用、返回)
说明句
确定数组与可变数组:在编译时数设组计所符需号表的的存构储造
空间是否确定
方法,需要在符号
数组元素的存储与地址的计算
表中存储更多的信 息,并需要定义不
内情向量表:数据类型,数组的维同数的,属下性文标法的以变便
化范围,首地址
对其语义进行描述
b.记录 从逻辑上说,记录结构是由
已知类型的数据组合起来的一种 结构。
语句1; 语句2; 语句n; 许多广为使用的语言,如、C、,等等,属于这类语言。
2.2.1 高级语言分类
二、应用式语言 与强制式语言不同的是,应用式语言更注重程序
所表示的功能,而不是一个语句接一个语句地执行。 程序的开发过程是从前面已有的函数出发构造出更复 杂的函数,对初始数据集进行操作直至最终的函数可 以用于从初始数据计算出最终的结果。这种语言通常 的语法形式是:
2.1.1 语法
所谓一个语言的语法是指这样的一组规则, 用它可以形成和产生一个合适的程序。
这些规则一部分称为词法规则,另一部分 能称为语法规则(或产生规则)。
几个概念
a.一个语言只是用一个有限字符集作为字母表; b.词法规则是指单词符号的形成规则。单词符号
一般包括:各类型的常数、标识符、基本字、 算符和界符等。 C.语言的语法规则规定了如何从单词符号形成更 大的结构(即语法单位或语法范畴),换言之, 语法规则是语法单位的形成规则。一般程序语 言的语法单位有:表达式、语句、分程序、函 数、过程和程序等。
一.初等数据类型(基本数据类型)
常见的初等数据类型有:
a.数值数据
b.逻辑数据
c.字符数据
d.指针类型
不同的数据类型占 存储空间不同,表 示的数的范围也不
相同
名字和标识符
标识符:无意义的符号串 名字:可以看成是代表一个抽象的存储单元 名字的值:名字所代表的单元的内容则认为是
此名字的值。 名字的属性: 一个名字的属性包括类型和作
函数n(…函数2(函数1(数据))…) 因此,这种语言也称函数式语言。和属于这种语言。
2.2.1 高级语言分类
三、基于规则的语言 基于规则的语言程序的执行过程是:检
查一定的条件,当它满足值,则执行适当 的动作。最有代表性的基于规则语言是, 它也称逻辑程序设计语言,因为它的基本 允许条件是谓词逻辑表达式。这类语言的 语法形式通常为:
记录结构是许多程序语言的 一类重要的数据结构。
语言采用下面形式定义记录: :
: [1…20] ; ;
{
;
; a; ; };
特点:
多种基本数据类型组成的新的数据类型 记录分量的访问:记录名.分量名 记录的存放:连续存放 记录的长度:每个分量的长度之和 记录分量地址的计算:首地址+各分量相
相关文档
最新文档