并行程序设计导论

基本术语 (Basic Terminology)

Before we start the technicalities of our topic, let us understand some very basics.

在开始本主题的技术介绍之前,让我们了解一些非常基础的知识。

  • What is Programming?
    什么是编程?
  • Instructing the computer to do some task by telling it “What to do” and “How to do it” is programming. It is the medium by which instructions are passed to the computer.

    通过告诉计算机“做什么”“如何 做”来指示计算机执行某些任务。 它是将指令传递到计算机的媒介。

  • What is Programming Language?
    什么是编程语言?
  • Humans use language(s) to communicate with each other. Similarly, the medium used to communicate with the computer to tell “What to do and How to do it” is known as Programming Language.

    人类使用一种或多种语言相互交流。 同样,用于与计算机进行通信以告知“该做什么和怎么做”的介质也称为编程语言。

  • Why Programming Language ?
    为什么要编程语言?
  • Computers can understand only Binary Language consisting of huge combinations of “0”s and “1”s which is definitely not easy for humans to understand. Programming Language(s) are more readable for humans as they use English alphabets and words, Numbers, Symbols.
    A software tool called as “compiler”, which is basically a translator, converts the Human Readable Programming Language into Binary Language which computer can understand.

    计算机只能理解由“ 0”和“ 1”的巨大组合组成的二进制语言,这对人类来说绝对不容易理解。 编程语言对于人类更易读,因为他们使用英文字母和单词,数字,符号。
    基本上是翻译器的一种称为“编译器”的软件工具,将人类可读的编程语言转换为计算机可以理解的二进制语言

什么是C编程? (What is C Programming?)

C is one of the Programming Language(s) which revolutionized the world of Computers. Dennis Ritchie created the language at Bell Labs and it appeared in 1972. Since then, it is one of the most popular and widely used languages in millions of devices.

C是彻底改变计算机世界的一种编程语言。 丹尼斯·里奇(Dennis Ritchie)在贝尔实验室创建了该语言,并于1972年出现。从那时起,它是数百万种设备中最受欢迎和使用最广泛的语言之一。

C语言编程的特点 (Features of C Programming)

  1. Easy to Code
    易于编码
  2. Strongly Typed
    强类型
  3. Compiled Language
    编译语言
  4. High Performance and Reliable
    高性能可靠
  5. Close to Hardware Compiled Code
    接近硬件编译代码
  6. Procedure Oriented Programming (POP)
    面向过程的编程(POP)

C程序设计的应用 (Applications of C Programming)

  1. Device Drivers
    设备驱动程序
  2. Kernel of Operating Systems
    操作系统内核
  3. System Programming
    系统程式设计
  4. Embedded Computer and System Applications like “Traffic Light Controllers”
    嵌入式计算机和系统应用程序,例如“交通灯控制器”
  5. Compilers of other Language(s) such as Python, Pearl etc.
    其他语言的编译器,例如Python ,Pearl等。
  6. Heavy Computing tools such as “MATLAB” or “Mathematica”
    重型计算工具,例如“ MATLAB”“ Mathematica”

C编程的历史 (History of C Programming)

This paragraph is written like a story for the purpose of abstract and conceptual understanding. It’s okay to skip this section for now and proceed further, as this is discussing about How C came into picture and established and not any technical content required for programming in C. The following information is not sufficient for in-depth technicalities and detailed history.
出于抽象和概念性理解的目的,本段的内容就像一个故事。 现在可以跳过本节,并继续进行下去,因为这是关于C的形成和发展方式的讨论,而不是C编程所需的任何技术内容。以下信息不足以提供深入的技术知识和详细的历史记录。

In the late 1960s, when computer hardware got “Transistors” and “ICs (Integrated Circuits)” Assembly Language, FORTRAN, COBOL etc. were being used. Although these languages were serving the purpose at the time to an extent, they had limitations.

在1960年代后期,当计算机硬件获得“晶体管”和“ IC(集成电路)”时,就使用了汇编语言,FORTRAN,COBOL等。 尽管这些语言在某种程度上达到了当时的目的,但它们有局限性。

For example, Assembly Language had vast abilities but hard to code, especially when programs become larger. Other languages Such as COBOL, PASCAL were easy and User-Friendly Programming Language(s) but had limited capabilities, i.e. programmer could use only pre-defined features but may not create the desired one.

例如,汇编语言具有强大的功能,但很难编写代码,尤其是在程序变大时。 其他语言(如COBOL,PASCAL)虽然简单易用,但对用户友好,但功能有限,即程序员只能使用预定义的功能,而不能创建所需的功能。

At Bell Labs, “Dennis Ritchie” (Computer Scientist) looked at the scenario and came up with an idea to create something with vast capabilities like Assembly Language and User-Friendly.

在贝尔实验室,“ Dennis Ritchie”(计算机科学家)研究了这种情况,并提出了创建具有汇编语言和用户友好性之类功能的想法。

The idea said, “Give all possible capabilities within the language which are required frequently and the power to create if it is not present”.

这个想法说:“在语言中提供经常需要的所有可能的功能,以及如果不存在,则具有创建的能力”。

The idea devolved as “C Programming Language” and the power given to it was “Control Structure”.

这个想法演变为“ C编程语言”,赋予它的力量是“控制结构”。

Initially, C Compiler was programmed in Assembly Language. C uses simple English words, numbers and symbols as required, making it easily readable and understandable for humans.

最初,C编译器是用汇编语言编程的。 C根据需要使用简单的英语单词,数字和符号,使人类易于阅读和理解。

UNIX OS was also being developed at Bell Labs and Dennis Ritchie re-programmed the code for “C compiler”, “UNIX OS”, System and Application programs in C language itself and compiled. Thus, performance enhanced significantly as there was no explicit translation because from OS to Application programs, everything was in C. This resulted in quick and wide adaptability of C Programming Language.

贝尔实验室也在开发UNIX OS,Dennis Ritchie用C语言本身对“ C编译器”,“ UNIX OS”,系统和应用程序的代码进行了重新编程,然后进行了编译。 因此,由于没有显式转换,因此性能得到了显着提高,因为从OS到应用程序,所有内容都在C中。这导致C编程语言具有快速而广泛的适应性。

摘要 (Summary)

As a result, the wide applications and features of C make it a very essential and irreplaceable language for computers. For any individual entering in Programming and Development, it is highly recommended to start with C Programming because no other language can show the depths and understanding of programming as clearly as C.

结果,C的广泛应用和功能使其成为计算机中非常重要且不可替代的语言。 对于进入程序设计和开发的任何个人,强烈建议从C编程开始,因为没有其他语言能够像C一样清楚地显示出对编程的深度和理解。

References: Wikipedia Article

参考: 维基百科文章

翻译自: https://www.journaldev.com/25129/introduction-to-c-programming

并行程序设计导论

并行程序设计导论_C程序设计导论相关推荐

  1. P1P2P3口接24个灯流水的c语言代码,第三章单片机并行口c语言程序设计.ppt

    第三章单片机并行口c语言程序设计 3.1 80C51的并行口结构与应用 3.1.1 P0口.P2口的结构 1.P0口作通用的I/O口使用. 这时,CPU发来的"控制"信号为低电平, ...

  2. c#面向对象与程序设计第三版第三章例题代码_C#程序设计教程 | 教与学(教学大纲)...

    <C#程序设计教程>课程教学大纲 执笔人:xxx,xxx,xxx 编写日期:年 月 一.课程基本信息 1.课程名称:C#程序设计教程 2.课程编号: 3.课程体系/类别: 4.课程性质: ...

  3. c++语言程序设计案...,C++程序设计案.ppt

    C程序设计案 高级语言程序设计2-1 课程简介:学习一门必须熟练掌握的.用来与计算机进行"沟通".指挥计算机为我们做事情的程序设计语言,是其他多门必修课程的前导课程.该学期主要学习 ...

  4. c c 语言程序设计同步,第一部分C语言程序设计C语言程序设计同步练习答案.PDF...

    第一部分C语言程序设计 C语言程序设计同步练习答案 第1章 绪论 一.单选题 1-5 DBCAC 二.判断题 1. 错 2. 错 第2章 C语言基本数据类型.运算符和表达式 一.单选题 1-5 ADA ...

  5. c语言函数的程序设计,C语言程序设计第3版,第6章函数程序设计.ppt

    C语言程序设计第3版,第6章函数程序设计 C语言程序设计 第6章 函数程序设计 第6章 数组程序设计 6.1 函数概述 6.2 自定义函数示例 6.3 函数定义及调用 6.4 函数嵌套和递归函数 6. ...

  6. vfp程序转换为c语言程序软件,c语言程序设计及vfp程序设计试题.doc

    c语言程序设计及vfp程序设计试题 高级语言(C)程序设计部分(满分100分) 一.单项选择题(每小题1分,共20分) 1.在C语言中,不正确的int类型的常数是( ) A.32768 B.0 C.0 ...

  7. 【程序设计】模块化程序设计

    从事程序设计工作来解决一个特定问题,一个好的开始就是确定程序要完成的主要任务. 在程序设计中,每个任务都成为一个程序模块. 我们可以将基本的复杂任务(父模块)分解为较为简单的子任务(子模块),简化的子 ...

  8. c语言如何实现一只蜗牛爬的循环,[工程科技]第五章 循环结构程序设计c语言程序设计.ppt...

    [工程科技]第五章 循环结构程序设计c语言程序设计 第5章 循环结构程序设计 while语句 while语句 do while语句 do while语句 do while语句 do while语句 d ...

  9. 湖南c语言程序设计,C语言程序设计

    <C语言程序设计>是面向大学一年级所有专业学生开设的通识类思维教育课程,作为实现创新思维和创新能力培养的核心课程之一,在大学生的知识体系中占有重要地位. 对于信息类相关专业的学生而言,程序 ...

最新文章

  1. LTE QCI分类 QoS
  2. linux 故障注入_阿里巴巴开源故障注入工具_chaosblade
  3. 旷视张祥雨:高效轻量级深度模型的研究和实践 | AI ProCon 2019
  4. OpenGL纹理矩阵,alpha混合和丢弃
  5. no result type defined for type 'dispatch'mapped
  6. sql多表查询之一:Where 和 On的秘密
  7. STM32 网络通信Web Server中 SSI与CGI的应用解析
  8. PyTorch学习笔记:PyTorch初体验
  9. 计算机个人培训终结,计算机一级培训个人工作总结
  10. web mis系统构建
  11. xp系统运行asp.net时候出现“服务器应用程序不可用”,vs2005无法启动调试
  12. java csv下载_javacsv.jar
  13. ARP报文的存入条件和回复条件
  14. 2022-2028年中国现代服务行业企业投资项目指引及机会战略分析报告
  15. 黑大项目群第二次作业,飞行棋(龟兔赛跑)java
  16. 微信小程序之获取当前位置附近的美食、酒店、娱乐、超市等,并显示标记
  17. QT Creator4.3制作图标
  18. 游戏开发、安卓、IOS知识概括
  19. 双基因突变患者_一例 Kallmann 综合征患者双基因突变分析
  20. HTML5期末大作业:关于我的家乡主题设计——四川成都(4页) HTML+CSS+JavaScript

热门文章

  1. 080 HBase的属性
  2. (转)python3 安装 BeautifulSoup 提示 Unit tests have failed!
  3. 关于DIV+CSS和XHTML+CSS的理解
  4. extjs简单分页grid的总结
  5. Java程序练习-长整数加法运算
  6. UIImageView contentModel
  7. PyYAML和configparser模块讲解
  8. [转载] su和sudo
  9. UFLDL 教程学习笔记(二)反向传导算法
  10. 【SLAM笔记】如何使用Eigen进行矩阵运算