我们正在努力恢复Google Play商店上的Unionpedia应用程序
传出传入
🌟我们简化了设计以优化导航!
Instagram Facebook X LinkedIn

国际C语言混乱代码大赛

指数 国际C语言混乱代码大赛

国际C语言混乱代码大赛(IOCCC, The International Obfuscated C Code Contest)是一项国际程序设计赛事。从1984年开始,本赛事每年举办一次(1997年、1999年、2002年、2003年和2006年例外)。本赛事的目的是写出最有创意和最让人难以理解的C语言代碼。 從線上提交开始,作品需要經過好幾回合的裁判審核。评判作品的标准基於濫用混亂代碼的程度(以及濫用程度的創造性)。通過最後一輪審核的作品會被歸成特別的一類以示嘉獎,例如「最濫用C预處理器」或者「最古怪的行為」,並且發表在官方IOCCC網站。获胜作品将被公示于IOCCC网站,并以此作为奖赏。.

目录

  1. 11 关系: ANSI CASCII艺术區域圓周率C语言程序设计程序自修改算術邏輯單元美國國家半導體自產生程式Make

  2. 1984年建立的週期性事件
  3. 幽默與諷刺獎項
  4. 计算机幽默
  5. 軟件混淆

ANSI C

ANSI C是美国国家标准协会(ANSI)对C语言发布的标准。使用C的软件开发者被鼓励遵循ANSI C文档的要求,因为它鼓励使用跨平台的代码。.

查看 国际C语言混乱代码大赛和ANSI C

ASCII艺术

ASCII艺术,又名「文字圖」、「字符畫」、「文字畫」,这种主要依靠电脑表现的艺术形式是指使用电脑字符(主要是ASCII)来表达图片,最早于1982年美国卡内基梅隆大学出现,互联网刚出现时在英语世界的社交网(Usenet、BITNET、網路論壇、FidoNet、電子布告欄系統BBS)上時常利用到的表情符號。它可以由文本编辑器生成。很多ASCII艺术要求使用定寬字体(固定宽度的字体,例如在传统打字机上使用的字体)来显示。 ASCII艺术用于当文字比图像更稳定和更快显示的场合。包括打字机、电传打字机、没有图形的终端,早期的电脑网络,电子邮件和Usenet的新闻信息中。.

查看 国际C语言混乱代码大赛和ASCII艺术

區域

區域(District)是行政區劃的一種。在一些國家,區域是由地區政府管理。每個國家的區域都有不同大小,包括地區、郡、基層政權、學區和政區等。.

查看 国际C语言混乱代码大赛和區域

圓周率

圓周率是一个数学常数,为一个圆的周长和其直径的比率,约等於3.14159。它在18世纪中期之后一般用希腊字母π指代,有时也拼写为“pi”()。 因为π是一个无理数,所以它不能用分数完全表示出来(即它的小数部分是一个无限不循环小数)。当然,它可以用像\frac般的有理数的近似值表示。π的数字序列被認為是随机分布的,有一种统计上特别的随机性,但至今未能证明。此外,π还是一个超越数——它不是任何有理数系数多项式的根。由於π的超越性质,因此不可能用尺规作图解化圆为方的问题。 几个文明古国在很早就需要计算出π的较精确的值以便于生产中的计算。公元5世纪时,南朝宋数学家祖冲之用几何方法将圆周率计算到小数点后7位数字。大约同一时间,印度的数学家也将圆周率计算到小数点后5位。历史上首个π的精确无穷级数公式(即π的莱布尼茨公式)直到约1000年后才由印度数学家发现。在20和21世纪,由于计算机技术的快速发展,借助计算机的计算使得π的精度急速提高。截至2015年,π的十进制精度已高达1013位。当前人类计算π的值的主要原因为打破记录、测试超级计算机的计算能力和高精度乘法算法,因为几乎所有的科学研究对π的精度要求都不会超过几百位。 因为π的定义中涉及圆,所以π在三角学和几何学的许多公式,特别是在圆形、椭球形或球形相關公式中广泛应用。由于用於特征值这一特殊作用,它也在一些数学和科学领域(例如数论和统计中计算数据的几何形状)中出现,也在宇宙学,热力学,力学和电磁学中有所出现。π的广泛应用使它成为科学界内外最广为人知的常数之一。人们已经出版了几本专门介绍π的书籍,圆周率日(3月14日)和π值计算突破记录也往往会成为报纸的新闻头条。此外,背诵π值的世界记录已经达到70,000位的精度。.

查看 国际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的語法。.

查看 国际C语言混乱代码大赛和C语言

程序设计

电脑程序设计(Computer programming),或稱程式設計(programming),是给出解决特定问题程序的过程,軟體開發過程中的重要步驟。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应包括分析、设计、编碼、测试、除错等不同阶段。 在计算机技术发展的早期,軟體開發主要就是程序设计。但随着技术的发展,软件系统越来越复杂,逐渐分化出许多专用的软件系统,如操作系统、数据库系统、应用服务器,而且这些专用的软件系统愈来愈成为普遍的系統環境的一部分。这种情况下軟體開發的内容越来越丰富,不再只是纯粹的程序设计,还包括数据库设计、用户界面设计、通信协议设计和复杂的系统配置过程。 专业的程序设计人员被称为程序员。某种意思上,程序设计的出现甚至早于电子计算机的出现。英国著名诗人拜伦的女儿愛達·勒芙蕾絲曾设计了巴贝奇分析机上計算伯努利數的一个程序。她甚至还建立了循环和子程序的概念。由于她在程序设计上的突破性創新,愛達·勒芙蕾絲被称为世界上第一位程序员。 任何设计工作都是在各种条件限制和相互矛盾的需求之间寻求一种平衡。這種觀點反映在程式設計上,就是硬體儲存空間與程式執行時間的限制。 空間方面,在计算机技术发展的早期,由于机器资源比较昂贵,如何縮小儲存空間往往是设计关心的首要重點;而随着硬件技术的飞速发展,電腦上資料儲存媒體的價格降低,空間不再是考慮的第一要點,一些較耗時的運算也漸漸發展出以空間換取時間的模式。 時間方面,在早期,如何加強程式效率、縮短程式執行時間是程式設計師的共同目標;而在硬體效能進步、效率差距縮小,软件规模與複雜度卻日益增加的現在,程序的结构、可维护性、重複使用性、彈性等因素更顯得重要。在多人合作的程式設計專案裡,程式設計師們會加上各種註解以協助其他參與者理解程式碼,,但卻因能達到較好的溝通並提高程式碼的可維護性,而成為目前的主流。 然而,隨著智慧型手機等攜帶裝置的興起,執行時間的縮短與儲存空間的有效運用再次成為焦點,形成與主機伺服器類型應用程式不同的重點考慮方向。.

查看 国际C语言混乱代码大赛和程序设计

程序自修改

程序自修改(Self-modifying code)是指程序在运行期间(Run time)修改自身指令。可能的用途有:病毒利用此方法逃避杀毒软件的查杀,反静态分析,反盗版 ,單晶片程序升级。.

查看 国际C语言混乱代码大赛和程序自修改

算術邏輯單元

算术逻辑单元(Arithmetic Logic Unit, ALU)是中央处理器的执行单元,是所有中央处理器的核心组成部分,由与门和或门构成的算数逻辑单元,主要功能是进行二进制的算術運算,如加減乘(不包括整數除法)。基本上,在所有现代CPU体系结构中,二进制都以二補數的形式来表示。.

查看 国际C语言混乱代码大赛和算術邏輯單元

美國國家半導體

美國國家半導體(National Semiconductor,簡稱國半)是最大的半導體製造商之一,專於類比元件及子系統,總部位於美國加州聖塔克拉拉,產品包括電力管理電路、顯示器驅動、音頻與運算放大器、通訊接口產品及數據轉換方案。美國國家半導體的主要市場包括無線耳機、顯示器及多個廣泛的電子市場,包括醫學、汽車、工業與試驗與測量應用。 美國國家半導體於1959年5月27日由數名斯派里公司(Sperry Rand Corporation)的工程師創立,多年來收購了數家公司,如在1987年收購仙童半導體公司與在1997年收購Cyrix。但隨著時間的過去美國國家半導體開始分拆該些收購得來的公司,仙童半導體在1997年再次成為獨立公司,Cyrix微處理器部門在1999年出售予威盛電子,資訊設備部門(「互聯網小器具」高度整合式處理器)在2003年出售予超微,先進個人電腦事業處(Advanced PC Division)在2005年出售予華邦電子,其他業務如數位無線晶片組亦於近期關閉,而美國國家半導體已轉型為一家高性能類比半導體公司。 2011年4月4日,德州儀器宣佈以65億美元收購美國國家半導體。2011年9月23日,德州儀器與美國國家半導體正式合併。.

查看 国际C语言混乱代码大赛和美國國家半導體

自產生程式

自產生程式(Quine),它以哲學家奎恩命名,指的是輸出結果為程式自身源碼的程式。 能夠直接讀取自己源碼、讀入使用者輸入或空白的程式一般都不視為自產生程式。.

查看 国际C语言混乱代码大赛和自產生程式

Make

在软件开发中,make是一个工具程式(Utility software),經由讀取叫做“makefile”的文件,自動化建構軟體。它是一種转化文件形式的工具,转换的目标称为“target”;与此同时,它也检查文件的依赖关系,如果需要的话,它会调用一些外部软件来完成任务。它的依赖关系检查系统非常简单,主要根据依赖文件的修改时间进行判断。大多数情况下,它被用来编译源代码,生成结果代码,然后把结果代码连接起来生成可执行文件或者库文件。它使用叫做“makefile”的文件来确定一个target文件的依赖关系,然后把生成这个target的相关命令传给shell去执行。 許多現代軟體的開發中(如Microsoft Visual Studio),集成开发环境已經取代make,但是在Unix環境中,仍然有許多工程師採用make來協助軟體開發。.

查看 国际C语言混乱代码大赛和Make

另见

1984年建立的週期性事件

幽默與諷刺獎項

计算机幽默

軟件混淆

亦称为 IOCCC。