『壹』 c語言中常量有哪些類型
C語言中的常量可以分為:整型常量、實型常量和字元型常量和字元串常量,
另外還有符號常量和有名常量.、
整型,例如:-123, 0xff (十六進制), 022(八進制)
實型, 例如:3.14, 3.14f (單精), 3.14lf (雙精), 1.2e04(科學)
字元常量, 'A'
字元串常量, "abc123"
轉義字元常量 '\0' "\n"
宏定義標識符常量 #define e 2.71
程序中的 e 編譯時會被2.71 替代,
邏輯型常量 TRUE (實際上也是宏定義常量)
差不多就這幾種吧····
『貳』 c語言dowhile循環中的判斷句為常量怎麼結束循環
for循環和while循環是「當型」循環,意思是當滿足循環條件時才執行循環體!否則不執行循環體!而do while循環是「直到型」循環。即先執行一次循環體,然後再判斷此時循環條件是否滿足,若滿足則執行之,否則不執行! 並且for循環的功能是最強大的,凡是用while,do while 循環能解決的問題用for循環都能解決!
『叄』 c語言怎麼判斷常量合不合法
法律分析:只能是A-Z,a-z,0-9與下劃線組成(也就是說空格或其他字元都不能有)。不能以數字開頭
法律依據:《C語言程序設計》 第二章 常量 2e32.6 -e-5 "/045" 'BASIC' 0fc 0x4d00 e5 『\' 變數 int _auto_ auto 2-or Turbo_C _169 常量裡面 我知道1,4,5,8不合法... 常量
2e32.6 -e-5 "/045" 'BASIC'
0fc 0x4d00 e5 『\'
變數
int _auto_ auto 2-or
Turbo_C _169
『肆』 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語言中沒有「實型」(real type)這種數據類型。
C語言中非構造類型只有整型(int、short、long、long long和對應的unsigned修飾的類型,以及同義寫法),以及浮點型(包括單精度浮點型float,雙精度浮點型double,長雙精度浮點型long double)兩大類。其中float和double內部儲存形式遵循IEEE 754標准,long double取決於編譯平台。C語言中的浮點型數內部儲存形式為指數計數法分段存儲的二進制形式的小數,即使在規定大小和字長精度范圍之內也不能嚴格無誤差地表示所有十進制小數、有理數,更不用說實數。(而C語言源代碼中除了16進制整數表示的實際存儲形式以外,直接表示的所有浮點數都只能是十進制的,因此除非在二進制下也是有限小數(分數形式中分母是2的冪),且不是太長,否則在編譯過程中即會產生誤差。)
盡管如此,有時候float、double、long double這三者(或者前兩者)會被不嚴格地統稱為「實型」。
C語言中,數值常量的後綴(大小寫同義)可以表達常量的類型,例如0UL表示unsigned long型數0。如果沒有後綴,則通過具體的寫法來確定。總的原則是盡可能避免精度損失。不過也不是范圍越小越好,例如0是int型而不是char型常量。對於沒有後綴的十進制小數(小數部分或整數部分之一完全不寫的也算,當作省略了0),默認為double常量,例如3.1415等同於3.1415D。(如果要用float常量,應該使用3.1415f或3.1415F。)對於指數形式的,默認也是double,例如0.329e2(或者0.329E+2之類的也可以)。至於0.329*10^2如果出現在源代碼中,會被當做是一個表達式,先計算0.329和10的積,結果再和2作^(位異或)運算。但由於積是double類型的,不能參與位運算,會給出編譯錯誤。
871是int常量,不是「實型」常量。
871.、871.f、871.0F、871.d、871.0D、8.71E+2、0.871e3這類才是「實型」常量。
回答者: 幻の上帝 - 十四級 2010-1-16 19:52
『陸』 C語言怎麼區分常量和變數
常量,有兩種方法定義。一種是用宏 #define a 3 那麼編譯之前a就都會被3替換掉
第二種是在定義變數前面加const 。如const int a=3; 這是一個不可改變值的變數。
所以。。。就可以知道哪些是常量了。看定義。。
不知道是不是常量可以在那個單詞上點右鍵然後選轉到定義就可以看到了
另外,常量通常所有字母大寫
『柒』 如何判斷C語言中的合法常量
整型分前綴(0、0x)和後綴(u、l),每種進制中用的數字不同;
浮點數後綴f、l,指數表示注意是否在范圍內;
字元與字元串主要注意轉義字元後面是否合法;
a:整數中不允許出現逗號;
b:科學計數法表示1.5乘以10的2.0次方,由於科學計數法指數部分只能是整數。
c:號是轉義符號後面要跟其他符號來表示具體字元,這里什麼都沒跟就寫反引號了;
d:字元串常量是連續的2個字元,第1個字元的ascii碼是7,第2個字元的ascii碼是0作為字元串結束符號,第1個字元是響鈴符號,輸出時會讓默認揚聲器發出聲音。
(7)c語言判斷句常量擴展閱讀:
字元串常量是一對雙引號括起來的字元序列。
字元常量可以賦值給字元變數,如"char b='a';",但不能把一個字元串常量賦給一個字元變數,同時也不能對字元串常量賦值!
例如下面的是合法的字元串常量:
"how do you do.","CHINA","a","$123.45"「C language programming」、「a\n」、「#123」、「 」等為字元串常量
存儲:字元串中的字元依次存儲在內存中一塊連續的區域內,並且把空字元『 』自動附加到字元串的尾部作為字元串的結束標志。故字元個數為n的字元串在內存中應占(n+1)個位元組。
『捌』 正確的C語言常量是什麼
正確的C語言常量是指針常量。
在除了『C/C++』的一些高級程序語言中,『常量』可以被稱作,「在一個信息變化過程中,始終不發生改變的量」,其可以是不隨著時間變化的某些量的固定信息;也可以表示為某一數值的字元(或字元串),常被用來標識、測量和比較兩者的差異。
但在 『C/C++語言中』,『常量』如果還用『運行過程中不變的量』來描述,就顯得不太准確了,甚至是在具體使用時,這就是一個錯誤的概念。在 『C/C++』中,常量實質是『指針常量』,雖然其看起來『符合常量的概念』,但是在實際運行中,其值或地址值是會發生變化的。
(8)c語言判斷句常量擴展閱讀:
C語言常量只要const位於指針聲明操作符右側,就表明聲明的對象是一個常量,且它的內容是一個指針,也就是一個地址,並且在聲明的時候一定要給它賦初始值。一旦賦值,以後這個常量再也不能指向別的地址。
C語言常量指針的使用要注意,指針指向的對象不能通過這個指針來修改,可是仍然可以通過原來的聲明修改,也就是說C語言常量可以被賦值為變數的地址,只是限制了通過這個指針修改變數的值。
『玖』 C語言語法的實型常量定義及其判斷
c語言里實型常量必須在數字後加f或f、l或l
像3.1415隻是一個浮點數,而不是常量
.871應該是.87l或.87l,這才是實型常量
『拾』 c語言中常量表達式有哪些舉點例子,謝謝!!!
C語言中的常量與常量表達式與變數
在程序運行過程中,其值不能被改變的量,稱為常量。
整型常量:1,0,-1
實型常量:8.2,-3.55
字元常量:'a', 'c'。
常量一般從其字面形式即可判斷。這種常量為字面常量或直接常量。
整型常量可分為:int, short int, long int, unsigned int, unsigned short, unsigned long.
浮點常量可分為:float, double, long double
字元常量:
字元串常量:
變數: 變數代表內存中具有特定屬性的一個存儲單元,它用來存放數據,也就是變數的值。
就是比如cout<<5*8+2/6<<endl; 表達式的值是一個定值,而不包含變數的式子!
那可不可以認為常量表達式就是常量?一般情況可以的,只要沒變數就可以了。
常量表達式顧名思義表達式由常量表示,如
double a = 3d + 2.1 + sizeof(double);
整型表達式是表達式由整型數據表示.
a[n];
維大小n必須為整型,系統不會自動將一個低精度的數轉換為高精度的數,所有a[3.4]不正確,必須為a[(int)3.4]
----------------------------------
表達式就有由一串「數字」和「符號」組成的式子,例如1+2是表達式,12*8-1*99也是表達式。C++
的「符號」除了普通的算術運算+-*/之外還有其他的。
常量表達式就是表達式裡面只有常量的式子,比如1+2是常量表達式,如果定義a為常量1,那麼a+2也是常量表達式。
如果定義變數a,那麼a+2就不是常量表達式。