c语言与cnbsp;++ 一个点C的文件用什么打开?C语言

作者&投稿:冀盾 (若有异议请与网页底部的电邮联系)
C语言的原型ALGOLnbsp;60语言。(也称为A语言) 1963年,剑桥大学将ALGOLnbsp;60语言发展成为CPL(Combinednbsp;Programmingnbsp;Language)语言。 1967年,剑桥大学的Matinnbsp;Richardsnbsp;对CPL语言进行了简化,于是产生了BCPL语言。 1970年,美国贝尔实验室的Kennbsp;Thompson将BCPL进行了修改,并为它起了一个有趣的名字“B语言”。意思是将CPL语言煮干,提炼出它的精华。并且他用B语言写了第一个UNIX操作系统。 而在1973年,B语言也给人“煮”了一下,美国贝尔实验室的D.M.RITCHIE在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。 为了使UNIX操作系统推广,1977年Dennisnbsp;M.Ritchienbsp;发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。即是著名的ANSInbsp;C。 1978年由美国电话电报公司(ATamp;amp;T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合著了著名的“THEnbsp;Cnbsp;PROGRAMMINGnbsp;LANGUAGE”一书。通常简称为《Kamp;amp;R》,也有人称之为《Kamp;amp;R》标准。但是,在《Kamp;amp;R》中并没有定义一个完整的标准Cnbsp;语言,后来由美国国家标准协会(Americannbsp;Nationalnbsp;Standardsnbsp;Institute)在此基础上制定了一个Cnbsp;语言标准,于一九八三年发表。通常称之为ANSInbsp;C。 1988年,随着微型计算机的日益普及,nbsp;C语言出现了许多版本。由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准,nbsp;成为现行的C语言标准3.C语言的主要特点nbsp;。C语言发展迅速,nbsp;而且成为最受欢迎的语言之一,nbsp;主要因为它具有强大的功能。许多著名的系统软件,nbsp;如DBASEnbsp;Ⅲnbsp;PLUS、DBASEnbsp;Ⅳnbsp;都是由Cnbsp;语言编写的。用C语言加上一些汇编语言子程序,nbsp;就更能显示C语言的优势了,象PC-nbsp;DOSnbsp;、WORDSTAR等就是用这种方法编写的。C++,C语言这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“Cnbsp;plusnbsp;plus”,它是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。nbsp; 美国ATamp;amp;T贝尔实验室的本贾尼·斯特劳斯特卢普(Bjarnenbsp;Stroustrup)博士在20世纪80年代初期发明并实现了C++(最初这种语言被称作“Cnbsp;withnbsp;Classes”)。一开始C++是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。虚函数(virtualnbsp;function)、运算符重载(operatornbsp;overloading)、多重继承(multiplenbsp;inheritance)、模板(template)、异常(exception)、RTTI、名字空间(namenbsp;space)逐渐被加入标准。1998年国际标准组织(ISO)颁布了C++程序设计语言的国际标准ISO/IECnbsp;14882-1998。C++是具有国际标准的编程语言,通常称作ANSI/ISOnbsp;C++。1998年是C++标准委员会成立的第一年,以后每5年视实际需要更新一次标准,下一次标准更新将是在2009年,目前我们一般称该标准C++0x。遗憾的是,由于C++语言过于复杂,以及他经历了长年的演变,直到现在(2004年)只有少数几个编译器完全符合这个标准(这么说也是不完全正确的,事实上,至今为止没有任何一款编译器完全支持ISOnbsp;C++)。nbsp; 另外,就目前学习C++而言,可以认为他是一门独立的语言;他并不依赖C语言,我们可以完全不学C语言,而直接学习C++。根据《C++编程思想》(Thinkingnbsp;innbsp;C++)一书所评述的,C++与C的效率往往相差在正负5%之间。所以有人认为在大多数场合C++nbsp;完全可以取代C语言(然而我们在单片机等需要谨慎利用空间、直接操作硬件

c语言 *p++与(*p)++、*(p++)三者异同?~

区别:
1、*p++与*(p++)是等价的,表示取p所指单元的值,p指向下一单元,即p自加1。
2、*p++是指下一个地址。
3、(*p)++是指将*p所指的数据的值加一。
C编译器认为*和++是同优先级操作符,且都是从右至左结合的,所以*p++中的++只作用在p上,和*(p++)意思一样;在(*p)++中,由于()的优先级比*和++都高,所以++作用在()内的表达式*p上。
比如有:
int x,y,a[]={1,2,3,4,5},*p=a,*q=a;
x=*p++;//执行这一句后x=a[0]=1,p=a+1
y=(*q)++;//执行这一句后,y=a[0]+1=2,q仍然=a
扩展资料:验证程序1
#include"stdio.h"
void main()
{
int a=2;
int*p=&a;
int*pold;//记录P指向的地址,为了作为比较使用
pold=p;
//-----------原来的信息
printf("原来的a=%d",a);
printf("原来的p=%x",p);
printf("原来的pold=%x",pold);
//----------进行变化
printf("*p++的结果=%d,a的结果a=%d",*p++,a);
printf("地址变化的结果p-pold=%x",p-pold);
}
程序2
#include"stdio.h"
void main()
{
int a=2;
int*p=&a;
int*pold;//记录P指向的地址,为了作为比较使用
pold=p;
//-----------原来的信息
printf("原来的a=%d",a);
printf("原来的p=%x",p);
printf("原来的pold=%x",pold);
//----------进行变化
printf("(*p)++的结果=%d,a的结果a=%d",(*p)++,a);
printf("a的结果a=%d",a);
printf("地址变化的结果p-pold=%x",p-pold);
}
运行结果

程序3
#include"stdio.h"
void main()
{
int a=2;
int*p=&a;
int*pold;//记录P指向的地址,为了作为比较使用
pold=p;
//-----------原来的信息
printf("原来的a=%d",a);
printf("原来的p=%x",p);
printf("原来的pold=%x",pold);
//----------进行变化
printf("a=%d,(*p)++的结果=%d,a的结果a=%d",a,(*p)++,a);
printf("a的结果a=%d",a);
printf("地址变化的结果p-pold=%x",p-pold);
}
程序4
#include"stdio.h"
void main()
{
int a=2;
int*p=&a;
int*pold;//记录P指向的地址,为了作为比较使用
pold=p;
//-----------原来的信息
printf("原来的a=%d",a);
printf("原来的p=%x",p);
printf("原来的pold=%x",pold);
//----------进行变化
printf("*(p++)的结果=%d,a的结果a=%d",*(p++),a);
printf("a的结果a=%d",a);
printf("地址变化的结果p-pold=%x",p-pold);
}
程序5
#include"stdio.h"
void main()
{
int a=2,*p=&a,*q=&a;
printf("%d%d",(*p),a);
printf("%d%d%d",*p++,(*p)++,*q++);
printf("%d",a);
}
程序6
#include"stdio.h"
void main()
{
int a=2,*p=&a,*q=&a;
printf("%d%d",(*p),a);
printf("%d%d%d",(*p)++,*p++,*q++);
printf("%d",a);
}
程序7:
#include"stdio.h"
void main()
{
int a=2,*p=&a,*q=&a;
printf("%d%d",(*p),a);
printf("%d%d%d%d",(*p)++,*p++,*q++,a);
printf("%d",a);
}
程序8:
#include"stdio.h"
void main()
{
int a=2,*p=&a,*q=&a;
printf("%d%d",(*p),a);
printf("%d%d%d",*p++,(*p)++,*q++);
p=&a;q=&a;
printf("%d%d%d%d",a,*p,(*q)++,a);
printf("%d%d%d%d",a,++(*p),++(*q),a);
printf("%d",a);
}
综上所述:
*p++是先取出*p的值,然后让p++
(*p)++是先取出*p的值,让这个值++
*(P++)是先取出*p的值,让p++
所以,*p++等价于*(P++)
而且printf的运行顺序是从右向左运行。而且右++是在整个运算表达式运算完才进行,而且右++的执行顺序是从左到右进行。而左++遇到变量就会立即增加变量的值。
验证printf的运算顺序
#include"stdio.h"
void main()
{
int a=2;
printf("a++=%d,++a=%d,a++=%d",a++,++a,a++);
printf("a=%d",a);
}

用记事本可以打开.cnbsp;nbsp;nbsp;也可以用VC打开 查看更多答案>>

关于c语言auto变量和static变量区别
答:自动变量(auto变量)和静态变量(static变量)主要有以下几点区别:1、static变量存放在静态存储区,在程序整个运行期间都不释放;而auto变量存放在动态存储区,随着生命周期的结束而立即释放。2、static变量只赋值一次,以后就不用赋值;而auto变量在函数每调用一次都要赋初值。3、如果用户不对static变量赋初值...

C语言\t 用法
答:\t \r \n都是转义字符。空格就是单纯的空格。输入时可以输入空格 \t 的意思是 横向跳到下一制表符位置 \r 的意思是 回车 \n 的意思是回车换行。

C语言 选择题
答:C语言还支持另一种预定义数据类型的常量,这就是串。所有串常量括在双 撇号 之间,例如"This is a test"。切记,不要把 字符 和串相混淆,单个 字符常量 是由单撇号括起来的,如'a '。A 'as'应该改成 "as"-0fff应该是-0xfff '\0xa'错的离谱,怎么改都行 B '\\'是合法的。C -0x...

c语言输入一段英文,单词之间有很多空格或者是换行,要求去掉不该出现的...
答:很久没碰C语言,可能有些思路不对,但我尽量按照C语言的方式给出思路:C应该是数组的形式存储字符串,那么你可以给一个flag,我给出大概的Python代码的实现逻辑:迁移到C语言的逻辑实现也一样。大概就是这个思路。如果你的目的是存到另一个数组,那么可以先计算出目标数组的长度,记得C语言要求在定义时...

c 语言中,为什么float型 对应的小数部分是6位?为什么
答:故不能对精度造成影响。float:2^23 = 8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字;double:2^52 = 4503599627370496,一共16位,同理,double的精度为15~16位。http://www.cnblogs.com/c-primer/p/5992696.html ...

C语言的问题
答:3.int a,b; a=1+b=2+7%-4-‘A’. a,b的值为多少?这个复合赋值符你可能写错了 (过程说一下,谢谢)判断:4.C语言提供了一个输入语句scanf和一个输出语句printf。这两个是函数不是语句 5.字符常量存储时,自动在字符后加一个字符结束符号‘\0’只有字符串才加'\0', 而字符常量只有一...

c语言中-0和+0在内存中 怎么储存
答:+0、-0,在计算机中,都是不存在的。在计算机中,数值一律用补码表示和存储。0 在补码中,只有一个编码 0000 0000。--- 只有在原码和反码中,才是有两个零(+0、-0)的编码。但是,在计算机中,原码和反码,都不存在。所以,+0、-0,在计算机中,都是不存在的。那么,琢磨它们,解释...

C语言题求帮助0 0
答:异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0异或0=0,1异或0=1,0异或1=1,1异或1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位。a^b^b= a ^ (b ^ b) = (a ^ b) ^b; 这是异或的运算法则。a ...

c语言中简要叙述break语句和contin ue语句的区别
答:当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句,通常break语句总是与if语句联在一起,即满足条件时便跳出循环。例:include <stdio.h> int main(void){ int i=0;char c;while(1){ /*设置循环*/ c='\0';/*变量赋初值*/ while(c!=13&&c!=27){...

C语言 公式为什么写成5.0/9而不是5/9
答:因为在C/C++中5.0/9==0.5555555555...,而5/9==0。这是因为/在两边都是整数时是“取整除”而有一边或两边是浮点数时则被自动提升为“浮点除”的缘故。