C語言複習筆記

来源:https://www.cnblogs.com/xjtu-lyh/archive/2020/05/07/12846053.html
-Advertisement-
Play Games

C快速複習,知識點總結 數據類型 基本數據類型 類型名稱說明char 字元類型存放字元的ASCII碼 int 整型存放有符號整數short短整型存放有符號整數long長整型存放有符號整數long long存放有符號整數 float 單精度浮點型存放精度不高的小數 double 雙精度浮點型存放精度較 ...


C快速複習,知識點總結

數據類型

基本數據類型

類型名稱說明char字元類型存放字元的ASCII碼int整型存放有符號整數short短整型存放有符號整數long長整型存放有符號整數long long存放有符號整數float單精度浮點型存放精度不高的小數double雙精度浮點型存放精度較高的小數

  • 除了這些基本數據類型之外,還有一些複合類型,後面會慢慢講到.
  • 表格中最常用到的四種類型是 char int float 和double.

類型介紹

根據存放類型的不同,可以大致分為字元型,整型和浮點型

  1. 整型
  • 存放整數的類型 比如0 1 2 3 4這種自然數或者負數都可以用整型存放

類型大小範圍說明

int4-231~231-1

short2-215~215

short(int) 短整型

long4-231~231-1long (int) 長整型,規定範圍不得低於int

long long8-263~263-1不低於long類型

  • 整型數據需要註意的是 整型數據之間的運算只會得到整型,也就是類似3除以4這種操作得到的不是0.75,而是0
  1. 字元類型
  • 字元類型是一種比較特殊的整型,本質上存放的仍然是整數,因此可以和整數一樣參與各種計算

類型大小範圍說明char1-1281270127每個數字代表一個字元,但是不是所有的字元都是可列印字元

  • ASCII碼表,字元類型不需要記這個表格,需要的時候可以查表

img

  1. 浮點型/實型
  • 浮點型指的是小數類型,為什麼叫浮點型,參考浮點數二進位計算時候小數點的移動

類型大小範圍說明float4-3.4e383.4e38**單精度浮點型,精確到小數點67位double8-1.7e3081.7e308**雙精度浮點型,精確到小數點後面1617位

  • float記憶體占用更小,運算速度更高.double類型占用記憶體大,運算較慢,但是精度更高

變數定義和命名規範

  1. 變數和常量
  • C語言中將在代碼中不能變的量稱之為變數,不可變的量稱之為常量
  • 比如圓周率這種就是常量,關註人數就是變數
  1. 定義變數
  • 類型規定了數據存放和使用的方式,現在有一個數據如果要存放的話,就需要用到變數
     //定義變數的格式 類型 變數名;
     int a;
  • 上面代碼定義了一個int類型的變數a 這個變數可以在後面賦值,計算,或者顯示到屏幕上
  1. 命名規範
  • 只能由數字,下劃線,字母,美元符號組成
  • 不可以是數字開頭
  • 不可以和關鍵字衝突

有一些名字拿去做其他作用,比如int 代表整型,這些就稱之為關鍵字

  • 命名方式 駝峰命名法

每個變數名由若幹個單片語成,除了第一個單詞之外,其餘單詞首字母全部大寫.單詞可以是縮寫。比如 mciSendString

基本輸入輸出

  1. 輸入輸出函數
  • printf用於將指定的內容以特定格式輸出到屏幕
  • scanf用於獲取用戶輸入的內容
  1. 格式說明

格式占位符作用%d有符號10進位整型%c字元類型%f單精度浮點型%lf雙精度浮點型%s字元數組類型%o無符號8進位整型%x無符號16進位整型

  1. 輸出格式
  • printf("格式占位符",變數);
  1. 輸入格式
  • scanf("格式占位符",&變數);

分支

分支語句

C語言的分支結構主要有if和switch

  1. if
  • 基本格式
 if(條件) {
     //語句1
 } 
 else {
     //語句2;
 } 
 //如果條件滿足 執行語句1,如果條件不滿足 執行語句2
  • 需要註意的事情
  1. 條件可以用一個數字作為條件,判斷真假按照 0為假以非0為真的規則
  2. 寫條件的時候註意=和==是不同的運算符 不要弄混
  3. 如果條件比較複雜 建議拆成多句,if裡面的條件不宜太長,方便閱讀
  4. 在if後面不要加分號
  5. else部分如果不需要可以不寫
  6. 如果是if-else嵌套,比如
 if(條件1){
      語句1;
 }
 else if(條件2) {
      語句2;
 }
 …
 else {
      語句n;
 }
    • 當第一個條件不成立的時候才判斷條件2
    • if後面的{}中如果只有一個語句(用分號結尾的語句或者其他if語句都可以),那麼可以省略掉{},else並不是必要的,如果else的{}中沒有內容 可以不要else
  1. switch
  • 基本格式
 switch(變數) 
 { 
     case 情況1:
     語句1;
     break 
     case 情況2:
     語句2;
     break;
     //... 
     default:
     break;
 }
  • 註意事項
  1. sw itch的case後面只能接整型或者字元型的常量表達式,不可以是小數或者字元

  2. sw itch每個case後面都有一個break

  3. default語句如果不需要可以不要

  4. 對比

  • if適應於任何分支情況,三目運算符適合一些比較簡單的分支,switch適合可以一一列舉所有可能情況的時候
  • 如果是一個範圍的話用if比較容易表示,但是如果是單個單個能列舉的值,用switch比較簡介,比如游戲操作的wasd方向鍵,菜單的幾個功能都可以用switch

迴圈

img

迴圈作用

  • 多次執行的語句就可以使用迴圈

比如游戲的操作和貼圖,這些都是要多次執行的,就會用到迴圈

  • 分支只會執行一次,但是迴圈可能會執行多次(會搭配使用)

三大迴圈語句

  • while迴圈
  1. 基本格式
 while(條件) {
     語句; //迴圈{}中語句稱之為迴圈體 
 } 
 //執行順序 先判斷條件 條件滿足執行迴圈體,不滿足直接退出
  1. 說明

當條件滿足的時候執行迴圈體,執行之後再去判斷條件,條件不滿足的時候退出

     //列印ASCII碼表中的所有字元 
     int i=0; 
     while(i<128) { 
         printf("%c\t",i++);
     }
     //同一個代碼可以有多種不同的寫法 熟練使用其中一個迴圈就好了
  1. 註意事項
  • w hile迴圈不要加分號

  • w hile迴圈體只有一句的時候可以省略{} 但是不要省略

  • 如果條件滿足則會一直進行迴圈,不滿足就會退出迴圈,所以w hile可能一次都不執行

  • for迴圈

  1. 基本格式
 for(初始化1;條件2;自增自減3) { 
     迴圈體4; 
 } 
 //為了描述方便 給每個語句都加了一個編號 
 //執行順序 先執行初始化語句1,然後判斷條件2,條件成立執行迴圈體4,不成立跳出迴圈. 
 //迴圈體執行完畢之後,執行自增語句3 然後判斷條件 開始下一輪迴圈 
 //簡記 1243 243 243
  1. 說明

for迴圈類似w hile迴圈 同樣是先判斷然後執行迴圈體的,不過for的語法比較簡單並且相對於w hile更不易寫錯,所以可以先從for迴圈開始熟悉

  1. 註意事項
  • for迴圈中的兩個分號必不可少,其餘的部分都可以不要,但是分號必不可少

  • for迴圈外面不要加分號!!!! 畫重點 if w hile for一般都不要加分號

  • do while迴圈

  1. 基本格式
 do { 
     //迴圈體; 
 }while(條件); //;不能少
 //do while迴圈的特點是先執行迴圈體然後判斷條件,如果條件成立進行下一輪迴圈 
 //do while的迴圈體必定會執行一次
  1. 說明

do w hile迴圈條件放在後面,先執行然後判斷,如果條件不成立會退出,不然會繼續迴圈

  • 特別說明

    • 條件一直為真的迴圈稱之為死迴圈,常用的有w hile(1) 或者for(;
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 業務情景 客戶環境是系統A的1.0版本,開發環境是系統A的2.0版本。2.0版本對於資料庫有部分變更(主要是新增表和欄位,不涉及欄位刪除和變更)。這個時候需要在客戶環境安裝資料庫2.0(表結構、存儲過程都是用的2.0),但是數據要把1.0的同步過來。 實際操作 1、 表結構複製 右擊2.0版本的數據 ...
  • 來源:http://www.postgres.cn/docs/11/ 6.4. 從修改的行中返回數據 有時在修改行的操作過程中獲取數據很有用。INSERT、 UPDATE和DELETE命令都有一個支持這個的可選的 RETURNING子句。使用RETURNING 可以避免執行額外的資料庫查詢來收集數據 ...
  • skip-name-resolve IP address 'XX.XX.XX.XX' has been resolved to the host name 'XX.XX.XX.XX.ro.ovo.sc', which resembles IPv4-address itself. ...
  • SpringMVC 初始SpringMVC 在 Spring 的基本架構中,紅色圈起來的 Spring Web MVC ,也就是本系列的主角 SpringMVC,它是屬於Spring基本架構裡面的一個組成部分,屬於SpringFrameWork的後續產品,已經融合在Spring Web Flow裡面 ...
  • 來源:http://www.postgres.cn/docs/11/ 5.1. 表基礎 SQL並不保證表中行的順序。當一個表被讀取時,表中的行將以非特定順序出現,除非明確地指定需要排序。 嘗試移除一個不存在的表會引起錯誤。然而,在SQL腳本中在創建每個表之前無條件地嘗試移除它的做法是很常見的,即使發 ...
  • 本篇博客是Redis系列的第6篇,主要講解以下內容: 1. 資料庫數量 2. 切換目標資料庫 3. 設置鍵的過期時間 4. 移除鍵的過期時間 本系列的前5篇可以點擊以下鏈接查看: "Redis系列(一):Redis簡介及環境安裝" "Redis系列(二):Redis的5種數據結構及其常用命令" "R ...
  • DataHub 首先,阿裡雲也有一款名為DataHub的產品,是一個流式處理平臺,本文所述DataHub與其無關。 數據治理是大佬們最近談的一個火熱的話題。不管國家層面,還是企業層面現在對這個問題是越來越重視。數據治理要解決數據質量,數據管理,數據資產,數據安全等等。而數據治理的關鍵就在於 元數據管 ...
  • 表結構 student(StuId,StuName,StuAge,StuSex) 學生表 teacher(TId,Tname) 教師表 course(CId,Cname,C_TId) 課程表 sc(SId,S_CId,Score) 成績表 問題五:查詢沒學過“葉平”老師課的同學的學號、姓名 SELE ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...