網站首頁 編程語言 正文
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
相關推薦
- 2022-02-13 QT 控件 QListWidget 設置所有事件都激發編輯(雙擊, 選擇, 選項變化)
- 2023-03-15 手把手教你用Python中的Linting提高代碼質量_python
- 2022-10-02 iOS開發實現抽屜效果_IOS
- 2022-09-17 Golang文件讀寫操作詳情_Golang
- 2022-06-29 python人工智能tensorflow常用激活函數Activation?Functions_pyt
- 2022-06-14 jquery實現點擊按鈕顯示與隱藏效果_jquery
- 2021-12-12 C/C++?Qt?MdiArea?多窗體組件應用教程_C 語言
- 2023-02-25 Golang嵌入資源文件實現步驟詳解_Golang
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支