Home About us Products Services Contact us Bookmark
:: wikimiki.org ::
变量

变量

--,(中国大陆称为--)是需要改變的東西,是一個表示某種可變量的符号常數的相反。變數很有用,因為它們能一般化描述指令的方式。若果只能使用真實的值,指令只能應用於某些情況下。變數能夠作為某特定種類的值中任何一個的保留器

數學上

變數用於開放語句,表示尚未清楚的值(即未知數),或一個可代入的值(見函數)。這些變數通常用一個英文字母表示,若用了多於一個英文字母,很易令人混淆成兩個變數相n,m,x,y,z是常見的變數名字,其中n,m較常表示整數

計算機科學上

變數可視為在電腦記憶體裏存在的空間。 當某個已宣告變數開始使用,直譯器或編譯器通常會設定一個空間來儲存所給出的值。稍後該變數不再使用時,那些空間可以回收。 有些編程語言中的變數必須帶有型別

命名

每種編程語言都有規則指定甚麼才可作為變數的名字。 使用C和其相關語言,變數名稱必須是由英文字母、數字和底線組成,且必須由字母起頭。有時還不可以使用某些保留字命名。 使用某些語言,變數的名字同時告訴了這個變數帶有甚麼種類的值。例如FORTRAN的程式裏,變數的首個字母顯示了它是整數還是浮点数。變數名字首個字符是$的話,在BASIC的程式裏表示其值是字串。Perl透過字首如$,@,%和&來分辨哪是純量、陣列、雜湊或副程式。 每個編程組織都有非正式的命名規矩——單打獨鬥的程式員亦是如此。有人喜歡所有變數都用簡單的英文字母取名,認為能增加輸入程式碼的速度,但只要變數一多,就會容易混淆,甚至以後自己看回程式碼也不懂在寫甚麼。 迴圈控制變數通常以i, j ,k命名。 Category:数学 ja:変数

符号

在一种认知体系中,符号是指代一定意义的意象,可以是图形图像、文字组合,也不妨是声音信号、建筑造型,甚至可以是一种思想文化、一个时事人物。例如“=”在数学中是等价的符号,“紫禁城”政治上是中国古代皇权的象征,“中国”是中华人民共和国的符号,“布尔什维克”是共产主义者的符号。总的來說,符號的意思就是一种“特征纪念”,就象给人起的绰号。你记张三李四可能麻烦,但你记“大胡子”、“小眼镜儿”就方便多了,所以符号也可以说是由人的认识习惯造成的。

符號研究和應用


- 符號學研究符號與符號系統,而語意學則研究詞語的意義。
- 優秀的文學作品可以利用文字、用語和情境,超越字面的解釋,引發讀者的想像和情感;符號文學評論則利用符號學理論,對文學進行研究。
- 煉金術使用了大量的符號,記錄精神和化學過程。
- 宗教形而上學的文獻利用了很多秘教符號。
- 佛洛依德精神分析學榮格分析心理學認為,有象徵意義。

文字符号


- 汉字 - 甲骨文 - 罗马数字 - 拉丁语

标点符号


- ?(問號)/ !(感歎號)/ (句號)/ &(與及)/ (逗號)

数学符号


- =(等號)/ +(加號)/ -(減號)/ ×(乘號)/ ÷(除號)

其它

在人类文化中出现过的符号
- - - - - 十字

参看


- 符号学
- 符号学家
- 文字
- 图腾 category:符号 category:传播学 ja:シンボル simple:Symbol

乘法

乘法,最單純的意義就是指將相同的起來的捷徑。其運算結果稱為積。

表示法

乘法可以用幾種方法表示。以下的式子都是表示“五乘以二”:
- 5\times 2
- 5\cdot 2
- (5)25(2)(5)(2)5[2][5]2[5][2]
- 5
- 2 古代常用的方法是將兩個數並排,沒有甚麼特別的符號來表示乘法。 以\times表示乘法是威廉·奧特雷德最先使用,分別於一篇現時相信是於1618年他寫的附錄,和約於1628年寫作的、1631年出版的書《數學之鑰》(Clavis Mathematicae)內出現。以\times表示乘法是現在最流行的寫法。 以\cdot表示乘法現在用於德國法國等國家,最早由托玛斯·哈里奧特在1631年出版的著作使用,但對這個用法較有影響力的人是萊布尼茲。 因為星號(
- )是鍵盤必備的符號,電腦常用星號表示乘號,第一次在計算機使用這個用法的是FORTRAN編程語言,事實上可以追溯到更早——1659年,Johann Rahn(1622年1676年)在Teutsche Algebra一書中首次使用;但筆算時甚少使用星號。 代数中,乘號經常省略掉,形式如5xxy。若變數多於1個字母,很易令人混淆。這種表示法不會用於只有數字時,即52不會表示5\times 2。 乘積可以用希臘字母大写\Pi\pi)來表示︰ : \prod_^ x_ := x_ \cdot x_ \cdot x_ \cdot \cdots \cdot x_ \cdot x_

定義

兩個整數的積是︰ :mn := \sum_^n m 這是“將m加到自己n次”的簡化說法。更清晰來說︰ :m\times n = m + m + m + \dots + m 使用上面的定義,我們很易找到一些乘法的性質︰
- 交換律
- 結合律
- 分配律 將任何數乘以一都會等於該數本身,即1\times x = x,稱為單位律。 將任何數乘以零,即是甚麼也沒幹過,結果就是零,即0 \times x = 0。 當xy自然數,乘法的递归定義︰ :0 \times x = 0 :x \times y = x + x \times (y-1)

計算


- 計算機有特別的算法來處理大數之間的相乘,見乘法算法
- 中國小學生通常要背誦九因歌(九九表)來學習乘法。
- 史豐收速算法提出了用“本個+後進”的方式來計算乘法。
- 尺規作圖作乘法的方法:給定長為1的線,以及兩條線ABAC,求長度為該兩條的線長度的積的線。解法:設該兩條線分別為ABAC,在AB上畫出點D使DA=1,聯DCDC。畫一條通過B、平行DC的線,延長AC,此兩條線的交於EEB即為所求之線。

參考


- http://www.edp.ust.hk/math/history/7/7_2.htm
- http://members.aol.com/jeff570/operation.html
- 《几何》,笛卡兒 category:算术 ja:乗法 ko:곱셈 simple:Multiplication th:การคูณ

整數

自然数、负自然数与统称为整数。 即:……-5,-4,-3,-2,-1,0,1,2,3,4,5…… 所有整数的集合在数学上通常表示为 Z 或 \mathbb) ,意为 Zahlen德语:“”)。

代数性质

以下列表给出任何整数 abc 的加法和乘法的基本性质。

有序性质

Z 是一个全序集,没有上界和下界。Z 的序列如下: : ... < −2 < −1 < 0 < 1 < 2 < ... 一个整数大于零则为,小于零则为。零既非正也非负。 整数的序列在代数运算下是可以比较的,表示如下: # 若 a < bc < d,则 a + c < b + d # 若 a < b 且 0 < c,则 a × c < b × c ;若 c < 0,则 a × c > b × c. Z 是一个循环群,即任何整数都可以通过足够多次地加 1 或 -1 得到其本身。 Category:数论 ja:整数 ko:정수 th:จำนวนเต็ม

編程語言

程序设计语言,是一组用来定义计算机程序的语法规则。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。 程序设计语言原本是被设计成专门使用在计算机上的,但它们也可以用来定义算法或者数据结构。正是因为如此,程序员才会试图使程序代码更容易阅读。 设计语言往往使程序员能够比使用机器语言更准确地表达他们所想表达的目的。对那些从事计算机科学的人来说,懂得程序设计语言是十分重要的,因为在当今所有的计算都需要程序设计语言才能完成。 在过去的几十年间,大量的程序设计语言被发明、被取代、被修改或组合在一起。尽管人们多次试图创造一种通用的程序设计语言,却没有一次尝试是成功的。之所以有那么多种不同的编程语言存在的原因是,编写程序的初衷其实也各不相同;新手与老手之间技术的差距非常大,而有许多语言并对新手来说太难学;还有,不同程序之间的运行成本()各不相同。 有许多用于特殊用途的语言,只在特殊情况下使用。例如,PHP专门用来显示网页Perl更适合文本处理;C语言被广泛用于操作系统编译器的开发(所谓的系统编程)。 高级程序设计语言(也称高级语言)的出现使得计算机程序设计语言不再过度地倚赖某种特定的机器或环境。这是因为高级语言在不同的平台上会被编译成不同的机器语言,而不是直接被机器执行。最早出现的编程语言之一FORTRAN的一个主要目标,就是实现平台独立。 虽然大多数的语言可以既被编译()又被解译(),但大多数只在一种情况下能够良好运行。在一些编程系统中,程序要经过几个阶段的编译,一般而言,后阶段的编译往往更接近机器语言。这种常用的使用技巧最早在1960年代末用于BCPL,编译程序先编译一个叫做“0代码”的转换程序(),然后再使用虚拟器转换到可以运行于机器上的真实代码。这种成功的技巧之后又用于Pascal和P-code,以及Smalltalk和二进制码,虽然在很多时候,中间过渡的代码往往是解译,而不是编译的。 如果所使用的翻译的机制是将所要翻译的程序代码作为一个整体翻译,并之后运行内部格式,那么这个翻译过程就被成为编译。因此,一个编译器是一个将人可阅读的程序文本(叫做源代码)作为输入的数据,然后输出可执行文件()。所输出的可执行文件可以是机器语言,由计算机的中央处理器直接运行,或者是某种模拟器的二进制代码。 如果程序代码是在运行时才即时翻译,那么这种翻译机制就被称作解译。经解译的程序运行速度往往比编译的程序慢,但往往更具灵活性,因为它们能够与执行环境互相作用。参见解译语言

特点

每一种程序设计语言可以被看作是一套包含语法词汇含义的正式规范。 这些规范通常包括:
- 数据和数据结构
- 指令及流程控制
- 引用机制和重用
- 设计哲学 大多数被广泛使用或经久不衰的语言,拥有负责标准化的组织,经常会晤来创造及发布该语言的正式定义,并讨论扩展或贯彻现有的定义。

数据和数据结构

现代计算机内部的数据都只以二元方式储存,即开-关模式()。现实世界中代表信息的各种数据,例如名字、银行账号、度量以及同样低端的二元数据,都经由程序设计语言整理,成为高端的概念。 一个程序中专门处理数据的那个系统被称为程序语言的型态系统();对型态系统的研究和设计被称为型态理论()。语言可以被分为静态型态系统(),例如C++Java,和动态型态系统(),例如Lisp,JavaScript,Tcl和Prolog。前者可被进一步分为包含宣告型态()的语言,即每一个变量和函数的型态都清楚地宣告,或type-inferred语言(例如MUMPS,ML)。 大多数语言还能够在内置的型态基础上组合出复杂的数据结构型态(使用数组,列表,堆栈,文件等等)。面向对象语言(,又译作“物件导向语言”)允许程序员定义新的数据型态,即“对象”或“物件”(),以及运行于该对象的函数()和方法()。 除了何时以及如何确定表达式和型态的联系,另外一个重要的问题就是语言到底定义了哪些型态,以及允许哪些型态作为表达式的值。诸如C编程语言之类的低端语言允许程序命名内存位置、内存区域以及编译时的常量;ANSI C甚至允许表达式返回结构值()。功能性的语言一般允许变量直接使用运行时计算出的值,而不是指出该值可能储存的内存地址。

指令及流程控制

一旦数据被确定,机器必须被告知如何对这些数据进行处理。较简单的指令可以使用关键字或定义好的语法结构来完成。不同的语言利用序列系统来取得或组合这些语句。除此之外,一个语言中的其他指令也可以用来控制处理的过程(例如分支、循环等)。

引用机制和重用

引用的中心思想是必须有一种间接设计储存空间的方法。最常见的方法是通过命名变量。根据不同的语言,进一步的引用可以包括指向其他储存空间的指针。还有一种类似的方法就是命名一组指令。大多数程序设计语言使用宏调用、过程调用或函数调用。使用这些代替的名字能让程序更灵活,并更具重用性。

程序设计语言的历史

二十世纪四十年代当计算机刚刚问世的时候,程序员必须手动控制计算机。当时的计算机十分昂贵,唯一想到利用程序设计语言来解决问题的人是德国工程师楚泽()。 几十年后,计算机的价格大幅度下跌,而计算机程序也越来越复杂。也就是说,开发时间已经远比运行时间来得宝贵。 于是,新的集成、可视的开发环境越来越流行。它们减少了所付出的时间、金钱(以及脑细胞)。只要轻敲几个键,一整段代码就可以使用了。这也得益于可以重用的程序代码库。

常见的程序设计语言


- APLA+J
- Ada
- 汇编语言
- AWK
- BasicFortran
- VBScript
- Brainfuck
- CC++
- C#
- Clipper
- COBOL
- dBase
- PASCALDelphi
- Forth
- FoxPro
- F#
- Fava
- IDL
- Java
- JavaScript
- J#
- LISP
- LOGO
- Modula
- Perl
- PHP
- PL/I
- Prolog
- Python
- Ruby
- Scheme
- Smalltalk
- SQL
- Tcl/Tk
- Visual Basic
- Visual FoxPro
- XML

参见


- 计算机科学课程列表
- 程序设计语言列表
- 编译器
- Hello World程序
- 脚本语言
- 維基程序員 category:人工語言 ja:プログラミング言語

C语言

C,是一种通用的程序设计语言,它主要用来进行系统程序设计。具有高效、灵活、功能丰富、表达力强和移植性好等的特点,在程序员中备受青睐。 C语言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)和肯·汤普逊(Ken Thompson)于1970年研制出的B语言的基础上发展和完善起来的。C语言可以广泛应用于不同的操作系统,例如UNIXMS-DOSMicrosoft WindowsLinux等。C语言是一种面向过程的语言,同时具有高级语言汇编语言的优点。在C语言的基础上发展起来的有支持多种程序设计风格C++语言,网络上广泛使用的JavaJavaScript,微软的C#等。 1983年美国国家标准委员会(ANSI)对C语言进行了标准化,于1983年颁布了第一个C语言标准草案(83 ANSI C),后来于1987年又颁布了另一个C语言标准草案(87 ANSI C)。最新的C语言标准是在1999年颁布并在2000年3月被ANSI采用的 C99 ,但由于未得到主流编译器厂家的支持,直到2004年C99 并未被广泛使用,增加了若干新特性后 C99 已经逐渐让C语言和C++分道扬镳。

C语言的特色


- C语言是系统程序语言
- C语言保留了低级语言的特性,例如涉及内存的指针。
- 使用了预处理机制,使得程序里可以通过包含例如宏处理的方式来处理源程序。 C语言的不足可以由C语言发展而来的更新的编程语言改进。Cyclone语言的拥有提防对于内存错误的特性。C++和Objective C提供了用于面向对象的编程结构。Java和C#增加了面向对象的结构使得对内存的管理自动化。

C語言的主要特性


- C語言保留了低階語言的特性,例如涉及記憶體的指针。
- C語言通過參數在函數裏傳遞數值。
- 使用了預處理機制,使得程式裏可以通過包含例如巨集處理的方式來處理根源程式
- C語言提供了一套標準庫,這些庫裏提供了十分有用的功能。 但是並不是所有的這些特性都是有效的。例如,預處理通常作爲一個獨立的程式被處理,這使得预處理的程式並不一定被完全編譯。 雖然C是高階語言,但是它同時擁有一些組合語言的特性,對其他的語言來說這是接近低階語言的特點。例如,在C語言裏,程式師可以對電腦記憶體進行管理。在默認的情況下,C語言不會對陣列的範圍進行檢查,也就是說即使陣列越界,C語言也不會作出錯誤提示。對電腦記憶體的管理使得程式员可以编出更快捷、更有效的程式,這對於設備驅動程式來說尤爲重要。但是這也使得程式容易産生令人討厭的“臭蟲”,例如緩衝器溢出錯誤。然而,這些錯誤可以由一些工具來避免。 C語言的不足可以由从C語言發展而來的更新的編程語言改進。Cyclone語言的擁有提防對於記憶體錯誤的特性。C++和Objective C提供了用於面向物件的編程結構。Java和C#增加了面向物件的結構使得對記憶體的管理自動化。 近年来,由于Java的编译技术有了极大的提高,采取许多C和C++不能采用的动态编译技术,使得Java的性能日益突出。

C语言的历史

C语言的第一次发展在1969年到1973年之间。C之所以被称为C是因为C语言的很多特性是由一种更早的被称为B语言的编程语言中发展而来的。 到了1973年,C语言已经可以用来编写Unix操作系统的内核。这是第一次用C语言来编写操作系统的内核。丹尼斯·里奇和Brian Kernighan在1978年出版了《C程序设计语言》(The C Programming Language,经常简称为“白皮书”或“K&R”)。 1980年以后,贝尔实验室使得C变得更为广泛的流行,使得C一度成为了操作系统和应用程序编程的首选。甚至到今天,它仍被广泛用于编写操作系统以及作为广泛的计算机教育的语言。但目前Java程序员的数量已经超过了C程序员和C++程序员的总和。2005年4月,C++之父称C++用户超过300万。   分析机构EvansData定期对开发人员展开调查,其调查结果与Stroustrup提出的C++正在扩张的说法相违背。EvansData的数据显示,以C++为工具的开发人员在整个开发界所占的比例由1998年春天的76%下降至2004年秋的46%。 Forrester最新的调查显示,C++、微软VisualBasic和Java是众多公司产品体系的首选语言。对100家公司的调查显示,C/C++、VisualBasic和Java在产品体系中的使用比例分别是59%、61%和66%。 http://tech.sina.com.cn/it/2005-04-25/1042592385.shtml http://www.yesky.com/SoftChannel/72343471356116992/20050425/1940294.shtml 而据路透社2004年6月报道,java程序员在那时就已经超过了420万,java程序员在一年内增长了120万。按最保守的估计,现在java程序员也有500万 http://news.ccidnet.com/pub/article/c1366_a125565_p1.html 1980年代晚期,布贾尼·斯特劳斯特卢普贝尔实验室为C语言添加了面向对象的特性.这种语言成为了C++。C++现在广泛应用的在Microsoft Windows下运行的商业应用程序的编制,然而C仍然是UNIX世界的热门编程语言。

C语言的版本

K&R C

C不断的从它的第一版本进行改进。在1978年,Kernighan和里奇的《C程序设计语言》第一版出版。它介绍了下面的有关C语言版本的特性:
- struct数据类型
- long int数据类型
- unsigned int数据类型
- 把运算符=+改为+=,依次类推。因为=+使得编译器混淆。 在以后的几年里,《C程序设计语言》一直被广泛作为C语言事实上的规范。在这本书中,C语言通常被表述成“K&R C”。(第二版的包括了ANSI C标准) K&R C通常被作为C编译器所支持的最基本的C语言部分。虽然现在的编译器并不一定都完全遵循ANSI标准,但K&R C作为C语言的最低要求仍然要编程人员掌握。但是无论怎样,现在使用广泛的C语言版本都已经与K&R C相距甚远了,因为这些编译器都使用ANSI C标准。 //....

ANSI C和ISO C

1989年,C语言被ANSI标准化。(ANSI X3.159-1989)。标准化的一个目的是扩展K&R C。这个标准包括了一些新的特性。在K&R出版后,一些新的特征被“非官方”的加到C语言中。
- void函数
- 函数返回structunion类型
- void
-
数据类型 在ANSI标准化自己的过程中,一些新的特征被加了进去。ANSI也标准了函数库。ANSI C标准被ISO国际标准化组织)采纳成为ISO 9899。ISO的第一个版本文件在1990年出版。

C99

在ANSI标准化后,C语言的标准在一段相当的时间内都保持不变,尽管C++继续在改进。(实际上,Normative Amendment1在1995年已经开发了一个新的C语言版本。但是这个版本很少为人所知。)标准在90年代才经历了改进,这就是ISO9899:1999(1999年出版)。这个版本就是通常提及的C99。它被ANSI于2000年三月采用。 在C99中包括的特性有:
- 对编译器限制增加了,比如源程序每行要求至少支持到 4095 字节,变量名函数名的要求支持到 63 字节 (extern 要求支持到 31)
- 预处理增强了。例如:
  - 支持取参数 #define Macro(...) __VA_ARGS__
  - 使用的时候,参数如果不写,里用 #,## 这样的东西会扩展成空串。(以前会出错的)
  - 支持 // 行注释(这个特性实际上在C89的很多编译器上已经被支持了)
- 增加了新关键字 restrict, inline, _Complex, _Imaginary, _Bool
  - 支持 long long, long double _Complex, float _Complex 这样的类型
- 支持 <: :> <% %> %: %:%: ,等等奇怪的符号替代,D&E 里提过这个
- 支持了不定长的数组。数组的长度就可以用变量了。声明类型的时候呢,就用 int a[
- ] 这样的写法。不过考虑到效率和实现,这玩意并不是一个新类型。所以就不能用在全局里,或者 struct union 里面,如果你用了这样的东西,goto 语句就受限制了。
- 变量声明不必放在语句块的开头,for 语句提倡这么写 for(int i=0;i<100;++i) 就是说,int i 的声明放在里面,i 只在 for 里面有效。
- 当一个类似结构的东西需要临时构造的时候,可以用 (type_name) 这有点像 C++ 的构造函数
- 初始化结构的时候现在可以这样写: struct hehe[] = ; struct hehe = // 3,4 是对 .c,.d 赋值的
- 字符串里面,\u 支持 unicode 的字符
- 支持 16 进制的浮点数的描述
- 所以 printf scanf 的格式化串多支持了 ll / LL (VC6 里用的 I64) 对应新的 long long 类型。
- 浮点数的内部数据描述支持了新标准,这个可以用 #pragma 编译器指定
- 除了已经有的 __line__ __file__ 以外,又支持了一个 __func__ 可以得到当前的函数名
- 对于非常数的表达式,也允许编译器做化简
- 修改了对于 / % 处理负数上的定义,比如老的标准里 -22 / 7 = -3, -22 % 7 = -1 而现在 -22 / 7 = -4, -22 % 7 = 6
- 取消了不写函数返回类型默认就是 int 的规定
- 允许 struct 定义的最后一个数组写做 [] 不指定其长度描述
- const const int i; 将被当作 const int i; 处理
- 增加和修改了一些标准头文件, 比如定义 bool 的 定义一些标准长度的 int 的 定义复数的 定义宽字符的 有点泛型味道的数学函数 跟浮点数有关的 里多了一个 va_copy 可以复制 ... 的参数。 里多了个 struct tmx 对 struct tm 做了扩展
- 输入输出对宽字符还有长整数等做了相应的支持 但是各个公司对C99的支持所表现出来的兴趣不同。当GCC和其它一些商业编译器支持C99的大部分特性的时候,微软Borland却似乎对此不感兴趣。

C语言的Hello World程序

下面是一个在标准输出设备上输出Hello World的简单程序,这种程序通常作为开始学习编程语言时的第一个程序: #include   int main(void)

进一步了解C

C语言由函数和变量组成。C的函数就像是Fortran中的子程序和函数。 在C语言中,程序从main开始执行。main函数通过调用和控制其他函数进行工作。例如上面的printf。程序员可以自己写函数,或从库中调用函数。在上面的return 0;使得main返回一个值给调用程序的外壳,表明程序已经成功运行。 一个C语言的函数由返回值、函数名、参数列表(或void表示没有返回值)和函数体组成。函数体的语法和其它的复合的语句部分是一样的。

复合语句

C语言中的复合语句的格式为: 复合语句可以使得几个语句变成一个语句。 但一般情况下,我们不推荐这样多个语句顺序书写, 因为这样会使其可读性减弱,加大代码维护难度。

条件语句

C语言有三种条件语句形式。两种是if,另一种是switch。 两种if包括: if (条件表达式) 语句; 以及 if (条件表达式) 语句; else 语句; 在条件表达式中,任何非零的值表示条件为真;如果条件不满足,程序将跳过if后面的语句,直接执行if后面的语句。但是如果if后面有else,则当条件不成立时,程序跳到else处执行。 switch通常用于对几种有明确值的条件进行控制。它要求的条件值通常是整数或字符。与switch搭配的条件转移是case。使用case后面的标值,控制程序将跳到满足条件的case处一直往下执行,直到语句结束或遇到break。通常可以使用default把其它例外的情况包含进去。如果switch语句中的条件不成立,控制程序将跳到default处执行。switch是可以嵌套的。 switch (<表达式>)

循环语句

C语言有三种形式的循环语句: do <语句> while (<表达式>); while (<表达式>) <语句>; for (<表达式1> ; <表达式2> ; <表达式3>) <语句>; whiledo中,语句将执行到表达式的值为零时结束。在do...while语句中,循环体将至少被执行一次。这三种循环结构可以互相转化: for (e1; e2; e3) s; 相当于 e1; while (e2) 当循环条件一直为真时,将产生死循环。

跳转语句

跳转语句包括四种:goto,continue,break和returngoto语句是无条件转移语句: goto 标记 标记必须在当前函数中定义,使用“标记:”的格式定义。程序将跳到标记处继续执行。由于goto容易产生阅读上的困难,所以应该尽量少用。 continue语句用在循环语句中,作用是结束当前一轮的循环,马上开始下一轮循环。 break语句用在循环语句或switch中,作用是结束当前循环,跳到循环体外继续执行。但是使用break只能跳出一层循环。在要跳出多重循环时,可以使用goto使得程序更为简洁。 当一个函数执行结束后要返回一个值时,使用returnreturn可以跟一个表达式或变量。如果return后面没有值,将执行不返回值。

在C99中运算符号

数据类型

基础数据类型

注意:以下是典型的数据位长和范围。但是编译器可能使用不同的数据位长和范围。这取决于使用的编译器。请参考具体的参考手册。 在头文件中说明了基础数据的长度。float,double和long double的范围就是在IEEE 754标准中提及的典型数据。

数组

如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NUL作为数组的结束。 例如: :int myvector [100]; :char mystring [80]; :float mymatrix [3] [2] = :int notfull [3][3] = (
- ) :char lexicon [10000] [300] ; /
- 共一万个最大长度为300的字符数组。
- / :int a[3][4];
上面最后一个例子创建了一个数组,但也可以把它看成是一个多维数组。注意数组的下标从0开始。这个数组的结构如下:
例子(
- )创建了一个3
- 3的二维数组,初始化时有些元素并未赋值.如下: :1 0 0 :1 2 3 :4 5 0
为0的位置的数值是随机的.

指针

如果一个变量声明时在前面使用
- 号,表明这个变量是一个指针。 例如: :int
- pi; /
- 指向整型数据的指针
- / :int
- api[3]; /
- 由指向整型数据的指针构成的数组,长度为3
- / :char
  - argv; /
- 指向一个字符指针的指针
- /
储存在指针中的地址所指向的数值在程序中可以由
- 读取。例如,在第一个例子中,
- pi
是一个整型数据。这叫做引用一个指针。 另一个运算符&,叫做取地址运算符,它将返回一个变量、数组或函数的存储地址。因此,下面的例子: :int i,
- pi; /
- int and pointer to int
- / :pi = &i;
i和
- pi
在程序中可以相互交替使用,直到pi被改变成指向另一个变量的指针。

字符串

要使用字符串并不需要引用库,但是C标准库确实包含了一些用于对字符串进行操作的函数,使得它们看起来就像字符串而不是数组。使用这些函数需要引用头文件
- strcat(dest, source) - 连接两个字符串,把source加到dest末尾。
- strchr(s, c) -在字符串c中找出字符s第一次出现的位置。当没有找到时,返回Null。
- strcmp(a, b) - 比较字符串ab的大小。如果两个字符串相同,返回0;如果a>b,返回正数;如果a,返回负数。
- <- 把source中的n个字符追加到dest后面。null后面的值将不会被添加。
- strncmp(a, b, n) - 比较字符串abn个字符的大小。如果两个字符串相同,返回0;如果a>b,返回正数;如果a,返回负数。
- strncpy(dest, source, n) - 把字符串source拷贝到字符串dest中。(最多拷贝n个)
- strrchr(s, c) - 在s中查找最后一次出现c的位置。返回这个位置。如果找不到,返回null。

文件输入/输出

在C语言中,输入和输出是经由标准库中的一组函数来实现的。在ANSI/ISO C中,这些函数被定义在头文件中。

标准输入/输出

有三个标准输入/输出是预定义的:
- stdin 标准输入
- stdout 标准输出
- stderr 输入输出错误
这些定义在运行过程中是自动的打开和关闭的,所以它们并不需要进行显式定义。 下面的这个例子显示了一个过滤程序(filter program)是怎样构成的。 #include   int main()

传递命令行参数

在命令行赋予程序的参数将通过在main()函数中定义一个整型参数(int)和一个指向字符指针的指针型参数(char
  - )来实现,前者传递命令行参数的个数,后者传递命令行参数内容。习惯上将这两个参数分别命名为argcargv。程序文件名被作为第一个命令行参数。 对于下列程序: #include   int main(int argc, char
  - argv) 输入命令(假设该程序生成C:\TC\a.exe): a one two three 则会得到下面的输出结果:
0:C:\TC\A.EXE
1:one
2:two
3:three
C语言的标准库

以下列出由C语言提供的标准函数库,函数库通过#include进行引用。 在C89标准中:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
在95年的修正版中
-
-
-
在C99中增加了六个函数库
-
-
-
-
-
-

C语言的保留关键字

参见


- 计算机科学课程列表 ja:C言語 ko:C 프로그래밍 언어 ms:Bahasa pengaturcaraan C th:ภาษาซี

Fortran

Fortran,是由Formula Translation两个字所组合而成,意思是公式翻译。它是世界上第一个被正式采用并流传至今的高级编程语言。

历史

Fortran语言最初是由数值计算方面的需要而发展起来的。1957年IBM公司开发出第一套Fortran语言,运行在IBM704计算机上。 1966年美国标准化协会制定了Fortran(x3.9-1966)(也就是Fortran66)和Fortran(x3.10-1966)标准。这时Fortran语言还不是结构化的程序设计语言。 1976年美国标准化协会重新对Fortran(x3.9-1966)进行了评估,公布了新的Fortran标准,也就是Fortran77。Fortran77是具有结构化特性的编程语言。Fortran77在短时间内取得了巨大的成功,广泛地应用于科学和工程计算,几乎统治了数值计算领域。 1980年,Fortran77被ISO接纳为国际标准。 1991年发布的Fortran90大幅改进了旧版Fortran的型式,加入了对象导向的观念与提供指针,并同时加强数组的功能。

Fortran的特性


- Fortran语言的最大特性是接近数学公式的自然描述,在计算机里具有很高的执行效率。
- 易学,语法严谨。
- 可以直接对矩阵复数进行运算,这一点类似matlab
- 自诞生以来广泛地应用于数值计算领域,积累了大量高效而可靠的源程序
- 很多专用的大型数值运算计算机针对Fortran做了优化。
- 广泛地应用于并行计算高性能计算领域。
- Fortran90,Fortran95,Fortran2003的相继推出使Fortran语言具备了现代高级编程语言的一些特性。

Fortran语言的Hello World程序

下面是一个在标准输出设备上输出Hello World的简单程序,这种程序通常作为开始学习编程语言时的第一个程序:
    WRITE(
- ,10) 10 FORMAT('Hello, world!') STOP END

Fortran编译器


- Windows操作系统下:
  - Fortran Power Station 4.0 (FPS 4.0),微软公司开发的Fortran编译器。1997年3月转让给DEC公司
  - Digital Visual Fortran (DVF),Fortran Power Station的DEC公司版本。
  - Compaq Visual Fortran (CVF),1998年1月,DEC公司康柏公司收购,Digital Visual Fortran更名为Compaq Visual Fortran。一个著名的版本是Compaq Visual Fortran 6.5。目前康柏公司已并入惠普公司。Compaq Visual Fortran的最新版是6.6。
  - Intel Fortran,英特尔公司的开发的Fortran编译器。
  - Lahey Fortran
  - Absoft Fortran
  - OpenWatcom
- Linux操作系统下:
  - PGI Fortran
  - G77,GNU的Fortran77编译器,集成在GCC中。
  - GFORTRAN,GNU的最新的Fortran编译器,集成在GCC 4.0中,目的是支持Fortran95和一部分Fortran2003的功能,以替代G77。将于2005年发布。
  - Intel Fortran
  - Absoft Fortran
  - g95,跟GFORTRAN同为开放源代码的Fortran95编译器。

Fortran程序包

几个著名的Fortran程序包:
- IMSL--国际数学和统计链接库
- BLAS--Basic Linear Algebra Subroutines
- LAPACK--Linear Algebra PACKage

參見


- 中文維基百科 FORTRAN 使用者

外部链接


- [http://www.fortran.com/ The fortran company]
- [http://gcc.gnu.org/fortran gfortran]
- [http://gfortran.org/ gfortWiki]
- [http://krsna.lamost.org/popular/fortran/fortran.htm 科学计算的语言——FORTRAN95]
- [http://www.cnvf.com/ Fortran博物馆]
- [http://els.donpac.ru/usr/golub/fortran/FClub.html Fortran程序员俱乐部(英文)]
- [http://gams.nist.gov/Problem.html 一个可以查找fortran包的网址(英文)] ja:FORTRAN ko:포트란

浮点数

浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次得到,这种表示方法类似于基数为10的科学记数法浮点计算是指浮点数参与的运算,這種运算通常伴随着因为无法精确表示而进行的近似或舍入。 一个浮点数a由两个数me来表示:a = m × be。在任意一个这样的系统中,我们选择一个基数b(记数系统的基)和精度p(即使用多少位来存储)。m(即尾数)是形如±d.ddd...ddd的p位数(每一位是一个介于0到b-1之间的整数,包括0和b-1)。如果m的第一位是非0整数,m称作规格化的。有一些描述使用一个单独的符号位(s 代表+或者-)来表示正负,这样m必须是正的。e是指数。 这种设计可以在某个固定长度的存储空间内表示定点数无法表示的更大范围的数。 例如,一个指数范围为±4的4位十进制浮点数可以用来表示43210,4.321或0.0004321,但是没有足够的精度来表示432.123和43212.3(必须近似为432.1和43210)。当然,实际使用的位数通常远大于4。 此外,浮点数表示法通常还包括一些特别的数值:+∞和−∞(正负无穷大)以及NaN('Not a Number')。无穷大用于数太大而无法表示的时候,NaN则指示非法操作或者无法定义的结果。

计算中的浮点数

大部份计算机采用二進制(b=2)的表示方法。(bit)是衡量浮点数所需存储空间的单位,通常为32位或64位,分别被叫作单精度双精度。有一些计算机提供更大的浮点数,例如英特尔公司的浮点运算单元Intel8087协处理器(以及其被集成进x86处理器中的后代产品)提供80位长的浮点数,用于存储浮点运算的中间结果。还有一些系统提供128位的浮点数(通常用软件实现)。

浮点数的標準

在計算機使用的浮点数被电气电子工程师协会(IEEE)規範化為 IEEE-754。

浮点数相关的问题

(待续) ja:浮動小数点数 ko:부동소수점

Perl

Perl(Practical Extraction and Report Language)是一种脚本语言。 最初的设计者为拉里·沃尔(Larry Wall),它於1987年12月18日發表。Perl借取了Csedawk、shell scripting以及很多其他程式語言的特性。 Perl原名pearl。在這個語言官方發表前,拉里·沃尔發現已經有個程式語言“pearl”,便改變將這個程式語言的名字改成Perl。Perl這個名字,出現了一些backronym的建議,包括充滿幽默感的“Pathologically Eclectic Rubbish Lister”。今日,“Practical Extraction and Report Language”出現了在很多有關Perl的資料裏,包括官方的man pages。它的名字第一個字母大写(Perl)時就指這個程式語言,無大写字母(perl)時就指它的直譯器。將Perl寫成“PERL”是不適當的,因為它並非一個縮寫字。 Perl具有动态语言的强大灵活的特性,并起提供了许多冗余语法,也因此获得了write-only的“美誉”,因为许多Perl程序的代码令人难以阅读。但Perl同样可以将代码书写得像Python等语言一样优雅。 Perl主要应用在Unix平台和网页中(PHP,CGI)。Perl拥有海量的模块支持,在解决问题时非常方便。CPAN是Perl模块的集中营。 Perl6正在开发中,它将会与现在的Perl版本有很大不同。 和C一樣,在Perl界,難以讀懂的程式碼大賽是個有名的活動。近似難以讀懂的程式碼,但方向不同,Perl Poetry是可以被perl編譯的詩。新的詩經通常會在[http://www.perlmonks.org/index.pl?node=Perl%20Poetry Perl Monks]網站發表。 另一個Perl hackers的有趣活動是寫JAPHs

Perl的歷史


- 1987/10/18發表Perl 1.0
- 1994年發表Perl 5 始具有OOP的作法
- 5.8.0 版開始, Perl 具備了Unicode (萬國碼) 支援
  - 將 Big5 編碼的檔案轉成 Unicode, 祗需鍵入下列指令: perl -Mencoding=big5,STDOUT,utf8 -pe1 < file.big5 > file.utf8
  - Perl 也內附了 ``piconv, 一支完全以 Perl 寫成的字碼轉換工具程式, 用法如下: piconv -f big5 -t utf8 < file.big5 > file.utf8 piconv -f utf8 -t big5 < file.utf8 > file.big5
- 2003年發表了Perl 6

競爭對手

因為許多Perl程序的代碼難以閱讀,加上它的面向对象功能被視為不是真正的面向对象,於是很多人拿Perl和其他動態語言來比較。 最常見是比較對象是Python,有人寫了篇文章叫[http://www.garshol.priv.no/download/text/perl.html What's wrong with Perl],指出Perl的缺點,鼓勵別人學Python。著名黑客埃里克·斯蒂芬·雷蒙寫[http://www.linuxjournal.com/article.php?sid=3882 Why Python?],該文中一個重要的比較對象就是Perl。 Ruby的作者甚至直認他想Ruby作為Perl的後繼者。

Perl的Hello World程序

下面是一个在标准输出设备上输出Hello World的简单程序,这种程序通常作为开始学习编程语言时的第一个程序:
#!/usr/local/bin/Perl
print "Hello, world!\n";

外部链接


- [http://www.perl.com/ Perl.com]
- [http://dmoz.org/Computers/Programming/Languages/Perl/ dmoz on Perl]
- [http://www.perl.org/ Perl.org]
- [http://www.pm.org/ Perl Mongers], 全球各地的使用者組織
- [http://www.perlmonks.org Perl Monks], 一个很活跃的Perl社区
- [http://activestate.com/ ActiveState],Microsoft Windows上的Perl
- [http://www.cpan.org/ CPAN - Comprehensive Perl Archive Network],Perl程式的集中地
- [http://search.cpan.org/ 搜寻CPAN]
- [http://www.perlchina.org/ 中国Perl协会]
- [http://www.perlhk.org/ 香港Perl推广组]
- [http://member.perlchina.org/ member.perlchina.org] PerlChina.org 会员中心 - 通过标签和地域聚合人
- [http://wiki.perlchina.org/ wiki.perlchina.org] PerlChina.org 的 wiki 站点,中文翻译 Category:脚本语言 ja:Perl ko:펄


Category:数学

参看Wikipedia:数学首页Category:自然科学 Category:抽象 Category:学科 ja:Category:数学 ko:분류:수학 ms:Category:Matematik simple:Category:Mathematics th:Category:คณิตศาสตร์

Apfelminze

Minze (Mentha) ist eine Gattung aus der Familie der Lippenblütengewächse (Lamiaceae).

Beschreibung

Es ist eine ausdauernde, aromatische, meist behaarte, krautige Pflanze mit unterirdischen Ausläufern. Die meist gesägten Blätter sind gegenständig. Die Blüten sind klein, meist weißlich oder rosa. Die Oberlippe ist meist so groß wie einer der drei Lappen der Unterlippe. Hierdurch scheint die Blüte fast regelmäßig vierspaltig. Die Blüten sind in meist vielblütigen Scheinwirteln angeordnet, die unterbrochene Scheinähren mit laubigen Tragblättern oder dichte Scheinähren mit kleinen Hochblättern bilden. Bei einigen Arten sind die Blüten vormännlich (Proterandrie). Bestäubt werden die Minzen meist von kurzrüssligen Insekten wie z.B. Fliegen. Die Ausbreitung der Samen erfolgt über das Wasser (Hydrochorie).

Arten und Sorten

Die Arten dieser bevorzugt gemäßigte Klimate bewohnenden Gattung Mentha sind schwer zu umgrenzen und bilden auch leicht Bastarde, die sich durch Ausläufer vermehren und bisweilen die Stammarten verdrängen. Je nach Autor unterscheidet man 20 bis 30 Arten. Als Gewürz relevante Minze-Arten tragen oft Namen, die auf die Geschmacksähnlichkeit mit anderen Pflanzen hinweisen:
- Apfelminze (M. suaveolens) - (Apfelkuchen-Duft): Bei der Apfelminze besteht die Ähnlichkeit darin, dass sie gut zu Apfel passt, beispielsweise als Apfelkuchengewürz anstelle von Zimt.
- Basilikumminze - (Basilikum-Duft)
- Bergamotteminze (M. x piperita var. citrata) - (Bergamotte)
- Orangenminze (M. x piperita var. citrata) - (Orange)
- Zitronenminze - (M. x piperita var. citrata) - (Zitrone) (Beachte Zitronenmelisse hört sich ähnlich an aber gehört nicht zu den Minzen und ist mit Zitronenminze auch nicht gemeint.)
- Schoko-Minze (M. x piperita var. piperita) - (Minz-Schokolade-Geruch) Die Minze wird schon sehr lange in Gärten angebaut. 812 schrieb Karl der Große bereits drei Minze-Arten für den Anbau in Gärten in seinem Reich vor (siehe Karlsgarten):
- Wasserminze (M. aquatica)
- Ähren-Minze, oder auch Wald-Minze genannt, (M. spicata)
  - Krause Minze (M. spicata var. crispa)
- Roß-Minze (M. longifolia) Weitere Minze-Arten sind beispielsweise:
- Pfefferminze (M. x piperata var. piperata) = (Bastard aus M. aquatica x M. spicata)
- Hemingway-Minze M. x piperita var. silvestris (syn.: M. nemorosa)
- Nana-Minze (Bei dieser in Marokko kultivierten Minze handelt es sich um die Varietät M. piperita var. nana)
- Ackerminze (M. arvensis)
- Poleiminze (M. pulegium)
- Korsische Minze (M. requenii)
- Birkenblättrige Ingwerminze (M. x gentilis Sorte 'Variegata'), mit bunten Blättern.

Beachte


- Katzenminze (Nepeta cataria), gehört nicht zur Gattung der Minzen (Mentha).

Weblinks


- [http://www.minzen.com/ Homepage einer Minze-Sammlung] Siehe auch: Liste der Küchenkräuter und Gewürze Kategorie:Lippenblütler Kategorie:Gewürzpflanze Kategorie:Heilpflanze ja:ミント

tapety motorola free poker szkoy jastrzbia gra sms










































:: RELATED NEWS ::
Gobi-Altaj-Aimak
Gobi-Altaj-Aimak ist ein Aimak der Mongolei. Er ist 141000 km² groß und zählt 64200 Einwohner. Er besteht aus folgenden Sum:
- Altaj
- Bajan-Uul
- Biger
- Chaliun
- Chuchmorit
- Darwi
- Delger
- Dschargalan
- Erdene
- Guulin
- Scharga
- Tajschir
- Tonchil
- Tschanmani
- Tugrug
- Zeel
- Zogt Aimak der Mongolei. Er ist 74700 km² groß und zählt 51300 Einwohner. Er besteht aus folgenden Sum:
- Adaazag
- Bajandschargalan
- Chuld
- Delgerchangaj
- Delgerzogt
- Deren
- Erdenedalaj
- Gobi-Ugtaal
- Gurwansajchan
- Luus
- Sajchan-Owoo
- Sajnzagaan
- Uldsijt
- Undurschil
- Zagaandelger Aimak) der Mongolei. Er ist 115.000 km² groß und zählt 51.500 Einwohner. Er besteht aus folgenden Sum:
- Ajrag
- Altanschiree
- Chatanbulag
- Chuwsgul
- Dalandschargalan
- Delgerech
- Dsamyn-Uud
- Dsuunbajan
- Erdene
- Ichchet
- Mandach
- Sajchandulaan
- Sajnchand
- Tschojr
- Ulaanbadrach
- Urgun
Selenge-Aimak
Selenge-Aimak ist ein Aimak der Mongolei. Er ist 41200km² groß und zählt 101700 Einwohner. Er besteht aus folgenden Sum: Sum
- Altanbulag
- Baruunburen
- Bugant
- Chongor
- Chuder
- Chutul
- Dschawchlant
- Dsuunburen
- Dulaanchaan
- Jeröö
- Mandal
- Orchon
- Orchontuul
- Sajchan

Suchbaatar-Aimak
----- Suchbaatar-Aimak ist ein Aimak der Mongolei. Er ist 82300 km² groß und zählt 56000 Einwohner. Er besteht aus folgenden Sum:
- Asgat
- Bajandelger
- Burenzogt
- Chaldsan
- Dariganga
- Erdenezagaan
- Munkchaan
- Naran
- Ongon
- Suchbaatar
- Tumenzogt
- Tuwschinschiree
- Uulbajan bild:mon
Liftachse
Als Liftachse bezeichnet man bei LKW oder Sattelaufliegern eine Achse, die nicht dauernd auf der Fahrbahn mitläuft, sondern bei geringer Belastung des Fahrzeuges in die Höhe gehoben werden kann. Im gehobenen Zustand erfolgt keine Beanspruchung und somit auch keine Abnutzung des Reifens. Auch das Abrollgeräusch ist insgesamt geringer. Übl
Südgobi-Aimak
Südgobi-Aimak ist ein Aimak der Mongolei. Er ist 165400km² groß und zählt 47300 Einwohner. Er besteht aus folgenden Sum:
- Bajandalaj
- Bajan-Owoo
- Bulgan
- Chanbogd
- Chanchongor
- Churmen
- Gurwantes
- Mandal-Owoo
- Manlaj
- Nojon
- Nomgon
- Sewrej
- Zogt-Owoo
- Zogtzezij bild:mongolei-
Uws-Aimak
Uws-Aimak ist ein Aimak der Mongolei. Er ist 69.600 km² groß und zählt 86.800 Einwohner, die überwiegend zu den Völkern der Durwud und der Bajad gehören. Er besteht aus folgenden Sum:
- Baruunturuun
- Buchmurun
- Chjargas
- Chowd
- Dawst
- Dsawchan
- Dsuunchangaj
- Dsuungobi
- Maltschin
-
Uwurchangaj-Aimak
Uwurchangaj-Aimak ist ein Aimak der Mongolei. Er ist 63.000 km² groß und zählt 114.000 Einwohner. Er besteht aus folgenden Sum: Sum
- Bajangol
- Bajanteeg
- Bajan-Undur
- Baruunbajan-Ulaan
- Bat-Uldsij
- Bogd
- Burd
- Chajrchandulaan
- Charchorin
- Chudschirt
- Dsujl
- Dsuunbajan-Ulaan
- Gu
Liste von Organisationen (Österreich)
Diese Liste stellt einen Auszug der österreichischen Organisationen und Verbände sowie deren Abkürzungen dar

Arbeitnehmerorganisationen


- AK Arbeiterkammer
- AUGE/UG - Alternative und unabhängige GewerkschafterInnen
- GLB - Gewerkschaftlicher Linksblock
- ÖGB Österreichischer Gewerkschaftsbund
-
All Rights Reserved 2005 wikimiki.org