⑴ c语言里两个冒号是什么意思
C语言里两个冒号的意思有三个:(1)表示“域操作符”。比如声明了一个类A,类A里声明了一个成员函数void f(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成void A::f(),表示这个f()函数是类A的成员函数。(2)直接用在全局函数前,表示是全局函数。例:在VC里,你可以在调用API函数里,在API函数名前加::。(3)表示引用成员函数及变量,作用域成员运算符。
双冒号是C++里的“作用域分解运算符”。比如声明了一个类A,类A里声明了一个成员函数voidf(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成voidA::f(),表示这个f()函数是类A的成员函数。
双冒号一般还有一种用法,就是直接用在全局函数前,表示是全局函数。当类的成员函数跟类外的一个全局函数同名时,考试,大提示在类内定义的时候,打此函数名默认调用的是本身的成员函数。
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
⑵ C语言中的冒号问题
bitfields 位域
把位域和其它类型的结构成员混合使用是合法的
...
float pay;
unsigned lay_off:1;
...
指定占用的空间(按bit) 自己搜索一下
另外,搜索一下填充(padding)的相关信息.(padding解释了bitfields,struct在内存中的推荐格式)
一般来说
...
char a:4;
char b:3;
...
那么a和b总共占用1个字节(8bits)
但是如果是
...
char a:4;
char b:5;
...
的话,它们将占用2个字节(16bits)
⑶ c语言一些特殊符号怎么打
C语言用到的所有符号,在键盘上都有,可以直接打出来或者shift加某个按键打出。
shift加数字键,从1到0依次为!@#$%^&*()
左上角,shift加1左边的键,是按位取反运算符~
shift加上回车上面的\, 是按位或运算符|
shift加上逗号和句号,分别是两个尖括号<>,其实就是小于和大于。
也就这些了。
⑷ c语言中的冒号
是错误,应该是=这条语句是对两个字符串s[i]和s[j]的长度进行判断,如果s[i]的长度更大,字符串s[i]与s[j]交换这段语句肯定是实现对一组字符串按字符串长度从小到大排序的功能模块中的一条语句
⑸ C语言中冒号运算符是怎样使用的,比如 (a/3>0a/10:a%3))
C语言中没有单独的冒号运算符,冒号需要与问号合用,形成条件运算符。
C语言中条件运算符是唯一有3个操作数的运算符,所以有时又称为三元运算符。
条件运算符的使用形式为:b ? x : y
其运算过程为:先计算条件b,然后进行判断:如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。
如:
inta=5,b;
b=a/3>0?a/10:a%3;//此时,b的结果为a/10=0
运算过程解析:
先计算a/3>0 , 因为a=5,所以,a/3=5/3=1 > 0,条件为true
所以,b=a/10 = 5/10=0
a%3被略过了。
条件表达式,可以用if语句来改写,如,上面的例子可改为:
inta=5,b;
if(a/3>0)
b=a/10;
else
b=a%3;
⑹ C语言中三目运算符后边冒号(:)左右判断语句我只想要1个该怎么写
不可能什么都不返回的。表达式必须有确定的类型,如果希望条件表达式的类型是 int ,则冒号(:)两边必须都是 int 类型(或起码能转换成 int 类型)的表达式
⑺ C语言中的冒号(:)是什么意思
1.
这是c语言的三目运算符。
2.
对于条件表达式b?x:y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式从不会既计算x,又计算y。
3.
条件运算符是右结合的,也就是说,从右向左分组计算。例如,a?b:c?d:e将按a?b:(c?d:e)执行。
⑻ C语言一种特殊的冒号用法!
理解C语言位域
有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的对象用一个字节的二进制位域来表示。一、位域的定义和位域变量的说明位域定义与结构定义相仿,其形式为:
struct 位域结构名
{ 位域列表 };
其中位域列表的形式为: 类型说明符 位域名:位域长度
例如:
struct bs
{
int a:8;
int b:2;
int c:6;
};
位域变量的说明与结构变量说明的方式相同。 可采用先定义后说明,同时定义说明或者直接说明这三种方式。例如:
struct bs
{
int a:8;
int b:2;
int c:6;
}data;
说明data为bs变量,共占两个字节。其中位域a占8位,位域b占2位,位域c占6位。对于位域的定义尚有以下几点说明:
1. 一个位域必须存储在同一个字节中,不能跨两个字节。如一个字节所剩空间不够存放另一位域时,应从下一单元起存放该位域。也可以有意使某位域从下一单元开始。例如:
struct bs
{
unsigned a:4
unsigned :0 /*空域*/
unsigned b:4 /*从下一单元开始存放*/
unsigned c:4
}
在这个位域定义中,a占第一字节的4位,后4位填0表示不使用,b从第二字节开始,占用4位,c占用4位。
2. 由于位域不允许跨两个字节,因此位域的长度不能大于一个字节的长度,也就是说不能超过8位二进位。
3. 位域可以无位域名,这时它只用来作填充或调整位置。无名的位域是不能使用的。例如:
struct k
{
int a:1
int :2 /*该2位不能使用*/
int b:3
int c:2
};
从以上分析可以看出,位域在本质上就是一种结构类型, 不过其成员是按二进位分配的。
⑼ C语言怎么向字符串中添加冒号
在C语言中输出“”的话,需要用到转义字符\。以“\”开头的特殊字符称为转义字符。
\n 换行
\t 横向跳格
\r 回车
\\ 反斜杠 \
\ddd ddd表示1到3位八进制数字
\xhh hh表示1到2位十六进制数字
⑽ c语言中冒号的用法
c语言中冒号的用法:1.语句标识,与goto语句配合使用;
2.条件赋值语句的组成部分;
3.位域;指示位宽的标识,上例中,a占一个位宽,b占两个位宽。
4.switch语句的case分支标识。
(10)C语言的三个冒号怎么打扩展阅读
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的`许多计算机平台上进行编译。
结构体中的冒号表示位域。
位域出现的原因是由于某些信息的存储表示只需要几个bit位就可以表示而不需要一个完整的字节,同时也是为了节省存储空间和方便处理。
说明:
1、位域必须存储在同一个类型中,不能跨类型,同时也说明位域的长度不会超过所定义类型的长度。如果一个定义类型单元里所剩空间无法存放下一个域,则下一个域应该从下一单元开始存放。例如:所定义的类型是int类型,一共32为,目前用掉了25位还剩下7位,这时要存储一个8位的位域元素,那么这个元素就只能从下一个int类型的单元开始而不会在前面一个int类型中占7为后面的int类型中占1位。
2、如果位域的位域长度为0表示是个空域,同时下一个域应当从下一个字节单元开始存放。
3、使用无名的位域来作为填充和调整位置,切记该位域是不能被使用的。
4、位域的本质上就是一种结构体类型,不同的是其成员是按二进制位来分配的。