c 總結

C-總結

?
?

?

#pragma mark -?第一章:C基礎

void?func1();

void?func1()

{

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????int?a = 030;????????//?以0開頭得數是八進制的數,計算的時候要換算成10進制進行計算

????int?b = a * 10;

????printf("%d", b);????//?此時打印出來的結果是240

????

????

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????//?注釋的嵌套問題

????// 1.?單行注釋可以嵌套單行注釋

????// 2.?單行注釋可以嵌套多行注釋

????// 3.?多行注釋可以嵌套單行注釋

????// 4.?多行注釋不可以嵌套多行注釋(注意項)

????

????

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????int?c = 10;

????c++;

????++c;

????//?注意遞增、遞減運算符在前在后的兩種情況,一種是返回新值,一種是返回舊值,還需要注意,不管是返回新值還是返回舊值,運算完之后,c的值都會發生改變

}

?

?

#pragma mark -?第二章:分支結構

void?func2();

void?func2()

{

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????int?a = 10, b = 20;

????BOOL?result = (a++ > 100 && b++ > 20);

????printf("result = %d a = %d b = %d\n", result, a, b);

????//?結果如下,注意?-短路-?情況,邏輯或‘||’也是一樣的

????// result = 0 a = 11 b = 20

????// '&&':一假即假,全真則真

????// '||':一真即真,全假則假

????

????

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????enum?Season {

????????spring,

????????summer = 4,

????????autumn,

????????winter

????};

????printf("autumn = %d",?autumn);

????//?結果: 需要注意的是,枚舉變量的值是上一個值?+1

????// autumn = 5

}

?

?

?

#pragma mark -?第三章:循環結構

void?func3();

void?func3()

{

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????//?隨機數公式:隨機出范圍在a~b之間的隨機數:arc4random() % (b - a + 1) + a;

????int?a = 10, b = 100;

????int?random =?arc4random() % (b - a + 1) + a;

????printf("random = %d\n", random);

????

????

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????// break;?關鍵字,跳出本層循環,后面的東西全都不再執行

????// continue;?關鍵字,跳出本次循環,本次循環后面的東西不再執行,下一次繼續執行

????

????

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????for?(; ; ) {

????????printf("for循環中的任何條件都可以缺失,只是這種寫法會造成死循環\n");

????}

}

?

?

#pragma mark -?第四章:數組

void?func4();

void?func4()

{

????

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????int?a[5] = { 2, 7, 4, 3, 6 };

????int?b[5] = { 2, 7, 4 };

????int?c[5] = { 0 };

????int?d[]??= { 2, 7, 4, 3, 6 };

????//?注意這些的區別,個數不寫的話會自動計算,寫了個數不能超,不寫的默認是0

????

????

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????int?count = 10;

????// int arr[count] = {0}; //?注意,這種寫法是錯誤的,變量不可以放在數組定義的中括號中,可以是常量和宏定義

????int?arr[10] = {0};

#define kArrayCount?10

????int?arr2[kArrayCount] = {0};

????

????

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????//?系統不會檢測數組下標是否越界,所以我們程序員一定要注意數組下標越界的問題

????//?數組是一個整體,不能直接參加運算,只能對單個元素進行處理,通常用到數組的地方都會用到循環

????

????

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????//?冒泡排序寫法

????int?array[] = {10, 23, 53, 123, 3, 53, 23, 123, 53};

????int?arrayCount =?sizeof(array) /?sizeof(int);

????//?雙層循環

????for?(int?i = 0; i < arrayCount - 1; i++) {

????????for?(int?j = 0; j < arrayCount - 1 - i; j++) {

????????????if?(array[j] > array[j + 1]) {

????????????????int?temp = array[j];

????????????????array[j] = array[j + 1];

????????????????array[j + 1] = temp;

????????????}

????????}

????}

????

????

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????//?字符數組兩種寫法:

????char?str1[] = {'i', 'P', 'h', 'o', 'n', 'e'};

????char?str2[] =?"iPhone";

????//?字符串默認使用?'\0'?作為結束標示,使用雙引號的方式,自帶?'\0' ,?使用數組的方式,需要手動添加?'\0'?才可以成為字符串

}

?

?

#pragma mark -?第六章:函數

void?func6();

void?func6()

{

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????//?在函數調用的時候,只能調用上面的函數,不能去調用下面的函數,如果想要調用下面的函數,需要在上面進行聲明

????//?函數可以嵌套調用,但是函數不可以嵌套定義

????

????

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????//?函數的形參:出現在函數定義中的變量,值是從實參拷貝過來得

????//?函數的實參:在函數調用的時候傳遞給函數的,可以通過指針的方式修改實參的值

????

????

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????//?普通變量作為參數的時候,修改形參的值,實參的值不會發生變化

????//?當數組作為參數的時候,修改形參的值,實參的值會跟著發生變化,因為,數組作為參數時候,傳遞是的數組的首地址,操作的是同一塊內存區域

}

?

?

#pragma mark -?第七章:結構體

void?func7();

void?func7()

{

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????//?定義類型

????typedef struct?{

????????char?name[30];

????????int?age;

????????float?score;

????} Student;

????

????//?創建變量

????Student?stu = {"lidaze", 18, 100.0f};

????

????//?訪問成員變量,使用?‘.’?的方式訪問

????printf("name = %s age = %d score = %.2f\n", stu.name, stu.age, stu.score);

????

????

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????//?結構體是可以嵌套的

????//?訪問的時候,使用?'.'?依次找到實例變量進行操作

????

????

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????//?結構體變量可以直接賦值

????//?我們可以通過把數組放在結構體中,實現數組的直接運算

????

????

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????//?結構體內存占用

????//??以最大成員變量類型所占空間為分配單位

????//?按結構體成員聲明順序自上而下分配

????//?注:分配空間不足以存儲成員變量時,分配新的空間單位

}

?

?

#pragma mark -?第八章:指針

void?func8();

void?func8()

{

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????//?指針的算術運算

????int?a = 10;

????int?*p = &a;

????p++;

????p--;

????//?指針的運算是移動一個單位的長度,這個長度到底是多少個字節,取決于指針的類型

????

????

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????// '*'?的作用:

????//?在定義指針中,‘*’?起到告訴編譯器,要聲明的是一個指針

????//?在指針的使用過程中,使用‘*’,此時‘*’是取值運算符,根絕內存地址,拿出這空間內得內容

????

????

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????//?指針與數組

????int?array[] = {123, 42, 52, 5, 32, 535, 35, 343};

????int?*p1 = array;

????//?數組名代表數組的首地址,用指針指向數組的時候,直接把數組名賦給指針變量即可,不需要使用‘&’符號

????//?數組名和指針的使用方式一樣

????

????

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????//?指針與結構體

????

????

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????//?指針與結構體

????

????

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????//?詳細內容見:http://blog.sina.com.cn/s/blog_9c2363ad0102uxlw.html

}

?

?

?

#pragma mark -?第九章:結構體指針

void?func9();

void?func9()

{

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????typedef struct?{

????????char?name[20];

????????int?age;

????} Student;

????

????Student?stu = {"lidaze", 18};

????

????//?指針指向結構體變量,類型需要相同

????Student?*p = &stu;

????

????//?使用指針訪問結構體成員,很特殊,使用?'->'

????printf("name = %s age = %d\n", p->name, p->age);

????

????

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????//?宏定義

#define SUM(a, b) ((a) + (b))

????//?使用宏定義的時候需要注意,尤其是帶參數的宏,最好把每個參數和最外層都加上小括號,防止出錯?

}

?

?

#pragma mark -?第十章:動態內存分配

void?func10();

void?func10()

{

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????//?內存共分為5個區:

????//?棧區

????//?堆區

????//?靜態區(全局區)

????//?常量區

????//?代碼區

????

????

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????//?堆內存的管理需要我們手動來管理

????int?*p =?malloc(sizeof(int));?//?分配一塊空間

????*p = 123;

????printf("p = %d\n", *p);

????free(p);?//?使用完成之后需要使用

????// free(p); //?不允許過渡釋放,同時也不允許不釋放,會造成內存泄露

????

????//?開辟內存空間的同時,會把每一個字節清零,效率低,耗費時間,?

????int?*p1 =?calloc(4,?sizeof(int));

????

????//?重新分配空間

????p1 =?realloc(p1,?sizeof(int) * 10);

????

????free(p1);

}

?

?

#pragma mark -?第十一章:函數指針

void?func11();

void?func11()

{

????// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????//?函數指針:即是指向函數的指針

????//?函數指針的提取:返回值類型?(*) (參數類型)

????// void (*) ():??函數void func11()的類型

????//?使用函數類型的時候太麻煩,給函數類型起個別名

????typedef?void?(*FuncPoint) ();

????

????//?使用指針,指向函數

????FuncPoint?p =?func4;

????

????//?普通調用函數

????func4();

????//?使用指針調用函數

????p();

????

}

?

?

?

#pragma mark -?主函數

int?main(int?argc,?const?char?* argv[])

{

????return?0;

}

?

轉載于:https://www.cnblogs.com/iOS-mt/p/4091219.html

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

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

相關文章

windows下使用cpanm進行模塊安裝

windows下使用cpanm進行模塊安裝要放假了&#xff0c;突然想整理一下手頭上的軟件&#xff0c;突然發現perl的安裝模塊這個功能不能用。弄了一下&#xff0c;使得windows 下 perl 的 cpanm能用&#xff0c;避免成天為了依賴痛苦。軟件版本&#xff1a;#理論上此方法所有版本通用…

Response緩沖區

1 protected void Page_Load(object sender, EventArgs e)2 {3 //關閉緩沖區&#xff0c;輸出會一個一個寫出來&#xff08;只有在火狐瀏覽器中才有效果&#xff09;。4 //Response.BufferOutput false;5 6 //開啟緩沖區7 Response.Buffe…

Javascript模塊模式學習分享

之前一直也有聽說和接觸到模塊模式、這次整理了一下、感覺蠻有收獲的、特來分享。 模塊模式很基本的一點就是匿名函數的 閉包、通過這點來實現。 1 //模塊模式2 3 var MODULE (function(){4 /*函數默認是返回this的、但是定義了my對象后、return my; 返回值就變成了my對象…

Source Insight基本使用和快捷鍵

為什么要用Source Insight呢&#xff1f;貌似是因為比完整的IDE要更快一些&#xff0c;比較利于查看大量的代碼。 軟件的安裝很簡單&#xff0c;設置好安裝目錄。 配置好文檔路徑&#xff0c;當然這個也可以在Options里面改&#xff0c;選Options->Preferences…里面的Folde…

powerquery mysql數據庫_window 10 下 --excel | power query 通過 ODBC鏈接 mysql 數據庫

excel鏈接到mysql的方法有幾種&#xff0c;今天主要介紹如何通過ODBC鏈接odbc是 “開放數據庫連接”&#xff0c;你可以通過下載插件使得自己的excel可以連接到不同的數據庫。關于版本的選擇&#xff0c;就是excel版本obdc版本mysql obdc版本(需要一樣)第一步 下載mysql odbc…

table樣式

一直以來&#xff0c;css和JS都是軟肋&#xff0c;因為需要不得不重新溫故。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style type"text/css">table.hover…

MAC和XCODE常用快捷鍵

摘自&#xff1a;http://www.cnblogs.com/yjmyzz/archive/2011/01/25/1944325.html 1. 文件CMD N: 新文件CMD SHIFT N: 新項目CMD O: 打開CMD S: 保存CMD SHIFT S: 另存為CMD W: 關閉窗口CMD SHIFT W: 關閉文件2. 編輯CMD [: 左縮進CMD ]: 右縮進CMD CTRL LEFT: …

數組與內存控制

注&#xff1a;我已對本文章進行了更新&#xff0c;勞煩移步。 java語言是典型的靜態語言&#xff0c;因而&#xff0c;數組也是靜態的&#xff0c;即當該數組被初始化之后&#xff0c;該數組的長度是不可變的。java 語言的數組變量是引用類型&#xff0c;什么意思呢&#xff1…

NRedis-Proxy - 高性能中間件服務器

2019獨角獸企業重金招聘Python工程師標準>>> 高性能中間件服務器 一、 NRedis-Proxy 介紹 NRedis-Proxy 是一個Redis中間件服務&#xff0c;第一個Java 版本開源Redis中間件&#xff0c;無須修改業務應用程序任何代碼與配置&#xff0c;與業務解耦&#xff1b;以Spr…

python圖片識別驗證碼軟件_python識別圖片驗證碼

http://robertgawron.blogspot.hk/2010/11/almost-all-sites-use-images-with-text.html圖片的識別主要有&#xff0c;去色&#xff0c;減噪&#xff0c;去線&#xff0c;分割&#xff0c;二值化&#xff0c;提取特征碼這里比較方便的是使用tesseract1&#xff0c;準備庫apt-ge…

POJ_1253勝利的大逃亡

這道題使用BFS做的&#xff0c;剛開始有點不太理解為什么使用隊列&#xff0c;一旦遇到可以到達終點的節點就立即返回&#xff0c;找到最短時間&#xff0c;最后明白了&#xff0c;因為在隊列里的所有節點一定比隊頭節點 的時間長。下面是具體代碼&#xff1a; #include<std…

博客搬家算法偽碼

已有平臺&#xff1a;CSDN博客、51CTO、博客園、WordPress不同平臺的博客&#xff0c;數據解析方式不一樣&#xff0c;數據抓取和存儲都是類似的。1.確定博客首頁地址a.平臺地址比如&#xff0c;CSDN的博客地址是 http://blog.csdn.net/b.賬號fansunionCSDN某個用戶的地址是&am…

用js做分頁,點擊下一頁時,直接跳到了最后一頁——Number()的妙用

Number()的妙用 Number()是javascript中將字符型轉換為數值型的函數&#xff1b;問題描述&#xff1a;做分頁&#xff0c;用js實現&#xff0c;獲取當前頁面的值&#xff0c;然后js自加1&#xff0c;可是點擊下一頁時&#xff0c;直接跳到最后一頁。選擇跳轉到某頁的時候&#…

讓Apache支持Wap網站

日前搭建一臺Wap網站&#xff0c;環境為RedHat EL5ApachePHPMysql&#xff0c;要求支持wml文件。現將涉及到的配置修改記錄如下&#xff1a;1、修改Apache的httpd.conf文件&#xff0c;增加如下內容。AddType application/x-httpd-php .wmlAddType text/vnd.wap.wml .wml;chars…

vue傳中文標點_vue項目引入第三方高德地圖實現標點定位

vue項目中&#xff0c;高德地圖使用。引入vue中。異步導入vue中。gaoDe(key) {window.onApiLoaded function () {var map new AMap.Map(container, {resizeEnable: true,center: [113.951955, 22.530825],zoom: 16});}var url https://webapi.amap.com/maps? v1.4.15&k…

CVE-2014-4877 wget: FTP Symlink Arbitrary Filesystem Access

目錄 1. 漏洞基本描述 2. 漏洞帶來的影響 3. 漏洞攻擊場景重現 4. 漏洞的利用場景 5. 漏洞原理分析 6. 漏洞修復方案 7. 攻防思考 1. 漏洞基本描述 0x1: Wget簡介 wget是一個從網絡上自動下載文件的自由工具&#xff0c;支持通過HTTP、HTTPS、FTP三個最常見的TCP/IP協議下載&am…

java判斷某個字符串是否是數字

&#xff08;一&#xff09;利用正則表達式判斷某個字符串是否是數字 public static boolean isNumeric(String s) {// 正則表達式return (s.matches("\\d*") && Pattern.compile("[0-9]*").matcher(s).matches());} &#xff08;二&#xff09;利…

mysql-nt.exe w3wp.exe cpu 100%_w3wp.exe(IIS ) CPU 占用 100% 的常見原因及解決辦法

對于IIS管理員來說&#xff0c;經常會碰到Web服務器CPU占用100%的情況&#xff0c;以下是個人的日常工作總結和一些解決辦法&#xff0c;主要用來剖析w3wp.exe(IIS )占用CPU 100%的一些原因 和解決方案&#xff0c;希望能對你有所幫助w3wp.exe的解釋:全名&#xff0c;IIS Appli…

TOP結果詳解

2019獨角獸企業重金招聘Python工程師標準>>> TOP前5行 top - 16:24:25 up 284 days, 4:59, 1 user, load average: 0.10, 0.05, 0.01 top 當前時間、系統啟動時間、當前系統登錄用戶數目、平均負載&#xff08;1分鐘,10分鐘,15分鐘&#xff09;。平均負載&#x…

BZOJ3236 [Ahoi2013]作業

昨天晚上做的。。。差錯一直查到今天 最后沒辦法問管理員要了數據才知道原來ans數組開小了233&#xff0c;簡直沙茶 這道題不就是裸的莫隊嘛 ||| 只要用樹狀數組維護當前的兩種個數即可。 1 /**************************************************************2 Problem: 3…