c语⾔对字节按位赋值,C语⾔算术、赋值、关系、逻辑运算详
细辨析-
C语⾔算术、赋值、关系、逻辑运算详细剖析---
标识符和关键字
¨标识符:⽤来标识程序中的变量、符号常量、函数、数组、类型、⽂件等对象的名字。标识符只能由字母、数字和下划线组成,且第⼀个字符必需为字母或下划线。C语⾔中⼤⼩写字母是两个不同的字符。
¨关键字:标识符的⼀个特殊的集合。其中的标识符在C语⾔中有预先定义好的特殊意义。不能⽤于其他任何⽬的。
¨C语⾔的关键字共32个:
auto break case char const continue defaultdo
double else enum extern float for goto if
int long register return short signed sizeof static
struct switch typedef union unsigned voidvolatile while
运算符、表达式和计算
C的运算符主要分为四⼤类:
算术运算符(+加 -减 ×乘 /除 %取余 ++⾃增1 --⾃减1)
关系运算符(>⼤于 =⼤于或等于 <=⼩于或等于 !=不等于)
逻辑运算符(!逻辑⾮ &&逻辑与 ||逻辑或 )
位运算符(<>按位右移 ~按位取反 |按位或ˆ按位异或 &按位与 )
特殊运算符 : 赋值运算符(=)、条件运算符(? :)
逗号运算符(,)、指针运算符(* &)、
求字节运算符(sizeof)、
强制类型转换运算符((类型))、
分量运算符(. ->)、下标运算符([ ])、函数调⽤(( ))等。
赋值运算符与赋值表达式
⼀、剖析10种复合赋值运算符:
+=、 -=、 *=、 /=、 %=、 <<=、 >>=、&=、 ^=、 |=
例x+=1等价于x=x+1
⾃增运算符前置和后置的区别
作为表达式时:,++前置时,⾃增表达式(++n)的值等于其操作数⾃增后的值;++ 后置时,⾃增表达式( n++)的值等于其操作数⾃增前的值
实例1:⾃增运算符前置和后置
//⾃增运算
//前置⾃增和后置⾃增的区别
int X,Y,Z;
X=5;
Y=X++ +5;
printf("x++⾃增运算结果:%d\n",Y);
printf("x结果1:%d\n",X);
Z=++X +5;
printf("x结果2:%d\n",X);
printf("++x⾃增运算结构:%d\n",Z);
return 0;
运⾏结果如下:
⼆、逗号运算符及其表达式
C语⾔中,逗号“,”的⽤法有两种:⼀种是⽤作分隔符,另⼀种是⽤作运算符。逗号表达式
形式:表达式1,表达式2,表达式3,...,表达式n
例
a=2*6,a-4,a+15;
当逗号作为运算符使⽤时是⼀个双⽬运算符,其运算优先级是所有运算符中最低的。逗号运算符的运算顺序是⾃左向右的,请注意,后⾯两个表达式的值仅作了计算,⽽并没有赋给a,所以a的值仍然为12。
逗号表达式求值过程:分别求逗号表达式每⼀项的值,并以最后⼀个表达式n的值作为整个逗号表达式的值。
实例2:逗号表达式
inta;
a=3*5,a*4,a+5;
printf("a值为:%d\n",a);
return 0;
编译、链接、执⾏后的结果:
实例3:逗号表达式
int a=2,b=4,c=6,x,y;
y=3*5,y=((x=a+b),y=0,y=(b+c));
printf("y=%d,x=%d\n",y,x);
return 0;
编译、链接、执⾏后的结果:
三、剖析位运算符
实例4:⽤C语⾔写⼀个程序:输⼊两个⼗进制数,并输出它们按位或的结果
//位运算
/
/位或运算---1
int a,b,c;
printf("请输⼊两个数:");
scanf("%d %d",&a,&b);
c=a|b;
printf("a=%d\n b=%d\n它们按位或的结果为:c=%d\n",a,b,c);
Output:
请输⼊两个数:3 5
a=3
b=5
它们按位或的结果为:c=7
/
/位异运算---2
int a,b,c;
printf("请输⼊两个数:");
scanf("%d %d",&a,&b);
c=a^b;
printf("a=%d\nb=%d\n它们按位或的结果为:c=%d\n",a,b,c);
Output:
请输⼊两个数:1 7
a=1
b=7
它们按位或的结果为:c=6
分析程序:所谓位运算是指进⾏⼆进制的运算。3化为⼆进制数为0011,5化为⼆进制数为0101,按照按位或运算规则:1|1=1、
1|0=1、0|1=1、0|0=0,按照按位异运算规则:1^1=0、1^0=1、0^1=1、0^0=0它们按位或的结果为0111,化为⼗进制数,便为7四、条件(三元)运算符(? :)
test ?expression1 : expression2
参数
c语言中逗号表达式的用法test
任何 Boolean表达式。
expression1
test为 true时返回的表达式。可能是逗点表达式。
expression2
test为 false时返回的表达式。可能是逗点表达式。
:运算符可以⽤作 if...else语句的快捷⽅式。它通常⽤作较⼤表达式(使⽤ if...else 语句会很繁琐)的⼀部分。例如:
var now = new Date();
var greeting = "Good" + ((Hours() >17) ? " evening." : " day.");
在此例中,如果晚于下午 6时,则创建⼀个包含 "Good evening." 的字符串。使⽤ if...else语句的等效代码如下:var now = new Date();
var greeting = "Good";
if (Hours() > 17)
greeting +=" evening.";
else
greeting += " day.";
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论