徽标
联盟百科
通讯
下载应用,请到 Google Play
新! 在您的Android™设备上下载联盟百科!
自由
比浏览器更快的访问!
 

Goto

指数 Goto

GOTO是一条可以在许多计算机编程语言中找到的语句。它是英文单词go和to的组合。当执行这条语句的时候,它将控制流程无条件地转到另一条语句(也叫「跳转」)。跳转语句需要指明標記,在不同语言中,標記可以是标识符或行号。在机器码级别,goto是一种分支的形式。 在一些语言中,可以不用显示地使用goto关键字而实现同样的功能,例如break或continue关键字可以跟随一个标识符。SNOBOL语言支持一种语句的后缀形式,可以在本条语句执行完毕后实现无条件跳转。 GOTO语句被大部分高级语言支持,只有很少的高级语言不支持GOTO语句。例如,goto是一个Java语言的保留字,但是不允许使用。.

28 关系: Ada句子三次法则 (程序設計)代码风格异常处理保留字分支 (計算機科學)C++C语言程式迴圈结构化编程编程语言Edsger Dijkstra非結構化程式設計面条式代码行號 (程式語言)高德纳高级语言艾兹格·迪杰斯特拉電腦科學家JavaSetjmp.h控制流程条件表达式標記 (程式語言)標識符有限状态自动机数组

Ada

Ada,是一种程序设计语言。它源于美国军方的一个计划,旨在整合美军系统中运行着上百种不同的程序设计语言编写的程序,並提高除錯能力與效率,由Pascal及其他語言擴展而成,比較接近自然語言和數學表達式,並用「Ada」命名以紀念-zh-cn:埃达·洛夫莱斯;zh-tw:愛達·勒芙蕾絲;zh-hk:愛達·勒芙蕾絲;zh-sg:埃达·洛夫莱斯;-(Ada Lovelace)。.

新!!: Goto和Ada · 查看更多 »

句子

句子或称语句,指构成语言的基本单位,句子带有语调,大部分语言的句子带有限定动词,按照一定的语法规则组织,具有完整的意义。 按照语言的语法规则,每个句子至少包含主语、谓语和宾语等构成句子的成分(句子成分)。分类上,句子既可按照结构分,也可以按照使用目的分类。句子的停顿、句子与句子则用标点符号连接。.

新!!: Goto和句子 · 查看更多 »

三次法则 (程序設計)

#重定向 三次法则 (程序设计).

新!!: Goto和三次法则 (程序設計) · 查看更多 »

代码风格

代码风格(Programming style)即程序开发人员所编写源代码的书写风格。良好代码风格的特点是使代码易读。 总结程序设计实践中的经验,代码风格的要素包括(但不限于)以下几点:.

新!!: Goto和代码风格 · 查看更多 »

异常处理

异常处理,是编程语言或计算机硬件里的一种机制,用于处理软件或信息系统中出现的异常状况(即超出程序正常执行流程的某些特殊条件)。 各种编程语言在处理异常方面具有非常显著的不同点(错误检测与异常处理区别在于:错误检测是在正常的程序流中,处理不可预见问题的代码,例如一个调用操作未能成功结束)。某些编程语言有这样的函数:当输入存在非法数据时不能被安全地调用,或者返回值不能与异常进行有效的区别。例如,C语言中的atoi函数(ASCII串到整数的转换)在输入非法时可以返回0。在这种情况下编程者需要另外进行错误检测(可能通过某些辅助全局变量如C的errno),或进行输入检验(如通过正则表达式),或者共同使用这两种方法。 通过异常处理,我们可以对用户在程序中的非法输入进行控制和提示,以防程序崩溃。 从进程的视角,硬件中断相当于可恢复异常,虽然中断一般与程序流本身无关。 从子程序编程者的视角,异常是很有用的一种机制,用于通知外界该子程序不能正常执行。如输入的数据无效(例如除数是0),或所需资源不可用(例如文件丢失)。如果系统没有异常机制,则编程者需要用返回值来标示发生了哪些错误。.

新!!: Goto和异常处理 · 查看更多 »

保留字

保留字(Reserved word),有时也叫关键字(keyword),是编程语言中的一类语法结构。在特定的编程语言里,这些保留字具有较为特殊的意义,并且在语言的格式说明里被预先定义。通常,保留字包括用来支持类型系统的原始数据类型的标记,并可以用来识别诸如循环结构、语句块、条件、分支等程序结构。 保留字在编程语言设计之时就被定义。有时,语言说明具有一定的灵活性,软件商可能会在其生产的编译器中添加非标准的语言特性。同样,当发展得更加成熟时,编程语言的保留字标准可能会扩展一些额外的特性,例如,在传统的编程语言中增加面向对象程序设计的特性。有时,编程语言说明会包含一些将来版本可能需要用到的保留字。在Java中,const和goto就是两个保留字——它们在Java中目前没有被使用,因此不具有意义,但是不能够被用作标识符。通过“保留”这个术语,它们可以在Java的未来版本中补充,而不需要“破坏”旧的Java源代码。不像预定义函数、方法和子程序,保留字不能被程序员定义,而前面那些的名称通常被归类于标识符,而不是保留字。.

新!!: Goto和保留字 · 查看更多 »

分支 (計算機科學)

在計算機科學中,分支(Branch)是在電腦程式中的一段序列程式碼。它會視情況而執行,主要是看控制流程在這個情況下,是否決定執行它。在高階語言與組合語言,乃至於機器碼寫成的程式中,都可以看到分支的存在。在高階語言中,通常會使用條件語句的形式,把分支包起來,並決定在何種狀況下,應該要執行哪一個分支指令。在組合語言與機器碼層級中,則使用跳躍指令(jump instructions),以標記定義出相對應的分支碼。 Category:控制流程.

新!!: Goto和分支 (計算機科學) · 查看更多 »

C++

C++是一種使用廣泛的计算机程序設計語言。它是一種通用程序設計語言,支援多重编程模式,例如程序化程序設計、数据抽象、面向对象程序設計、泛型程序設計和设计模式等。 比雅尼·斯特勞斯特魯普博士在贝尔实验室工作期间在20世紀80年代發明並實現了C++。起初,這種語言被稱作“C with Classes”(“包含‘類’的C語言”),作為C語言的增強版出現。随后,C++不斷增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多繼承(multiple inheritance)、标准模板库(standard template library, STL)、异常处理(exception)、运行时类型信息(Runtime type information)、命名空間(namespace)等概念逐漸納入標準。1998年,國際標準組織(ISO)頒布了C++程序設計語言的第一個國際標準ISO/IEC 14882:1998,目前最新标准为ISO/IEC 14882:2017。根據《C++編--程思想》(Thinking in C++)一書,C++與C的代码执行效率往往相差在±5%之間。 C++語言發展大概可以分為三個階段:第一階段從80年代到1995年。這一階段C++語言基本上是傳統類型上的面向对象語言,並且憑藉着接近C語言的效率,在工業界使用的開發語言中佔據了相當大份額;第二階段從1995年到2000年,這一階段由於標準模板庫(STL)和後來的Boost等程式庫的出現,泛型程序設計在C++中佔據了越來越多的比重。當然,同時由於Java、C#等語言的出現和硬體價格的大規模下降,C++受到了一定的衝擊;第三階段從2000年至今,由於以Loki、MPL(Boost)等程式庫為代表的產生式編程和模板元編程的出現,C++出現了發展歷史上又一個新的高峰,這些新技術的出現以及和原有技術的融合,使C++已經成為當今主流程序設計語言中最複雜的一員。.

新!!: Goto和C++ · 查看更多 »

C语言

C是一种通用的程式語言,广泛用于系统软件与应用软件的开发。于1969年至1973年間,為了移植與開發UNIX作業系統,由丹尼斯·里奇與肯·汤普逊,以B语言为基础,在贝尔实验室設計、开发出來。 C语言具有高效、灵活、功能丰富、表达力强和較高的可移植性等特点,在程式設計中备受青睐,成为最近25年使用最为广泛的编程语言。目前,C语言編譯器普遍存在於各種不同的操作系统中,例如Microsoft Windows、macOS、Linux、Unix等。C語言的設計影響了众多後來的程式語言,例如C++、Objective-C、Java、C#等。 二十世纪八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標準局為C語言訂定了一套完整的國際標準語法,稱為ANSI C,作為C語言的標準。二十世纪八十年代至今的有关程式開發工具,一般都支持符合ANSI C的語法。.

新!!: Goto和C语言 · 查看更多 »

程式迴圈

迴圈是計算機科學運算領域的用語,也是一種常見的控制流程。迴圈是一段在程式中只出現一次,但可能會連續執行多次的程式碼。迴圈中的程式碼會執行特定的次數,或者是執行到特定條件成立時結束迴圈,或者是針對某一集合中的所有項目都執行一次。 在一些函數程式語言(例如Haskell和Scheme)中會使用递归或不动点组合子來達到迴圈的效果,其中尾部递归是一種特別的递归,很容易轉換為迭代。.

新!!: Goto和程式迴圈 · 查看更多 »

结构化编程

結構化程式設計(Structured programming),一種編程典範。它採用子程序、、for迴圈以及while迴圈等結構,來取代傳統的 goto。希望藉此來改善计算机程序的明晰性、品質以及開發時間,並且避免寫出麵條式代碼。 結構化程式設計在1960年代開始發展,及朱塞佩·賈可皮尼(Giuseppe Jacopini)於1966年5月在《Communications of the ACM》期刊發表論文,說明任何一個有goto指令的程式,可以改為完全不使用goto指令的程式,後來艾兹赫尔·戴克斯特拉在1968年也提出著名的論文《GOTO陳述有害論》(Go To Statement Considered Harmful),,因此結構化程式設計開始盛行,此概念理論上可以由結構化程式理論所證明,而在實務上,當時也有像ALGOL一樣,有豐富控制結構的程式語言來實現結構化程式設計。.

新!!: Goto和结构化编程 · 查看更多 »

编程语言

编程语言(programming language),是用来定义计算机程序的形式語言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。 最早的编程语言是在電腦發明之前產生的,當時是用來控制及自動演奏鋼琴的動作。在電腦領域已發明了上千不同的编程語言,而且每年仍有新的编程語言誕生。很多编程語言需要用指令方式說明計算的程序,而有些编程語言則屬於宣告式編程,說明需要的結果,而不說明如何計算。 编程语言的描述一般可以分為及語義。語法是說明編程語言中,哪些符號或文字的組合方式是正確的,語義則是對於編程的解釋。有些語言是用規格文件定義,例如C語言的規格文件也是ISO標準中一部份,2011年後的版本為ISO/IEC 9899:2011,而其他55語言(像Perl)有一份主要的文件,視為是。.

新!!: Goto和编程语言 · 查看更多 »

Edsger Dijkstra

#重定向 艾兹赫尔·戴克斯特拉.

新!!: Goto和Edsger Dijkstra · 查看更多 »

非結構化程式設計

非结构化程序设计是历史上最早的能够创造图灵完备算法的程序设计模式。在它之后,历史上又出现了结构化(过程化)程序设计、面向对象程序设计。 非结构化程序设计被批评最严重的方面就是会产生很难读懂的代码(戏称面条式代码),在创建大型工程方面有时会被认为是很差的,不过,因为赋予程序设计者很大的自由,被人称赞为如同莫扎特在谱曲。.

新!!: Goto和非結構化程式設計 · 查看更多 »

面条式代码

-zh-cn:意;zh-tw:義;-大利面,面条式代码也是如此的扭曲纠结。 面条式代码(Spaghetti code)是软件工程中反面模式的一种William J. Brown, Raphael C. Malveau, Hays W. "Skip" McCormick, Thomas J. Mowbray (1998).

新!!: Goto和面条式代码 · 查看更多 »

行號 (程式語言)

行號是程式語言中的一個用語,是用來識別文本文件各行的數字。最常見的作法是在各行指定不重複的數字,第一行數字為1,後續各行依序加一。 C語言中源代码的行號定義成從檔案開始到指定位置之間,所讀到換行符號的個數再加一。 在一些古老的程式語言(如GW-BASIC)中,行號是程式語法中必需的一部份。 主要原因是當時的作業系統缺乏交互式的文字編輯器,程式編輯器的界面往往只有行编辑器。指定行號可以使編輯器知道要編輯哪一行,也可以在原代碼的特定位置中插入一行。行號也可以將程式實際需要執行的先後順序和輸入程式時的順序區隔開來。 現在的作業系統普遍都有交互式文字編輯器的功能,因此大部份的程式語言都已不需要行號。.

新!!: Goto和行號 (程式語言) · 查看更多 »

高德纳

德納(Donald Ervin Knuth,音譯:唐納德·爾文·克努斯,),出生於美国密尔沃基,著名计算机科学家,斯坦福大学计算机系榮譽退休教授。高德纳教授為现代计算机科学的先驅人物,創造了演算法分析的領域,在數個理論計算機科學的分支做出基石一般的貢獻。在计算机科学及数学领域发表了多部具广泛影响的论文和著作。1974年圖靈獎得主。 高德纳最為人知的事蹟是,他是《计算机程序设计艺术》的作者。此書是計算機科學界最受高度敬重的參考書籍之一。此外還是排版軟件tex和字型設計系統Metafont的发明人。提出文学编程的概念,並創造了WEB與CWEB軟體,作為文學編程開發工具。.

新!!: Goto和高德纳 · 查看更多 »

高级语言

高级编程语言(High-level programming language)是高度封装了的编程语言,与低级语言相对。它是以人類的日常語言為基礎的一種編程語言,使用一般人易於接受的文字來表示,使程序編寫員編寫更容易,亦有較高的可讀性,以方便對電腦認知較淺的人亦可以大概明白其內容。由於早期電腦業的發展主要在美國,因此一般的高階語言都是以英語為藍本。在1980年代,當東亞地區開始使用電腦時,在日本、台灣及中國大陸都曾嘗試開發用各自地方語言編寫的高級語言,當中主要都是改編BASIC或專用於數據庫資料存取的語言,但是隨着編程者的外語能力提升,現時的有關開發很少。 G.

新!!: Goto和高级语言 · 查看更多 »

艾兹格·迪杰斯特拉

#重定向 艾兹赫尔·戴克斯特拉.

新!!: Goto和艾兹格·迪杰斯特拉 · 查看更多 »

電腦科學家

電腦科學家(Computer scientist)是指一類具有資深電腦科學知識,並從事相關研究的人物。電腦科學家通常從事計算與資訊理論方面的研究,有時也關注這些理論在電腦系統中的應用。 與電腦工程師相對,電腦科學家通常對電腦系統的理論,而非實作,更加感興趣,儘管有時電腦科學家的工作也涉及到硬體系統。電腦科學家通常會對電腦科學的某一分支進行深入研究,但是這些分支都建立在對計算系統的理論研究上。.

新!!: Goto和電腦科學家 · 查看更多 »

Java

Java是一種廣泛使用的電腦程式設計語言,擁有跨平台、物件導向、泛型程式設計的特性,广泛应用于企业级Web应用开发和移动应用开发。 任職於昇陽電腦的詹姆斯·高斯林等人于1990年代初开发Java語言的雛形,最初被命名为Oak,目標設定在家用电器等小型系統的程式语言,應用在电视机、电话、闹钟、烤面包机等家用电器的控制和通訊。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代網際網路的发展,Sun公司看見Oak在網際網路上应用的前景,于是改造了Oak,於1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的-zh-hans:指针; zh-hant:指標;-,改以-zh-hans:引用; zh-hant:參照;-取代,同時移除了C++中的--和多重继承特性,改用接口取代,增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。昇陽電腦对Java语言的解释是:「Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言」 Java不同於一般的编译語言或直譯語言。它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编写,到处运行”的跨平台特性。在早期JVM中,这在一定程度上降低了Java程序的运行效率。但在J2SE1.4.2发布后,Java的執行速度有了大幅提升。 与传统型態不同,Sun公司在推出Java時就将其作为开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是 Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同,此外,微软公司後來推出了与之竞争的.NET平台以及模仿Java的C#语言。後來Sun公司被甲骨文公司併購,Java也隨之成為甲骨文公司的產品。 現時,行動作業系統Android大部分的代碼採用Java 程式設計語言編程。.

新!!: Goto和Java · 查看更多 »

Setjmp.h

setjmp.h是C标准函数库中提供“非本地跳转”的头文件:控制流偏离了通常的子程序调用与返回序列。互补的两个函数setjmp与longjmp提供了这种功能。 setjmp/longjmp的典型用途是异常处理机制的实现:利用longjmp恢复程序或线程的状态,甚至可以跳过栈中多层的函数调用。 在信号处理机制中,进程在检查收到的信号,会从原来的系统调用中直接返回,而不是等到该调用完成。这种进程突然改变其上下文的情况,就是通过使用setjmp和longjmp来实现的。setjmp将保存的上下文载入用户空间,并继续在旧的上下文中继续执行。这就是说,进程执行一个系统调用,当因为资源或其他原因要去睡眠时,内核为进程作了一次setjmp,如果在睡眠中被信号唤醒,进程不能再进入睡眠时,内核为进程调用longjmp,该操作是内核为进程将现在的上下文切换成原先通过setjmp调用保存在进程用户区的上下文,这样就使得进程可以恢复等待资源前的状态,而且内核为setjmp返回1,使得进程知道该次系统调用失败。.

新!!: Goto和Setjmp.h · 查看更多 »

控制流程

控制流程(也稱為流程控制)是電腦運算領域的用語,意指在程式執行時,個別的指令(或是陳述、子程序)執行或求值的順序。不論是在宣告式程式語言或是函數程式語言中,都有類似的概念。 在宣告式的程式語言中,流程控制指令是指會改變程式執行順序的指令,可能是執行不同位置的指令,或是在二段(或多段)程式中選擇一個執行。 不同的程式語言所提供的流程控制指令也會隨之不同,但一般可以分為以下四種:.

新!!: Goto和控制流程 · 查看更多 »

条件表达式

#重定向 條件運算式.

新!!: Goto和条件表达式 · 查看更多 »

標記 (程式語言)

程式語言中的標記是加在源代碼中識別用的字串,大部份的語言都將標記視為標識符(identifier),後面要加一個冒號作為識別。 在許多高階語言中標記會用來標示Goto指令的終點。在組合語言中標記則是用來標示跳躍指令(如JMP)的終點。也時也會利用標記來作為程式的分段。Fortran及BASIC語言支援數字型的標記,也就是行號。標記也在调试時用來識別已編譯過程式的進入點。.

新!!: Goto和標記 (程式語言) · 查看更多 »

標識符

標識符(英文對應詞:identifier,縮寫為ID),又稱為識別碼,是一個用來識別物件的名稱,識別對象可能是概念、具體可數的物體或是不可數的物質。標識符可能是字、編號、字母、符號,也可能是由上述元素所組成。 在编程语言中,标识符就是程序员自己规定的具有特定含义的词,比如类名称,属性名称,变量名等。.

新!!: Goto和標識符 · 查看更多 »

有限状态自动机

#重定向 有限状态机.

新!!: Goto和有限状态自动机 · 查看更多 »

数组

在計算機科學中,陣列資料結構(array data structure),簡稱数组(Array),是由相同类型的元素(element)的集合所組成的資料結構,分配一块连续的内存来存储。利用元素的索引(index)可以计算出该元素對應的儲存地址。 最簡單的資料結構類型是一維陣列。例如,索引為0到9的32位元整數陣列,可作為在記憶體位址2000,2004,2008,...2036中,儲存10個變量,因此索引為i的元素即在記憶體中的2000+4×i位址。陣列第一個元素的記憶體位址稱為第一位址或基礎位址。 二维数组,对应于數學上的矩陣概念,可表示為二維矩形格。例如: a.

新!!: Goto和数组 · 查看更多 »

重定向到这里:

GOTOGOTO有害論Goto (command)Goto有害論

传出传入
嘿!我们在Facebook上吧! »