『壹』 c語言學科中字元和位元組是一回事嗎
(一)「位元組」的定義
位元組(Byte)是一種計量單位,表示數據量多少,它是計算機信息技術用於計量存儲容量的一種計量單位。
(二)「字元」的定義
字元是指計算機中使用的文字和符號,比如1、2、3、A、B、C、~!·#¥%……—*()——+、等等。
(三)「位元組」與「字元」
它們完全不是一個位面的概念,所以兩者之間沒有「區別」這個說法。不同編碼里,字元和位元組的對應關系不同:
①ASCII碼中,一個英文字母(不分大小寫)佔一個位元組的空間,一個中文漢字占兩個位元組的空間。一個二進制數字序列,在計算機中作為一個數字單元,一般為8位二進制數,換算為十進制。最小值0,最大值255。
②UTF-8編碼中,一個英文字元等於一個位元組,一個中文(含繁體)等於三個位元組。
③Unicode編碼中,一個英文等於兩個位元組,一個中文(含繁體)等於兩個位元組。
符號:英文標點佔一個位元組,中文標點占兩個位元組。舉例:英文句號「.」佔1個位元組的大小,中文句號「。」佔2個位元組的大小。
④UTF-16編碼中,一個英文字母字元或一個漢字字元存儲都需要2個位元組(Unicode擴展區的一些漢字存儲需要4個位元組)。
⑤UTF-32編碼中,世界上任何字元的存儲都需要4個位元組。
『貳』 c語言中的word和byte是什麼數據類型啊
在C語言里沒有word、byte數據類型。
word一般叫作「字」:系統硬體有關,數據匯流排為16位,則1word為2byte;32位時,1word為4byte;
byte表示一個位元組是8位二進制數,對應C的unsignedchar;存儲容量通常用byte表示,因為與系統硬體無關。
(2)c語言中位元組是什麼擴展閱讀
C語言寫入word文檔的使用
#include"stdio.h"
#include"stdlib.h"
voidmain()
{
FILE*pl;
inti,a;
charb;
char*bbb;//指針變數用於儲存未知長度的字元串
chararr[300];//參考第二種輸出格式,按行輸出。
charlujing[30];
printf("請輸入創建的文件路徑:");//參考格式D:\"文件夾名"\(創建文檔名).doc
scanf("%s",lujing);
pl=fopen(lujing,"w");
if(pl==NULL){printf("1文件找不到");exit(0);}
while(1){//向文檔輸入內容
b=getchar();
if(b=='#')break;
fputc(b,pl);
}
fseek(pl,0L,SEEK_END);//檢測文檔字元長度包括空格換行等
a=ftell(pl)+1;
fclose(pl);
bbb=(char*)malloc(sizeof(char)*a);//分配等長度空間便於輸出
pl=fopen(lujing,"r");
if(pl==NULL){printf("1文件找不到");exit(0);}
i=0;
while(!feof(pl))//直到文件全部內容寫入,循環停止
{
bbb[i]=fgetc(pl);//這種做法的好處是可以保持輸入格式進行輸出
i++;
}
bbb[i]='