原创 C語言—遞歸二分法查找

分治策略:分解的是規模,比如數10億硬幣,分成4萬個人區完成,這樣,問題不會改變,改變的是問題的規模 下面是不用遞歸求階乘的方式 int fun(int n) { int sum=1; for(int i=1;i<

原创 C語言循環語句和條件語句

循環大體分爲三種 在開始之前我需要解釋的是 do while for都是C 語言標準定義的 32 個關鍵字之一 他們不是函數 1.while循環 2. do while循環 3.for循環 需要注意的一點是,不管在那種循環性,我們

原创 隊列-環形隊列

#ifndef SEQQUEUE_H #define SEQQUEUE_H #define QUEUE_INIT_SIZE 8 #define QUEUE_INC_SIZE 2 typedef int Qelemtype; ty

原创 關於宏定義的知識,以及一些應用

關於宏定義的知識 define 處理過的數據是無類型的,並且不會開闢內存空間,只是進行了替換 #define pi 10; s=pi;*r*r 如果給了分號那麼再調用在這種情況時就會出現錯誤。 另外宏定義時一種替換 int ma

原创 C語言賦值時產生的臨時量,類型比較時轉換,和怎麼觀察預編譯後的程序結果

C語言的一些零碎基礎知識 if() {} else if() {} else if() {} else 在上面的if嵌套結構中結尾的else時和最後面的else if結合的,這就是所謂的就近原則 首先在給變量賦值的時候要注意格式

原创 C語言函數指針,數組指針,數組引用用法

void main()//關於指針的擴展理解 { int ar[10] = {};//ar時整型數組 int a = 1; int b = 2; int c = 3; int *br[10] = { &a, &b, &c };//

原创 C語言char類型及其類型轉換的變化

目錄: char類型 轉義字符 char類型 首先我們要知道char類型爲一個字節。 而且要知道他在計算機中的儲存方式。 一個字節8個bite,int類型32bite,0x00 00 00 01剛好沒量爲數爲一個字節,這正是內存的

原创 &引用 和 assert斷言 解釋

引用 &符在不同情況下有不同的意義例如最常見的兩種邏輯與和按位與操作 現在我們將的是它表示引用的操作 目前爲了便於理解,將引用當成變量的別名理解,實際時在底層處理時被翻譯成了指針進行操作。 char &x=a; 這相當於給a的空

原创 一個計算對應日期的天數的函數,以及清空緩存函數解決scanf使用出現錯誤

#include<stdio.h> #include <stdlib.h> int allmonth[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; int i

原创 c語言文件操作詳細

文件操作有多種形式首先解釋文本文件操作 當操作的文件時文本文件時,會將數據轉換爲ascii字符的值存放到文件中,在使用時在轉換會原來的值。這裏和printf函數的執行過程很相似 所以在講解文件之前先講解兩個相關函數 1. //in

原创 C語言—static靜態關鍵字

static解釋及使用 首先static是一個關鍵字 使用static初始化的變量存放於數據區 對於局部變量 void fun() { static int x=0; static int x=val; } 上面的程序是無法

原创 C語言指針,及指針識別能力

指針的基本意義 在創建變量時 *號和變量名結合,不和類型名結合 編譯器在編譯時,是從右到左識別的,哪怕在定義時 (int*)p,s; 這樣寫也是錯誤的,這樣的寫法編譯器會識別爲強轉功能,但是p和s並沒有初始化,自然也就無法進行強

原创 C語言—貪喫蛇遊戲

由於使用了一些庫文件,上傳了下載還需要積分,所以我會把所以代碼都上傳,方便日後複習結構設計的方向希望能有所作用,如果有什麼缺點多謝點評 首先是文件的劃分 需要注意的是,在函數命名的時候要注意清晰明瞭,還有就是注意模塊的劃分要清

原创 冒泡排序,插入排序,選擇排序,堆排序代碼

冒泡排序 void bubble_sort(int *ar, int size) { assert(ar != NULL); for (int i = 0; i < size - 1; i++) { for (int j

原创 scanf(),getch(),getchar(),gets(),printf()關於緩衝區的理解

這三個函數是常用的輸入輸出函數,而且他們都與鍵盤緩衝區密切相關。 爲了瞭解他們之間的關係,那麼首先要知道他們各自的作用 scanf()函數 printf()函數 getch()函數 getchar()函數 gets()函數