日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C語言零基礎精通變量與常量_C 語言

作者:馬桶上看算法 ? 更新時間: 2022-06-21 編程語言

1.變量和常量的概念

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

2.變量的類型

  • 創建整形變量用到的數據類型是int
  • 創建字符型變量用到的數據類型是char
  • 創建浮點型變量用到的數據類型是float或者是double
  • 創建哪種變量就要用到哪種數據類型
  • 數據類型是創建變量用的

3.變量的分類

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

舉個例子:

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

代碼的輸出結果是10

我們可以看到全局變量和局部變量的名稱相同,而發生這種情況的時候,我們局部變量優先,所以,代碼會輸出10。

雖然我們可以這樣定義兩個名稱相同的變量,但是不建議這樣寫。

4.變量的使用

寫一個代碼求2個整數的和:

#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是輸入函數

%d代表輸入1個整型

兩個%d代表輸入2個整型

&a &b代表輸入的數據

&a放到第一個%d里,&b放到第二個%d里

sum代表a與b的和

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

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

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

#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;
}

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

大括號里的變量只能在大括號里使用,上面代碼的輸出函數在大括號外,此代碼無法運行。

③正確代碼如下

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

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

全局變量的作用域是整個工程

執行性的代碼必須放在大括號里面

變量的創建可以放在大括號外面

⑵變量的生命周期:

變量的創建和銷毀之間的時間段

局部變量的生命周期:進入局部范圍生命開始,出局部范圍生命結束

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

6.常量的分類

C語言中的常量:

  • 字面常量
  • const 修飾的常量 -
  • #define定義的標識符常量 -
  • 枚舉常量

⑴字面常量

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

用單引號括起來的是字符常量,用雙引號括起來的是字符串常量

⑵const 修飾的常量

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

當不想改變〃num〃變量的值的時候加上const。這個時候代碼會報錯,說明有了const的修飾我們無法改變num的值了。

正確代碼應將這一行代碼刪除。這個時候num叫做常變量,具有常屬性(不能被改變的屬性)。代碼報錯,經過const修飾過的n是常變量但本質上是一個變量。

因為代碼中的方塊里要是一個常量所以代碼會報錯。正確代碼是變為一個常量,例如10,20,‘a’。

⑶#define定義的標識符常量

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

MAX就是define定義的標識符常量,因為不能改變MAX的值,所以叫常量。#在大括號里面定義的也行

錯誤示范:代碼報錯,因為MAX是不能改的正確寫法是將20000改為10000

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

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

上面三個值就是enum Sex這種類型的枚舉變量的未來的可能取值

原文鏈接:https://blog.csdn.net/m0_63033419/article/details/121879521

欄目分類
最近更新