欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語(yǔ)言零基礎(chǔ)精通變量與常量

 更新時(shí)間:2022年04月23日 09:02:43   作者:馬桶上看算法  
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言的變量和常量,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助

1.變量和常量的概念

生活中的一些數(shù)據(jù)有些數(shù)據(jù)不能變:血型、性別、圓周率。有些數(shù)據(jù)一定可變:工資、年齡、體重。我們用C語(yǔ)言怎么描述:常量-不能改變的量 變量-能被改變的量

2.變量的類(lèi)型

  • 創(chuàng)建整形變量用到的數(shù)據(jù)類(lèi)型是int
  • 創(chuàng)建字符型變量用到的數(shù)據(jù)類(lèi)型是char
  • 創(chuàng)建浮點(diǎn)型變量用到的數(shù)據(jù)類(lèi)型是float或者是double
  • 創(chuàng)建哪種變量就要用到哪種數(shù)據(jù)類(lèi)型
  • 數(shù)據(jù)類(lèi)型是創(chuàng)建變量用的

3.變量的分類(lèi)

變量分為局部變量和全局變量

舉個(gè)例子:

#include<stdio.h>
int a = 100;
int main()
{       
     int a = 10;  
     printf("%d\n," a);  
     return 0;
}   
  • 整型變量用**%d**打印
  • 字符型變量用**%c**打印
  • 浮點(diǎn)型數(shù)據(jù)float類(lèi)型的變量用**%f**打印
  • 浮點(diǎn)型數(shù)據(jù)double類(lèi)型的變量用**%lf**打印int是類(lèi)型,a是變量的名字,=叫賦值,=后面的叫數(shù)值
  • int (類(lèi)型)
  • a (變量的名字)
  • = (賦值)
  • 10 (數(shù)值)
  • 大括號(hào)內(nèi)部的變量叫局部變量,上面局部變量是a
  • 大括號(hào)外部的變量叫全局變量,上面全局變量a

代碼的輸出結(jié)果是10

我們可以看到全局變量和局部變量的名稱(chēng)相同,而發(fā)生這種情況的時(shí)候,我們局部變量?jī)?yōu)先,所以,代碼會(huì)輸出10。

雖然我們可以這樣定義兩個(gè)名稱(chēng)相同的變量,但是不建議這樣寫(xiě)。

4.變量的使用

寫(xiě)一個(gè)代碼求2個(gè)整數(shù)的和:

#include<stdio.h>
int main()
{          
     int a = 0;    
     int b = 0;    
     int sum = 0;    
     scanf("%d  %d", &a, &b);            
     sum = a + b;           
     printf("sum = %d\n", sum);          
     return 0;
}

scanf是輸入函數(shù)

%d代表輸入1個(gè)整型

兩個(gè)%d代表輸入2個(gè)整型

&a &b代表輸入的數(shù)據(jù)

&a放到第一個(gè)%d里,&b放到第二個(gè)%d里

sum代表a與b的和

scanf函數(shù)前面指的是格式,后面指的是我要把數(shù)據(jù)存放到哪里去

5.變量的作用域和生命周期

⑴作用域:這個(gè)變量可以在哪里使用,哪里就是它的作用域。

#include<stdio.h>
int main()
{       
     printf("hehe\n");        
     int a=10;             
     printf("a = %d", a);//代碼作用域      
     return 0;
}

#include<stdio.h>
int main()
{     
     printf("hehe\n");    
     printf("a=%d", a);       
     {               
          int a = 10;       
     }        
     return 0;
}

在大括號(hào)里面定義的變量a的作用域是它的自己所在的大括號(hào)。

大括號(hào)里的變量只能在大括號(hào)里使用,上面代碼的輸出函數(shù)在大括號(hào)外,此代碼無(wú)法運(yùn)行。

③正確代碼如下

#include<stdio.h>
int main()
{       
     printf("hehe\n");   
     {           
          int a=10;  //代碼的作用域        
          printf("a=%d", a);       
     }        
     return 0;
}

局部變量的作用域就是變量所在的局部范圍

全局變量的作用域是整個(gè)工程

執(zhí)行性的代碼必須放在大括號(hào)里面

變量的創(chuàng)建可以放在大括號(hào)外面

⑵變量的生命周期:

變量的創(chuàng)建和銷(xiāo)毀之間的時(shí)間段

局部變量的生命周期:進(jìn)入局部范圍生命開(kāi)始,出局部范圍生命結(jié)束

全局變量的生命周期:程序的生命周期

6.常量的分類(lèi)

C語(yǔ)言中的常量:

  • 字面常量
  • const 修飾的常量 -
  • #define定義的標(biāo)識(shí)符常量 -
  • 枚舉常量

⑴字面常量

#include<stdio.h>
int main()
{      
     3.14;      //字面常量    
     10;        //字面常量    
     'a';       //是字面常量,也是字符常量    
     'abcdefg'; //字面常量,也是字符串常量    
     return 0;
}

用單引號(hào)括起來(lái)的是字符常量,用雙引號(hào)括起來(lái)的是字符串常量

⑵const 修飾的常量

#include<stdio.h>
int main()
{     
     const int num = 10;//變量       
     num = 20;       
     printf("num = %d\n",num);      //輸出為20        
     int arr[10] = {0};//10個(gè)元素       
     const int n = 10;       
     int arr[n] = {0};  //錯(cuò)誤    
     retuen 0;
}

當(dāng)不想改變〃num〃變量的值的時(shí)候加上const。這個(gè)時(shí)候代碼會(huì)報(bào)錯(cuò),說(shuō)明有了const的修飾我們無(wú)法改變num的值了。

正確代碼應(yīng)將這一行代碼刪除。這個(gè)時(shí)候num叫做常變量,具有常屬性(不能被改變的屬性)。代碼報(bào)錯(cuò),經(jīng)過(guò)const修飾過(guò)的n是常變量但本質(zhì)上是一個(gè)變量。

因?yàn)榇a中的方塊里要是一個(gè)常量所以代碼會(huì)報(bào)錯(cuò)。正確代碼是變?yōu)橐粋€(gè)常量,例如10,20,‘a’。

⑶#define定義的標(biāo)識(shí)符常量

#define MAX 10000
int main()
{        
    MAX = 20000;  //錯(cuò)誤    
    int n = MAX;     
    printf("n = %f\n",n);//輸出10000        
    return 0;
}

MAX就是define定義的標(biāo)識(shí)符常量,因?yàn)椴荒芨淖僊AX的值,所以叫常量。#在大括號(hào)里面定義的也行

錯(cuò)誤示范:代碼報(bào)錯(cuò),因?yàn)镸AX是不能改的正確寫(xiě)法是將20000改為10000

⑷枚舉常量:一般用于可以一一列舉的常量

#include<stdio.h>
int main()
{      
     enum Sex s = MALE;       
     return 0;
}
``````c
    //性別enum Sex//枚舉類(lèi)型
{    //這種枚舉類(lèi)型的變量的未來(lái)可能取值          //枚舉常量        
       MALE,        
       FEMALE,      
       SECRET
}

上面三個(gè)值就是enum Sex這種類(lèi)型的枚舉變量的未來(lái)的可能取值

到此這篇關(guān)于C語(yǔ)言零基礎(chǔ)精通變量與常量的文章就介紹到這了,更多相關(guān)C語(yǔ)言變量與常量?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++第三方日志庫(kù)log4cplus的安裝與使用配置教程

    C++第三方日志庫(kù)log4cplus的安裝與使用配置教程

    log4cplus是C++編寫(xiě)的開(kāi)源的日志系統(tǒng),log4cplus具有線程安全、靈活、以及多粒度控制的特點(diǎn),本文給大家介紹C++第三方日志庫(kù)log4cplus的安裝與使用教程,感興趣的朋友一起看看吧
    2022-02-02
  • C++ DFS算法實(shí)現(xiàn)走迷宮自動(dòng)尋路

    C++ DFS算法實(shí)現(xiàn)走迷宮自動(dòng)尋路

    這篇文章主要為大家詳細(xì)介紹了C++ DFS算法實(shí)現(xiàn)走迷宮自動(dòng)尋路,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • c/c++單例模式類(lèi)的混合編譯案例詳解

    c/c++單例模式類(lèi)的混合編譯案例詳解

    ? 由于c語(yǔ)言中沒(méi)有類(lèi)的概念,因此對(duì)于有類(lèi)的cpp文件與c文件混合編譯時(shí),提供一個(gè)中間層提供類(lèi)的操作接口,在c文件中調(diào)用接口實(shí)現(xiàn)間接操作類(lèi)對(duì)象,這篇文章主要介紹了c/c++單例模式類(lèi)的混合編譯的相關(guān)資料
    2022-10-10
  • C++如何調(diào)用opencv完成運(yùn)動(dòng)目標(biāo)捕捉詳解

    C++如何調(diào)用opencv完成運(yùn)動(dòng)目標(biāo)捕捉詳解

    OpenCV作為機(jī)器視覺(jué)開(kāi)源庫(kù),使用起來(lái)非常不錯(cuò),這篇文章主要給大家介紹了關(guān)于C++如何調(diào)用opencv完成運(yùn)動(dòng)目標(biāo)捕捉的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • C++應(yīng)用Eigen庫(kù)對(duì)應(yīng)實(shí)現(xiàn)matlab中部分函數(shù)問(wèn)題

    C++應(yīng)用Eigen庫(kù)對(duì)應(yīng)實(shí)現(xiàn)matlab中部分函數(shù)問(wèn)題

    這篇文章主要介紹了C++應(yīng)用Eigen庫(kù)對(duì)應(yīng)實(shí)現(xiàn)matlab中部分函數(shù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • C語(yǔ)言詳細(xì)分析宏定義與預(yù)處理命令的應(yīng)用

    C語(yǔ)言詳細(xì)分析宏定義與預(yù)處理命令的應(yīng)用

    宏定義是用宏名來(lái)表示一個(gè)字符串,在宏展開(kāi)時(shí)又以該字符串取代宏名,這只是一種簡(jiǎn)單的替換。字符串中可以含任何字符,可以是常數(shù),也可以是表達(dá)式,預(yù)處理程序?qū)λ蛔魅魏螜z查,如有錯(cuò)誤,只能在編譯已被宏展開(kāi)后的源程序時(shí)發(fā)現(xiàn)
    2022-07-07
  • C++ STL中一些常用算法總結(jié)

    C++ STL中一些常用算法總結(jié)

    都說(shuō)STL是數(shù)據(jù)容器與算法的高度組合,在前面的文章中我們介紹了常見(jiàn)的幾種容器,vector、list、map、deque等,今天我們?cè)賮?lái)介紹下STL中常用的一些算法,需要的朋友可以參考下
    2024-02-02
  • C++ 復(fù)制控制之復(fù)制構(gòu)造函數(shù)的實(shí)現(xiàn)

    C++ 復(fù)制控制之復(fù)制構(gòu)造函數(shù)的實(shí)現(xiàn)

    所謂的“復(fù)制控制”即通過(guò)這三個(gè)成員函數(shù)控制對(duì)象復(fù)制的過(guò)程,本文主要介紹了C++ 復(fù)制控制之復(fù)制構(gòu)造函數(shù)的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-11-11
  • vscode?采用C++17版本進(jìn)行編譯的實(shí)現(xiàn)

    vscode?采用C++17版本進(jìn)行編譯的實(shí)現(xiàn)

    本文主要介紹了vscode?采用C++17版本進(jìn)行編譯,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C++冒泡排序算法實(shí)例

    C++冒泡排序算法實(shí)例

    這篇文章主要介紹了C++冒泡排序算法實(shí)例,本文先是介紹了什么是冒泡排序,然后給出了實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2014-10-10

最新評(píng)論