初始C語言02-分支與循環(上)

      網友投稿 735 2025-03-31

      前言:有人可能覺得筆者寫的東西很簡單,沒有寫的必要!但是我想說的是,存在即合理!夯實基礎才是yyds!知識分享yyds! 不喜勿噴,謝謝各位! 如有錯誤,歡迎斧正!


      1.C語言是結構化的程序設計語言

      c語言中有3中結構:順序結構,選擇結構,循環結構

      空語句: ; //只有一個分號

      2.C語言中非0表示真,0表示假

      判斷:C語言中,1表示真,0表示假 錯: 非0表示真

      3.else和if的匹配

      就近原則:else與最近的if匹配

      #include int main() { int a = 0; int b = 2; if(a == 1) if(b == 2) printf("hehe\n"); else printf("haha\n"); return 0; } //什么也不打印 //因為if和最近的else匹配,因為不滿足 a == 0所以不進入第一個if循環,所以不打印 //相當于 //增加了程序的可讀性 int main() { int a = 0; int b = 2; if(a == 1) { if(b == 2) printf("hehe\n"); else printf("haha\n"); } return 0; }

      程序題:打印1-100的奇數并計算個數

      //方法1:故意營造奇數出來打印,效率更高 int main() { int count = 0; int i = 1; //while循環的寫法 /* while(i < 100) { printf("%d ",i); i += 2; count++; } */ //for循環寫法 for(i = 1; i < 100; i+=2) { printf("%d ",i); i += 2; count++; } printf("1-100的奇數個數為:%d\n",count); }

      //寫法2:產生1-100的數,奇數:除2余數為1 int main() { int count = 0; int i = 1; while(i < 100) { if(i % 2 == 1) { printf("%d ",i); } i++; } return 0; }

      4.EOF-end of file 文件結束標志

      EOF-> 代表的值為-1

      getchar() : 讀取失敗的時候返回EOF

      返回的字符,本質是字符也是ASCII碼值,是整數

      getchar 函數不僅僅是返回正常字符,還會返回EOF 是-1,所以放到整形變量中

      遇到ctrl+z時結束循環輸入

      循環輸入的方法

      //寫法1 while( (c = getchar()) !=EOF) //用括號括起來 while( scanf("%d",&a) != EOF) //寫法2 while( ~(c = getchar()) ) while( ~(scanf("%d",&a)) )

      -1: 原碼:10000000 00000000 00000000 00000001 反碼:11111111 11111111 11111111 11111110 補碼:11111111 11111111 11111111 11111111 內存中存放的是補碼 EOF為-1 按位取反-1的補碼 ->全0序列 即為0

      程序題:密碼確認題 (緩沖區

      輸入緩沖區:內存空間

      scanf ,getchar:從鍵盤上輸入東西到輸入緩沖區, 從輸入緩沖區拿東西

      //err程序 int main() { int ch = 0; char password[20] = {0}; printf("請輸入密碼>:"); scanf("%S",password);//數組名是首元素地址,不用加取地址 printf("請確認密碼(Y/N)>:"); ch = getchar(); if(ch == 'Y') { printf("確認成功\n"); } else { printf("確認失敗\n"); } return 0; }

      從鍵盤中輸入字符到緩沖區,然后scanf,getchar拿東西,getchar一次只能讀取一個字符,%s只能讀到空白字符前的字符 空白字符:空格,換行) 因為最后一個是換行符(\n),所以我們要把緩沖區的字符清理干凈,當getchar讀取到\n使,說明緩沖區已經清理干凈了

      //正解 int main() { int ch = 0; char password[20] = { 0 }; printf("請輸入密碼>:"); scanf("%s", password);//數組名是首元素地址,不用加取地址 printf("請確認密碼(Y/N)>:"); //清理緩沖區字符 while (getchar() != '\n') { ; //空語句,不處理 } ch = getchar(); if (ch == 'Y') { printf("確認成功\n"); } else { printf("確認失敗\n"); } return 0; }

      若想要讀取有空格的作為密碼:使用gets()函數

      初始C語言02-分支與循環(上)

      使用gets()則不用考慮緩沖區的問題

      int main() { int ch = 0; char password[20] = { 0 }; printf("請輸入密碼>:"); gets(password); printf("請確認密碼(Y/N)>:"); ch = getchar(); if (ch == 'Y') { printf("確認成功\n"); } else { printf("確認失敗\n"); } return 0; }

      C 語言

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

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

      上一篇:輔助列或VBA的方法實現在Excel中粘貼時跳過隱藏行(excel粘貼時跳過隱藏行快捷鍵)
      下一篇:怎么刪除表格中的豎列(表格怎么刪除一豎排)
      相關文章
      亚洲成a人片在线观看国产| 亚洲熟妇AV一区二区三区浪潮| 亚洲综合色区在线观看| 亚洲欧洲校园自拍都市| 亚洲av无码成h人动漫无遮挡| 亚洲一区二区三区香蕉| 国产精品亚洲玖玖玖在线观看| 亚洲福利在线播放| 亚洲成AV人在线观看网址| 亚洲免费视频一区二区三区| 亚洲国产精品综合久久网络| www.亚洲精品.com| 亚洲另类少妇17p| 国产亚洲av片在线观看18女人| 91麻豆国产自产在线观看亚洲 | 亚洲日韩国产成网在线观看| 亚洲精品成人网久久久久久| 亚洲精品无码久久久久AV麻豆| 亚洲第一页综合图片自拍| 亚洲国产精品国产自在在线| 国产日产亚洲系列最新| 亚洲人成亚洲人成在线观看 | 最新国产成人亚洲精品影院| 亚洲娇小性xxxx色| 亚洲精品无码人妻无码| 国产精品亚洲一区二区三区在线观看| 国产亚洲Av综合人人澡精品| 亚洲女人被黑人巨大进入| 亚洲综合熟女久久久30p| 亚洲AV永久纯肉无码精品动漫| 亚洲成人午夜在线| 亚洲国产日韩在线成人蜜芽| 亚洲最大的成人网| 在线亚洲精品视频| 亚洲精品高清在线| 亚洲成a人片在线观看无码 | 一区二区三区亚洲视频| 伊人久久大香线蕉亚洲| 亚洲福利视频一区| 亚洲乱码一二三四区乱码| 亚洲国产区男人本色|