c課堂筆記 day-1

c語言之父:丹尼斯.里奇

c語言的優缺點:看書查找

1.c的引入:

gcc編譯的格式:gcc hello.c -o hello -o是目標的意思object;

hello world程序的解析:

< #>:預處理命令 include:頭文件的包含 <>:把括號里的內容引入到源文件中
<stdio.h>:標準輸入輸出頭文件,是計算機自帶的庫,可以直接使用
< main>:函數名,main()是主函數,c程序源文件有且只能有一個main()函數!!!c程序的入口,即所有的c程序都是從
main函數開始執行;
int argc:參數的個數; char *argv[]:記錄參數
printf():是庫函數,包含在<stdio.h>中;
return 0:返回,或者函數結束;
注:以上內容基本決定了程序的框架;

c的數據類型:

基本數據類型:
int:基本整型
short int:短整型
long int:長整型
unsigned :無符號
signed:有符號
char 字符型 getchar 只能得到一個字符
float 單浮點類型:小數點后6位
double 雙浮點類型: 小數點后15位
numf e/E n :e為10的n次方
例:12.2E3<=====>12.2*10^3
enum 枚舉類型
構造數據類型:
數組類型,結構體(struct),聯合體(union)
指針類型:
空類型: void

2.變量的定義:

    data:數據
    type:類型
    value:值

DataType Name1,Name2,......,Numen;
可以定義多個變量,中間用逗號隔開,結尾用分號結束??!
DataType Name; 一行定義一個變量最好
DataType Name1;
建議一行定義一個變量并初始化

3.標識符:

包括變量名,函數名,及其它標號等;
(1)標識符的命名要求
字母(A~Z,a~z),下劃線(_),數字組成;
且規定:第一個字符不能為數字;
(2)命名規則:
可讀性要高,做到“見名知義”
駝峰命名法;
盡量不要用漢語拼音?。?!

4.格式輸入\輸出:scanf()\printf()

printf("占位符",參數):按一定格式輸出,一一對應??!
也可以直接輸出printf("====")
%m.nf:m代表總位數(%5.3f=3.142 包含小數點加起來共五位數,小數點后面三位),n小數部分保留幾位
%-m.n:左對齊! %m.n:右對齊! 正負決定左右對齊;
scanf("占位符",參數): 按一定格式輸入,一一對應!!
&(取地址符):取相應地址

#######include<stdio.h>
int main()
{
float numf=1.234;

//按一定格式輸出
printf("numf=%f\n",numf);
//輸入numf的值,&numf為取地址符,將輸入的 數據保存
//到numf對應的內存空間中!
scanf("%f",&numf);
printf("numf=%5.3f",numf);

}

\

#######include<stdio.h>
int main()
{
int numt=123;
float numf=1.23;
printf("input two num:\n");
//printf給的什么格式scanf就按一定格式輸入
scanf("%d,%f",&numt,&numf);
printf("numt=%d\tnumf=%f\n",numt,numf);
//\t 制表符;
return 0;
}

 占位符:
           printf         scanf
 int            %d         %d              
 char           %c         %c
 long           %ld        %d
 float          %f         %f
 double         %lf        %f
 字符串         %s

5.常量

數字常量:123 1 567 -234
字符常量:'d' '$' '?' 'A'
實型常量:1.234 3.1415926 -1.423
字符串常量:由雙引號括起來的字符序列(由一個或多個字符組成的)
注意:字符串和字符的區別
'a':字符 占一個字節
"a":字符串 占兩個字節 默認結束標志為‘\0’, 一般不顯示
表示形式: "ahsoifhaiu" "asdf?<@sdaf"

6.變量和常量的區別:

變量:
其職可以更改!
先定義,后使用!
常量:
其值不可更改!
隨時可以使用,無需定義或聲明!
#include<stdio.h>
int main()
{
int numt=34; //變量先定義后使用
//常量名=值
printf("numt=%d,888=%d\n",numt,888);
return 0;
}

二、運算符

1.sizeof():計算大小,得出對應變量或數據類型所占內存空間大小
單位:字節(byte) 1字節=8位(bit)
sizeof DataType:
64位機下:

#######include<stdio.h>
int main()
{
printf("sizeof DataType:\n");
printf("sizeof(char)=%ld\n",sizeof(char)); =1
printf("sizeof(int)=%ld\n",sizeof(int)); =4
printf("sizeof(short)=%ld\n",sizeof(short)); =2
printf("sizeof(long)=%ld\n",sizeof(long)); =8
printf("sizeof(float)=%ld\n",sizeof(float)); =4
printf("sizeof(double)=%ld\n",sizeof(double)); =8
return 0;
}

、

#######include<stdio.h>
int main()
{
char ch;
short short_size;
int int_size;
long long_size;
float float_size;
double double_size;
printf("sizeof(ch)=%ld\n",sizeof(ch));
printf("sizeof(short_size)=%ld\n",sizeof(short_size));
printf("sizeof(int_size)=%ld\n",sizeof(int_size));
return 0;
}
注意:對比數據類型所占大小,和其定義的變量所占內存的大小!

2.算數運算符(七個)

加:+ 減:- 乘:* 除:/ 取余:% a%b求余 6%4余2

    #include<stdio.h>
    int main()
    {
        int a=12;
        int b=3;
        int sum=a+b;
        //或者:int sum;
        printf("%d,%d,%d\n",a,b,sum);
        return 0;
    }

    #include<stdio.h>
    int main()
    {
        int a=12;
        int b=3;
        int sum=a-b;
        int c=a*b;
        int d=a/b;
        //或者:int sum;
        printf("%d,%d,%d,%d,%d\n",a,b,sum,c,d);
        return 0;
    }

自增:++
++i :num=++i; i=i+1; num=i;
i++ : num=i; i=i+1;
#include<stdio.h>
int main()
{
int num=5;
int sum=++num + ++num; 6+6
printf("sum=%d\n",sum);
int i=5;
int j=i++ + i++; 5+5
printf("i=%d j=%d\n",i,j);

    }

自減:-- --i i--

    #include<stdio.h>
    int main()
    {
       int num=5;
       printf("%d\n",++num);6
       printf("%d\n",num++);6
       printf("%d\n",num--);7
       printf("%d\n",++num);7
       printf("%d\n",num++);7
    }

關系運算符:(結果成立為1 不成立為0)
大于:>
小于:<
等于等于:==
大于或者等于:>=
小于或者等于:<=
不等于:!=

#######include<stdio.h>
int main()
{
int a=3;
int b=4;
printf("a>b:%d\n",a>b); =0
printf("a<b:%d\n",a<b); =1
printf("a==b:%d\n",a==b); =0
printf("a<=b:%d\n",a<=b); =1
printf("a>=b:%d\n",a>=b); =0
printf("a!=b:%d\n",a!=b); =1
}

逗號運算符(,):

表達式1,表達式2,表達式3;
其中每個表達式又可以是一個逗號表達式!
一次計算表達式1,表達式2,表達式3的值,整個逗號表達式的值取決于最后一個表達式的值
#include<stdio.h>
int main()
{
int a=4;
a+2,a3,a-5;
printf("a=%d\n",a); a=4
(a=a+3,a
2),a/3; //有等于號才賦值 這里a=a+3
printf("%d\n",a); a=7

    }

使用scanf()注意事項
(1) 一定要嚴格按照scanf()中的格式輸入變量的值??!
(2) 使用scanf()時,取參數列表中參數的地址,scanf()是將輸入的值保存到變量對應的地址中!
(3) 緩存區問題
scanf() 函數中不能使用換行符:\n;

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,197評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,415評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,104評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,884評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,647評論 6 408
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,130評論 1 323
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,208評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,366評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,887評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,737評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,939評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,478評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,174評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,586評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,827評論 1 283
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,608評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,914評論 2 372

推薦閱讀更多精彩內容