日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言从青铜到王者——基础知识总结

發(fā)布時間:2025/3/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言从青铜到王者——基础知识总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

關(guān)于C語言

C語言簡介

C 語言是一種通用的高級語言,最初是由丹尼斯·里奇在貝爾實驗室為開發(fā) UNIX 操作系統(tǒng)而設(shè)計的。C 語言最開始是于 1972 年在 DEC PDP-11 計算機上被首次實現(xiàn)。在 1978 年,布萊恩·柯林漢(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)制作了 C 的第一個公開可用的描述,現(xiàn)在被稱為 K&R 標準。UNIX 操作系統(tǒng),C編譯器,和幾乎所有的 UNIX 應(yīng)用程序都是用 C 語言編寫的。由于各種原因,C 語言現(xiàn)在已經(jīng)成為一種廣泛使用的專業(yè)語言。

C語言的特點

  • 易于學習。
  • 結(jié)構(gòu)化語言。
  • 它產(chǎn)生高效率的程序。
  • 它可以處理底層的活動。
  • 它可以在多種計算機平臺上編譯。

金無足赤,人無完人。C語言也有一些缺點,指針是C語言的靈魂,然而涉及指針的錯誤往往難以察覺。要享受用C語言自由編程的樂趣,就必須承擔更多的責任。缺點這塊點到為止,不然又要吐槽了,printf(“鋤禾日當午,學C真他媽苦😢”);

C語言的應(yīng)用范圍

C 語言最初是用于系統(tǒng)開發(fā)工作,特別是組成操作系統(tǒng)的程序。由于 C 語言所產(chǎn)生的代碼運行速度與匯編語言編寫的代碼運行速度幾乎一樣,所以采用 C 語言作為系統(tǒng)開發(fā)語言。下面列舉幾個使用 C 的實例:

  • 操作系統(tǒng)
  • 語言編譯器
  • 匯編器
  • 文本編輯器
  • 打印機
  • 網(wǎng)絡(luò)驅(qū)動器
  • 現(xiàn)代程序
  • 數(shù)據(jù)庫
  • 語言解釋器
  • 實體工具

第一個C語言程序

關(guān)于C語言的有點以及為什么我們要學習C語言這里就不多說了,下來我們直接進入今天的主題,編寫第一個C程序。

和學習其它語言一樣,先從Hello World開始

關(guān)于編程工具之前介紹了三個,這里就使用其中一個VS2019,如果還有疑問請看之前的文章。

代碼

#include<stdio.h>int main() { /*主函數(shù)*/printf("hello world!\n"); /*輸出hello world!*/return 0; /*返回*/ }

Ctrl+F5運行,運行結(jié)果如下:

入門的第一個程序HelloWorld已經(jīng)完成。
我們來分析一下上面這段代碼:
#include<stdio.h>為文件包含命令,而stdio.h是頭文件,它里面包含里一些程序中需要使用的基本元素,printf()就是其中一個。

下面定義了一個main()函數(shù),int為函數(shù)的返回值類型,利用printf()函數(shù)輸出了字符串"hello world",而"\n"是換行符,它在這里的作用是輸出"hello world"后換行。return 0表示返回。

代碼中"/*...*/"是注釋,它的內(nèi)容不參與程序運行。C語言中單行注釋也可以用"\\"。

下圖總結(jié)了組成C程序的幾個部分

該圖片出自

編寫C語言程序的7個步驟

為了讓大家對編程有大概的了解,這里將編寫C程序的過程分解成了7個步驟,當然這只是理想狀態(tài)下的,實際開發(fā)中會根據(jù)情況循環(huán)或者改進一些步驟。這里就不詳細的介紹每個步驟了,大家可以通過后續(xù)的文章慢慢理解這幾個步驟。

編程機制

我們從兩張圖來分別理解一下windows和unix系統(tǒng)中從源代碼到可執(zhí)行文件的過程

  • Windows
  • Unix

C語言基本算法

算法的基本特性

算法包含兩方面的內(nèi)容:算法設(shè)計和算法分析

算法設(shè)計其實就是針對某一特定類型的問題而設(shè)計的一個實現(xiàn)過程。算法有以下幾個特性:

  • 有窮性
  • 確定性
  • 可行性
  • 輸入
  • 輸出

也就是說我們在設(shè)計算法是的滿足上面所說的特性。當然算法也是有好有壞的,那么我們怎樣去衡量一個算法的優(yōu)劣呢?

算法分析其實就是在衡量一個算法的優(yōu)劣,通常會從一下幾個方面來分析:

  • 正確性
  • 可讀性
  • 健壯性
  • 時間復(fù)雜度和空間復(fù)雜度
  • 算法的表達方式

    在描述一個算法時通常使用的方法有:自然語言、流程圖、N-S圖等。

    自然語言

    自然語言這種表達方式通俗易懂,我們通過一個具體的實例了解一下。
    需求:任意輸入3個數(shù),求出其中的最小數(shù)。

    (1) 定義4個變量分別是a,b,c和min。

    (2) 輸入大小不同的三個數(shù)分別賦值給a,b,c。

    (3) 判斷a是否小于b,如果小于,則將a的值賦給min,否則將b的值賦給min。

    (4) 判斷min是否小于c,如果小于,則執(zhí)行(5),否則將c的值賦給min。

    (5) 輸出min。

    這種表達方式的好處就是簡單易懂,但是當遇到復(fù)雜的算法時自然語言就顯得不是很方便了。

    流程圖

    流程圖就是用一些圖框來代表各種不同性質(zhì)的操作,用流程線來指示算法的執(zhí)行方向。他的特點就是直觀形象,應(yīng)用很廣泛。
    下圖介紹了流程圖的符號以及含義

    流程圖有三種基本結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。

    • 順序結(jié)構(gòu):順序結(jié)構(gòu)就是簡單的線性結(jié)構(gòu)

    • 選擇結(jié)構(gòu):選擇結(jié)構(gòu)也稱為分支結(jié)構(gòu)

    • 循環(huán)結(jié)構(gòu):反復(fù)執(zhí)行一系列操作,知道條件不成立時終止。

    我們再把上面的需求用流程圖來表示一下

    N-S流程圖

    N-S流程圖是將全部的算法寫在一個矩形框內(nèi),省去了流程圖中的流程線。下面繼續(xù)看一個實例:
    需求:輸入一個數(shù),判別是否為素數(shù)。

    算法的基本特性和算法的表示介紹到就結(jié)束了。

    數(shù)據(jù)類型

    基本類型

    基本類型就是我們在使用C語言時最基礎(chǔ)的數(shù)據(jù)類型,包括整形(短整型,基本整型,長整型)、字符型、浮點型(單、雙精度)以及枚舉類型。

    構(gòu)造類型

    在編程的過程中只使用基本類型是遠遠不夠的,為了滿足需求,因此還要使用基本類型之外的類型,構(gòu)造類型就是其中的一種。構(gòu)造類型可以使用基本類型構(gòu)造出新的數(shù)據(jù)類型來滿足實際開發(fā)中的需求。構(gòu)造類型有3種形式:數(shù)組類型、結(jié)構(gòu)體類型、共用體類型。

    指針類型

    指針是C語言的精華所在,許多編程語言中都支持某種形式的指針,但最著名的是C語言。指針的特殊性在于它的值是一個內(nèi)存地址。關(guān)于指針后面我們會詳細說明。

    空類型

    空類型(void)的主要作用就是限定函數(shù)的返回和限定函數(shù)的參數(shù)。

    為了便于記憶,我將數(shù)據(jù)類型做了一個簡單的思維導(dǎo)圖,如下:

    常量

    這塊內(nèi)容就不在用過多的文字贅述了,從下面的思維導(dǎo)圖我們可以直觀的理解。

    關(guān)于符號常量我們來看一段簡單的代碼

    #include<stdio.h>#define PI 3.14/*定義符號常量*/int main() {double r=5.0;/*定義半徑*/double area;/*面積變量*/area = PI*r*r;/*計算面積*/printf("圓的面積是:%f\n",area);/*打印輸出*/return 0; }

    流程控制語句

    循環(huán)控制語句

    C語言有3種循環(huán)

    • for
    • while
    • do while

    while循環(huán)

    我們先來看下while循環(huán),流程圖如下:

    下來看個小示例

    do while循環(huán)

    流程圖如下:

    下來看個小示例

    兩個小示例的運行結(jié)果相同。

    for循環(huán)

    流程圖如下:

    for循環(huán)的執(zhí)行大致可分為4個步驟

    • 執(zhí)行表達式1,只執(zhí)行一次
    • 計算表示式2的值,看其是否為真(非零),如果為真就執(zhí)行循環(huán)體部分,否則直接退出,執(zhí)行for循環(huán)下面的語句
    • 執(zhí)行循環(huán)體
    • 計算表達式3的值,然后返回步驟2

    接下來看一個for循環(huán)的示例

    我們用兩個for循環(huán)嵌套實現(xiàn)了九九乘法表

    條件控制語句

    我們先來看個簡單的示例:

    #define _CRT_SECURE_NO_WARNINGS#include<stdio.h>int main() {int score;printf("請輸入學生的數(shù)學成績:");scanf("%d", &score);if (score < 60 && score >= 0){printf("該學生的數(shù)學成績類別為:差\n");}else if (score < 70 && score >= 60){printf("該學生的數(shù)學成績類別為:及格\n");}else if (score < 80 && score >= 70){printf("該學生的數(shù)學成績類別為:中\(zhòng)n");}else if (score < 90 && score >= 80){printf("該學生的數(shù)學成績類別為:良\n");}else if (score < 100 && score >= 90){printf("該學生的數(shù)學成績類別為:優(yōu)\n");}return 0; }


    這個示例中使用了關(guān)鍵字if、else if、else等關(guān)鍵字,即循環(huán)語句的關(guān)鍵字,我們來具體看下

    if語句流程圖如下

    if語句用來判定給定條件是否滿足,根據(jù)判斷結(jié)果決定是否執(zhí)行某個操作。if語句的使用形式如下:

    if else語句流程圖如下:

    多重if語句流程圖如下:

    這里不多解釋了,如有什么不懂可以將示例練習一遍好好琢磨一下,你會覺得So easy!

    控制語句示例

    求a,b,c三個數(shù)中的最大值?

    #define _CRT_SECURE_NO_WARNINGS #include<stdio.h>int main() {int a, b, c;int max1, max2;a = 8;b = 12;c = 10;if (a>b){if (a>c){max1 = a;}else{max1 = c;}}else{if (b>c){max1 = b;}else{max1 = c;}}//三元表達式max2 = a > b ? (a > c ? a : c) : (b > c ? b : c);printf("the max number is %d\n", max1);printf("the max number is %d\n", max2);return 0; }

    結(jié)果

    如果您覺得本篇文章對您有幫助就順手點個贊吧
    更多干貨內(nèi)容請查看我的個人公眾號:C語言中文社區(qū)。
    C語言中文社區(qū)】是一個C語言/C++視頻教程、學習筆記、電子書、計算機二級資料等專注于C語言/C++編程學習者的干貨知識分享平臺,精選深度文章,分享優(yōu)秀干貨類、技能類的學習資源,幫助學習中的你。

    總結(jié)

    以上是生活随笔為你收集整理的C语言从青铜到王者——基础知识总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: a级在线观看视频 | 91伦理| 色男人网| 久久久久99精品成人片我成大片 | 国产一区二区在线免费观看视频 | 波多野结衣视频网址 | 日本h在线| 午夜激情av在线 | 亲子乱对白乱都乱了 | 天降女子在线观看 | www.午夜| 国产精品VideoSex性欧美 | jizz18国产| 色屁屁一区二区三区视频 | 精品福利一区二区三区 | 亚洲视频导航 | 中文字幕免费视频 | 亚洲av无码一区二区三区网站 | 精品一区二区电影 | 波多野结衣福利 | 丰满人妻一区二区三区免费 | 欧美三级特黄 | 激情图片在线视频 | 久久久久久久久久久久久女国产乱 | 欧美亚洲另类小说 | 欧美视频第一区 | 久久精品无码av | 少妇激情一区二区三区视频 | 国产极品网站 | 超碰97自拍| 新中文字幕 | 老司机av网站 | 亚洲精品一区二区在线 | 丰腴饱满的极品熟妇 | 亚洲啪啪av | 国产成人福利视频 | 成人看的毛片 | 国产成人久久777777 | 粉嫩av渣男av蜜乳av | 中文字幕无码人妻少妇免费 | 精品一区二区亚洲 | 中国毛片在线观看 | 青青草日本 | 深夜成人福利 | 男女靠逼视频 | 性视频欧美 | 欧美一级特黄aaaaaa大片在线观看 | 大尺度做爰床戏呻吟舒畅 | 欧美人体一区二区三区 | 国产农村妇女精品 | 欧美在线播放视频 | 538任你躁在线精品免费 | 久草电影网站 | 色哟哟一区二区 | 日本美女黄色一级片 | 中文字幕在线观看网站 | 99精品视频网站 | 精品爆乳一区二区三区无码av | 最新超碰| 中文字幕一区二区人妻 | 中文字幕在线播放日韩 | 亚洲欧美国产另类 | 久久女人| 色网站视频 | 亚洲最大av | 少妇熟女高潮流白浆 | 婷婷九九 | 爱爱网站视频 | 在线免费黄色片 | 国产自产21区 | 男女日批在线观看 | 欧美色图第一页 | 少妇精品久久久久久久久久 | 国产欧美激情视频 | 亚洲天堂一区二区 | 日韩啊啊啊 | 亚洲AV无码国产精品国产剧情 | 国外成人性视频免费 | 97视频在线观看免费高清完整版在线观看 | 亚洲免费大全 | 国产成a人亚洲精v品在线观看 | 天天干天 | 男女洗澡互摸私密部位视频 | 日韩二区视频 | av天天操| 国产精品福利一区二区 | 亚洲精品在线播放视频 | 久久久久久久久久久97 | 大乳丰满人妻中文字幕日本 | 国产高清视频一区二区 | 伊人天天干| 国产精品毛片在线 | 一区二区三区视频观看 | 国产一二区在线观看 | 国产精品久久在线 | 亚欧激情 | 91精品综合久久久久久 | 四虎成人精品永久免费av九九 | 亚洲国产成人精品女人久久久 |