C語言學習筆記(二)

C語言學習

學習筆記(一)
學習筆記(二)


文章目錄

  • C語言學習
  • 一、C語言中的數據類型
    • 進制
      • 二進制
      • 八進制
      • 十六進制
          • 進制轉換表
    • 單位換算
      • 尋址
    • 數據類型
      • 基本類型
        • 整數類型
        • 整數的有符號和無符號
        • 實數類型
        • 字符型
      • 構造類型
      • 指針類型
      • 空類型
        • 總結
    • 常量
        • 直接常量
        • 符號常量
          • 轉義符
        • 符號常量
  • 二、Hello Word
    • 1.環境
    • 2.開始
      • 2.1新建文件
      • 2.2 輸入以下代碼
      • 2.3 編譯
          • 2.4 連接、執行
  • 風格
  • 總結


一、C語言中的數據類型

進制

二進制、八進制、十六進制

二進制

由0和1一共兩個字符來表示,例如(0110)2 = (6)10
規則:逢二進一

八進制

由0~7一共八個字符來表示,例如(102)8 = (66)10
規則:逢八進一

十六進制

由0~9和A~F一共16個字符表示,例如(29A)16 = (666)10
規則:逢十六進一

進制轉換表

在這里插入圖片描述

單位換算

1字節 = 8位
1K字節 = 1024字節 = 210字節
1M字節 = 1024K字節 = 1024 x 1024字節 = 220字節
1G字節 = 1024M字節 = 1024 x 1024 x 1024字節 = 230字節

尋址

C語言采用了 起始位置+數據長度的方式訪問制定內存的數據

數據類型

數據類型
構造類型
基本類型
指針類型
空類型void
字符類char
數值類型
枚舉類enum
整形
實型
短整型short
整型int
長整型long
單精度float
雙精度double

基本類型

無法在分解的類型

整數類型

短整型、整型、長整型

名稱類型位數范圍
短整型short16位 2個字節(-2^15 ~ 2^15-1)
整型int32位 4個字節(-2^31 ~ 2^31-1)
長整型long32位 4個字節-2^31 ~ 2^31-1)
整數的有符號和無符號

最高位用來表示符號位,0:+ 1:-

實數類型

單精度、雙精度

字符型

例如 a、b、c、A、B、C等

構造類型

可以用基本類型來構造,可以包含多個"成員"或"元素",每個"成員"既可以是基本類型,也可以是構造類型

指針類型

指向數據的存儲地址

空類型

表示沒有類型

總結

由[ ] 包裹的為可選,即[ ] 包裹的可省略

在這里插入圖片描述>

常量

直接常量、符號常量
直接出現在計算機指令中的數值

直接常量

常數
整形常量、實型常量、字符常量

符號常量

帶有符號的常量

轉義符

在這里插入圖片描述

符號常量

編輯:編寫代碼、制作C語言的源文件
編譯:是由編譯程序將C語言源文件轉換成二進制中間文件(生成.obj和.exe文件)
連接:將編譯中生成的中間文件組合成二進制可執知行文件,這一步會對文件之間的關聯做檢查,如果出錯,將不會生成可執行文件,也就無法執行
執行:運行可執行文件

二、Hello Word

1.環境

Ubuntu 64位
Sublime Text

2.開始

2.1新建文件

在桌面新建文件夾,用Sublime Text 打開,新建文件
在這里插入圖片描述

2.2 輸入以下代碼

#include <stdio.h>void main(){printf("Hello Word\n");return;
}

2.3 編譯

打開終端、進入到文件所在文件夾,執行命令

gcc test1.c -o test1

在這里插入圖片描述

2.4 連接、執行

./test

在這里插入圖片描述

可以在命令行看到已經輸出 Hello Word


風格

局部變量用小寫字母
全局變量用大寫字母
函數名為動作性的結構名
使用具有描述意義的變量名或函數名
代碼縮進要適當
變量名不是越長與好,盡量簡潔而不失優雅

總結

初步學習了c語言的一些發展史、特點,四大運行過程,編寫了一個Hello Word程序,并成功執行。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/713567.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/713567.shtml
英文地址,請注明出處:http://en.pswp.cn/news/713567.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python并發編程:多線程-GIL全局解釋器鎖

一 引子 在Cpython解釋器中&#xff0c;同一個進程下開啟的多線程&#xff0c;同一時刻只能有一個線程執行&#xff0c;無法利用多核優勢首先&#xff1a;需要明確的一點是GIL并不是Python的特性&#xff0c;它是在實現Python解析器(CPython)時所引入的一個概念。就好比c是一套…

協議(網絡協議)

HTTP/HTTPS 協議 HTTP 實際上是個縮寫&#xff0c;英文全稱是&#xff1a;Hyper Text Transfer Protocol &#xff08;超文本傳輸協議&#xff09;。 最常用的網頁&#xff08;也叫web頁&#xff09;就是一種超文本的具體表現形式。HTTPS &#xff08;全稱&#xff1a;Hyper …

美團-放水果

題目&#xff1a; 放水果 把M個相同的水果放在N個同樣的盤子里&#xff0c;允許有的盤子空著不放&#xff0c;問不同的放法數K是多少&#xff1f;請注意&#xff0c;5&#xff0c;1&#xff0c;1和1&#xff0c;5&#xff0c;1 是同一種放法。輸入描述 第一行是測試數據的數目…

【Spring】19 @Autowired注解使用詳解

文章目錄 構造函數注入Setter方法注入字段注入數組和集合注入特殊情況處理特殊接口類型的注入異常處理結語 Spring 框架的 Autowired 注解是實現依賴注入的一種強大而靈活的方式。在本文中&#xff0c;我們將介紹 Autowired 注解的多種用法&#xff0c;包括構造函數、setter方法…

ICASSP2024 | ICMC-ASR 車載多通道語音識別挑戰賽總結

為促進駕駛場景中語音處理和識別研究&#xff0c;在ISCSLP 2022上成功舉辦智能駕駛座艙語音識別挑戰 (ICSRC)的基礎上&#xff0c;西工大音頻語音與語言處理研究組 (ASLPNPU)聯合理想汽車、希爾貝殼、WeNet社區、字節、微軟、天津大學、南洋理工大學以及中國信息通信研究院等多…

EMO在哪體驗?阿里對口型視頻生成工具EMO下載地址?阿里巴巴新模型EMO的技術原理

這幾天&#xff0c;阿里的對口型視頻生成工具EMO火了。根據官方宣傳&#xff0c;EMO只需要上傳一張圖片和一段音頻就可以一鍵生成對口型視頻&#xff0c;而且視頻中的嘴型還可以與聲音匹配。這項技術支持多語言、對話、唱歌以及快速語速的適配&#xff0c;但也可能成為制造虛假…

pip降級在pycharm中

PyCharm依賴于"–build-dir"參數安裝第三方庫&#xff0c;但該參數在最新的23.0版pip中已刪除 解決辦法就是降級pip&#xff0c;PyCharm中選擇File&#xff0c;找到編譯器&#xff0c;點擊pip&#xff0c;勾選對應版本即可 或者在cmd中執行運行python -m pip install…

基于centos的linux上docker安裝,及mysql、redis等應用在docker容器中的安裝

Docker環境安裝 安裝yum-utils&#xff1a; yum install ‐y yum‐utils device‐mapper‐persistent‐data lvm2為yum源添加docker倉庫位置&#xff1a; yum‐config‐manager ‐‐add‐repo https://download.docker.com/linux/centos/docker‐ce.repo如果上面執行命令后…

【matlab】matlab隨機函數-rand

matlab中rand相關的隨機函數包括rand(),randn(),randi()等。相關用法如下&#xff1a; 1&#xff0c;rand(m,n) 含義&#xff1a;生成0-1間均勻分布的隨機矩陣(m行&#xff0c;n列)&#xff0c;如果mn&#xff0c;則可簡寫為rand(m) >> rand(1) ans 0.8147 ----------…

Linux系統中的高級多線程編程技術

在Linux系統中&#xff0c;多線程編程是一種常見的并發編程模型&#xff0c;通過利用多線程可以實現程序的并發執行&#xff0c;提高系統的性能和響應速度。在Linux系統中&#xff0c;開發人員通常使用 pthread 庫來進行多線程編程&#xff0c;同時需要掌握線程同步技術以避免并…

JVM(4)

垃圾回收問題 垃圾回收算法 通過之前的學習我們可以將死亡對象標記出來了,標記出來后我們就可以進行垃圾回收操作了,在正式學習垃圾處理器之前,我們先來看一下垃圾回收器使用的幾種算法. 標記-清除算法 "標記-清除"算法是基礎的收集算法.算法分為"標記"…

「Vue3系列」Vue3指令

文章目錄 一、Vue3 指令二、注冊-自定義指令三、常見自定義指令1. 聚焦指令&#xff08;v-focus&#xff09;2. 高亮指令&#xff08;v-highlight&#xff09;3. 防抖指令&#xff08;v-debounce&#xff09;4. 限制輸入指令&#xff08;v-limit&#xff09;使用注意事項 四、相…

WPF中如何設置自定義控件

1.圓角按鈕的設置&#xff1a; 眾所周知在WPF中自帶有提示信息&#xff0c;當我問創建Button時&#xff0c;點擊空格出現如下可選設置 帶有小扳手&#x1f527;圖標為相應的屬性&#xff0c;如果Button有CornerRadius&#xff08;角半徑&#xff09;屬性就能夠直接設置Button實…

33. 【Linux教程】Linux 用戶組

前面小節介紹了 Linux 用戶相關的增刪改查&#xff0c;本小節介紹 Linux 用戶組&#xff0c;Linux 系統中采取了一種安全機制&#xff08;即用戶組&#xff09;&#xff0c;用戶組可以允許多個 Linux 用戶共享同一種權限。 1. 用戶組介紹 Linux 是多任務多用戶的操作系統&…

鴻蒙Harmony應用開發—ArkTS聲明式開發(自定義事件分發)

ArkUI在處理觸屏事件時&#xff0c;會在觸屏事件觸發前進行按壓點和組件區域的觸摸測試&#xff0c;來收集需要響應觸屏事件的組件&#xff0c;再基于觸摸測試結果分發相應的觸屏事件。在父節點&#xff0c;開發者可以通過onChildTouchTest決定如何讓子節點去做觸摸測試&#x…

【AI Agent系列】【MetaGPT多智能體學習】5. 多智能體案例拆解 - 基于MetaGPT的智能體辯論(附完整代碼)

本系列文章跟隨《MetaGPT多智能體課程》&#xff08;https://github.com/datawhalechina/hugging-multi-agent&#xff09;&#xff0c;深入理解并實踐多智能體系統的開發。 本文為該課程的第四章&#xff08;多智能體開發&#xff09;的第三篇筆記。主要是對課程剛開始環境搭…

Linux系統——Shell腳本——一鍵安裝LNMP

#!/bin/bash #安裝nginx echo "安裝nginx服務" wget http://nginx.org/download/nginx-1.11.4.tar.gz &>/dev/null if [ $? -eq 0 ] thenecho "nginx-1.11.4安裝包下載完成"echo "--開始安裝必要的依賴文件--"yum install -y gcc gcc-c…

python中map函數

map(str, path)&#xff1a; map函數會將path中的每一個元素傳遞給str函數&#xff0c;從而將它們轉換為字符串。 如果path是一個數字列表&#xff0c;例如[1, 2, 3]&#xff0c;那么map(str, path)將返回[1, 2, 3]。 在寫二叉樹時用到map給樹節點進行str轉換是錯的。 map(s…

xsslabs第五關

看一下源碼 <!DOCTYPE html><!--STATUS OK--><html> <head> <meta http-equiv"content-type" content"text/html;charsetutf-8"> <script> window.alert function() { confirm("完成的不錯&#xff01…

MATLAB知識點:條件判斷 if-elseif-else-end語句

?講解視頻&#xff1a;可以在bilibili搜索《MATLAB教程新手入門篇——數學建模清風主講》。? MATLAB教程新手入門篇&#xff08;數學建模清風主講&#xff0c;適合零基礎同學觀看&#xff09;_嗶哩嗶哩_bilibili 節選自?第4章&#xff1a;MATLAB程序流程控制 if、elseif、…