C語言總結_語句、運算符

      網友投稿 700 2022-05-29

      當前文章復盤C語言的: 位運算運算符、基本運算符、數據類型、變量、for語句、while語句、goto語句、switch語句、運算符優先級強制轉換等。

      一、變量的命名

      變量的命名: (13個字符) 1. A~Z a~z 2. 0-9 3. _ 4. 說明: 只能字母和數字開頭。不能使用關鍵字。 //左值和右值 unsigned int a=123; //4個字節 const int b=456; char c='A'; float d=123.456; //123.456 浮點數常量 char *p="123456"; //"123456"字符串常量

      二、常量數據格式

      #include "stdio.h" //常量聲明: U和L 表示無符號長整型 #define ABC 123UL #define ABC 123ul int main(void) { //0b101010; //二進制表示形式 //0x123; //表示十六進制 //123 //表示十進制 int a=0x123; return 0; }

      三、運算符

      3.1 邏輯非

      #include "stdio.h" //常量聲明: U和L 表示無符號長整型 #define ABC 123UL int main(void) { int a=0; if(!a) { printf("為真!\n"); } int data=1234; printf("%d\n",!!data); //1 return 0; }

      3.2 位運算

      & :全1為1,有0為0 | :全0為0,有1為1 ^ :相同為0,不同為1 ~ :1為0,0位1 >> :右移運算,低位溢出高位補0 << :左移運算符,高位溢出,低位補0

      位運算符使用較多的地方:

      (1) 單片機里寄存器操作

      (2) 協議加密解密、壓縮算法、各種算法。

      (3) 當做標志位使用

      #include "stdio.h" //系統里需要有8個狀態位,需要存放8個狀態位--------當做寄存器使用 int main(void) { unsigned char a=0; //8個位 范圍:0~7 //如何將a第7位,置1呢? a|=1<<7; //如何將a第2位,置1呢? a|=1<<2; //將2的第3位和第4位置1 a|=0x3<<3; //如何判斷第7位是0還是1呢? if((a>>7)&0x1) { printf("第7位的值為真!\n"); } else { printf("第7位的值為假!\n"); } //bool sbit 位定義 。 //bool a; sbit LED1=P1^1; return 0; }

      3.3 sizeof運算符

      ?Sizeof運算符 #include "stdio.h" int main(void) { int a=1234; printf("%d\n",sizeof(a)); //4 int b=1; printf("%d\n",sizeof(b)); //4 return 0; }

      3.4 三目運算符

      #include "stdio.h" int main(void) { /* int a; scanf("%d",&a); //取地址 int a,b; a=a&b; //與 int a,b; a=a*b; //乘號 int *a; //指針類型 */ int a; a=8>5?123:456; //if(8>5){a=123;}else{a=456;} printf("%d\n",a); //123 return 0; }

      3.5 運算符的優先級和強制轉換

      #include "stdio.h" int main(void) { int a=123+456-12*5/78; //高優先級先結合,再依次.... //如果優先級同級,執行順序是從左邊到右邊。 //優先級最高:()小括號 int b=123456789; char a=(char)b; //強制轉換,只是取低8位 //欺騙編譯器,告訴它,b是char類型。 char a='8'; int b=(int)a; //強制轉換 printf("b=%d\n",b); //還是字符8 return 0; }

      四、語句

      4.1 for循環語句

      #include "stdio.h" //系統里需要有8個狀態位,需要存放8個狀態位--------當做寄存器使用 int main(void) { int a=123,b=456; int cnt=0; for(a=0;a<5;a++) { for(b=0;b<5;b++) { if(a==2) { break; //跳出最近的一層循環 } cnt++; } } /* for(;;) { //死循環 } while(1) { //死循環 } do { //死循環 }while(1); */ printf("cnt=%d\n",cnt);//20 return 0; }

      C語言總結_語句、運算符

      4.2 while循環語句

      ?while循環語句 #include "stdio.h" //系統里需要有8個狀態位,需要存放8個狀態位--------當做寄存器使用 int main(void) { int a=0,b=0; int cnt=0; while(a<5) { while(b<5) { if(a==2)break; b++; cnt++; } b=0; a++; } printf("cnt=%d\n",cnt);//20 return 0; }

      4.3 goto語句

      在平常的邏輯代碼里面,不推薦使用goto語句。

      常用的地方: 錯誤處理,某某程序初始化失敗,就釋放資源等操作。

      #include "stdio.h" //系統里需要有8個狀態位,需要存放8個狀態位--------當做寄存器使用 int main(void) { int cnt=0; AA: //標簽的定義,可以放在函數范圍內的任意位置。(不能超出函數范圍) printf("123\n"); if(cnt==5)goto DATA; cnt++; goto AA; DATA: return 0; } ?Goto語句常用在錯誤處理: #include "stdio.h" //goto語句在錯誤處理里使用 int main(void) { if(LED_Init()<0) //表示該函數返回值錯誤 { goto ERROR; } if(KEY_Init()<0) //表示該函數返回值錯誤 { goto ERROR; } /*....*/ /*....*/ ERROR: //釋放資源,結束程序 return 0; }

      4.4 Switch語句

      Switch語句主要用在多分支選擇結構----有很多種條件/情況。

      實際代碼里,常用于菜單選擇:

      #include "stdio.h" int main(void) { switch(cmd) //cmd的值傳入之后,與case后面的比較,成功之后再執行語句 { case 1: //case 后面值只能是常量,而且不能重復 break; //跳出最近的一層switch語句 case 2: { /*......*/ break; } case 3: break; /*......*/ default: //類似于else printf("所有的條件都不成立!\n"); } return 0; }

      示例:

      #include "stdio.h" //投票系統,有3個待選舉的人,A,B,C ,有10張票 int main(void) { int i; int A=0,B=0,C=0; int data; for(i=0;i<10;i++) { printf("請投票(范圍1~3):"); scanf("%d",&data); switch(data) //data的值傳入之后,與case后面的比較,成功之后再執行語句 { case 1: //case 后面值只能是常量,而且不能重復 A++; break; //跳出最近的一層switch語句 case 2: B++; break; case 3: C++; break; // default: //類似于else } } printf("A=%d\n",A); printf("B=%d\n",B); printf("C=%d\n",C); return 0; }

      C 語言 面向對象編程

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:MySQL 數據庫命名規范.PDF
      下一篇:springboot +nginx +freemarker 模板的簡單集成
      相關文章
      国产亚洲美女精品久久久久| 亚洲一区电影在线观看| 亚洲精品无AMM毛片| 涩涩色中文综合亚洲| 亚洲激情校园春色| 亚洲女人初试黑人巨高清| 亚洲影视一区二区| 亚洲人色大成年网站在线观看| 亚洲春黄在线观看| 亚洲一级片在线观看| 色婷五月综激情亚洲综合 | 亚洲国产精品日韩在线观看| 亚洲精品第五页中文字幕 | 亚洲一区二区三区在线视频| 亚洲综合最新无码专区| 久久精品亚洲男人的天堂| 亚洲午夜久久久久久久久电影网| 亚洲中文字幕久久精品无码APP| 亚洲人成色777777在线观看| 亚洲人JIZZ日本人| 久久91亚洲精品中文字幕| 老汉色老汉首页a亚洲| 亚洲日产2021三区在线| 亚洲w码欧洲s码免费| 亚洲人成网站在线在线观看| 亚洲av日韩av永久在线观看| 亚洲国产精品人人做人人爱| 亚洲一区爱区精品无码| 亚洲AV日韩AV永久无码久久| 亚洲精品美女久久久久9999| 亚洲偷自精品三十六区| 亚洲av永久中文无码精品综合| 亚洲精品乱码久久久久久不卡| 国产午夜亚洲不卡| 亚洲AV成人一区二区三区AV| 久久精品国产亚洲AV高清热| 亚洲AV无码专区在线亚| 色欲色欲天天天www亚洲伊| 亚洲一区二区三区乱码A| 亚洲av中文无码乱人伦在线r▽| 久久精品国产亚洲AV麻豆网站 |