首页
/
每日頭條
/
生活
/
c語言學習的基礎知識
c語言學習的基礎知識
更新时间:2024-12-05 04:01:17

c語言學習的基礎知識?C語言大總結一、基礎:1、進制、位權、1字節等于8位(位是計算機的最小儲存單位,字節是計算機最小存儲單元)、十進制轉換其他進制:連除倒取餘,其他進制轉換十進制:按權求和2、單行注釋:// 多行注釋:/**/ (内容寫在量型号之間)3、數據類型:整形類型、浮點類型、字符類型整型類型:長整形(long 4/8)、整形(int 4)、短整型(short 2)浮點類型:單精度(float 4)、雙精度(double 8)字符類型:字符類型(char 1)4、常量:程序運行期間不能被改變的量常量 類型:整型常量、浮點型常量、字符型常量變量:實際上是儲存區域,也可以做表達式,是程序運 行期間可以被改變的量變量定義:由類型符号、變量名、初始值三部分組成(如:int a = 5;)變量命名規則:由數字、字母、下劃線組成的,但不能 以數字開頭,不能與關鍵字重複,不能重複使用變量名(同一作用域),見名知意5、賦值運算符:= 把右邊的值賦給左邊 優先級别最低算數運算符: , -, *, / 整型兩邊相除取整,除數不能為0,% 兩邊均為正數 , 自增運算符、- - 自減運算符:(它倆在前,先執行,它倆在後,後執行6、複合運算符: = (a = b; 相當于a = a b); -=; *=; /=; %=;(語法含義同上)7、表達式:由常量、變量與運算符組合而成(注:表達式會有返回值)8、輸出函數:printf();輸入函數 scanf()(注:以回車确定輸入結束,隻有大回車鍵才會結束;不要再格式串後面加’\n’字符,否則會抵消人工輸入的回車)轉化符:%c->char; %d->int; %sd->short; %ld->long;%f->float、double9、轉換格式控制:最少占4位:printf(“d”,12); //不足補0printf(“%4.2f”,1.2345); //保留小數點後兩位printf(“%-4d”,12); //左對齊\n回車符;\打印\;%%打印%;,我來為大家講解一下關于c語言學習的基礎知識?跟着小編一起來看一看吧!

c語言學習的基礎知識(C語言基礎知識大總結)1

c語言學習的基礎知識

C語言大總結一、基礎:1、進制、位權、1字節等于8位(位是計算機的最小儲存單位,字節是計算機最小存儲單元)、十進制轉換其他進制:連除倒取餘,其他進制轉換十進制:按權求和2、單行注釋:// 多行注釋:/**/ (内容寫在量型号之間)3、數據類型:整形類型、浮點類型、字符類型。整型類型:長整形(long 4/8)、整形(int 4)、短整型(short 2)浮點類型:單精度(float 4)、雙精度(double 8)字符類型:字符類型(char 1)4、常量:程序運行期間不能被改變的量。常量 類型:整型常量、浮點型常量、字符型常量變量:實際上是儲存區域,也可以做表達式,是程序運 行期間可以被改變的量。變量定義:由類型符号、變量名、初始值三部分組成(如:int a = 5;)變量命名規則:由數字、字母、下劃線組成的,但不能 以數字開頭,不能與關鍵字重複,不能重複使用變量名(同一作用域),見名知意。5、賦值運算符:= 把右邊的值賦給左邊 優先級别最低算數運算符: , -, *, / 整型兩邊相除取整,除數不能為0,% 兩邊均為正數 , 自增運算符、- - 自減運算符:(它倆在前,先執行,它倆在後,後執行。6、複合運算符: = (a = b; 相當于a = a b); -=; *=; /=; %=;(語法含義同上)7、表達式:由常量、變量與運算符組合而成(注:表達式會有返回值)8、輸出函數:printf();輸入函數 scanf()(注:以回車确定輸入結束,隻有大回車鍵才會結束;不要再格式串後面加’\n’字符,否則會抵消人工輸入的回車)。轉化符:%c->char; %d->int; %sd->short; %ld->long;%f->float、double。9、轉換格式控制:最少占4位:printf(“d”,12); //不足補0printf(“%4.2f”,1.2345); //保留小數點後兩位printf(“%-4d”,12); //左對齊\n回車符;\打印\;%%打印%;

二、運算符1、bool類型:隻有YES(1)和NO(0)兩個值;bool類型:由ture(非0數字)和flase(0)兩種值;BOOL和bool區别:1)、在C中隻有小布爾沒有大布爾;2)、在C和OC中小布爾中非零為真,零為假;3)、在OC中大布爾中1為真,0為假,其它數字原樣輸出,不做判斷條件2、關系運算符:用于比較運算,結果值有真假兩種,結果值由BOOL類型儲存

< >= <= == !=3、邏輯運算符:由邏輯運算符組成,結果也是非真即假&&(邏輯與):一假即假(有一邊為假則結果為假)||(邏輯或) :一真即真(有一邊為真則結果為真)!(邏輯非) :對表達式結果取反4、條件運算符:條件表達式?表達式1:表達式2如果條件為真,則執行表達式1。如果條件為假,則執行表達式2。5、枚舉類型:屬于構造類型,是一組由符号的整型常量,一一羅列所有狀态,羅列所有結果。enum枚舉名{枚舉值表}目的和作用:提高程序可讀性;将人能看懂的标示符與計算機能識别的數字建立對應關系

三、程序的三種結構:1、順序結構:按照語句順序執行2、分支結構:判斷條件在兩個語句序列中選擇,一旦進行判斷必須選擇其中一個。if語句:形式一:if (條件表達式) {語句;}形式二:if (條件表達式) {語句1;} else{語句2;}形式三:if (條件表達式1) {語句1;} else if條件表達式2){語句2;} else{語句3;}switch語句:多分支語句,通過判斷整形表達式的值,來判斷執行那個語句。常與case配合使用。break:跳出本層循環,如果外層還有循環的話,則執行外層循環,如果外層沒有循環,則執行循環後面的代碼。(常與if、switch連用)continue:跳出本次循環,跳出本次循環,遇到continue後,不管continue後面有無代碼,均不執行,提前結束當前循環,開啟下一次循環。(常與if連用)arc4random():返回随機數的函數。如果要一個随機數在【a, b】範圍内的整數。公式為:arc4random() % (b - a 1) a;

3、循環語句:在滿足一個條件的情況下反複執行一個語 句序列。while語句:while(條件表達式){語句;}條件表達式為真執行循環體,一旦為假立即停止執行。do…while…語句:do{語句;} while (條件表達式),先執行循環體,再判斷循環條件直到不滿足,才結束循環。for語句:for(循環變量初始化;循環條件;循環增量){語句;}循環條件為真才執行循環體。四、一維數組一維數組:屬于構造結構,是由相同類型的成員組成的一組數據。數組名:存儲不同數據類型的數組有各種對應的名稱(名稱可以随意起),但 要見名知意。元素:數組由多個成員組合而成,每個成員被稱為“數組的元素”

1、定義一個數組int array[3] = {1, 2, 3};int:聲明數組類型 array:數組名 [5]:數組長度(注:定義數組時,可以省略元素個數,因為編譯器會自動推斷出元素個數,但是“[]”堅決不能省略。) { } :給數組賦值,元素之間用逗号分隔開(注:1)定義數組時,可以不給每一個元素賦值,沒有賦值的元素系統會默認為0。2)定義數組時,給定了數組長度,首元素為0,其他元素不賦值,則默認為0,這樣五個元素均為0。3)大括号中最好賦上初始值,因為沒有賦值是系統會根據Xcode編譯環境來賦值,有時可能有,有時可能無,這樣就會出現定義不明,所以建議賦上值。)

2、數組的内存占用1)使用sizeof()函數求數組占字節數printf("array[3]數組所占字節數%ld", sizeof(array));結果:12 因為每個int類型占4個字節,有3個元素,所以共12個字節 。2)利用sizeof()函數求數組元素個數先求出數組所占字節數,再求出其中某個元素所占字節數,再相除就得出數組元素個數。int array[5] = {4, 6, 7, 2, 8};int a = (sizeof(array) / sizeof(array[1]));printf("a = %d\n", a); 結果為:a = 5

3、數組元素的訪問方式:數組名 下标1)int array[6] = {12, 21, 32, 23, 25};訪問array中的32這個元素:數組名:array,下标:從零開始計數,32在第3個位置上,所以32的下标是2。int temp = array[2];printf("temp = %d, array[2] = %d\n", temp, array[2]); 結果:32,32(注:可以直接訪問,打印出來,也可以把值賦給另一個相同類型的變量再打印出來)2)數組下标越界:數組下标超過了數組長度,訪問了不屬于數組的内存空間。在C中是沒有“數組下标越界保護”機制,所以在寫代碼時,要避免下标越界。3)修改數組元素

3.1)修改array中的第二個元素為62int array[6] = {12, 21, 32, 23, 25};array[1] = 62;printf("array[1] = %d\n", array[1]); 結果:array[1] = 623.2) 定義一個新的數組,array1,将array的元素,原樣賦給arrary1.int array[5] = {12, 21, 32, 23};int array1[5] = {0};for (int i = 0; i < 5; i ) {array1[i] = array[i]; // 數組的下标可以是常量,也可以是變量printf("array1[%d] = %d\n", i, array1[i]); // 數組的輸出需要for循環進行遍曆}// array1 = array; 數組中不能整體訪問數組元素,也不能整體賦值,而要逐一的遍曆數組元素,進行訪問、賦值、輸出。// 定義一個具有20個元素的數組,每個元素的取值範圍是【30,70】,求數組元素的和// 1.定義一個整型數組長度為20int array[20] = {0};// 2.開啟一個for循環,使用循環給數組元素賦值for (int i = 0; i < 20; i ) {// 2.1 生成【30,70】之間的數int temp = arc4random() % (70 - 30 1) 30;//2.2 将生成的随機數賦值給對應的元素array[i] = temp;printf("array[%d] = %d\n", i, array[i]);}// 3.求數組元素的和// 3.1定義一個保存和的變量int sum = 0;//3.2 使用for循環遍曆數組元素,同時将元素累加起來for (int i = 0; i < 20; i ) {// 3.2.1 獲取當前數組元素并将獲取到的元素加起來sum = sum array[i];

} printf("元素總和為%d\n", sum);

// 定義三個數組,将随機産生的數放入其中兩個數組中,将這兩個數組的值加起來放入第三個數組中// 1、 定義三個數組,并初始化。int array1[10] = {0};int array2[10] = {0};int array3[10] = {0};// 2、 使用一個for循環,給第一個數組和第二個數組賦值,将兩個數組個元素加起來,交給第三個元素。for (int i = 0; i < 10; i ) {// 2.1、 分别把生成的随機數賦給兩個數組array1[i] = arc4random() % (40 - 20 1) 20;array2[i] = arc4random() % (40 - 20 1) 20;// 2.2、兩數組進行相加array3[i] = array1[i] array2[i];// 3、 打印驗證結果是否正确printf("array1[%d] = %d, array2[%d] = %d, array3[%d] = %d\n", i, array1[i], i,array2[i], i,array3[i]);}

4、冒泡排序

int array[5] = {12, 45, 23, 42, 56};//趟數 = 元素個數 - 1;每趟比較的次數 = 元素個數 - 當前的趟數//兩層for循環,外層叢植比較趟數、内層控制比較次數//趟數for (int j = 0; j < 5 - 1; j ) {//次數for (int k = 0; k < 5 - (j 1); k ) {if (array[k] > array[k 1]){ //因為每趟比較都要從下标為0開始,j在每次從外層循環進入内層時,都要被初始化為0。因為每次比較,下标都要加一,j在每次内層循環時,也會加一,所以,在這裡是用j做下标是沒有問題的。//滿足交換條件,開始交換位置。//1.定義一個臨時變量int temp = array[k]; 6array[k] = array[k 1];array[k 1] = temp;}}}for (int i = 0; i < 5; i ) {printf("%d ", array[i]);}

5、字符數組字符數組:保存字符的數組就是字符數組。有’\0’結束标識的字符數組也稱為字符串。定義一個字符數組:聲明類型、數組名、數組長度、賦初值char char_Array[5] = {'h', 'e', 'l', 'l', ‘o’};//每個字符占一個字節,數組長度是5,所以數組占5*1個字節的内存。char char_Array[5] = {'h', 'e', 'l', 'l', 'o', '\0'};和char char_Array[5] =“hello”;是同一個意思都便是定義字符串hello。字符串和字符數組的區别:如果字符數組最後一個字符末尾沒有‘\0’,則是一個字符數組如果字符數組最後一個字符末尾有‘\0’,則是這個字符數組就是字符串。字符串操作函數strlen():返回字符串的有效字符個數strcpy():字符串拷貝函數:把第二個參數的值拷貝給第一個參數strcat() 字符串拼接:把第二個參數的值,拼接到第一個參數的後面strcmp() 字符串比較:第一個參數大于第二個參數返回一個正整數,第一個參數小于第二個參數,返回一個負整數,兩個參數相等,返回零。

五、函數1、函數:完成某一功能的代碼段。函數名:給這段代碼取一個名字,以後就可以通過這個名字來代替這段代碼,遵守變量名的命名法則。函數參數:有的函數在完成某一任務時需要的材料,我們把在完成任務所需的材料叫函數的參數。在被調函數中,參數叫“形參”,在主調函數中,參數叫“實參”。函數參數傳遞:将實參的值拷貝一份到形參變量的空間中,在被調用函數中操作的參數是新開辟的内存的數值,和實參沒有關系。參數列表:如果沒有參數,可以用void修飾,也可以什麼都不寫,但是小括号不能省略。函數的返回值:有的函數在完成任務之後,需要把任務結果返回給主調函數,就可以通過return語句來将值返回。注意:return隻能返回一個值,同時不能返回數組。return:return标志着函數的結束,如果return後邊有數值,則将這個數值交給主調函數。當return隻負責結束函數執行時,可以省略return。return後⾯的語句不再執行。函數定義:一般定義在main函數前,函數會遭遇嵌套定義。返回值類型 函數名 (參數列表) {函數實現……return 返回值;}函數的調用:必須要先定義出來這個函數,定義之後才能調用函數調用方式:函數名 參數列表函數類型:無返無參,無返有參,有返無參,有返有參返回值類型:如果無返回值,必須要使用void修飾符

2、.h和.m文件1)如果使用多個文件來管理定義函數時,函數的聲明要放在.h文件中,函數定義在.m文件中。2)由于函數的聲明和定義在其他文件中,所以想使用該函數,必須先引入聲明部分,也就是.h文件

import"文件名.h" 把這個放在 主函數和系統頭文件之間

3) 如果函數定義在主調函數(main)函數之前,函數的聲明可以省略,因為在編譯時,編譯到主調函數時,已經知道該函數被調函數的意義,所以不會出現異常。如果函數定義在主調函數(main)函數之後,務必要在main函數之前對函數進行聲明。4)聲明的意義在于:告訴系統,後面将會出現一個該類型的函數。一個完整的自定義函數,應該包括:函數聲明、函數定義、函數調用,共三部分。5)函數聲明的方法:将函數的“返回值類型 函數名 形參列表 ;”寫在導入頭文件語句下面,就是一個函數聲明。

3、函數的嵌套調用1)函數可以嵌套調用:在一個函數中,調用另一個函數完成某項功能,這就是函數的嵌套調用。函數可以嵌套調用,但是函數不可以嵌套定義。2)函數不可以嵌套定義:在定義一個函數時,又定義另一個函數,就叫函數的嵌套定義,這種行為是不允許的。

4、函數的遞歸調用函數遞歸時一定要有出口,否則會造成程序遞歸環路(死遞歸),那麼程序一定會崩潰。遞歸調用:自己調用自己完成某項功能。

5、變量的作用域// 局部變量:隻在當前作用域中起效// 全局變量:不屬于任何一個作用域的變量就是全局變量,全局變量可以在當前文件中任何一個地方被訪問到(從創建的位置開始,一直到文件結束)// 如何确定作用域?使用{}來确定作用域,一對大括号,就确定了一個作用域。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
土木工程專業值得讀嗎
土木工程專業值得讀嗎
馬上又是迎來了一年一度的高考季,土木工程專業依舊是以持之以恒的“高投入,無回報”的核心硬實力再次榮登“臭名昭著”排行榜首,然而每一年都不例外,仍然有一批又一批的勇士以及年輕人以不信邪的姿态披荊斬棘地頂住了一波又一波的勸退,奮不顧身的躍入建築...
2024-12-05
地闆精油十大排名
地闆精油十大排名
時下精油因其純天然的植物精華而廣受人們的喜愛。但許多人認為,隻有國外的精油才是好的精油,殊不知,國内也有品質純正的精油。由于精油品牌衆多,這邊收集了淘寶熱賣的國内十大精油品牌與您分享。1、佳而美精油佳而美/CAREMI,PBA旗下的專業、純...
2024-12-05
家裡裝修鋪木地闆好還是瓷磚好
家裡裝修鋪木地闆好還是瓷磚好
鋪木地闆or貼地磚?——這是很多人在裝修時都會糾結的一個問題!關于木地闆與地磚的選擇,需要從耐用、舒适度、打理衛生、家居環境的環保、裝修風格搭配、否則裝地暖、空間功能等多方面的因素來考慮。1、裝修要耐用:地磚好如果從耐用的角度來選,地磚與木...
2024-12-05
污水管網的閉水試驗
污水管網的閉水試驗
本報訊(記者李成敏)日前,記者從區城市建設中心了解到,為保障污水管網建設質量,我區采取機器人内窺影像檢測方式,開展污水管道檢測工作。這種檢測方式讓管道檢修人員不用親臨排水管做“土撥鼠”,照樣能掌握排水管的“病情”,并根據“病情”對症下藥,切...
2024-12-05
測定氧氣含量時集氣瓶中水的作用
測定氧氣含量時集氣瓶中水的作用
根據gb/t205-2007《密閉空間作業職業危害防護規範》中明确規範了進行密閉空間作業時正常氧含量為18~22%,如果在氧氣含量低于18%的密閉空間中作業,會導緻作業人員缺氧、窒息,發生事故。因此進入密閉容器前,必須對密閉容器的含氧量及可...
2024-12-05
Copyright 2023-2024 - www.tftnews.com All Rights Reserved