| 網站首頁 | 關于我們 | 開發(fā)優(yōu)勢 | 產品展示 |
| 合作企業(yè) | 新聞動態(tài) | 聯(lián)系我們 | 電話聯(lián)系 |
文章作者:濟南軟件開發(fā) 時間:2016年12月20日
標識符和關鍵字
¨標識符:用來標識程序中的變量、符號常量、函數(shù)、數(shù)組、類型、文件等對象 的名字。標識符只能由字母、數(shù)字和下劃線組成,且第一個字符必需為字母或下劃線。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)
關系運算符(>大于 <小于 ==等于 >=大于或等于 <=小于或等于 !=不等于)
邏輯運算符(!邏輯非 &&邏輯與 ||邏輯或 )
位運算符 (<<按位左移 >>按位右移 ~按位取反 |按位或?按位異或 &按位與 )
特殊運算符 : 賦值運算符(=)、條件運算符(? :)
逗號運算符(,)、指針運算符(* &)、
求字節(jié)運算符(sizeof)、
強制類型轉換運算符((類型))、
分量運算符(. ->)、下標運算符([ ])、函數(shù)調用(( ))等。
賦值運算符與賦值表達式
一、剖析10種復合賦值運算符:
+=、 -=、 *=、 /=、 %=、 <<=、 >>=、&=、 ^=、 |=
例x+=1等價于x=x+1
自增運算符前置和后置的區(qū)別
作為表達式時:,++前置時,自增表達式(++n)的值等于其操作數(shù)自增后的值;++ 后置時,自增表達式( n++)的值等于其操作數(shù)自增前的值
實例1:自增運算符前置和后置
//自增運算
//前置自增和后置自增的區(qū)別
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;
當逗號作為運算符使用時是一個雙目運算符,其運算優(yōu)先級是所有運算符中最低的。逗號運算符的運算順序是自左向右的,請注意,后面兩個表達式的值僅作了計算,而并沒有賦給a,所以a的值仍然為12。
逗號表達式求值過程:分別求逗號表達式每一項的值,并以最后一個表達式n的值作為整個逗號表達式的值。
實例2:逗號表達式
inta;
a=3*5,a*4,a+5;
printf("a值為:%d\n",a);
return 0;
編譯、鏈接、執(zhí)行后的結果:
實例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;
編譯、鏈接、執(zhí)行后的結果:
三、剖析位運算符
實例4:用C語言寫一個程序:輸入兩個十進制數(shù),并輸出它們按位或的結果
//位運算
//位或運算---1
int a,b,c;
printf("請輸入兩個數(shù):");
scanf("%d %d",&a,&b);
c=a|b;
printf("a=%d\n b=%d\n 它們按位或的結果為:c=%d\n",a,b,c);
Output:
請輸入兩個數(shù):3 5
a=3
b=5
它們按位或的結果為:c=7
//位異運算---2
int a,b,c;
printf("請輸入兩個數(shù):");
scanf("%d %d",&a,&b);
c=a^b;
printf("a=%d\nb=%d\n它們按位或的結果為:c=%d\n",a,b,c);
Output:
請輸入兩個數(shù):1 7
a=1
b=7
它們按位或的結果為:c=6
分析程序:所謂位運算是指進行二進制的運算。3化為二進制數(shù)為0011,5化為二進制數(shù)為0101,按照按位或運算規(guī)則:1|1=1、1|0=1、0|1=1、0|0=0,按照按位異運算規(guī)則:1^1=0、1^0=1、0^1=1、0^0=0它們按位或的結果為0111,化為十進制數(shù),便為7
四、條件(三元)運算符 (? :)
test ?expression1 : expression2
參數(shù)
test
任何 Boolean 表達式。
expression1
test 為 true時返回的表達式??赡苁嵌狐c表達式。
expression2
test 為 false 時返回的表達式??赡苁嵌狐c表達式。
? : 運算符可以用作 if...else語句的快捷方式。它通常用作較大表達式(使用 if...else 語句會很繁瑣)的一部分。例如:
var now = new Date();
var greeting = "Good" + ((now.getHours() >17) ? " evening." : " day.");
在此例中,如果晚于下午 6 時,則創(chuàng)建一個包含 "Good evening." 的字符串。使用 if...else語句的等效代碼如下:
var now = new Date();
var greeting = "Good";
if (now.getHours() > 17)
greeting +=" evening.";
else
greeting += " day.";
想要了解更多詳情歡迎來電咨詢18678812288
登陸網址:m.h6244.cn。
聯(lián)系人:王經理。