c语言原始
① c语言产生的历史背景是怎样的
C语言出现的历史背景
C语言是国际上广泛流行的计算机高级语言,既可用来写系统软件,也可用来写应用软件。 C语言是在B语言的基础上发展起来的,它的根源可以追溯到ALGOL 60。1960年出现的ALGOL 60是一种面向问题的高级语言,它离硬件比较远,不宜用来编写系统程序。1963年英国的剑桥大学推出了CPL (combined programming language)语言。CPL语言在ALGOL 60的基础上接近硬件一些,但规模比较大,难以实现。1967年英国剑桥大学的Matin Richards对CPL语言做了简化,推出了BCPL (basic combined programming language) 语言。1970年美国贝尔实验室的Ken Thompson 以BCPL语言为基础, 又做了进一步简化, 设计出了很简单的而且很接近硬件的B语言 (取BCPL的第一个字母), 并用B语言写了第一个UNIX操作系统,在PDP7上实现。1971年在PDP11/20上实现了B语言,并写了UNIX操作系统。但B语言过于简单,功能有限。 1972年至1973年间,贝尔实验室的D.M.Ritchie 在B语言的基础上设计出了C语言(取BCPL的第二个字母)。C语言既保持了BCPL和B语言的优点(精练,接近硬件),又克服了它们的缺点(过于简单,数据无类型等)。最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的。1973年,K.Thompson和D.M.Ritchie两人合作把UNIX的90%以上用C改写,即UNIX第5版。原来的UNIX 操作系统是1969年由美国的贝尔实验室的K.Thompson和D.M.Ritchie开发成功的,是用汇编语言写的。 1972年至1973年间,贝尔实验室的D.M.Ritchie 在B语言的基础上设计出了C语言(取BCPL的第二个字母)。C语言既保持了BCPL和B语言的优点(精练,接近硬件),又克服了它们的缺点(过于简单,数据无类型等)。最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的。1973年,K.Thompson和D.M.Ritchie两人合作把UNIX的90%以上用C改写,即UNIX第5版。原来的UNIX 操作系统是1969年由美国的贝尔实验室的K.Thompson和D.M.Ritchie开发成功的,是用汇编语言写的。
后来,C语言多次做了改进,但主要还是在贝尔实验室内部使用。直到1975年UNIX第6版公布后,C语言的突出优点才引起人们的普遍注意。1977年出现了不依赖于具体机器的C语言编译文本《可移植C语言编译程序》,使C移植到其他机器时所需做的工作大大简化了,这也推动了UNIX操作系统迅速地在各种机器上实现。例如VAX、 AT&T等计算机系统都相继开发了UNIX。随着UNIX的日益广泛使用,C语言也迅速得到推广。C语言和UNIX可以说是一对孪生兄弟,在发展过程中相辅相成。1978年以后,C语言已先后移植到大、中、小、微型机上,已独立于UNIX和PDP了。现在C语言已风靡全世界,成为世界上应用最广泛的几种计算机语言之一。以1978年发表的UNIX第7版中的C编译程序为基础,Brian W.Kernighan和Dennis M.Ritchie (合称K&R)合着了影响深远的名着《The C Programming Language》,这本书中介绍的C语言成为后来广泛使用的C语言版本的基础,它被称为标准C。1983年,美国国家标准化协会(ANSI)根据C语言问世以来各种版本对C的发展和扩充,制定了新的标准,称为ANSI C。 ANSI C比原来的标准C有了很大的发展。K & R在1988年修改了他们的经典着作《The C Programming Language》,按照 ANSI C 标准重新写了该书。1987年,ANSI又公布了新标准——87 ANSIC。
1990年,国际标准化组织ISO(International Standard Organization) 接受87 ANSI C为ISO C 的标准(ISO 9899—1990)。目前流行的C编译系统都是以它为基础的。本书的叙述基本上以ANSI C 为基础。目前广泛流行的各种版本C语言编译系统虽然基本部分是相同的,但也有一些不同。在微型机上使用的有Microsoft C、 Turbo C、 Quick C、BORLAND C等,它们的不同版本又略有差异。因此,读者应了解所用的计算机系统所配置的C编译系统的特点和规定
② C语言以前叫什么,是谁弄出来的
C语言的原型ALGOL 60语言。(也称为A语言) 1963年,剑桥大学将ALGOL 60语言发展成为CPL(Combined Programming Language)语言。 1967年,剑桥大学的Matin Richards 对CPL语言进行了简化,于是产生了BCPL语言。 1970年,美国贝尔实验室的Ken Thompson将BCPL进行了修改,并为它起了一个有趣的名字“B语言”。意思是将CPL语言煮干,提炼出它的精华。并且他用B语言写了第一个UNIX操作系统。 而在1973年,B语言也给人“煮”了一下,美国贝尔实验室的D.M.RITCHIE在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。 为了使UNIX操作系统推广,1977年Dennis M.Ritchie 发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。即是着名的ANSI C。 1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合着了着名的“THE C PROGRAMMING LANGUAGE”一书。通常简称为《K&R》,也有人称之为《K&R》标准。但是,在《K&R》中并没有定义一个完整的标准C 语言,后来由美国国家标准协会(American National Standards Institute)在此基础上制定了一个C 语言标准,于一九八三年发表。通常称之为ANSI C。 1987年,随着微型计算机的日益普及,出现了许多C语言版本。由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准, 成为现行的C语言标准 3.C语言的主要特点 。C语言发展迅速, 而且成为最受欢迎的语言之一,主要因为它具有强大的功能。许多着名的系统软件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C语言编写的。用C语言加上一些汇编语言子程序, 就更能显示C语言的优势了,象PC- DOS 、WORDSTAR等就是用这种方法编写的。 1990年,国际化标准组织ISO(Intrernational StandardOrganization)接受了87 ANSI C为ISO C的标准(ISO9899-1990)。1994年,ISO修订了C语言的标准。目前流行的C语言编译系统大多是以ANSI C为基础进行开发的,但不同版本的C编译系统所实现的语言功能和语法规则有略有差别。
③ C语言源程序到运行程序经过哪几个步骤
1、预处理
在这一阶段,源码中的所有预处理语句得到处理,例如:#include语句所包含的文件内容替换掉语句本身,所有已定义的宏被展开。
根据#ifdef,#if等语句的条件是否成立取舍相应的部分,预处理之后源码中不再包含任何预处理语句。
GCC预处理阶段可以生成.i的文件,通过选项-E可以使编译器在预处理结束时就停止编译。例如:gcc -E -o hello.i hello.c
2、编译
这一阶段,编译器对源码进行词法分析、语法分析、优化等操作,最后生成汇编代码。这是整个过程中最重要的一步,因此也常把整个过程称为编译。
可以通过选项-S使GCC在进行完编译后停止,生成.s的汇编程序。例如:gcc -S -o hello.s hello.c
3、汇编
这一阶段使用汇编器对汇编代码进行处理,生成机器语言代码,保存在后缀为.o的目标文件中。
当程序由多个代码文件构成时,每个文件都要先完成汇编工作,生成.o目标文件后,才能进入下一步的链接工作。
目标文件已经是最终程序的某一部分了,只是在链接之前还不能执行。可以通过-c选项生成目标文件:gcc -c -o hello.o hello.c

4、链接
经过汇编以后的机器代码还不能直接运行。为了使操作系统能够正确加载可执行文件,文件中必须包含固定格式的信息头,还必须与系统提供的启动代码链接起来才能正常运行,这些工作都是由链接器来完成的。gcc -o hello hello.c
5、运行:执行.EXE文件,得到运行结果。
④ C语言中的原始数据是甚么在哪里找
原始数据就是“你感兴趣的问题”的数据,比如好友信息管理的话,估计就是张表这样的
⑤ c语言程序中,数值型一维数组获取原始数据的方式有哪几种
c语言程序中,数值型一维数组获取原始数据的方式有以下几种:
1)定义数组时全体初始化:
int a[5]={1,2,3,4,5};
2)定义数组时部分初始化:
int a[5]={1,2};
相当于:
int a[5]={1,2,0,0,0};
3)定义数组后,从键盘输入:
int i,a[5];
for(i=0;i<5;i++)
scanf("%d",&a[i]);
4)定义数组后,从文件输入:
FILE *fp;
fp=fopen("in.txt","r");
int i,a[5];
for(i=0;i<5;i++)
fscanf(fp,"%d",&a[i]);
5)定义数组后,使用随机函数赋值:
int i,a[5];
for(i=0;i<5;i++)
a[i]=rand()%100;
6)定义数组后,从别的数组复制(或别的计算方法获得):
int i,a[5];
for(i=0;i<5;i++)
a[i]=b[i]; //b[]数组已经定义,并已赋值
⑥ C语言的源代码是什么意思啊
C语言源代码,就是依据C语言规则所写出的程序代码,常见的存储文件扩展名为.c文件和.h文件,分别对应C源文件(source file)和C头文件(header file)。
C语言是一门编程语言,简单点说,就是由人类书写按照一定规范书写的字符,通过一定手段(编译链接)转换后,可以让电脑或者其它电子芯片"读懂",并按照其要求工作的语言。
在所有的编程语言中,C语言是相对古老而原始的,同时也是在同类语言中更接近硬件,最为高效的编程语言。

(6)c语言原始扩展阅读:
C语言广泛应用于底层开发。它的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
它能提供了许多低级处理的功能,可以保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
⑦ C语言的源代码是什么意思啊
源代码(source
code)是指未编译的按照一定的程序设计语言规范书写的文本文件。
源代码(也称源程序),是指一系列人类可读的计算机语言指令。
在程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。C语言源代码即用C语言编写的一类可读的计算机语言指令。
⑧ 计算机C语言是什么
C语言就是计算机识别的语言。最原始的就是用0和1编写的计算机语言,叫做机器语言,编写特别繁琐,后来有了汇编语言,采用一些助记符表示机器语言中的机器指令,也是比较麻烦的,但是一些核心程序仍然用的是汇编语言编写的,再后来有了算法语言,是一种面向过程的程序设计语言,比如C语言等,再后来是面向任务的程序设计语言,如数据库操作语言,再后来是面向对象的程序设计语言,如又C语言发展而来的C++。前两种属于低级语言,后几种都属于高级语言。每种语言都有它各自的优势。C语言的应用还是比较广泛的,学习单片机是必须要学会C语言的。
⑨ C语言中如何把变量原始值改掉
把变量原始值改掉代码如下:
voidmain(){
inti=1;
printf("valueofichangebefore%d
",i);//int类型的指针*p指针指向int变量i的内存地址。
int*p=&i;
//修改int指针指向的内存地址的值。
*p=2;
printf("valueofichangeafter%d
",i);
}
变量来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的;但在纯函数式语言(如Haskell)中,变量可能是不可变的。在一些语言中,变量可能被明确为是能表示可变状态、具有存储空间的抽象(如在Java和VisualBasic中);但另外一些语言可能使用其它概念(如C的对象)来指称这种抽象,而不严格地定义“变量”的准确外延。
基本类型(基本数值、基本数据类型)是一种既非对象也无方法的数据。在JavaScript中,共有7种基本类型:string,number,bigint,boolean,null,undefined,symbol(ECMAScript2016新增)。多数情况下,基本类型直接代表了最底层的语言实现。所有基本类型的值都是不可改变的。但需要注意的是,基本类型本身和一个赋值为基本类型的变量的区别。变量会被赋予一个新值,而原值不能像数组、对象以及函数那样被改变。
⑩ C语言程序(原始串即是当前串种所有的字母用字母表中的后一个字母替换后的结果)
//对一行电文进行加密,每个字母转换为字母表中循环右移的第三个字母
//大写字母C加密后的ASCII码值为(c-62)%26+65
//小写字母C加密后的ASCII码值为(c-94)%26+97
#include<stdio.h>
void main()
{
//定义数组a和b,以及控制变量i
char a[3];
char b[3];
int i;
//提示输入三个字母
printf("请输入三个字母不要用空格隔开\n");
//用for循环控制接受字母
for(i=0;i<3;i++)
scanf("%c",&a[i]);
//在下一循环前加入该句
printf("经加密后为:");
//用for循环计算加密后的字母的ASCII值
for(i=0;i<=2;i++)
{
if(a[i]>=97)
b[i]=(a[i]-94)%26+97;
if(a[i]>=65&&a[i]<97)
b[i]=(a[i]-62)%26+65;
//输出结果
printf("%c",b[i]);
}
printf("\n");
}
