c语言赋值x为字母,C语言算术、赋值、关系、逻辑运算详细剖析---
標(biāo)識符和關(guān)鍵字
¨標(biāo)識符:用來標(biāo)識程序中的變量、符號常量、函數(shù)、數(shù)組、類型、文件等對象的名字。標(biāo)識符只能由字母、數(shù)字和下劃線組成,且第一個(gè)字符必需為字母或下劃線。C語言中大小寫字母是兩個(gè)不同的字符。
¨關(guān)鍵字:標(biāo)識符的一個(gè)特殊的集合。其中的標(biāo)識符在C語言中有預(yù)先定義好的特殊意義。不能用于其他任何目的。
¨C語言的關(guān)鍵字共32個(gè):
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
運(yùn)算符、表達(dá)式和計(jì)算
C的運(yùn)算符主要分為四大類:
算術(shù)運(yùn)算符(+加 -減 ×乘 /除? %取余? ++自增1 --自減1)
關(guān)系運(yùn)算符(>大于? =大于或等于? <=小于或等于? !=不等于)
邏輯運(yùn)算符(!邏輯非 &&邏輯與? ||邏輯或 )
位運(yùn)算符(<>按位右移?~按位取反? |按位或?按位異或 &按位與 )
特殊運(yùn)算符 : 賦值運(yùn)算符(=)、條件運(yùn)算符(? :)
逗號運(yùn)算符(,)、指針運(yùn)算符(* &)、
求字節(jié)運(yùn)算符(sizeof)、
強(qiáng)制類型轉(zhuǎn)換運(yùn)算符((類型))、
分量運(yùn)算符(. ->)、下標(biāo)運(yùn)算符([ ])、函數(shù)調(diào)用(( ))等。
賦值運(yùn)算符與賦值表達(dá)式
一、剖析10種復(fù)合賦值運(yùn)算符:
+=、 -=、 *=、 /=、 %=、 <<=、 >>=、&=、 ^=、 |=
例x+=1等價(jià)于x=x+1
自增運(yùn)算符前置和后置的區(qū)別
作為表達(dá)式時(shí):,++前置時(shí),自增表達(dá)式(++n)的值等于其操作數(shù)自增后的值;++ 后置時(shí),自增表達(dá)式( n++)的值等于其操作數(shù)自增前的值
實(shí)例1:自增運(yùn)算符前置和后置
//自增運(yùn)算
//前置自增和后置自增的區(qū)別
int X,Y,Z;
X=5;
Y=X++ +5;
printf("x++自增運(yùn)算結(jié)果:%d\n",Y);
printf("x結(jié)果1:%d\n",X);
Z=++X +5;
printf("x結(jié)果2:%d\n",X);
printf("++x自增運(yùn)算結(jié)構(gòu):%d\n",Z);
return 0;
運(yùn)行結(jié)果如下:
二、逗號運(yùn)算符及其表達(dá)式
C語言中,逗號“,”的用法有兩種:一種是用作分隔符,另一種是用作運(yùn)算符。逗號表達(dá)式
形式:表達(dá)式1,表達(dá)式2,表達(dá)式3,...,表達(dá)式n
例
a=2*6,a-4,a+15;
當(dāng)逗號作為運(yùn)算符使用時(shí)是一個(gè)雙目運(yùn)算符,其運(yùn)算優(yōu)先級是所有運(yùn)算符中最低的。逗號運(yùn)算符的運(yùn)算順序是自左向右的,請注意,后面兩個(gè)表達(dá)式的值僅作了計(jì)算,而并沒有賦給a,所以a的值仍然為12。
逗號表達(dá)式求值過程:分別求逗號表達(dá)式每一項(xiàng)的值,并以最后一個(gè)表達(dá)式n的值作為整個(gè)逗號表達(dá)式的值。
實(shí)例2:逗號表達(dá)式
inta;
a=3*5,a*4,a+5;
printf("a值為:%d\n",a);
return 0;
編譯、鏈接、執(zhí)行后的結(jié)果:
實(shí)例3:逗號表達(dá)式
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;
編譯、鏈接、執(zhí)行后的結(jié)果:
三、剖析位運(yùn)算符
實(shí)例4:用C語言寫一個(gè)程序:輸入兩個(gè)十進(jìn)制數(shù),并輸出它們按位或的結(jié)果
//位運(yùn)算
//位或運(yùn)算---1
int a,b,c;
printf("請輸入兩個(gè)數(shù):");
scanf("%d %d",&a,&b);
c=a|b;
printf("a=%d\n b=%d\n它們按位或的結(jié)果為:c=%d\n",a,b,c);
Output:
請輸入兩個(gè)數(shù):3 5
a=3
b=5
它們按位或的結(jié)果為:c=7
//位異運(yùn)算---2
int a,b,c;
printf("請輸入兩個(gè)數(shù):");
scanf("%d %d",&a,&b);
c=a^b;
printf("a=%d\nb=%d\n它們按位或的結(jié)果為:c=%d\n",a,b,c);
Output:
請輸入兩個(gè)數(shù):1 7
a=1
b=7
它們按位或的結(jié)果為:c=6
分析程序:所謂位運(yùn)算是指進(jìn)行二進(jìn)制的運(yùn)算。3化為二進(jìn)制數(shù)為0011,5化為二進(jìn)制數(shù)為0101,按照按位或運(yùn)算規(guī)則:1|1=1、1|0=1、0|1=1、0|0=0,按照按位異運(yùn)算規(guī)則:1^1=0、1^0=1、0^1=1、0^0=0它們按位或的結(jié)果為0111,化為十進(jìn)制數(shù),便為7
四、條件(三元)運(yùn)算符(? :)
test ?expression1 : expression2
test
任何 Boolean表達(dá)式。
expression1
test為 true時(shí)返回的表達(dá)式。可能是逗點(diǎn)表達(dá)式。
expression2
test為 false時(shí)返回的表達(dá)式。可能是逗點(diǎn)表達(dá)式。
?? :運(yùn)算符可以用作 if...else語句的快捷方式。它通常用作較大表達(dá)式(使用 if...else 語句會(huì)很繁瑣)的一部分。例如:
var now = new Date();
var greeting = "Good" + ((now.getHours() >17) ? " evening." : " day.");
在此例中,如果晚于下午 6時(shí),則創(chuàng)建一個(gè)包含 "Good evening." 的字符串。使用 if...else語句的等效代碼如下:
var now = new Date();
var greeting = "Good";
if (now.getHours() > 17)
greeting +=" evening.";
else
greeting += " day.";
總結(jié)
以上是生活随笔為你收集整理的c语言赋值x为字母,C语言算术、赋值、关系、逻辑运算详细剖析---的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 画鸡的作者是谁啊?
- 下一篇: 神盾局局长被追杀是哪一部电影