Ⅰ c語言中,字元、常量、變數三者有什麼聯系
一、都有存儲區,並有相關的類型。二、常量不能定址,變數可以。
Ⅱ C語言中變數與常量的概念是什麼
在C程序執行過程中,其值不發生改變的量稱為常量,其值可變的量稱為變數。它們可與數據類型結合起來分類。例如,可分為整型常量、整型變數、浮點常量、浮點變數、字元常量、字元變數、枚舉常量、枚舉變數。在程序中,直接常量是可以不經說明而直接引用的,而符號常量和變數則必須先定義後使用。
具體說明:
1、在程序執行過程中,其值不發生改變的量稱為常量。
①直接常量
整型常量:12、0、-3;
實型常量:4.6、-1.23;
字元常量:『a』、『b』。
②符號常量
標識符:用來標識變數名、符號常量名、函數名、數組名、類型名、文件名的有效字元序列。
符號常量:用標示符代表一個常量。在C語言中,可以用一個標識符來表示一個常量,稱之為符號常量。
符號常量在使用之前必須先定義,其一般形式為:#define 標識符 常量其中#define也是一條預處理命令(預處理命令都以"#"開頭),稱為宏定義命令(在後面預處理程序中將進一步介紹),其功能是把該標識符定義為其後的常量值。一經定義,以後在程序中所有出現該標識符的地方均代之以該常量值。
· 習慣上符號常量的標識符用大寫字母,變數標識符用小寫字母,以示區別。
【例3.1】符號常量的使用。#define PRICE 30main(){ int num,total;num=10;total=num* PRICE;printf(「total=%d」,total);}
· 用標識符代表一個常量,稱為符號常量。
· 符號常量與變數不同,它的值在其作用域內不能改變,也不能再被賦值。
· 使用符號常量的好處是:
含義清楚;
能做到「一改全改」。
2、其值可以改變的量稱為變數。一個變數應該有一個名字,在內存中占據一定的存儲單元。變數定義必須放在變數使用之前。一般放在函數體的開頭部分。要區分變數名和變數值是兩個不同的概念。
Ⅲ C語言的常量與變數的關系
常量就是在運行過程中不能改變的值!例如單個數字就是常量(例:12);變數就是在運行過程中能改變的值!!這樣定義變數:int i;char c;
Ⅳ C語言字元變數和數字常量怎麼比較啊
數據在內存中都是以2進制形式儲存,儲存的2進制的值等於變數的值的ASCII碼值
所以 字元常量和數字常量比較是用他們對應的ASCII碼比較
由表知:字元'0'到'9' 'a'到'z''A'到'Z' 的ASCII碼都>=48都大於數字常量0到9
Ⅳ 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語言中字元常量 字元串常量和標識符的區別
字元常量是單引號括起來的,如'A'。也可以認為是一個int;字元串常量是雙引號括起來的,如"ABC"。是以\0結尾的字元數組;標示符就是常量或者變數的名字,不用帶任何引號。
Ⅶ 判斷正誤:1,c語言中有字元類型的常量和變數
1:有字元常量 如 'a' 在用ASCII碼 97來表示
有字元型變數 如char a;
2.不能,只能用類似int strcmp(char *Dest,char * src)這樣的函數來比較
沒有理由,標准規定的,要是標准規定能用 > <來比的話 就能用了。可惜沒有!
Ⅷ C語言 字元常量和字元變數
b=a+5;這句是合法的,ASCII碼背不背都無所謂,記住幾個關鍵的就好了,比如a和A,
Ⅸ C語言字元常量和字元變數怎麼區分
對於常量'9'作為字元型常量,其類型為char,佔用1個位元組,'A'也是
數字9,默認類型是int,佔用4位元組
Ⅹ c語言中有字元串類型的常量和變數
是的。字元串常量,就是用雙引號括起來的字元串,例如 「Abc123Xyz」,「FG and HI", 它們的」值, 如同常數,一旦定了, 是不可改變的。它們被存放在常數區。
字元串類型的變數,就是 char 型數組,例如 char s[80]; 它們的 值 是可以改變的。
例如 char s[80]="abcd 1234 wxyz"; 初始化 s 有了 值 「abcd 1234 wxyz」。
strcpy(s,"Good Night!"); s的值 變成 "Good Night!" 了。