国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C語言【編譯器、變量、輸入輸出有關的】

這篇具有很好參考價值的文章主要介紹了C語言【編譯器、變量、輸入輸出有關的】。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

C語言【編譯器、變量、輸入輸出有關的】

一些想到的【從編譯器到變量到輸入輸出有關的】的問題,有些是按自己理解寫的答,有些待解決。

  • C語言可以跨平臺,匯編不可以,編譯時C語言會根據不同系統翻譯成不同形式的匯編語言。

  • C語言中算數運算會在寄存器中運行,變量保存在堆或棧中。


  • 遺留問題: C語言變量名如何在匯編語言中表現的?


  • 一些C標準:

    C89 = C90 = ANSIC = 標準C

    C99 引入了一些新特性(如 單行注釋)

    C11 (2011年發(fā)行)

    ......

  • C語言、C語言標準、C編譯器 之間的聯系?

    C語言 是一個泛指。

    C語言標準 是一些權威機構(也許也有個人)定義的一些語法規(guī)范。

    C編譯器 是按照C語言標準將C語言代碼翻譯成機器可以識別的指令的程序。

    C編譯器比如 gcc、clang等。

    可以通過gcc或clang編譯C語言代碼時指定C標準,如下:

    gcc -std=c89 main.c -o main		# c89的"c"一定要小寫
    clang -std=c99 main.c -o main
    

    mingw和cygwin都是用于安裝C語言編譯器的跨平臺工具, cygwin是一個類Unix環(huán)境的模擬器 。


  • 遺留問題:makefile的編寫規(guī)則?make為什么可以運行makefile?在win上如何使用make??

  • 遺留問題:標準輸入輸出等函數是編譯器提供的嗎?它們屬不屬于編譯器的一部分?嘗試下載gcc或clang編譯器,查看不同編譯器之間庫函數有什么不同。?


  • main函數返回值返回到了哪里?-----操作系統。 有沒具體點的回答呢?


  • 待附圖:C語言的執(zhí)行過程??

    • 預處理。 .c 文件 ----> .i 文件。 .i 文件為解決了#(預處理)后的文件。

      gcc -E xxx.c -o xxx.i
      
    • 編譯。 .i 文件 ----> .s 文件。 .s文件為匯編代碼文件。

      gcc -S xxx.i -o xxx.s
      
    • 匯編。 .s 文件 ----> .o 文件 / .obj 文件。 .obj 為二進制文件。

      gcc -c xxx.s -o xxx.obj   # 或
      gcc -c xxx.s 	 		# 這樣默認輸出為 .o 文件
      		 				# .o文件是Linux下默認的二進制文件
      
    • 鏈接。 多個 .o 文件 或 .obj 文件 ----> .exe文件(或其他格式可執(zhí)行文件)

      gcc xxx.o -o xxx.exe	# 后面的-o xxx.exe可以不寫
      

  • 使用 scanf(...) 輸入數據時,輸入數據的格式要與 scanf(...) 中第一個參數的格式相同。且使用 scanf(...) 時不能加提示語,想要提示輸入的話,可以前面加 printf(...)

    // 格式之間是用逗號隔開,則輸入之間也用逗號隔開
    scanf("%d,%d,%d", &num1, &num2, &num3);
    // 格式之間是用空格隔開,則輸入之間也用空格隔開
    scanf("%d %d %d", &num1, &num2, &num3);
    
  • 逗號表達式和同時多個聲明并賦值使用逗號的區(qū)別??

    兩種根本不是一回事。

    int a=10, b=20, c, d=30; 	// 這就是連續(xù)聲明或聲明并賦值
    a = (10, b = 2*2, 5);				// 給b賦值4,并給a賦值5
    int x, y, z = (10, 20, 30);   // 只給z賦值30。 x、y只聲明一下。
    

  • 遺留問題:可不可以用"%d"輸出字符類型的數據?反過來呢?其他的格式和變量混亂輸出形式呢? 像"%d"這樣的占位符還有哪些,分別有什么作用??

    %d 表示十進制整數。其他問題待查 。


  • 問題:有哪些變量默認初始值為0?全局變量是嗎?數組呢?局部變量?......? 局部變量和靜態(tài)局部變量是隨機值,全局變量是默認為0或""。靜態(tài)局部變量的作用是有記憶功能,它被放在全局靜態(tài)區(qū),和全局變量在一個區(qū)。

  • vscode + gcc 時,C語言文件的路徑不能有中文存在。

  • C語言中的標識符是什么,有沒有長度限制,區(qū)不區(qū)分大小寫?

    程序中各種變量名、函數名、數組名、結構體名、枚舉類型名等。

    C語言標識符可以包含字母、數字、下劃線,但不能以數字開頭。

    沒有長度限制(也許有些編譯器或平臺會限制),但不建議寫太長。

    區(qū)分大小寫。

  • 記四個有點眼生的存儲類型關鍵字: auto、extern、register、static 分別有什么作用待查

  • 記幾個C99增加的關鍵字:inline、restrict、_Bool、 _Complex、Imaginary 分別有什么作用待查,似乎用處不是很廣泛

  • 記幾個C11增加的關鍵字:_Alignas、 _Alignof、 _Atomic、 Static_assert、 _Noreturn、 _Thread_local、 _Generic

  • 初步認識常量

    • 字面量常量。如1、2、3......

    • 標識符常量。

      第一種表示: #define 常量名 常量值 //預處理方式 ,一種替換,后面跟表達式時記得加括號,不加分號

      第二種表示: const 類型 常量名 = 常量值;

      枚舉常量 待學


  • 遺留問題:main函數中的參數 int argc, char const * argv[] 有什么含義?


  • C語言沒有乘方運算符,但可以使用math.h頭文件中的函數 pow(2, 3) 即表示2的3次方,返回double類型。


  • 遺留問題:C標準庫中的頭文件只是函數聲明的功能嗎?比如stdio.h有沒有對應的體文件?


  • 遺留問題:getchar()的具體細節(jié)?


  • 遺留問題:int i=1;? i++ + ++i; 和 ++i + i++; 的結果是多少?如何運算的?文章來源地址http://www.zghlxwxcb.cn/news/detail-746180.html

到了這里,關于C語言【編譯器、變量、輸入輸出有關的】的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 編譯原理課程設計--C語言編譯器

    編譯原理課程設計--C語言編譯器

    源程序1: 源程序1詞法分析結果: 與程序1語法分析結果(部分) 源程序1四元式: 源程序1優(yōu)化后的四元式: action-goto表(部分) 文件目錄: (1)掌握語義分析過程,即語法制導翻譯過程。 (2)在語法分析的LR分析程序中的基礎上添加程序,進行語義分析,生成源程序的四

    2024年02月08日
    瀏覽(30)
  • C語言編譯器(C語言編程軟件)

    對于當前主流桌面操作系統而言,可使用 Visual?C++、GCC?以及 LLVM Clang 這三大編譯器。 Visual C++(簡稱 MSVC)是由微軟開發(fā)的,只能用于 Windows 操作系統;GCC 和 LLVM Clang 除了可用于 Windows 操作系統之外,主要用于 Unix/Linux 操作系統。 像現在很多版本的 Linux 都默認使用 GCC 作為

    2024年02月03日
    瀏覽(23)
  • 鏈接文件學習(七):英飛凌MCU Tasking編譯器LSL鏈接文件解析 及代碼變量定位方法

    目錄 ? 1、Tasking的鏈接文件 1.1、DSRAM中的數據存放 1.2、PFlash中的代碼存放 1.3、LMU 1.4、PSRAM 1.5、UCB 2、代碼與變量定位

    2024年02月07日
    瀏覽(80)
  • 第一課-C 語言,IDE, 編譯器

    第一課-C 語言,IDE, 編譯器

    C/C++ 語言的優(yōu)勢: ?語法簡單結構緊湊; ?- 32個,9種控制語句 ?代碼書寫靈活; ?有豐富多樣的運算符;- 34個運算符 ?有豐富的數據結構; ?幾乎是現在計算機語言的鼻祖。 ?指令,指令集,程序 ? ?按是否強制類型分類: ?? ?強類型語言(必須指明變量類型) c c++ ??

    2023年04月08日
    瀏覽(19)
  • C語言編譯器之三,VC++

    C語言編譯器之三,VC++

    三、Visual C編譯器 ????????Microsoft Visual C++(簡稱Visual C++、MSVC、VS或VC)是微軟公司的免費C++編譯器與開發(fā)工具,具有集成開發(fā)環(huán)境(Visual Studio),可提供編輯C語言,C++以及C++/CLI等編程語言。在Windows系統中,Microsoft Visual C++的應用還是相當廣泛的。 ???????? 3.1、Vis

    2024年02月05日
    瀏覽(26)
  • Ubuntu 用gcc/CMakefile編譯器 編譯、運行c語言程序

    Ubuntu 用gcc/CMakefile編譯器 編譯、運行c語言程序

    目錄 一. 在Ubuntu系統下用c語言編寫一個簡單的輸出hello world 的程序,并編譯、運行。 1.1 gcc/g++簡介 1.2 c++程序輸出 Hello World: 1.3?c語言程序輸出 Hello World: 二. 編寫一個主程序文件main1.c和一個子程序文件sub1.c,實現函數間的調用 2.1? 編寫sub1.c 和main1.c 函數 2.1.1 編寫sub1.c函數

    2024年02月04日
    瀏覽(26)
  • python語言在線編譯器,python 在線編程工具

    python語言在線編譯器,python 在線編程工具

    大家好,小編來為大家解答以下問題,python語言在線編譯器,python 在線編程工具,今天讓我們一起來看看吧! 1.python在線編譯器的解決方案 方案一:vscode web版(vscode online) 大名鼎鼎的vscode 推出了web版,也就是說可以在網頁上進行編程了。 github地址:https://github.com/microsoft/v

    2024年04月26日
    瀏覽(26)
  • 【JavaScript】JavaScript 簡介 ④ ( 解釋型語言 和 編譯型語言 | 計算機程序本質 | 編譯器 和 解釋器 )

    【JavaScript】JavaScript 簡介 ④ ( 解釋型語言 和 編譯型語言 | 計算機程序本質 | 編譯器 和 解釋器 )

    計算機 的 程序 是在 CPU 上執(zhí)行的 , CPU 上執(zhí)行的只有匹配該 CPU 的機器碼指令 , 不同類型的 CPU 執(zhí)行的 機器碼指令 格式不同 , X86 和 ARM 執(zhí)行的 機器碼 指令格式是不同的 ; 機器碼指令 是 二進制的 , 所有在 計算機 上執(zhí)行的程序 , 都是 若干 二進制機器碼 的集合 ; 計算機 只能執(zhí)

    2024年03月22日
    瀏覽(32)
  • 嵌入式C語言自我修養(yǎng)《GNU C編譯器擴展語法》學習筆記

    嵌入式C語言自我修養(yǎng)《GNU C編譯器擴展語法》學習筆記

    目錄 一、C語言標準和編譯器 二、指定初始化 三、宏構造“利器”:語句表達式 四、typeof與container_of宏 五、零長度數組 六、屬性聲明:section? 七、屬性聲明:aligned? C語言標準的發(fā)展過程: ● KR C. ● ANSI C. ● C99. ● C11. 指定初始化結構體成員: ????????和數組類似,

    2024年02月08日
    瀏覽(24)
  • 【C語言&C++編譯器】VS2019離線安裝版,附詳細安裝步驟和安裝包

    【C語言&C++編譯器】VS2019離線安裝版,附詳細安裝步驟和安裝包

    網盤鏈接下載地址:鏈接:https://pan.baidu.com/s/1mj6ssEcyc1DBKTmRr_uoxw?pwd=2023 提取碼:2023 --來自百度網盤超級會員V1的分享 —BD網盤鏈接點擊跳轉 1.右鍵 VS2019.rar ,選擇解壓到 VS2019 2.打開 vs2019vs2019_offlin 找到 vs_setup.exe 并雙擊啟動 3.彈出界面選擇 繼續(xù) 4.在界面勾選以下如圖選項,注

    2024年02月11日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包