原创 C語言代碼規範(七)#define

#define 宏定義的使用 #define MAX(x, y) ( ((x) > (y)) ? (x) : (y) ) #define MIN(x, y) ( ((x) < (y)) ? (x) : (y) ) 在宏定義中

原创 C學習雜記(三)筆試題:字符串大小寫字母切換

字符串大小寫轉換,大寫轉小寫, 小寫轉大寫 #include <stdio.h> #include <string.h> int tramsform(char str[]) { int i = 0; int strL

原创 C學習雜記(五)形參實參筆試題

大意失荊州   不要以爲簡單就輕視,謹慎,細節,基礎。   一、有以下程序 #include <stdio.h> typedef struct {int b, p;} A; void f(A c) { c.b += 1; c

原创 C語言代碼規範(九)運算符優先級使用括號提高閱讀性

舉簡單例子 a = b | c << d + 2; 對於大牛沒有問題,對於我這樣的碼農需要思考一下運算優先級 對於這種情況華某有規範使用括號來表示運算順序,從而提高代碼可閱讀性 a = b | ( c << (d + 2) ); 這樣

原创 C學習雜記(六)%2.0f打印輸出寬度

%m.nf,m表示整個浮點數的輸出寬度,n表示小數輸出寬度。 1、printf("%f\n", 12.34);    輸出爲12.340000。 2、printf("%2.0f\n", 12.34);    輸出爲12。 3、printf

原创 C學習雜記(七)extern聲明可省略變量類型

工作三年,看C的書也不少。第一次知道extern可以省略變量類型。 b.c有一個全局變量unsigned int data_length,a.c想要調用它,通常使用: extern unsigned int data_length; 在聲

原创 C語言代碼規範(八)使用const修飾值不允許改變的變量

使用const限定一個變量的值不允許被改變,從而保護被修飾的東西,防止意外,提高程序的可靠性和安全性。

原创 C語言開發筆記(七)const和指針

const修飾變量是常用的,不容易犯錯,而const和指針一起使用時很容易混淆。 (一)const int *p #include <stdio.h> int main(void) { int a = 10; int

原创 C學習雜記(四)sizeof計算聯合體大小

#include <stdio.h> union u1 { char a[13]; int b; }; int main(void) { printf("%d\n", sizeof(u1)); re

原创 C學習雜記(二)筆試題:不使用任何中間變量如何將a、b的值進行交換

常見的方法如下 void swap1(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } 不使用中間變量的方法 void swap2(int *a,

原创 C語言開發筆記(八)static

在C語言中,static有3個作用: (1)在函數體,一個被聲明爲靜態的變量在這一函數體內被調用的過程中維持其值不變。 #include <stdio.h> void test(void) { static int i = 0

原创 C語言代碼規範(六)浮點型變量邏輯比較

無論是float還是double類型的變量,都有精度限制。所以一定要避免將浮點變量用"=="或"!="與數字比較,應該設法轉化成爲">="或"<="形式。 不建議使用的例子: if(0.0 == x) if(0.0 != x) 強烈推薦

原创 C學習雜記(一)常見誤會

一、sizeof是關鍵字,不是函數

原创 VS2010報錯 error:LINK1123:轉換到COF期間失敗,文件無限或損壞

右鍵工程-配置屬性-清單工具-輸入和輸出,嵌入清單一項重新選擇爲否,如下圖 修改後重新生成和運行,發現程序正常運行了。

原创 C語言代碼規範(五)函數參數個數

        一個函數的參數的數目過多(尤其是超過8個)顯然是一種不可取的編程風格。參數的數目直接影響調用函數的速度,參數越多,調用函數越慢。         參數的數目少,程序就顯得精練、簡潔,這有助於檢查和發現程序中的錯誤。