认识Pascal
2015-10-20 14:00
295 查看
注释:
//这类文章的分类是理解编程。当然,这一类的书籍有很多,请自行百度。以及对编程不理解的童鞋请点击这里。----For初学者(大牛勿喷)
//这类文章只是由浅入深学习编程,各位大牛不喜勿喷
//另本系列文章从教学语言Pascal开始,到后面会转到c/c++
对,我一直认为编程从pascal开始学比较方便,初学者一般很难在短时间内理解c/c++。关于pascal的信息请点击这里。
配置编译环境:
在学习前,需要配置编程环境。进入这个网站,单击“Download”,在“Binaries”下找到适合自己电脑的版本,打开进入SourceForge下载。Windows下,下载安装即可,右击快捷方式-属性-选项,将“当前代码页”改成“437(OEM-美国)”,即可使用。
Linux下,安装FPC SDK,然后安装下载下来的压缩包中的安装文件(安装方法详见百度)。
写代码一般不在IDE中写,Windows下初学者可以用自带的记事本,一般用Sublime Text。Linux下用用Gedit(Gnome)、Kate(KDE)或Sublime Text。
例一:最简单的程序
begin end.以上是一个最简单的pascal程序。如果你编译这个程序,运行的效果是什么都没有。。。。。。
从这个例子中,可以看出一个pascal包含最基本的Begin、End和.
直接翻译这个程序,就是开始、结束。所以几乎所有的程序都包含在这两条语句中间。
在Pascal中,是忽略语句的位置的。因此,你也可以这么写:
begin end.
或者是
begin end.
但是不能写成
beginend.
或是
endbegin.
因为忽略语句位置,所以你可以空出空行或者空格,不影响编译。但是不能黏在一起,因为这样“begin”和“end”变成了一句话(而不是两句话),所以会错。并且在pascal中,语句顺序是不能颠倒的。一般来说,最基本的程序结构是顺序结构,pascal也遵循这一结构,所以pascal一般从上向下编译。
例二:Hello World!
这是个无比经典的例子,以至于几乎所有的程序员在问及初学编程的时候都能脱口而出 ==具体程序如下:
program hello_world; begin write('Hello World!'); end.第一行被称为程序首部,第二行被称为程序体。一般来说,语句之间用半角英文分号隔开(begin end算特例,他们不用)。
并且,程序体的end后面一定要加半角英文句号。
这里出现了两条新语句。一条就是程序首部,以program开头,一般阐明该程序的用途,可以忽略不写。所以这个程序等效于:
begin write('Hello World!'); end.----程序首部也要加分号!!!
另一条新语句是以write开头的输出语句,在括号中的内容就是输出的内容。编译时,会以原本的格式输出。----‘’表示字符串,但不会输出引号
在pascal中,write与writeln的效果是类似的。以上程序也可以写成:
begin writeln('Hello World!'); end.效果基本不变,在考试中或是一些考核中是可以互换的,但有时候不行。因为writeln的效果是“输出并换行”,write的效果是“输出”
另外,write;或是write();这样的写法是错误的,但writeln;可以(该语句不加括号),意思是换行。
例三:加法计算
var a,b:longint; begin readln(a,b); writeln(a+b); end.
以上程序的效果是:读入两个数,并输出他们的和。
其中有三条新语句,分别是var部分的两条,及readln开头的一条。
var表示定义变量。这里定义了两个长整型变量a和b。在Pascal中,常用的有word、integer、longint、qword和int64。
列举的五个类型都表示整数,但范围不同。可分两类,一类是正整数(无符号整形):word和qword;另一类是整数(有符号整形):integer、longint和int64。
pascal中,它们的大小关系如下
word<qword
integer<longint<int64
一般的,变量定义如下
var ... ... ... ... 变量名:类型
一般来说,var只有一个。在定义时,多个不同类型的变量分开写,同类型的变量一般写在一句,用逗号隔开。
程序中,readln开头的一句意为读入,这里读入两个变量a和b。通过类比write和writeln,这里也有read和readln,效果同样是在读入后自动换行,也支持readln();
这里writeln语句的输出内容变成了一个表达式a+b,整条语句先算出a+b的值,再输出。
但是这个程序在运行时有点让人看不懂,那么写点提示时可以吗?
可以,比如:
var a,b:longint; begin writeln('Please input two numbers to plus them:'); readln(a,b); writeln('The result is:',a+b); end.
这里新增了两处修改,一处输出了一个字符串,提示用户输入。另一处是在原来的基础上增加了 'The result is:',
这里增加了一个字符串,并用逗号隔开。
write、writeln语句中,这样的输出是可以的,如:write(变量,表达式,'字符串');
各个输出的部分用逗号隔开。
相关文章推荐
- 学习 Linux 是我们的爱情语言
- 基础命令学习总结
- Prototype 学习 工具函数学习($方法)
- PERL脚本 学习笔记
- 学习 WSH 的理由小结
- Prototype 学习 工具函数学习($A方法)
- jQuery 学习 几种常用方法
- 对学Oracle数据库初学者的开场篇
- awk简介与学习笔记收集第1/3页
- php学习 字符串课件
- 供参考的 php 学习提高路线分享
- PHP的FTP学习(二)
- PHP学习之PHP表达式
- php学习 面向对象 课件第1/2页
- 学习使用PHP数组
- PHP学习一(基础)第1/2页
- jsp基础学习资料
- 谈谈新手如何学习PHP 默默经典版本
- PHP的FTP学习(四)
- php学习 数组课件第1/2页