A. 在c語言中,字元型數據在內存中以什麼形式存放
c的char數據屬於基本類型,基本類型其中還包括-整型,實型,枚舉類型!
數據在內存中是以二進制形式存放的。數值是以補碼表示的。
整型:
一個正數的補碼和其原碼的形式相同。而負數的補碼方式是將其絕對值的二進制形式「按位求反再加1」
實型:
在內存中佔4個位元組,是按照指數形式存儲的,實型數據分為小數部分和指數部分,分別存放!計算機用二進製表示小數部分,用2的冪次來表示指數部分!
B. c語言中怎麼存一個字元串
在c語言中存儲一個字元串,一般有兩種方法,一種是字元指針,一種是使用字元數組。比如:
constchar*str="hello";//使用字元串指針
constcharstr[]="hello";//使用字元數組
如果保存的字元串,需要修改。一般使用字元數組。比如:
charpath[256]="c:\windows\";
strcat(path,"system32");
C. C語言用什麼貯存字元串數據
1.字元串用字元數組保存。
2.在讀取字元串時,要用 %s 格式控制符,而不是 %c
3.字元串的比較不能用相等操作符(==),而要用strcmp()函數(需要包含string.h頭文件)。
例如你的程序中要比較n和"Maiiho"是否相等,應該用以下表達式:
if (!strcmp(n,"Maiiho")) /*如果要比較的兩個字元串相等,strcmp()函數返回0,否則返回非0值*/
D. C語言的基本類型在內存中怎麼儲存的
C語言的基本類型在內存中以二進制的形式儲存的。
1、整型數據:所有整數(正負零)在內存中都是以補碼的形式存在。對於一個正整數來說,它的補碼就是它的原碼本身。對於一個負整數來說,它的補碼為原碼取反再加1。
2、字元型數據:把字元的相對應的ASCII碼放到存儲碼單元中,而這些ASCII代碼值在計算機中同樣以二進制補碼的形式存放的。
3、實型數據:也叫浮點數,在計算機中也是以二進制的方式存儲,關鍵在於如何將十進制的小數轉化為二進制來表示。
擴展資料:
根據計算機的內部字長和編譯器的版本,C語言的基本類型表示的數的長度范圍是有限定的。十進制無符號整常數的范圍為0~65535,有符號數為-32768~+32767。八進制無符號數的表示範圍為0~0177777。十六進制無符號數的表示範圍為0X0~0XFFFF或0x0~0xFFFF。
如果使用的數超過了上述范圍,就必須用長整型數來表示。長整型數是用後綴「L」或「l」來表示的。長整數158L和基本整常數158在數值上並無區別。
E. C語言中字元串與字元有什麼區別
字元串就是「abcdefg」,這是字元串
字元是『a』,『b』,這些是字元
字元串是由一串字元組成的
而字元則是單個字母或符號
另外,C語言裡面沒有字元串類型,C++,C#,Java這些才有。
C語言一般使用char型數組或指針來代替字元串
F. C語言是怎麼存儲字元串的末尾的\0需要自己手動輸入嗎
C語言中的字元串,應該說是指字元串常量,如:"hello",
"how
are
u"等,這些常量字元串本身在末尾存有一個\0,因\0是不可見字元,所以,看不到。
可以把字元串存儲到一個字元數組中,存儲方法分為三種:
1、定義字元數組,用常量字元串進行初始化
char str1[10]="hello"; //sizeof(str1)=10
char str2[]="how are u" ; //未指定數組大小,按初始化字元串實際大小開辟數組空間,sizeof(str2)=10 ; 9個字元+1個\0 通過此方法,可以驗證常量字元串中含有\0
2、定義字元數組,不初始化,採用字元串賦值操作函數進行賦值
char str[100];
strcpy( str, "hello"); //字元串拷貝
sprintf(str, "%s world", "hello"); //格式化輸入,得到hello world
以上函數會自動在字元串尾賦值字元串結束符
3、定義字元數組,不初始化,採用循環,逐位賦值字元,並在結束位置賦值\0
char str1[10];
char str2[]="hello" ;
int i,j;
for(i=0,j=0;str2[i]!='\0';i++ ) //遍歷字元串str2
if ( i%2 ) //只取偶數位
str1[j++]=str2[i];
str1[j]='\0'; //手動賦值結束符
G. 在C語言中,字元型數據在內存中以何種形式存放
C語言中,用Char定義一個變數,系統會為這個變數分配一個位元組的空間,只能存放一個字元,如果是一串字元,就要用char定義一個數組,來存放字元串。
比如,你想存放一個字元串「Fuzhou」(一個以上字元),可以定義一個字元數組,假設數組名起名為cname,採用下列代碼
char
cname[]="Fuzhou";
或者
char
cname[7];
cname[0]='F';
cname[1]='u';
cname[2]='z';
cname[3]='h';
cname[4]='o';
cname[5]='u';
cname[6]='\0';
前者是定義時賦值(初始化),後者是先定義後賦值,最後一個『\0』,是字元串結束的標志。
C語言中,沒有專門定義字元串的數據類型,但有一些關於字元串運算的函數。
H. c語言怎麼保存字元串
"可以用數組。
?
定義一個字元型數組,然後賦值。如:char c[5]=""1a2d"";
"
I. C語言中字元數組只能存放字元串
不是的,C語言中字元數組既可以保存字元,又可以保存字元串。
字元數組本意就是是指用來存放字元數據的數組。字元數組的元素是字元類型的。字元數組用於存放字元或字元串。
C語言中字元數組的一般形式為: char 數組名[數據長度] 。例如:char a[10]; a[0]='0'; a[1]=' 1'; a[2]='2'; a[3]='3'; a[4]='4'; a[5]='5'; a[6]=' 6'; a[7]='7'; a[8]='8'; a[9]='9'; 就定義了a為字元數組,包含10個"0"到「9」的字元元素。
因此,C語言中字元數組不單單只能保存字元串。
(9)c語言中字元數據存儲擴展閱讀:
字元數組的初始化:
字元數組的初始化與數值型數組初始化沒有本質區別。但它除了可以逐個給數組元素賦予字元外,也可以直接用字元串對其初始化。
用字元常量逐個初始化數組。例如:char a[8]={'i','l','o','v','e','y','o','u'};把8個字元依次分別賦給c[0]~c[7]這8個元素。
如果在定義字元數組時不進行初始化,則數組中各元素的值是不可預料的。如果花括弧中提供的初值個數(即字元個數)大於數組長度,則出現語法錯誤。如果初值個數小於數組長度,則只將這些字元賦給數組中前面那些元素,其餘的元素自動定為空字元(即'