面試在即,總結(jié)一波C的基礎(chǔ)代碼
#include
#define ME?2017//宏定義
voidmain(void)
{
????constintpi =?3.14;//常量不允許重復(fù)賦值
????printf("%d\n", ME);
????printf("內(nèi)存地址: %x\n", ME);//小端存儲法 一個地址一個字節(jié)观游,高地址存高字節(jié)稽屏,低地址存低字節(jié)
}
include 目的是引入頭文件,而頭文件包含了我們所需要的函數(shù)抛虫,比如打印函數(shù) printf,與PHP不同的是PHP是全局可以使用所有方法松靡,不需要引入。定義的ME為全局常量建椰,pi為定義方法范圍內(nèi)的常量雕欺。main()為程序執(zhí)行時候開始的代碼,void代表不需要傳參棉姐,可以使用args來給方法傳參屠列,就像使用Linux命令行時后面帶的參數(shù)。
#include
voidmain(void)
{
????printf("%4d%4d",?4,?5);?//右對齊伞矩,占4位
????printf("%-4d%-4d",?4,?5);?//左對齊笛洛,占4位,不足用空格補充
????printf("%-04d%-04d",?4,?5);?//左對齊乃坤,占4位苛让,不足用0補充
????printf("%6.4f",?4.0054);?//左對齊,占6位湿诊,保留小數(shù)點后4位
????printf("%.4s",?"hello world");?//左對齊狱杰,截取4位
????printf("%ld",?{{12345678:0}});?//左對齊,輸出長整型
}
printf 為打印數(shù)據(jù)方法厅须,可以格式化輸出內(nèi)容浦旱,類似于PHP的sprintf()
#include
voidmain(void)
{
????charch;
????putchar('a');?//輸出字符
????putchar('\n');
????ch = getchar();?//接收字符
????putchar(ch +?1);
}
我們可以使用 getchar 在程序執(zhí)行時候接受一個字符,并使用putchar打印一個字符九杂。
小編推薦一個學C語言/C++的學習裙【 六二七颁湖,零一二宣蠕,四六四 】,無論你是大牛還是小白甥捺,是想轉(zhuǎn)行還是想入行都可以來了解一起進步一起學習抢蚀!裙內(nèi)有開發(fā)工具,很多干貨和技術(shù)資料分享镰禾!
#include
#include
voidmain(void)
{
????//讀到字符串首地址皿曲,從首地址開始輸出字符直到讀到\0
????puts("Hello c");?//輸出字符串并換行
????charbuf[4];?// buf實質(zhì)為首地址
????gets(buf);
????puts(buf);
????printf("%s", buf);?//從首地址開始讀
}
與上面方法不同的是 gets 可以接收字符串,使用puts打印字符吴侦;字符串存儲的最后一個字符為\0屋休,這是字符串方法從內(nèi)存讀數(shù)據(jù)判斷結(jié)尾的依據(jù)。
#include
voidmain(void)
{
????doubled;
????printf("int %d\n", sizeof(int));
????printf("char %d\n", sizeof(char));
????printf("float %d\n", sizeof(float));
????printf("short %d\n", sizeof(short));
????printf("long %d\n", sizeof(long));
????printf("long long %d\n", sizeof(longlong));
????printf("double %d\n", sizeof(d));
}
sizeof()可以獲取到傳參的占據(jù)的字節(jié)長度备韧,sizeof(int) 與 sizeof(1) 等價
#include
voidmain(void)
{
????intnum;
????charch;
????scanf_s("%c", &ch);
????num = ch;
????// scanf_s("%d", &num);
????// printf("%d", num);
????// printf("%c", ch);
????switch(num) {
????????case1:
????????????printf("type of int");
????????????break;
????????case97:?//a
????????????printf("char turn to int\n");
????????????break;
????????default:
????????????printf("nothing match\n");
????????????break;
????}
}
switch() 為分支判斷劫樟,其中ch為char類型,num為int類型织堂,ch賦值給num叠艳,低類型(字節(jié)少)向高類型(字節(jié)多)轉(zhuǎn)換
#include
voidfn(inti);
voidmain(void)
{
????inti =?65;
????fn(i);
}
voidfn(inti)
{
????putchar(i);
}
自定義方法時候,需要在main前定義方法頭易阳,之后在main后面寫具體的代碼邏輯附较,或者在main前直接寫具體代碼不用再定義方法頭。