位運算 switch 迴圈結構

2021-07-22 02:41:54 字數 3234 閱讀 5758

與:&,對應位上都是1時才為1

3 011

& 5 101

001或:|,對應位上有1就為1

3 011

| 5 101

111異或:^,對應位上不同就為1 相同就為0(等價於找不同)

3 011

^ 5 101

110取反:~,按位取反

3 011

~ 100

左移:<

3 0000011

<< 0000110

右移:>>,整體右移,補位時原高位是什麼就補什麼

-3 11111101

>> 11111110

原碼:將乙個數直接轉換成二進位制就是原碼,負數的原碼是其絕對值的補碼

反碼:原碼按位取反

補碼:反碼加1,負數就是用補碼表示

#import 

int main(int argc, const

char * argv)

return

0;}

表示式的值必須是整數

case後面必須是整數常量,不能重複,但未順序要求

break語句用於終止switch語句執行

default語句用於switch後面的表示式的值與所有case後面的值均不相同時,執行其後的語句。可有可無

#import 

int main()

else

if (day == 1)

else

if (day == 2)

else

if (day == 3)

else

if (day == 4)

else

if (day == 5)

else

if (day == 6)

else

if (day == 7)

else

//float day1;

switch (day)//表示式的值一定是整數,不能是浮點數

char x;

nslog(@"請輸入乙個數字:");

scanf("%*c");

scanf("%c", &x);

switch (x)

//從鍵盤輸入乙個年份值和月份值,輸出該月有幾天

int year;

nslog(@"請輸入乙個年份值:");

scanf("%d", &year);

int month;

nslog(@"請輸入乙個月份值:");

scanf("%d", &month);

if (month < 1 || month > 12)

day = 31;

switch (month)

nslog(@"%d年%d月有%d天", year, month, day);

//從鍵盤輸入乙個百分制成績,輸出其等級成績

int score;

nslog(@"請輸入乙個百分制成績:");

scanf("%d", &score);

switch (score)

}return

0;}

for迴圈

三個表示式

三個表示式的特殊用法

固定次數的迴圈

while迴圈:用於不固定次數的迴圈

#import 

int main()

double sum2 = 0;

for (int i = 3; i < 2100000000; i += 4)

nslog(@"pi=%.15lf", 4 * (sum1 - sum2));

//求1,2,3,5,8,13,21,...的和

int n1 = 1;

int n2 = 2;

intsum = n1 + n2;

for (int i = 1; i < 100; i++)

}return

0;}

#import 

int main()

printf("\n");

printf("%d\n", i);

// //死迴圈

// for (int i = 0; ; i++)//表示式二也可以為空,當表示式二為空時,等效於為真

//

// printf("\n");

for (int i = 0; i < 10; )

printf("\n");

//for (;;)//同時省略三個表示式

//

for (int i = 0, j = 0, k = 0; i * j * k - 10

< 30; i++, j += 2, k++)

}return 0;

}

隨機數範圍公式(m~n):srand((unsigned)time(0))//該句一定要放在主函式的第一句

0;}猜數字遊戲,計算機隨機生成乙個數,然後手動輸入數字去猜,並提示大了小了,猜對說猜對了

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| 解析:

#import 

int main()

else

if (guess < random)

}nslog(@"恭喜,你猜對了");

}return

0;}

switch語句和for迴圈

switch語句 1 switch 後面小括號中表示式的值必須是整型或字元型 2 case後面的值必須與switch括號中值的型別一致,也可以是乙個常量表示式,如 2 2 但不能是變數或帶有變數的表示式,如 a 2 3 case匹配後,執行匹配塊裡的程式 如果沒有遇見break會繼續執行下乙個的 c...

C 用位運算實現迴圈移位

迴圈移位區別於一般移位的是移位時沒有數字的丟失。迴圈左移時,用從左邊移出的位填充字的右端。迴圈右移時,用從右邊移出的位填充字的左側。這種情況在系統程式中時有使用,在一些控制程式中用得也不少。例如 a 01111011,迴圈左移2位的正確結果是 b 11101101 b a 8 2 用來得到正常左移丟...

分支結構(switch)

switch語句用於編寫多分支結構的程式,類似與if elif else語句。switch語句表達的分支結構比if elif else語句表達的更清晰,的可讀性更高 但是python並沒有提供switch語句。python可以通過字典實現switch語句的功能,實現方法分為兩步 首先,定義乙個字典 ...