1. c语言中" : "(冒号)和问号是什么意思
bool a = 1>3?false:true;
?: 是三元运算符由条件运算符组成的条件表达式的一般形式为:
表达式1 ? 表达式 2 : 表达式3,其中表达式 1、表达式2、表达式3,既可以是一个简单的表达式,又可以是由各种运算符组成的复合表达式。
计算过程很好理解:先求表达式1的值, 如果为真, 则求表达式2 的值并把它作为整个表达式的值。 如果表达式1 的值为假,则求表达式3 的值并把它作为整个表达式的值。
(1)c语言if赋值时要冒号扩展阅读:
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
2. 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;
3. c语言字母加冒号是什么意思
一个合法标识符(c里定义了合法标识符是什么)加个冒号表示个标签,
利用goto可以跳转到标签。
如果你学了汇编就很熟悉这语句。不过一般情况下不提倡使用goto语句。
4. 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
};
从以上分析可以看出,位域在本质上就是一种结构类型, 不过其成员是按二进位分配的。
5. c语言中冒号的用法
c语言中冒号的用法:1.语句标识,与goto语句配合使用;
2.条件赋值语句的组成部分;
3.位域;指示位宽的标识,上例中,a占一个位宽,b占两个位宽。
4.switch语句的case分支标识。
(5)c语言if赋值时要冒号扩展阅读
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的`许多计算机平台上进行编译。
结构体中的冒号表示位域。
位域出现的原因是由于某些信息的存储表示只需要几个bit位就可以表示而不需要一个完整的字节,同时也是为了节省存储空间和方便处理。
说明:
1、位域必须存储在同一个类型中,不能跨类型,同时也说明位域的长度不会超过所定义类型的长度。如果一个定义类型单元里所剩空间无法存放下一个域,则下一个域应该从下一单元开始存放。例如:所定义的类型是int类型,一共32为,目前用掉了25位还剩下7位,这时要存储一个8位的位域元素,那么这个元素就只能从下一个int类型的单元开始而不会在前面一个int类型中占7为后面的int类型中占1位。
2、如果位域的位域长度为0表示是个空域,同时下一个域应当从下一个字节单元开始存放。
3、使用无名的位域来作为填充和调整位置,切记该位域是不能被使用的。
4、位域的本质上就是一种结构体类型,不同的是其成员是按二进制位来分配的。
6. c语言if语句的用法
C语言中if语句基本的有三种格式,在此基础上可以扩展一些其它格式,下面我们来看看c语言if语句的用法。
c语言if语句的用法
1、 if……形式
一般格式:if(表达式) 语句;
语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。语句可以是单条语句,也可以是用花括号{}包括起来的复合语句。示例如下:
#include
int main(){
int a,b,max;
printf(" input two numbers: ");
scanf("%d%d",&a,&b);
max=a;
if (max<b) max=b;
printf("max=%d ",max);
return 0;
}
2、if……else形式
一般格式:
if(表达式)
语句1;
else
语句2;
语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。语句1和语句2可以是复合语句。
示例如下:
#include
int main(){
int a, b;
printf("input two numbers: ");
scanf("%d%d",&a,&b);
if(a>b)
printf("max=%d ",a);
else
printf("max=%d ",b);
return 0;
}
3、if……else……if形式
一般形式为:
if(表达式1)
语句1;
else if(表达式2)
语句2;
else if(表达式3)
语句3;
…
else if(表达式m)
语句m;
else
语句n;
语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。示例如下:
#include
int main(){
char c;
printf("input a character: ");
c=get);
if(c<32)
printf("This is a control character ");
else if(c>=0&&c<=9)
printf("This is a digit ");
else if(c>=A&&c<=Z)
printf("This is a capital letter ");
else if(c>=a&&c<=z)
printf("This is a small letter ");
else
printf("This is an other character ");
return 0;
}
4、扩展形式
if条件控制语句的形式是多种多样的。比如if嵌套、if……if类似的形式,但是都离不开上面介绍的三种基本形式。注意活学活用。
【拓展】c语言的优缺点
1. 简洁紧凑、灵活方便
C语言一共只有32个关键字,9种控制语句,程序书写形式自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。 C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。
2. 运算符丰富
C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的'运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。
3. 数据结构丰富
C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。
4. C是结构式语言
结构式语言的显着特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
5.C语法限制
C语法限制不太严格,程序设计自由度大 虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度
6. C语言允许直接访问物理地址,可以直接对硬件进行操作
由于C语言允许直接访问物理地址,可以直接对硬件进行