c語言中有關有符號字元型char的問題

2021-09-02 07:17:50 字數 2757 閱讀 1327

1樓:匿名使用者

1、字元型(character)資料是不具計算能力的文字資料型別,用char表示。它包括中文字元、英文字元、數字字元和其他ascⅱ字元,其長度(即字元個數)範圍是0-254個字元。

2、字元型變數是用來儲存單字元的一種變數:如:char a='a'; 而字串就是用來保佑多個字元的變數,c語言中用字元陣列來表式一個字串 如:

char name=。字元和字串的區別在於是用雙引號,還是單引號,雙引號表字串,單引號表字元,如:"a"和'a' 第一個是字串,而第二個是字元。

2樓:匿名使用者

字元長度是一位元組 帶符號 範圍也就是-128~127,也就是你定義一個字元變數的時候他的值範圍是這個 注意是變數 而ascii碼是字元常量對定的,就是ascii是一些固定的字元常量對應在計算機中的儲存,比如鍵盤上面的一個輸入鍵 比如你定義char a='a'; 這裡a只是個變數名,他的值是'a',也就是ascii 碼65char a=-'a';這裡a在計算機中的儲存則是-65 就是1(這裡接65的二進位制表示)但是 要是你定義char a='a'+'a';則會報錯 因為a的值超出了127定義 unsigned char a='a'+'a';則是正錯的,因為a的值沒有超出範圍 不知道這樣你理解了嗎

3樓:匿名使用者

有符號char的數值範圍是-128~127,可是字元的ascii碼怎麼會沒有負數的呢?自己編個**看看有沒有吧,將整型(正負)轉換為字元型,我只知道字元值有255個,是什麼字元我就不記得啦!有一些字元時不可列印的,你要知道這個東西。。。。

至於unsigned char ,也編個看看吧,要記住用無符號字元型。

4樓:匿名使用者

ls說的很對,lz告訴你一個容易理解的:int與char通用

c語言中char的用法

5樓:會飛的小兔子

#include

intmain()

inti;

charc;//定義一個char型別的變數。

c='a';//賦值

for(i=0;i<26;i++){

printf(「%c」,c);//輸出一個字元用%c,c++;//charc增加1,依次可以得到:abcdef。。。。zprintf(「\n」);

if(c<='z')

printf(「stillasmallletter。\n」);

else

printf(「notasmallletter。\n」);

scanf(「%c」,&c);//輸入一個字元到c中。

charstr[10]=「astring」;//定義一個字元陣列,它的初值是「astring」

for(i=0;str[i]!='\0';i++);//計算str的長度。

printf(「thelengthofstris:%d\n」,i);

擴充套件資料1、宣告字元型變數

字元型變數的宣告方式和其它型別變數的宣告方式一樣:

chargood;

charbetter,best;

以上**宣告瞭三個字元型變數:good、better,和best。

2、字元常量與初始化

可以使用以下語句來初始化字元型變數:

charch='a';

這個語句把ch的值初始化為a的編碼值。在這個語句中,'a'是字元常量。c語言中,使用單引號把字元引|起來就構成字元常量。

6樓:幻翼高達

c語言中char用於定義字元型別變數或字元指標變數,例如「char a;」則定義了變數a是字元型別,「char *a;」則定義了變數a是字元指標型別。

char是c語言整型資料中比較古怪的一個,其它的如int/long/short等不指定signed/unsigned時都預設是signed,但char在標準中不指定為signed/unsigned,編譯器可以實現為帶符號的,也可以實現為不帶符號的。

關於char還有一個特殊的語言就是char *,它在c語言中有專門的語義,既不同於signed char *,也不同於unsigned char *,專門用於指以'\0'為結束的字串。

7樓:黑白灰的色彩

在c語言中,char變數為一個位元組,8位,signed char表示的範圍:-128~127【-128在記憶體中的二進位制表示為1000 0000,127在記憶體中的表示為0111 1111】;unsign char表示的範圍:0000 0000~1111 1111,即0~255;注意:

整數在記憶體中是以補碼存取的,正數的補碼:等於自己,負數的補碼:取反加1,例如:

127在記憶體中表示為0111 1111, -127在記憶體中表示為(0111 1111)+1=1000 0001; 假定某記憶體單元p的內容是1111 1111,那麼它一定是255嗎?實際上取決於你的**是要把它看成有符號還是無符號數,如果是無符號則表示255,如果是有符號則表示-1【對於有符號數,最高位為符號位,1表示負,0表示正】:

signed char c=*p; //c=-1unsigned char c=*p;//c=255char是c語言整型資料中比較古怪的一個,其它的如int/long/short等不signed/unsigned時都預設是signed。雖然char在標準中是unsigned(因為char型別提出的初衷是用來表示ascii碼,ascii碼的範圍是0~127),但實際情況中究竟是signed還是unsigned取決於編譯器。當你不確定編譯器的預設char型別時,就用顯示宣告:

signedchar和unsigned char

C語言中有乘方符號嗎,C語言中沒有乘方符號嗎?

沒有,但有乘bai方函式,c語言du是高效率 高速 zhi簡潔風格的語言dao,基本語法中不允許有冗餘 回低效的成份 乘方的功答能就是用標準函式庫實現 include math.h double y pow m,n m的n次方 c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以...

c語言中有符號型別的int範圍,C語言中 有符號型別的int範圍( 128 127)是怎麼求出來的,特別是 128 怎麼理解 負數用二進位制怎麼表示

恩!首先要指出你的一個錯誤!int的範圍不是 128 127 這個是char的範圍,範圍的大小是由型別所佔有的位元組來決定的。如此所示 char是一個位元組8bit,那麼在二進位制中,8bit最大值是255,最小值是0 在是在無符號時 如果是有符號的話.那麼就還有一位是符號為,最高位是符號為。例如 ...

在c語言中要求運算數必須是整型或字元型的運算子是

選擇d。是求bai餘運算子du,也叫zhi模除運算子,用於求餘數。要求兩個dao運算元均為整回數 或可以隱式轉答換成整數的型別 標準規定 1 如果 左邊的運算元為負數時,則模除的結果為負數或者0,2 如果 左邊的運算元為正數時,則模除的結構為正數或者0。測試 執行結果 位操作運算都復只能是整形或字元...