① java中的char函數怎麼用
要理解char類型,您首先必須了解Unicode編碼模式。Unicode的發明克服了傳統的字元編碼方案的局限性。在Unicode出現之前,有許多不同的標准:美國的ASCII編碼,ISO8859-1 為西方歐洲語言編碼,KOI-8 為俄羅斯編碼方式,GB18030 BIG-5 是中國語言的編碼方式,等等。這將導致兩個問題:一個特定的代碼值對應於不同的字母的各種編碼方案。此外,與大字元集編碼語言長度相比,一些常見的字元編碼為一個位元組,其他人需要兩個或兩個以上的位元組。
utf-16 編碼是在一個可變長度的編碼方式,它代表了所有Unicode代碼點的方法。人物的基本語言平面表示為16位值,這被稱為代碼單元。這些代碼單元還需要不斷的補充新的字元編碼。在這一系列的編碼中,任何一個值都存在與一個未使用過的2048位元組的范圍內的基本語言平面,這被稱為代理區域。這是相當睿智的,因為你可以馬上分辨出一個代碼單元編碼了一個字元,或者是否為第一或第二部分補充字元。例如,數學符號的整數集合的代碼點為 U+1d56b ,和由兩個代碼編碼單元 U+D835 和 U+DD6B 組成的。
在Java中,char類型也僅僅是描述 utf-16 編碼的代碼單元。
② c語言里char類型有什麼用主要在什麼時候用,讓他代表字母有什麼又有什麼意義,什麼時候需要聲明
char類型就是單位元組整型。字元只需要一個位元組來表示,用char型經濟合理,所以字元或字元串用char型或char型數組表示,並不是char型是專為字元而設立!所以當整型數字范圍很小時用char型是很好的選擇,比如寫一個九九乘法表,最大的整數是81,char型的范圍是-128~+127,用char型就再好不過了。如果用整型int,那消耗多3倍的空間!
③ CString string char等字元類型的相關知識和轉換
以下內容轉自:
http://space.itpub.net/16856446/viewspace-612824
CString,int,string,char*之間的轉換
string 轉 CString
CString.format(」%s」, string.c_str());
char 轉 CString
CString.format(」%s」, char*);
char 轉 string
string s(char *);
string 轉 char *
char *p = string.c_str();
CString 轉 string
string s(CString.GetBuffer());
1,string -> CString
CString.format(」%s」, string.c_str());
用c_str()確實比data()要好.
2,char -> string
string s(char *);
你的只能初始化,在不是初始化的地方最好還是用assign().
3,CString -> string
string s(CString.GetBuffer());
GetBuffer()後一定要ReleaseBuffer(),否則就沒有釋放緩沖區所佔的空間.
《C++標准函數庫》中說的
有三個函數可以將字元串的內容轉換為字元數組和C—string
1.data(),返回沒有」\0「的字元串數組
2,c_str(),返回有」\0「的字元串數組
3,()
—————————————————————
CString與int、char*、char[100]之間的轉換- -
CString與int、char*、char[100]之間的轉換- -
CString互轉int
將字元轉換為整數,可以使用atoi、_atoi64或atol。
而將數字轉換為CString變數,可以使用CString的Format函數。如
CString s;
int i = 64;
s.Format(」%d」, i)
Format函數的功能很強,值得你研究一下。
void CStrDlg::OnButton1()
{
// TODO: Add your control notification handler code here
CString
ss=」1212.12〃;
int temp=atoi(ss);
CString aa;
aa.Format(」%d」,temp);
AfxMessageBox(」var is 」 + aa);
}
sart.Format(」%s」,buf);
CString互轉char*
///char * TO cstring
CString strtest;
char * charpoint;
charpoint=」give string a value」;
strtest=charpoint;
///cstring TO char *
charpoint=strtest.GetBuffer(strtest.GetLength());
標准C里沒有string,char *==char []==string
可以用CString.Format(」%s」,char *)這個方法來將char *轉成CString。要把CString轉成char *,用操作符(LPCSTR)CString就可以了。
CString轉換 char[100]
char a[100];
CString str(」aaaaaa」);
strncpy(a,(LPCTSTR)str,sizeof(a));
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1570001
(一) 概述
string和CString均是字元串模板類,string為標准模板類(STL)定義的字元串類,已經納入C++標准之中;
CString(typedef CStringT > CString)為Visual C++中最常用的字元串類,繼承自CSimpleStringT類,主要應用在MFC和ATL編程中,主要數據類型有char(應用於ANSI),wchar_t(unicode),TCHAR(ANSI與unicode均可);
char*為C編程中最常用的字元串指針,一般以』\0′為結束標志;
(二) 構造
string是方便的,可以從幾乎所有的字元串構造而來,包括CString和char*;
CString次之,可以從基本的一些字元串變數構造而來,包括char*等;
char*沒有構造函數,僅可以賦值;
舉例:
char* psz = 「joise」;
CString cstr( psz );
string str( cstr );
(三) 運算符重載
a) perator=
string是最方便的,幾乎可以直接用所有的字元串賦值,包括CString和char*;
CString次之,可以直接用些基本的字元串賦值,包括char*等;
char*只能由指針賦值,並且是極危險的操作,建議使用strcpy或者memcpy,而且char*在聲明的時候如未賦初值建議先設為NULL,以避免野指針,令你抓狂;
舉例:
char *psz = NULL;
psz = new char[10]; //當然,以上的直接寫成char *psz = new char[10];也是一樣
memset( psz, 0, 10 );
strcpy( psz, 「joise」 );
CString cstr;
cstr = psz;
string str;
str = psz;
str = cstr;
delete []psz;
b) operator+
string與CString差不多,可以直接與char*進行加法,但不可以相互使用+運算符,即string str = str + cstr是非法的,須轉換成char*;
char*沒有+運算,只能使用strcat把兩個指針連在一起;
舉例:
char* psz = 「joise」;
CString cstr = psz;
cstr = cstr + psz;
string str = psz;
str = str + str + psz;
strcat( psz, psz );
strcat( psz, cstr );//合法
strcat( psz, str );//非法,由此可見,CString可自動轉換為const char*,而string不行
c) operator +=
string是最強大的,幾乎可以與所有的字元串變數+=,包括CString和char*;
CString次之,可以與基本的一些字元串變數進行+=而來,包括char*等;
char*沒有+=運算符,只能使用strcat把兩個指針連在一起;
d) operator[]
CString最好,當越界時會拋出斷言異常;
string與char*下標越界結果未定義;
舉例:
char* psz = 「joise」;
CString cstr = psz;
cout << cstr[8];
string str = psz;
cout << str[8];
cout << psz[8];
e) perator== 、operator!=、operator> 、operator< 、operator>= 、perator<=
CString與string之間不可以進行比較,但均可以與char*進行比較,並且比較的是值,而不是地址;
cout << ( psz == cstr );
cout << ( psz == str );
cout << ( str == psz );
cout << ( cstr == psz );//以上代碼返回均為1
(四) 常用演算法
a) 查找
作用 char* string CString
查找指定值 strchr
strstr
strrstr
strspn find Find
第一個匹配的值 fild_first_of FindOneOf 從後面開始查找 ReserveFind 指定匹配方式 find_if
註:find_if中是把范圍內的值挨個代入匹配函數直至返回true
b) 比較
作用 char* string CString 查找指定值(區分大小寫) strcmp
strncmp
strcoll
_strncoll operator<
operator>
operator<=
operator>=
operator==
operator!= Collate
Compare 查找指定值(不區分大小寫) _stricmp
_strnicmp
_str違規廣告
_strn違規廣告 CollateNoCase
CompareNoCas
註:返回值如果<0則前面的值小於後面的值,反之亦然
c) 替換
作用 char* string CString 查找指定值 _strset
_strnset
replace
replace_
replace__if
replace_if Replace
d) 插入
作用 char* string CString 查找指定值 insert Insert
e) 增加 作用 char* string CString 動態增加值 strcat push
append Append
AppendChar
AppendFormat
f) 截取
作用 char* string CString 得到部分值 用下標操作 substr Left
Mid
Right
Truncate
g) 移除
作用 char* string CString 移除部份值 remove Remove 移除空白值 RemoveBlanks
註:此為ATL提供,非C函數 remove_if Trim
TrimLeft
TrimRig
h) 轉換大小寫
作用 char* string CString 轉換大小寫 _strlwr
_strupr MakeLower
MakeUpper
i) 與其他類型轉換
作用 char* string CString 轉化為數字 atoi
atod
atof Format 轉化為char* c_str
GetBuffer
GetBufferSetLen
j) 格式化
作用 char* string CString 格式化 sprintf Format
k) 得到長度
作用 char* string CString
得到長度 strlen length GetLength 得到大小 size GetAllocLength
l) 判斷為空
作用 char* string CString 判斷是否為空 判斷是否==NULL或者第一個字元是否是』\0′ empty IsEmpty
m) 重定義大小
作用 char* string CString 重定義大小 realloc
new resize GetBufferSetLength
n) 釋放資源
作用 char* string CString 釋放 free
delete (delete[]) ReleaseBuffer
ReleaseBufferSetLength
(五) 安全性>
CString > string > char*;
(六) 靈活性
CString > string >char*;
(七) 可移植性
char* = string > CString
④ 字元串常用的幾種方法
這些是最常用的:
char charAt (int index) 返回index所指定的字元
String concat(String str) 將兩字元串連接
boolean endsWith(String str) 測試字元串是否以str結尾
boolean equals(Object obj) 比較兩對象
char[] getBytes 將字元串轉換成字元數組返回
char[] getBytes(String str) 將指定的字元串轉成制服數組返回
boolean startsWith(String str) 測試字元串是否以str開始
int length() 返回字元串的長度
String replace(char old ,char new) 將old用new替代
char[] toCharArray 將字元串轉換成字元數組
String toLowerCase() 將字元串內的字元改寫成小寫
String toUpperCase() 將字元串內的字元改寫成大寫
String valueOf(Boolean b) 將布爾方法b的內容用字元串表示
String valueOf(char ch) 將字元ch的內容用字元串表示
String valueOf(int index) 將數字index的內容用字元串表示
String valueOf(long l) 將長整數字l的內容用字元串表示
String substring(int1,int2) 取出字元串內第int1位置到int2的字元串
=============
以下解釋的十分清楚了,還有例子
1、length() 字元串的長度
例:char chars[]={'a','b'.'c'};
String s=new String(chars);
int len=s.length();
2、charAt() 截取一個字元
例:char ch;
ch="abc".charAt(1); 返回'b'
3、 getChars() 截取多個字元
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
sourceStart指定了子串開始字元的下標,sourceEnd指定了子串結束後的下一個字元的下標。因此, 子串包含從sourceStart到sourceEnd-1的字元。接收字元的數組由target指定,target中開始復制子串的下標值是targetStart。
例:String s="this is a demo of the getChars method.";
char buf[]=new char[20];
s.getChars(10,14,buf,0);
4、getBytes()
替代getChars()的一種方法是將字元存儲在位元組數組中,該方法即getBytes()。
5、toCharArray()
6、equals()和equalsIgnoreCase() 比較兩個字元串
7、regionMatches() 用於比較一個字元串中特定區域與另一特定區域,它有一個重載的形式允許在比較中忽略大小寫。
boolean regionMatches(int startIndex,String str2,int str2StartIndex,int numChars)
boolean regionMatches(boolean ignoreCase,int startIndex,String str2,int str2StartIndex,int numChars)
8、startsWith()和endsWith()
startsWith()方法決定是否以特定字元串開始,endWith()方法決定是否以特定字元串結束
9、equals()和==
equals()方法比較字元串對象中的字元,==運算符比較兩個對象是否引用同一實例。
例:String s1="Hello";
String s2=new String(s1);
s1.eauals(s2); //true
s1==s2;//false
10、compareTo()和compareToIgnoreCase() 比較字元串
11、indexOf()和lastIndexOf()
indexOf() 查找字元或者子串第一次出現的地方。
lastIndexOf() 查找字元或者子串是後一次出現的地方。
12、substring()
它有兩種形式,第一種是:String substring(int startIndex)
第二種是:String substring(int startIndex,int endIndex)
13、concat() 連接兩個字元串
14 、replace() 替換
它有兩種形式,第一種形式用一個字元在調用字元串中所有出現某個字元的地方進行替換,形式如下:
String replace(char original,char replacement)
例如:String s="Hello".replace('l','w');
第二種形式是用一個字元序列替換另一個字元序列,形式如下:
String replace(CharSequence original,CharSequence replacement)
15、trim() 去掉起始和結尾的空格
16、valueOf() 轉換為字元串
17、toLowerCase() 轉換為小寫
18、toUpperCase() 轉換為大寫
19、StringBuffer構造函數
StringBuffer定義了三個構造函數:
StringBuffer()
StringBuffer(int size)
StringBuffer(String str)
StringBuffer(CharSequence chars)
(1)、length()和capacity()
一個StringBuffer當前長度可通過length()方法得到,而整個可分配空間通過capacity()方法得到。
(2)、ensureCapacity() 設置緩沖區的大小
void ensureCapacity(int capacity)
(3)、setLength() 設置緩沖區的長度
void setLength(int len)
(4)、charAt()和setCharAt()
char charAt(int where)
void setCharAt(int where,char ch)
(5)、getChars()
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
(6)、append() 可把任何類型數據的字元串表示連接到調用的StringBuffer對象的末尾。
例:int a=42;
StringBuffer sb=new StringBuffer(40);
String s=sb.append("a=").append(a).append("!").toString();
(7)、insert() 插入字元串
StringBuffer insert(int index,String str)
StringBuffer insert(int index,char ch)
StringBuffer insert(int index,Object obj)
index指定將字元串插入到StringBuffer對象中的位置的下標。
(8)、reverse() 顛倒StringBuffer對象中的字元
StringBuffer reverse()
(9)、delete()和deleteCharAt() 刪除字元
StringBuffer delete(int startIndex,int endIndex)
StringBuffer deleteCharAt(int loc)
(10)、replace() 替換
StringBuffer replace(int startIndex,int endIndex,String str)
(11)、substring() 截取子串
String substring(int startIndex)
String substring(int startIndex,int endIndex)
⑤ matlab中如何將char類型的數據轉換為數值型的
1、整型:(int8;uint8;int16;uint16;int32;uint32;int64;uint64)通過intmax(class)和intmin(class) 函數返回該類整型的最大值和最小值,例如intmax(『int8』)=127;
2、浮點:(single;double)
浮點數:REALMAX('double')和REALMAX('single')分別返回雙精度浮點和單精度浮點的最大值,REALMIN('double')和REALMIN ('single')分別返回雙精度浮點和單精度浮點的最小值。
3、邏輯:(logical)
Logical:下例是邏輯索引在矩陣操作中的應用,將5*5矩陣中大於0.5的元素設定為0:
A = rand(5);
A(A>0.5)=0;
4、字元:(char)
Matlab中的輸入字元需使用單引號。字元串存儲為字元數組,每個元素佔用一個ASCII字元。如日期字元:DateString=』9/16/2001』 實際上是一個1行9列向量。構成矩陣或向量的行字元串長度必須相同。可以使用char函數構建字元數組,使用strcat函數連接字元。
例如,命令 name = ['abc' ; 'abcd'] 將觸發錯誤警告,因為兩個字元串的長度不等,此時可以通過空字元湊齊如:name = ['abc ' ; 'abcd'],更簡單的辦法是使用char函數:char(『abc』,』abcd』),Matlab自動填充空字元以使長度相等,因此字元串矩陣的列緯總是等於最長字元串的字元數.
例如size(char(『abc』,』abcd』))返回結果[2,4],即字元串』abc』實際存在的是』abc 』,此時如需提取矩陣中的某一字元元素,需要使用deblank函數移除空格如name =char(『abc』,』abcd』); deblank(name(1,:))。
此外,Matlab同時提供一種更靈活的單元格數組方法,使用函數cellstr可以將字元串數組轉換為單元格數組:
data= char(『abc』,』abcd』)
length(data(1,:)) ->? 4
cdata=cellstr(data)
length(cdata{1}) ->?3
常用的字元操作函數
blanks(n) 返回n個空字元
deblank(s) 移除字元串尾部包含的空字元
(string) 將字元串作為命令執行
findstr(s1,s2) 搜索字元串
ischar(s) 判斷是否字元串
isletter(s) 判斷是否字母
lower(s) 轉換小寫
upper(s) 轉換大寫
strcmp(s1,s2) 比較字元串是否相同
strncmp(s1,s2,n) 比較字元串中的前n個字元是否相同
strrep(s1,s2,s3) 將s1中的字元s2替換為s3
5、日期和時間
Matlab提供三種日期格式:日期字元串如』1996-10-02』,日期序列數如729300(0000年1月1日為1)以及日期向量如 1996 10 2 0 0 0,依次為年月日時分秒。
常用的日期操作函數
datestr(d,f) 將日期數字轉換為字元串
datenum(str,f) 將字元串轉換為日期數字
datevec(str) 日期字元串轉換向量
weekday(d) 計算星期數
eomday(yr,mth) 計算指定月份最後一天
calendar(str) 返回日歷矩陣
clock 當前日期和時間的日期向量
date 當前日期字元串
now 當前日期和時間的序列數
6、結構
結構是包含已命名「數據容器」或欄位的數組。結構中的欄位可以包含任何數據。
7、構建結構數組
(1)賦值方法
下面的賦值命令產生一個名為patient的結構數組,該數組包含三個欄位:
patient.name = 'John Doe';
patient.billing = 127.00;
patient.test = [79 75 73; 180 178 177.5; 220 210 205];
在命令區內輸入patient可以查看結構信息:
name: 'John Doe'
billing: 127
test: [3x3 double]
繼續賦值可擴展該結構數組:
patient(2).name = 'Ann Lane';
patient(2).billing = 28.50;
patient(2).test = [68 70 68; 118 118 119; 172 170 169];
賦值後結構數組變為[1 2]。
(2)構建結構數組:struct函數
函數基本形式為:strArray = struct('field1',val1,'field2',val2, ...)
例如:
weather(1) = struct('temp', 72,'rainfall', 0.0);
weather(2) = struct('temp', 71,'rainfall', 0.1);
weather = repmat(struct('temp', 72, 'rainfall', 0.0), 1, 3);
weather = struct('temp', {68, 80, 72}, 'rainfall', {0.2, 0.4, 0.0});
(3)訪問結構數據
以下都是合法的結構數組訪問命令:
mypatients = patient(1:2) 獲取子結構數據
mypatients(1) 訪問結構數據
patient(2).name 訪問結構數據中的特定欄位
patient(3).test(2,2) 訪問結構數據中的特定欄位(該欄位為數組)
bills = [patient.billing] 訪問多個結構
tests = {patient(1:2).test} 提取結構數據轉換成單元格數組
使用結構欄位的動態名稱
通過structName.(expression_r_r_r)可以賦予結構欄位名稱並訪問數據。例如欄位名為expression_r_r_r、結構名為structName,訪問其中第7行1至25列數據可以使用命令:structName.(expression_r_r_r)(7,1:25)。
例如,存在一個學生每周成績數據結構數組,其數據通過以下方式建立:
testscores.wang.week(1:25) = ...
[95 89 76 82 79 92 94 92 89 81 75 93 ...
85 84 83 86 85 90 82 82 84 79 96 88 98];
testscores.chen.week(1:25) = ...
[87 80 91 84 99 87 93 87 97 87 82 89 ...
86 82 90 98 75 79 92 84 90 93 84 78 81];
即結構名為testscores,欄位使用每個學生的名稱命名,分別為wang和chen,每個學生下麵包含名為week的成績結構數組。
現計算給定結構名稱、學生名稱和起止周數的平均分數。
在命令窗口中輸入 edit avgscore.m,輸入以下代碼後保存文件:
function avg = avgscore(struct,student, first, last)
avg = sum(struct.(student).week(first:last))/(last - first + 1);
在命名窗口中輸入:avgscore(testscores, 'chen', 7, 22) 計算學生陳從第7周到第22周的平均分數。
(4)添加和刪除結構欄位
命令[struct](index).(field)可添加或修改欄位。如patient(2).ssn = '000-00-0000' 在結構patient中添加一個名為ssn的欄位。
刪除欄位使用rmfield函數,如patient2 = rmfield(patient, 'name') 刪除name欄位並產生新的結構。
8、單元格數組:(cell)
單元格數組提供了不同類型數據的存儲機制,可以儲存任意類型和任意緯度的數組。
訪問單元格數組的規則和其他數組相同,區別在於需要使用花括弧{}訪問,例如A{2,5}訪問單元格數組A中的第2行第5列單元格。
(1)構建單元格數組:賦值方法
使用花括弧標識可直接創建單元格數組,如:
A(1,1) = {[1 4 3; 0 5 8; 7 2 9]};
A(1,2) = {'abcd'};
A(2,1) = {3+7i};
A(2,2) = {-pi:pi/10:pi};
上述命令創建2*2的單元格數組A。繼續添加單元格元素直接使用賦值如A(2,3)={5}即可,注意需使用花括弧標識。簡化的方法是結合使用花括弧(單元格數組)和方括弧()創建,如C = {[1 2], [3 4]; [5 6], [7 8]};
(2)構建單元格數組:函數方法
Cell函數。如:
B = cell(2, 3);
B(1,3) = {1:3};
(3)訪問數據
通過索引可直接訪問單元格數組中的數據元素,例如:
N{1,1} = [1 2; 4 5];
N{1,2} = 'Name';
N{2,1} = 2-4i;
N{2,2} = 7;
c = N{1,2}
d = N{1,1}(2,2)
9、函數句柄
函數句柄是用於間接調用一個函數的Matlab值或數據類型。在調用其它函數時可以傳遞函數句柄,也可在數據結構中保存函數句柄備用。通過命令形式 fhandle = @functionname 可以創建函數句柄,例如 trigFun=@sin,或匿名函數sqr = @(x) x.^2;。
使用句柄調用函數的形式是 fhandle(arg1, arg2, ..., argn) 或 fhandle()(無參數)。如:
trigFun(1)。例:
function x = plotFHandle(fhandle, data)
plot(data, fhandle(data))
plotFHandle(@sin, -pi:0.01:pi)
數據類型轉換如C語言中的強制類型轉換相似e.g.:
y=9;
z=double(y);
Matlab中的圖像數據類型轉換
MATLAB中讀入圖像的數據類型是uint8,而在矩陣中使用的數據類型是double因此 I2=im2double(I1) :把圖像數組I1轉換成double精度類型;如果不轉換,在對uint8進行加減時會產生溢出,可能提示的錯誤為:Function '*' is not defined for values of class 'uint8'。
⑥ char a='1',char a=1有什麼區別
char a='1',char a=1二者唯一的區別是:
char a='1' 表示'1'這個字元賦值給a;char a=1表示ascii碼等於1的字元賦值給a。
char類型可以自動在ASCII值和字母之間轉換;當寫 char a =5 時, ASCII值為5的符號是一個類似梅花的符號,ASCII=0的是符號是空字元。
例:
char類型是字元類型,賦值的話可以直接字元賦值。
char c = 'a';
當然也可以用字元對應的ASCII碼賦值
char c = 97;
(6)char類常用方法擴展閱讀
常用賦值語句格式:
1、單字元char a=』1』;
2、多字元char a[5]=」1133」;
3、char* str = 「12312」;
4、char* str = new char[10];strcpy(str,」1233」);
5、字元數不確定char a[]=」1132131233」;
6、char* str = new char[10];str = 「2131」。
⑦ C類語言中的char主要用法是什麼
char是C語言關鍵字之一,用來表示基礎類型字元型。
每個char變數佔一個位元組,表示範圍為-128到127。
char用來存儲字元時,實際存儲值為對應的ASCII碼值。
char類型可以用scanf/printf輸入輸出,對應的格式字元串為%c。 也可以用getchar/putchar輸入輸出。
以ASCII碼值0結尾的char數組,在C語言中用來表示字元串,是C語言中很重要的部分。
⑧ 在C語言中CHAR是什麼類型變數
char是字元變數的說明符
字元變數的取值是字元常量,即單個字元。字元變數的類型說明符是char。字元變數類型說明的格式和書寫規則都與整型變數相同。
例如:
char
a,b;
每個字元變數被分配一個位元組的內存空間,因此只能存放一個字元。字元值是以ascii碼的形式存放在變數的內存單元之中的。如x的
十進制ascii碼是120,y的十進制ascii碼是121。對字元變數a,b賦予'x'和'y'值:
a='x';b='y';實際上是在a,b兩個單元內存放120和121的二進制代碼:
a
0
1
1
1
1
0
0
0
b
0
1
1
1
1
0
0
1
所以也可以把它們看成是整型量。
c語言允許對整型變數賦以字元值,也允許對字元變數賦以整型值。在輸出時,
允許把字元變數按整型量輸出,也允許把整型量按字元量輸出。
整型量為二位元組量,字元量為單位元組量,當整型量按字元型量處理時,
只有低八位位元組參與處理。
main()
{
char
a,b;
a=120;
b=121;
printf("%c,%c\n%d,%d\n",a,b,a,b);
}
a
■
b
■
a
<--
120
b
<---
121
顯示程序結果
本程序中說明a,b為字元型,但在賦值語句中賦以整型值。從結果看,a,b值的輸出形式取決於printf函數格式串中的格式符,當格式符為"c"時,對應輸出的變數值為字元,當格式符為"d"時,對應輸出的變數值為整數。
void
main()
{
char
a,b;
a='x';
b='y';
a=a-32;
b=b-32;
printf("%c,%c\n%d,%d\n",a,b,a,b);
}
⑨ 在java中如何輸入一個char型字元。
可以創建Scanner類來從鍵盤輸入一個字元,用String類型來接收,再使用String的charAt功能,具體步驟如下:
1、先創建一個Scanner對象,如:Scanner sc = newScanner(System.in);
(9)char類常用方法擴展閱讀
字元型值有如下三種表示形式
1、直接通過單個字元來指定字元型值,例如『A』、『9』和『0』等。
2、通過轉義字元表示特殊字元型值,例如『 』、『 』等。
3、直接使用Unicode值來表示字元型值,格式是『uXXXX』,其中XXXX代表一個十六進制的整數
字元型值也可以採用十六進制編碼方式來表示,范圍是『u0000』~『uFFFF』,一共可以表示65536個字元,其中前256個(『u0000』~『u00FF』)字元和ASCII碼中的字元完全重合。
由於計算機底層保存字元時,實際是保存該字元對應的編號,因此char類型的值也可直接作為整型值來使用,它相當於一個16位的無符號整數,表數范圍是0~65535。
如果把0~65535范圍內的一個int整數賦給char類型變數,系統會自動把這個int整數當成char類型來處理。
⑩ char函數是什麼意思
char
可以隱式轉換為
ushort、int、uint、long、ulong、float、double
或
decimal。但是,不存在從其他類型到
char
類型的隱式轉換。System.Char
類型提供幾個處理
char
值的靜態方法。public
static
void
Main()
{
char
chA
=
'A';
char
ch1
=
'1';
string
str
=
"test
string";
Console.WriteLine(chA.CompareTo('B'));
//
Output:
"-1"
(meaning
'A'
is
1
less
than
'B')
Console.WriteLine(chA.Equals('A'));
//
Output:
"True"
Console.WriteLine(Char.GetNumericValue(ch1));
//
Output:
"1"
Console.WriteLine(Char.IsControl('\t'));
//
Output:
"True"
Console.WriteLine(Char.IsDigit(ch1));
//
Output:
"True"
Console.WriteLine(Char.IsLetter(','));
//
Output:
"False"
Console.WriteLine(Char.IsLower('u'));
//
Output:
"True"
Console.WriteLine(Char.IsNumber(ch1));
//
Output:
"True"
Console.WriteLine(Char.IsPunctuation('.'));
//
Output:
"True"
Console.WriteLine(Char.IsSeparator(str,
4));
//
Output:
"True"
Console.WriteLine(Char.IsSymbol('+'));
//
Output:
"True"
Console.WriteLine(Char.IsWhiteSpace(str,
4));
//
Output:
"True"
Console.WriteLine(Char.Parse("S"));
//
Output:
"S"
Console.WriteLine(Char.ToLower('M'));
//
Output:
"m"
Console.WriteLine('x'.ToString());
//
Output:
"x"
}
以上都是char的一些常用的方法,可以用來判斷輸入的字元是否是數字或者字母,或者判斷大小寫都可以,我最新做的一個項目就用到了,希望對樓主有用,我是學C#的