第二天 常量變量數(shù)據(jù)類型自增自減sizeof

關(guān)鍵字

  • C語(yǔ)言提供的有特殊含義的符號(hào) 也叫做"保留字" 一共32個(gè)
  • 作用:表示或?qū)崿F(xiàn)一些功能
  • 注意:全部是小寫

標(biāo)識(shí)符

  • 在程序中自定義的一些符號(hào)和名稱
  • 作用:給函數(shù)、數(shù)據(jù)取名 方便區(qū)分
  • 范圍:26個(gè)字母、0-9、下劃線“_”組成
  • 注意:1.不能以數(shù)字開頭 2.不能與關(guān)鍵字重名 3.嚴(yán)格區(qū)分大小寫
  • 命名方式:駝峰命名法

數(shù)據(jù)

  • 數(shù)據(jù)就是數(shù)值

  • 用途:對(duì)數(shù)據(jù)進(jìn)行操作使用時(shí)

  • 1.靜態(tài)數(shù)據(jù) :斷電還在

  • 2.動(dòng)態(tài)數(shù)據(jù) :加載到內(nèi)存中的,斷電就沒(méi)了

    1byte=8bit 1KB=1024byte 1MB=1024KB 1GB=1024MB
    

常量

數(shù)據(jù)類型:
  • 基本類型: 整型、浮點(diǎn)型、字符類型
  • 構(gòu)造類型: 數(shù)組、結(jié)構(gòu)體、共用體
  • 指針類型
  • 空類型

float:單精度浮點(diǎn)型,精確度到小數(shù)點(diǎn)后7位

double:雙精度浮點(diǎn)型,小數(shù)點(diǎn)后15位

printf用法

%d 整型

%c 字符型

%f 浮點(diǎn)型

%p 地址

&lu 配合sizeof使用 查看變量在內(nèi)存中所占用的字節(jié)

printf("輸出整型數(shù)據(jù)%d",int);
printf("輸出浮點(diǎn)型數(shù)據(jù)%f",double);
printf("輸出字符型數(shù)據(jù)%c",'c');
printf("輸出變量在內(nèi)存中的地址%p",&int);
printf("查看變量在內(nèi)存中占用的字節(jié)數(shù)%lu",sizeof(int));

變量的作用域

  • 變量的作用域只在對(duì)應(yīng)的代碼塊中(相鄰的兩個(gè)大括號(hào))
  • 不同函數(shù)屬于平行作用域
  • 同一個(gè)作用域中不能出現(xiàn)同名的變量
  • 不同作用域下變量名可以相同
  • 變量只在自己的作用域內(nèi)有效,出了作用域變量占用的內(nèi)存被釋放掉了
  • 作用域可以無(wú)限嵌套
  • 子作用域可以使用父作用域中的變量.父作用域無(wú)法使用子作用域中的變量.
int main(){
    
    {
        int a = 33;
        printf("%d\n",a); // 這里a = 33
    }
    int a;
    int b;
    a = b = 33;
    {
        int a = 88;
        a++;
        printf("a = %d\n",a); //這里a = 89
        {
            a++;
            printf("%d\n",a); //a = 90 這個(gè)作用域沒(méi)有定義變量a 自動(dòng)去上級(jí)作用域?qū)ふ易兞縜 并執(zhí)行a++
        }
    }
    b++;
    printf("a=%d,b=%d\n",a,b);//a = 33 , b = 34  上一個(gè)作用域中的a 使用完就被釋放掉了 所以這里的a還是main函數(shù)中的 33 .

}

變量的內(nèi)存分析

  • 內(nèi)存占用的基本單位:byte(字節(jié)) 1byte = 8 bit
  • 輸出內(nèi)存占用:
printf("int類型在內(nèi)存中占用的字節(jié)數(shù)為:%lu",sizeof(int));
  • 輸出內(nèi)存地址:
int num;
printf("num在內(nèi)存中的地址:%p",&num);
  • 從編號(hào)較大的內(nèi)存區(qū)域向編號(hào)較小的內(nèi)存區(qū)域分配
  • 變量的地址是被分配的內(nèi)存塊中所有區(qū)域的最小值

scanf函數(shù)用法

  • 在<stdio.h>庫(kù)中
  • 把用戶按指定格式從鍵盤上輸入的數(shù)據(jù)賦值給指定的變量
scanf("%d",&i);

  • 需要賦值的變量前面加取址符&
  • 兩個(gè)%之間的內(nèi)容要按原樣輸入
  • 不能用\n換行
  • printf函數(shù)的參數(shù)是變量名,scanf函數(shù)的參數(shù)是變量的地址

算數(shù)運(yùn)算符

  • +,-,*,/,%
  • 用于數(shù)據(jù)的運(yùn)算
  • 精度 double > float > int
  • 取余運(yùn)算符%只能用于整數(shù)
  • 運(yùn)算時(shí)兩個(gè)數(shù)據(jù)精度不一樣,低精度數(shù)據(jù)會(huì)自動(dòng)轉(zhuǎn)換為高精度
  • 同精度運(yùn)算只能得到同精度的結(jié)果,需要提高精度需要強(qiáng)制類型轉(zhuǎn)換
double d = 2/3;//賦值后d為0
解決辦法:
double d = (double)2/3;//d = 0.666
double d = 2.0/3;//d = 0.666

賦值及自增自減運(yùn)算

  • =賦值運(yùn)算符
  • ++ --自增自減運(yùn)算
a++;//a = a + 1
a--;//a = a - 1
  • += -=加減等于運(yùn)算符
a += 1;// a = a + 1
a -= 1;// a = a - 1
  • ++a a++的區(qū)別
a++;//a先參與運(yùn)算 再自增
++a;//a先自增 然后把結(jié)果參與運(yùn)算

sizeof用法

  • 單目操作符
  • 以字節(jié)形式給出其操作數(shù)或數(shù)據(jù)類型的存儲(chǔ)大小
  • 打印數(shù)據(jù)類型的字節(jié)時(shí)需要加( ),打印常量或變量的時(shí)候可以不用
printf("%lu\n",sizeof (int));//4
b = sizeof 'a';
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說(shuō)閱讀 12,422評(píng)論 6 13
  • 今天看錢鐘書先生的《李鴻章傳》第二章“李鴻章之位置”,讀來(lái)特別欽佩錢鐘書先生,源于歷史課本的記憶,一直以來(lái)提起李鴻...
    星月starmoon閱讀 124評(píng)論 0 0
  • 得到:吳伯凡 富蘭克林學(xué)習(xí)方法 篩選好文——列出主干——重新寫作——對(duì)比原文——如此重復(fù)。 雖然方法很笨很慢,“有...
    努努小灰人閱讀 188評(píng)論 0 0
  • 嗯,作為第一期的真自由學(xué)員,我又第二次的來(lái)參加第三期的真自由訓(xùn)練營(yíng)啦,因?yàn)椋?1.上次參加的有些倉(cāng)促,雖幸運(yùn)畢業(yè),...
    許小小麗閱讀 642評(píng)論 6 4
  • 那一天/那一刻/那個(gè)場(chǎng)景/你出現(xiàn)在我生命/從此后/從人生/重新定義。當(dāng)手機(jī)音樂(lè)隨機(jī)播放到五月天的這首歌時(shí),我想起了...
    可心的獨(dú)白閱讀 343評(píng)論 0 0

友情鏈接更多精彩內(nèi)容