C和C++中<<是什么意思,有什么区别? C++里面”>>“和”<<“各是什么意思?

作者&投稿:素杭 (若有异议请与网页底部的电邮联系)

<<和>>在c中是用来做位运算的,在C++中被重载了,即可以做位运算也可以做输入输出流。

区别如下:

1、应用场合不同:

C语言是结构化和模块化的语言,是面向过程的。当程序的规模较小时,C语言运用起来得心应手。但是当问题比较复杂、程序的规模比较大的时候,C语言就会展现出它的局限性;

正是因为有大规模的程序需要去处理,C++就应运而生了。C++是由C发展而来的,与C语言兼容。C++既可用于面向过程的结构化程序设计,也可用于面向对象的程序设计,是一种功能强大的混合型的程序设计语言。

2、输入/输出函数不同:

C语言:inta=1;doubled=3.1415926;printf("%d\n",a);

printf("a=%d
",a);printf("b=%6.3f, b=%6.2f, b=%.3f
",b,b,b);scanf("%d",&a);//取地址,输入a的值,%d和%f称为格式说明符,表示以此格式输出对应表达式的值,
表示换行。

%6.3f中的6表示占六列,表示输出对应浮点表达式值时只输出三位小数。

C++:int a=5;float b;cout << "a="<cin >>b;

cout必须要和”<<“一起使用,cin必须要和”>>“一起使用。

得C++中的输入输出流是很强大的,不像C里面还要指定格式,endl表示换行。

3、字符串不同:

C语言,chara[20]="hangzhou";char*p="hangzhou";C++:strings1="abcd";strings2="helloworld";strings3=s1+s2;s1=s2;

c++比c更方便许多。

C语言中所有的头文件都带后缀 .h(比如stdio.h)C++中有系统提供的头文件不带后缀 .h,用户自己编制的头文件可以有后缀 .h。

structStudent//声明了一个名为Student的结构体类型:

{intnum;charname[20];charsex;};

Studentstud1,stud2;//定义了两个结构体变量,默认情况下为public类型。

C++中的类将数据和操作封装在一起,并且指定了访问权限。如果不指定public,也不指定private,则系统就默认为私有的,这一点和C语言中的结构体是不一样的。

其实总的来说,C语言和c++,他们除了表现在使用场合不同,还有更多的是语法的不同,C语言更加注重过程,c++比C语言更高一级。

扩展资料:

从语言特性角度上来看,C++是C的超集。

在(C++)-C的这部分语言特性中有很多会降低执行效率。一个例子是dynamic_cast,执行一个dynamic_cast要消耗100-300个CPUcycles,因为机器要跳到一段特别的snippet(一小段程序)去检查typeinheritance。

除了语言特性,通常比较语言也会比较它们的标准数据库。

例如C++中std::sort函数肯定比C语言中的qsort快(因为templatefunction的优点),但是C++中的iostream系列又比C的printf系列慢几乎3倍。

但是由于C++标准库功能比C语言大得多,许多时候可以用较少的开发时间就在C++中实现相同的算法。

另外,不同编译器对语言的执行效率影响也很大。

参考资料:百度百科-C语言



"<<和>>在c中是用来做位运算的,在C++中被重载了,即可以做位运算也可以做输入输出流的... "正解

<<是左移位运算符,每移一位相当于*2,当然比乘法快的,在C中总是要选择最快的。

>?= 没有看出来,我想这段代码不是标准c++的,如果真是这样的话a>?=b的意思就应该是a=a>b?a:b的一种简略形式,使用这种表达应该能够得到优化的,会更快一点的。

当然没有超出范围了,在32位机里int是32位的,29位是不会超出范围的,这样做就是因为习惯了这种写法了吧,因为在变量的时候<<比乘法要快的,所以习惯了,常量也这样写了

  1. C中:

    <<可作为左移算符 (向左移一位,右边自动补0)

    10001011 << 1=

    00010110 = 22

    相当于二进制的每个数都变成当前值的两倍,结果就是变成当前值的两倍,速度比乘法快。

    n * 2 == (n << 1)

  2. C++中:

  • <<单用可作为左移算符

  • cout << 可作为输出使用,相当于prinf



<<和>>在c中是用来做位运算的,在C++中被重载了,即可以做位运算也可以做输入输出流的...

即可以做位运算也可以做输入输出流,
本例中1用32位的2进制表示为00...31个0...1,<<表示所有的数字向左移29位,溢出的抛去,补入的用0补全,即001000...29个0...,化为十进制也就是2^29。

C语言和C++有什么区别?~

一、主体不同
1、C语言:是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。
2、C++:是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计。
二、优势不同
1、C语言:能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
2、C++:不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。


三、特点不同
1、C语言:提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
2、C++:在C++中,类是支持数据封装的工具,对象则是数据封装的实现。C++通过建立用户定义类支持数据封装和数据隐藏。

参考资料来源:百度百科-c语言
参考资料来源:百度百科-C++

>在c中是用来做位运算的,在C++中被重载了,即可以做位运算也可以做输入输出zhi流。
区别如下:
1、应用场合不同:
C语言是结构化和模块化的语言,是面向过程的。当程序的规模较小时,C语言运用起来得心应手。但是当问题比较复杂、程序的规模比较大的时候,C语言就会展现出它的局限性;
正是因为有大规模的程序需要去处理,C++就应运而生了。C++是由C发展而来的,与C语言兼容。C++既可用于面向过程的结构化程序设计,也可用于面向对象的程序设计,是一种功能强大的混合型的程序设计语言。
2、输入/输出函数不同:
C语言:inta=1;doubled=3.1415926;printf("%d\n",a);printf("a=%d
",a);printf("b=%6.3f, b=%6.2f, b=%.3f
",b,b,b);scanf("%d",&a);//取地址,输入a的值,%d和%f称为格式说明符,表示以此格式输出对应表达式的值,
表示换行。%6.3f中的6表示占六列,表示输出对应浮点表达式值时只输出三位小数。
C++:int a=5;float b;cout >b;cout必须要和”>“一起使用。得C++中的输入输出流是很强大的,不像C里面还要指定格式,endl表示换行。


扩展资料:
C语言之所以命名为C,是因为C语言源自Ken Thompson发明的B语言,而B语言则源自BCPL语言。
1967年,剑桥大学的Martin Richards对CPL语言进行了简化,于是产生了BCPL(Basic Combined Programming Language)语言。
20世纪60年代,美国AT&T公司贝尔实验室(AT&T Bell Laboratory)的研究员Ken Thompson闲来无事,手痒难耐,想玩一个他自己编的,模拟在太阳系航行的电子游戏——Space Travel。他背着老板,找到了台空闲的机器——PDP-7。但这台机器没有操作系统,而游戏必须使用操作系统的一些功能,于是他着手为PDP-7开发操作系统。后来,这个操作系统被命名为——UNIX。
参考资料来源:百度百科-c语言

在C语言中如何让把.h文件和.c文件关联在一起
答:从代码上,只要在C中include对应.h文件就可以了。从编译上,可以在makefile中写依赖。这样修改.h后会自动编译.c 也可以make depend .

C语言中字符型数据与浮点型数据能相加吗?
答:可以相加。在C中,字符型,也就是char类型,实际上是整型(integer)中长度最小的类型,在内存中只占8位(bit),也就是一个字节(byte),故也称int8(类似于int32, int64)而浮点型则遵循IEEE 754标准,数据储存与整型不同。其中float是单精度浮点型。虽然以上两者内存表示方法不同,但浮点型与...

a b c试管中加入唾液和淀粉,
答:(1)“A、B、C三支试管中分别加入淀粉糊2毫升,再向A中加入2毫升清水,向B和C中各加入2毫升唾液,再向C中滴入稀碘液”,淀粉遇碘变蓝色,因此C试管中出现的现象是变蓝.(2)“将三支试管震荡后,放入盛有37℃温水的烧杯中预热十分钟”,C试管中唾液淀粉酶将淀粉糊中的淀粉全部分解成麦芽糖...

C语言中/与%的区别
答:作为运算符是用来取余的,/是除法运算。例如:除法运算式 65 ÷8 = 8余1 那么 65 / 8 = 8 65 %8 = 1

C语言中const的那些细节与妙招
答:C语言中const的那些细与妙招01、const在C和C++中 假如把const修饰的名称视为常量,那么其作为数组大小设置应该能够通过编译才对,而在DV下编译得到如下结果:Message[Error]variably modified 'array'at file scoperecipe for target 'main.o'failed。02、const修饰全局与局部 既然const是一个只读变量,是...

C语言中的源程序文件和目标文件的扩展名分别是
答:C语言源代码文件一般扩展名为.c,目标文件扩展名一般为.obj,生成的可执行文件扩展名一般为.exe。不同平台的C源代码扩展名都为.c,但目标文件扩展名不同,例如: 在Linux平台上,生成的可执行文件一般扩展为.out。源文件:这是指由源程序和数据构成的文件。通常由终端或输入设备输入的源程序和数据所...

c语言中,声明和定义有什么区别
答:如果是指变量的声明和定义:从编译原理上来说,声明是仅仅告诉编译器,有个某类型的变量会被使用,但是编译器并不会为它分配任何内存。而定义就是分配了内存。对于下面的两句代码:void Func(){ int a;int b=1;a=0;} 对于第一行代码,编译器不会做任何事,它不会为它在栈中分配一点东西,直到...

C语言中%d和%f是什么意思啊?
答:d表示输入或输出十进制有符号数;%f表示输入或输出浮点数(float,四字节表示);在C语言中输出不同数据时需要用到不同的格式字符,%d是用来输出十进制整型数据的实际长度输出,%f是以小数形式输出单、双精度度数。以下是详细介绍:1、%d表示输入或输出十进制有符号数;2、%f表示输入或输出浮点数(float...

C语言中的%p和%x的区别
答:1、输出的类型不同:p用来输出指针的值、输出地址符。指针,是一个无符号整数(unsigned int),它是一个以当前系统寻址范围为取值范围的整数。而%x, %X 输出无符号以十六进制表示的整数。2、输出的结果会有不同:32位系统下寻址能力(地址空间)是4G Bytes(0~2^32-1)二进制表示长度为32bits(...

警察在问犯人ABC,A说:B 和C都说谎了。B说:A或C中有人说谎。C说:A和B...
答:若A没说谎,那么B、C就都说谎了。而B也说‘A或C中有人说谎’,其中‘C说谎’跟A说的一样,按照假设B就应当说对了。于是出现悖论,因此A在说谎。这种可能不成立。若B没说谎,那么A或C中有人说谎。那么A说‘B 和C都说谎了’就完全是错的,证明A确实在说谎。而C说‘A和B有一说谎,有一个没...