C語言——第一次筆記 2019-11-16


學習內(nèi)容

一 献丑、注釋的作用

  • // 單行注釋 但 不能換行
  • /...../ 多行注釋 但 可換行

二 、 #include的作用

  • include 宏 導入頭文件侠姑。如果系統(tǒng)已經(jīng)提供某些功能的實現(xiàn)创橄,只需要使用include將這些功能所在文件導入進來就可以了。
  • < > 用來導入系統(tǒng)提供的類庫莽红。 例 : stdio.h ? stdlib.h ? math.h ? string.h
  • " " 用來導入自己定義的文件妥畏。例 : calculate.h
  • ? #include <stdio.h> 編譯器首先從系統(tǒng)的類庫里面去查找這個頭文件,如果沒有安吁,再到自己的文件中查找醉蚁,否則報錯。
  • ? #include "stdio.h" 編譯器首先在自己的文件中去查找這個頭文件鬼店,如果沒有再到系統(tǒng)的類庫里面查找网棍,否則報錯。

三 妇智、 main函數(shù)介紹

  • main函數(shù) = 代碼塊 = 完成特定功能滥玷,? 所有程序的入口點都是main函數(shù)。
  • int 返回值巍棱,用來記錄當前程序的運行狀態(tài)惑畴,0: 正常結束 資源自由分配, 非0:異常結束 沒收資源航徙。
  • int argc : 參數(shù)個數(shù) argument count 如贷,char* argv[ ] : 每個參數(shù)組成的字符串數(shù)組。
int main(int argc,char *argv[ ] ){
  printf("%d\n",argc)杠袱;
  printf("%s\n",argv[ ])泻红;
 return 0;
}
輸出:
        1

四 霞掺、printf函數(shù)格式類型

  • printf輸出語句谊路,用來讓終端輸出數(shù)據(jù)。
  • 打印常量字符串 : printf("hello world");
  • 轉義字符: \n 的意識是回車換行菩彬,講當前位置移到下一行的開頭缠劝。 \r 的意思是回車,將當前位置移到本行的開頭骗灶。\t 的意思是水平制表符惨恭,將當前位置移到下一個tab位置。
int main(int argc耙旦,char *argv[ ]) {
printf("hello world\t")脱羡;
printf("%d\n",argc);
printf("%s\r",argv[0]);
getchar();
return 0;
}

輸出結果 : hello world           1

五 免都、 C語言的基本數(shù)據(jù)類型

212BC96B81580EAAA723E30768F44A28.jpg
#include <stdio.h>
#include <stdbool.h>

int main(){
    int count = 0; 
    count = 3;
    //%d
    //%02d 不足兩位的用0補齊 
    printf("i have %02d dogs\n",count);
    
    long size = 230;
    printf("%ld\n",size);

    float score = 3.1415926;
    printf("%.2f\n",score);
    
    //中文占據(jù)2個字符 
    //%c 字符
    //%d 字符對應ASCII碼值 
    char choose = 'c'; 
    printf("%c\n",choose); 
    printf("%d\n",choose); 

六 锉罐、scanf函數(shù)的格式化輸入

  • scanf輸入語句,用來向終端你輸入數(shù)據(jù)绕娘。
int  a = 0脓规;
scanf("%d",&a);
printf("%d",a);
  • 當用戶在終端輸入數(shù)據(jù)時,數(shù)據(jù)會被存放到緩沖流险领,scanf用于在緩沖流中找到數(shù)據(jù)將其放到指定位置侨舆。
  • 放入到給定位置就是保存輸入的數(shù)據(jù),保存數(shù)據(jù)需要用到變量绢陌,我們只需要把數(shù)據(jù)送到對應變量的地址
    挨下,就存儲好了該數(shù)據(jù),就可以通過該變量使用數(shù)據(jù)脐湾,所以使用&獲得變量a的地址臭笆。
int a = 0;
scanf("jack%d",&a)沥割;
printf("%d  %d",a , b);
  • 此時輸入的數(shù)據(jù)必須按照 ? jack+數(shù)據(jù) 的格式耗啦,才可以將數(shù)據(jù)送入到變量中凿菩。所以机杜,scanf函數(shù)中" "里面的內(nèi)容用來控制輸出格式。
int a = 0衅谷;
scanf("%d  %d", &a,&b)椒拗;
printf("%d  %d",a,b);
  • 利用上面的輸入格式一次性輸入兩條數(shù)據(jù)

七 、變量

  • 變量是程序可操作的存儲區(qū)名稱;變量的類型決定了變量的大惺纯痢在验;變量的名稱可以有下劃線,字母堵未,數(shù)字組成腋舌,它必須以字母或者下劃線開頭。簡單地說變量就是用來記錄數(shù)據(jù)的渗蟹。
  • 變量的聲明 : 沒有分配內(nèi)存空間块饺,使用的時候才會分配, 如 :int a;
  • 變量的定義 :立刻為我們分配內(nèi)存空間 賦初值 雌芽,如 :int a = 0授艰;
  • 變量的使用 :
int num1,num2;
scanf("%d  %d",&num1,num2);
printf("%d\n",num1,num2);
  • bool類型的變量(需要導入stdbool.h),其值非零即真 世落,零為假淮腾。
bool status =  -3;
printf("%d\n",status)屉佳;

八谷朝、 運算符

+ - * 加減乘
/ 除 取整數(shù)部分 7 / 3 = 2
% 取余數(shù)部分  7 % 3 = 1 
x % 16 + 1 = 1 ... 16;
x % 51 + 50 = 50 ...100

&& 且 兩個同時成立 1>2 && 2>1; 
|| 或 只要一個成立就可以1>2 || 2>1
 
++ 自增 a++,++a;
-- 自減 
+=  a += 2; 
!=  1 != 2
== 判斷  a==2 
= 賦值 
4C5852B2B0441E71990FF90235A1DD35.jpg
float r = 3 / 2;
    printf("%f\n",r); 
    
    int a = 20;
    if(++a ==20){ 
        printf("a = 20\n");
        printf("a = %d\n",a);
    }else{
        printf("a != 20\n");
        printf("a = %d\n",a);
    }
    printf("a = %d\n",a);
    
    if(a==2){
        printf("a = 2\n");
    }
    return 0;

九武花、 循環(huán) : if

  • if語句的形式:C語言吧任何非0和非null的值假定為ture徘禁,把0和null假定為false。
if(){
    } 
    
    if(){
    }else{
    } 
    
    if(){
    }else if(){
    }else if(){
    }else{
    }
    */
    /*當某種條件成立 才做事情
    if(條件-true非0 -false=0){
        成立要做的事情 
    }


十髓堪、工資實戰(zhàn)

優(yōu)化前

#include <stdio.h>

int main(){
    int salary = 0;//記錄工資 
    int pay = 0; //稅后工資 

    //接收輸入 
    printf("請輸入工資:");
    scanf("%d",&salary); 
     
    //開始計算
    if(salary < 5000){
        pay = salary; 
    }else if(salary > 5000 && salary < 8000){
        int tax = (salary - 5000)*0.1;
        pay = salary - tax;
    }else if(salary > 8000 && salary < 10000){
        int tax = (salary-8000)*0.15 + 3000*0.1;
        pay = salary - tax;
    }else{
        int tax = (salary - 10000)*0.2 + 2000*0.15 + 3000*0.1; 
        pay = salary - tax;
    }
    
    printf("到手工資: %d",pay);
    return 0;
}

優(yōu)化后

#include <stdio.h>

int main(){
    int salary = 0;//記錄工資 
    int tax = 0; //稅 

    //接收輸入 
    printf("請輸入工資:");
    scanf("%d",&salary); 
     
    //開始計算
    if(salary < 5000){
        pay = salary; 
    }else if(salary > 5000 && salary < 8000){
        int tax = (salary - 5000)*0.1;
    }else if(salary > 8000 && salary < 10000){
        int tax = (salary-8000)*0.15 + 3000*0.1;
    }else{
        int tax = (salary - 10000)*0.2 + 2000*0.15 
        + 3000*0.1; 
    }
    
    printf("到手工資: %d",salary - tax;);
    return 0;
}

十一送朱、年齡轉換實戰(zhàn)

#include <stdio.h>
//輸入年齡 20
//your age is twenty; 

int main(){
    int age = 0;
    
    //保存?zhèn)€位數(shù) 21%10 = 1 
    char* gewei[] = {"","one","two","three","four","five","six","seven","eight","nine"}; 
    //保存10-19
    char* temp[] = {"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"};
    //保存十位 
    char* shiwei[] = {"twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"}; 
    
    printf("請輸入年齡:");
    scanf("%d", &age);
    
    char *name;//保存每次取出的字符串 
    if(age < 10){
        //直接訪問各位數(shù)數(shù)組
        name = gewei[age];
    }else if(age >= 10 && age <= 19){
        //獲取個位數(shù)  
        int index = age % 10;
        name = temp[index];
    } else{
        //獲取個位數(shù) 
        int g = age % 10; 
        //獲取十位數(shù) 
        int s = age / 10;
        //取出對應的單詞
        int sString = shiwei[s-2];
        int gString = gewei[g];
        
        printf("your age is %s-%s\n"
        ,sString,gString); 
        
        //程序還未運行完畢就提前結束
        return 0; 
    } 
    
    printf("your age is %s\n",name);
     
    return 0;
}
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市干旁,隨后出現(xiàn)的幾起案子驶沼,更是在濱河造成了極大的恐慌,老刑警劉巖争群,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件回怜,死亡現(xiàn)場離奇詭異,居然都是意外死亡换薄,警方通過查閱死者的電腦和手機玉雾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來轻要,“玉大人复旬,你說我怎么就攤上這事〕迥啵” “怎么了驹碍?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵壁涎,是天一觀的道長。 經(jīng)常有香客問我志秃,道長怔球,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任浮还,我火速辦了婚禮竟坛,結果婚禮上,老公的妹妹穿的比我還像新娘钧舌。我一直安慰自己流码,他們只是感情好延刘,可當我...
    茶點故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著碘赖,像睡著了一般。 火紅的嫁衣襯著肌膚如雪普泡。 梳的紋絲不亂的頭發(fā)上播掷,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天,我揣著相機與錄音撼班,去河邊找鬼。 笑死砰嘁,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的矮湘。 我是一名探鬼主播斟冕,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼缅阳!你這毒婦竟也來了磕蛇?” 一聲冷哼從身側響起十办,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎向族,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體虏等,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡适肠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了侯养。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,115評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡柠傍,死狀恐怖辩稽,靈堂內(nèi)的尸體忽然破棺而出惧笛,到底是詐尸還是另有隱情逞泄,我是刑警寧澤,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布各谚,位于F島的核電站到千,受9級特大地震影響昌渤,放射性物質發(fā)生泄漏憔四。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一了赵、第九天 我趴在偏房一處隱蔽的房頂上張望履婉。 院中可真熱鬧斟览,春花似錦、人聲如沸苛茂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽躁绸。三九已至臣嚣,卻和暖如春剥哑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背株婴。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留大审,地道東北人座哩。 一個月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像根穷,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子缠诅,可洞房花燭夜當晚...
    茶點故事閱讀 45,055評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 在C語言中,五種基本數(shù)據(jù)類型存儲空間長度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 3,345評論 0 2
  • 第1章 第一個C程序第2章 C語言基礎第3章 變量和數(shù)據(jù)類型第4章 順序結構程序設計第5章 條件結構程序設計第6章...
    小獅子365閱讀 10,655評論 3 71
  • 今天小編給大家?guī)韈語言學習之路--由淺入深(快速掌握c基礎)谅将。溫馨提示: 1.第一個C程序:HelloWorld...
    諸葛青云999閱讀 745評論 0 4
  • 指針是C語言中廣泛使用的一種數(shù)據(jù)類型重慢。 運用指針編程是C語言最主要的風格之一。利用指針變量可以表示各種數(shù)據(jù)結構似踱; ...
    朱森閱讀 3,446評論 3 44
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom閱讀 2,699評論 0 3