c語言常量與變數
① c語言怎麼區分常量和變數
常量,有兩種方法定義。一種是用宏 #define a 3 那麼編譯之前a就都會被3替換掉
第二種是在定義變數前面加const 。如const int a=3; 這是一個不可改變值的變數。
所以。。。就可以知道哪些是常量了。看定義。。
不知道是不是常量可以在那個單詞上點右鍵然後選轉到定義就可以看到了
另外,常量通常所有字母大寫
② c語言中變數與常量的區別
1,效率:常量在編譯的時候,可以以立即數形式編譯進指令,比起使用使用內存的變數要高效。
2,約束:定義成常量,可以避免程序在運行中給它錯誤賦值,不要小看這種約束,給常量賦值的錯誤是很容易犯的,編譯器會立即告訴你不對。
3,語法:定義數組大小等,是因為編譯時候要確定分配的空間,這時必須使用常量。
③ c語言中什麼是變數和常量
變數是一段內存空間的自定義標識,而常量就是這段空間中所存放的具體內容。
int a;
a=4;
printf("%d,%d",a,4);
a=4+2;
4=4+2; \*這句是不能通過編譯的,小學知識也告訴我們這是錯誤的,這里只是為了便於你理解*\
printf("%d,%d",a,4);
這里a是變數,4和2是常量。同樣列印a和4,結果卻不一樣。這就是常量和變數的區別。
④ 常量和變數的區別
常量和變數的區別:變數是「可讀、可寫」,而常量是「只讀」的。
變數是在程序運行過程中,內部存儲的值,隨時可以被改變的一段內存地址。比如:int a = 123,這里的a就是一個整型變數,通常情況下,整型變數占據著4個位元組的內存。
常量在程序運行過程中,所表示的值是無法被改變的。比如:const int a = 123, 這里的a,在其前面有一個修飾符「const」,表示a的值是「只讀」的。
(4)c語言常量與變數擴展閱讀:
在C語言中,定義常量,有兩種方式:一是使用預處理指令:#define ; 二是使用「const」關鍵字。
在定義常量的時候,給常量起的名字,要盡量大寫,這是一種「默認」的規則,便於區別「常量」與「變數」,增強程序的可讀性。
使用常量有個非常大的好處是:當程序中多處使用某個常量的時候,只需要在定義常量的地方,修改一下常量的值,那麼多處的值,就都會被改變,這樣,是很有利於程序後期進行維護的。
⑤ 什麼是c語言裡面的常量和變數
c語言的常量包括字面量,和用
const
定義的變數。
像
123、"aaaaa
文字"、3.14f、這些都是字面量。
而像
const
float
pi=3.14f,這個pi
就是const常量。
⑥ C語言源代碼中怎樣區分變數和常量
C語言基礎知識常量和變數分類:C/C++
1.常 量: 程序執行過程中,值不變的量。 3 ,\'a\'
變 量:值可以改變的量。
一個變數有一個名字,在內存中有一定的存儲單元,存放變數的值。
2.常量類型:
a.整 型:12,0,-3
b.實 型:4.6,-1.2
c.字 符 型: \'a\',\'d\'
d.符號常量: #define PRICE 30 (PRICE不能再被賦值且要大寫)
3.變 量: 先定義,後使用。一個變數只能被指定為一確定類型。
4.標識符:標識變數名,符號常量名,函數名,數組名,類型名,文件名的有效字元數列。
a.由字母、數字、下劃線三種字元組成,第一個字元必須為字母或下劃線。
b.大寫字母、小寫字母被認為是兩個不同的字元。
c.長度一般小於8個。
數據類型
一.整 型:
1.整型常量
a.十 進 制:12,-3,0
b.八 進 制:以0開頭。
c.十六進制:以0x開頭。
2.整型變數
a. int -32768——32767
b. short int -32768——32767
c. long int
d. unsigned int 0——65535
e. unsigned short 0——65535
f. unsigned long
int、short int、long int 第一位為符號位 0000001 (0為正,1為負)
unsigned 第一位不是符號位 0000001
所以int型和unsigned型的000001不是同一個值。
二.實 型:
1.實型常量:
a.十進制數:數字和小數點組成。0.12,.12,12.0,0.0
b.指 數:e之前必須有數字,e後面必須為整數。12e3
2.實型變數:
a.單精度:float 7位有效數字 111111.1可,111111.11不可。
b.雙精度:double 15—16位有效數字 。
三.字元型:
1.字元常量:
a. \'a\' , \'x\' , \'*\' ,\'$\' 。
b. 轉義字元:『\\n\'換。 \'\\t\'從第九列開始。\'\\r\'回車。 \'\\b\'退一格。
2.字元變數:
char char=\'a\' 一個字元變數在內存佔一個位元組。
。將一個字元常量放到一個字元變數中,並不是把該字元本身放到內存單元中去,而是將該字元的ASC碼
放到存儲單元中,所以字元型數據和整型數據之間可以通用。一個字元型數據既可以以字元形式輸出,
又可以以整數形式輸出。
四.字元串常量:
"how are you", "a","&12"
。不能把一個字元串賦給一個字元變數。 char c=\'a\'對,char c="how" 錯。
。\'a\' :在內存中存a。
「a」:在內存中存a\\0。
『\\0』是C語言中判斷字元串是否結束的標志。
變數賦初值
a. int a=3;
float f=7.2;
char c=\'a\';
b. int a,b,c=5;
相當於 int a,b,c;
c=5;
c. int a=3;b=3;c=3; 不可寫: int a=b=c=3;
各類數值型數據間的混合運算
整型、實型、字元型數據可以混合運算:10+\'a\'+1.5-8765.4321*\'b\'
double<--float
long
unsigned
int <--char,shot
float型轉晃?double型
char型,shot型轉換為 int型
int型 轉換為double型 等等
算術運算符和算術表達式
1.基本算術運算符
+ 加
- 減
* 乘
/ 除 5/3=1
% 摸(MOD) 5%3=2
2.強制類型轉換運算符:將一個表達式轉換成所需類型
(類型名)(表達式)
(double)a 將a轉換為double型
(int)(x+y) 將x+y轉換為int型
(float)(5%3) 將5%3轉換為float型
putchar函數:輸出一個字元
#include "stdio.h"
a. char a;
a=\'C\';
putchar(a);
b. putchar(\'\\n\');
c. putchar(\'\\102\');
getchar函數:輸入一個字元
#include "stdio.h"
a. char c;
c=getchar();
putchar(c);
b. putchar(getchar());
c. printf("%c",getchar());
putchar函數:輸出若干個任意類型的數據
a. printf("%d,%d",a,b);
b. printf("a=%d b=%d",a,b);
1.d 輸出十進制整數
a. %d:
b.%md: 指定輸出的寬度。數據位數小於m,左端補空格;大於m,按實際位數輸出。
a=123;b=12345;
printf("%4d,%4d",a,b);
輸出結果為:_123,12345
c.%ld: 輸出長整型數據。
long a=123456;
printf("%ld",a); 用%d,錯。
printf("%9ld",a); 輸出結果為:___123456
2. o 輸出八進制數
3. x 輸出十六進制數
4. u 輸出unsigned型數據
5. c 輸出一個字元
6. s 輸出一個字元串
a.%s printf("%s"."how");
b.%ms
c.%-ms
d.%m.ns
e.%-m.ns
7. f 以小數形式輸出實數
a.%f
b.%m.nf
c.%-m.nf
8. e 以指數形式輸出實數
a.%e
b.%m.ne
c.%-m.ne
scanf函數:輸入任意類型的多個數據
scanf("%d%d%d",&a,&b,&c); &a指a在內存中的地址。
——按a,b,c在內存的地址將a,b,c的值存入。
if語句
1. if (A) B;
如果條件A滿足,執行B,否則執行下一句。
2. if (A) B
else C;
如果條件A滿足,執行B,否則執行C。
3. if (A)
if (B) C
else D;
else
if (F) H
else K;
輸入三個數,按小到大輸出。
main()
{ float a,b,c,t;
scanf("%f,%f,%f",&a,&b.&c); 4 2 1
if (a>b)
{t=a;a=b;b=t;} 2 4 1
if (a>c)
{t=a;a=c;c=t} 1 4 2
if (b>c)
{t=b;b=c;c=t;} 1 2 4
printf("%f,%f,%f",a,b.c);
}
switch 語句
switch(a)
{
case A : B; break;
case C : D; break;
default : F; break;
}
如果變數a=A,執行B;執行break語句,跳出swith語句。如果沒有break語句,D,F語句也會執行。
如果變數a=C,執行B;其它情況執行F。
while 語句
while(A)
{
B;
}
如果條件A滿足,執行B,否則執行下一句。(先判斷,後執行。)
while(i<-5)
{
s=s+1;
i++;
}
如果i=1,則不滿足i<-5,執行下一句。i值不變。
do-while 語句
do
{
A;
}
while(B);
先執行A,再判斷B;如果B滿足,再執行A,否則執行下一句。(先執行,後判斷)
do
{
s=s+1;
i++;
}
while(i<-5);
如果i=1,執行i++,i=4;不滿足i<-5,執行下一句。
for 語句
for( A ; B ; C ) D;
A:為變數賦初值;
判斷是否滿足條件B;滿足則執行D再執行C再判斷B;
不滿足則執行下一句。
for(i=1;i<=5;i++) s=s+1;
for(i=1,s=0;i<=5;i++) s=s+1;
for( ;i<=5;i++) s=s+1;
for( ;i<=5; ) { s=s+1; i++;}
break 語句
break 語句:終止循環。用於循環語句,switch語句。
while(A)
{
if (B) C; break;
......
}
執行break語句,跳出循環,執行後面的語句。
continue 語句
continue 語句:只結束本次循環,而不是終止整個循環。
while(A)
{
if (B) C; continue;
......
}
執行break語句,跳出循環,再判斷A,繼續執行循環。
⑦ c語言中的常量和變數
C程序設計講義——常量變數
教學目標:
1.掌握c程序設計中的常量和變數
2.完成實驗報告,並發回教師機
教學重難點:
對於浮點數和整數等幾種數據類型的區別及准確使用
授課形式:
實驗
教學條件:
電腦
教學內容:
1.標識符
1.1 字元集:
(1) 英文字母:A-Z,a-z
(2) 數字:0-9
(3) 特殊符號:空格,製表符(跳格),換行符(空行)的總稱。標點符號、特殊字元:
1.2 標識符(名字):
1) 標識符只能由字母、數字和下劃線三種字元組成,第一個字元必須為字母或下劃線。大小寫敏感。
2) ANSI C沒有限制標識符長度,但各個編譯系統都有自己的規定和限制(TC 32個字元,MSC 8個字元)。
3) 大寫字母和小寫字母達標不同的標識符
4) 在使用標識符時,盡量採用「見名知義,常用從簡」的原則。
5) 標識符不能與「關鍵詞」同名,也不與系統預先定義的「標准標識符」同名。
1.3 標識符分類
(1)關鍵詞(保留字):C語言規定的具有特定意義的字元串,32個,不能作為用戶標識符。
(2)預定義標識符: C語言中提供的庫函數名和編譯預處理命令。
(3)用戶標識符號:用戶自己定義的標識符。
1.4 運算符:運算符將常量、變數、函數連接起來組成表達式,表示各種運算。
根據參與運算的操作數的個數分為:單目、雙目、三目運算符。
1.5 分隔符:逗號,空格。
1.6 注釋符:「/*」和「*/」構成一組注釋符。
2.常量與變數
常量:在程序的運行過程中,其值不能改變的量稱為常量。
變數:在程序的運行過程中,其值能夠改變的量稱為變數。
2.1常量
整型常量,實型常量,字元常量。
符號常量 #define PI 3.1416
2.2 變數
● 在程序的運行過程中,其值可以改變的量稱為變數。
● 變數名(用標識符表示)、變數在內存中占據的存儲單元、變數值三者關系。
● C語言中變數:「先定義,後使用」。
3.整型數據
整型變數的定義
格式:數據類型名 變數名表;
例如:
void main()
{
int a,b,c,d;
a=12; b=-24; u=10;
c=a+u; d=b+u;
printf(「%d,%d\n」,c,d);
}
說明:
1)變數定義時,可以說明多個相同類型的變數。各個變數用「,」分隔。
2)最後一個變數名之後必須用「;」結尾。
3)變數說明必須在變數使用之前。
4)可以在定義變數的同時,對變數進行初始化。
⑧ C語言中常量與變數到底有什麼區別
變數和常量都是內存中的一塊區域,我們先不管區域有多大,只需要知道對於常量這塊區域,我們在得到這塊區域的使用權時就給它存入了一些數據,這些數據在程序運行期間是不能被改變的,如果強行給它別的數據就會程序出錯。對於變數這塊區域,我們可以根據自己的需要,隨時可以將不同的數據放進去,這是合法的操作,當然這些不同的數據,類型得是一樣的。