c語言字元
1. c語言中什麼是字元,什麼是字元串啊,謝謝
C語言中單引號的是字元,雙引號的是字元串。
1、字元指類字形單位或符號,包括字母、數字、運算符號、標點符號和其他符號,以及一些功能性符號。字元在計算機內存放,應規定相應的代表字元的二進制代碼。代碼的選用要與有關外圍設備的規格取得一致。
2、字元串主要用於編程,概念說明、函數解釋、用法詳述見正文,這里補充一點:字元串在存儲上類似字元數組,所以它每一位的單個元素都是可以提取的。
它是編程語言中表示文本的數據類型。在程序設計中,字元串(string)為符號或數值的一個連續序列,如符號串(一串字元)或二進制數字串(一串二進制數字)。
(1)c語言字元擴展閱讀
C語言字元串的使用
用來存放字元的數組稱為字元數組,例如:
charc[10];
字元數組也可以是二維或多維數組。例如:
charc[5][10];
字元數組也允許在定義時進行初始化,例如:
charc[10]={'c','','p','r','o','g','r','a','m'};//c[9]未賦值,所以為默認值』 』
當對全體元素賦初值時也可以省去長度說明。例如:
charc[]={'c','','p','r','o','g','r','a','m'};
這時c數組的長度自動定為9。
字元數組和普通數組一樣,也是通過下標引用各個元素。
2. c語言中怎樣定義字元串
C語言本身是沒有設置一種類型來定義字元串變數的,字元串的存儲完全依賴於字元數組,但字元數組又不等於是字元串變數。在字元型一維數組存放字元串,並規定以字元'\0'作為字元串結束標志。
3. C語言怎麼表示字元'\'
沒看過書?
給你補一課
轉義符
C語言的:
轉義字元是C語言中表示字元的一種特殊形式。通常使用轉義字元表示ASCII碼字元集中不可列印的控制字元和特定功能的字元,如用於表示字元常量的單撇號(
'),用於表示字元串常量的雙撇號(
")和反斜杠(
\)等。轉義字元用反斜杠\後面跟一個字元或一個八進制或十六進制數表示。
轉義字元
意義
ASCII碼值(十進制)
\a
響鈴(BEL)
007
\b
退格(BS)
008
\f
換頁(FF)
012
\n
換行(LF)
010
\r
回車(CR)
013
\t
水平製表(HT)
009
\v
垂直製表(VT)
011
\\
反斜杠
092
\?
問號字元
063
\'
單引號字元
039
\"
雙引號字元
034
\0
空字元(NULL)
000
\ddd
任意字元
三位八進制
\xhh
任意字元
二位十六進制
字元常量中使用單引號和反斜杠以及字元常量中使用雙引號和反斜杠時,都必須使用轉義字元表示,即在這些字元前加上反斜杠。
在C程序中使用轉義字元\
d
d
d或者\
x
h
h可以方便靈活地表示任意字元。\
d
d
d為斜杠後面跟三位八進制數,該三位八進制數的值即為對應的八進制A
S
C
I
I碼值。\
x後面跟兩位十六進制數,該兩位十六進制數為對應字元的十六進制A
S
C
I
I碼值。
使用轉義字元時需要注意以下問題:
1)
轉義字元中只能使用小寫字母,每個轉義字元只能看作一個字元。
2)
\v
垂直製表和\f
換頁符對屏幕沒有任何影響,但會影響列印機執行響應操作。
3)
在C程序中,使用不可列印字元時,通常用轉義字元表示
4. c語言中一些字元的意思
'1'為轉義字元,代表的意思是「標題開始」
在C語言中,所有的ASCII碼都可以用「」加數字(一般是8進制數字)來表示。
而C中定義了一些字母前加""來表示常見的那些不能顯示的ASCII字元,如 , , 等,就稱為轉義字元,因為後面的字元,都不是它本來的ASCII字元意思了。
轉義字元是很多程序語言、數據格式和通信協議的形式文法的一部分。對於一個給定的字母表,一個轉義字元的目的是開始一個字元序列,使得轉義字元開頭的該字元序列具有不同於該字元序列單獨出現時的語義。因此轉義字元開頭的字元序列被叫做轉義序列。
轉義序列通常有兩種功能。第一個是編碼一個句法上的實體,如設備命令或者無法被字母表直接表示的特殊數據。
第二種功能,也叫字元引用,用於表示無法在當前上下文中被鍵盤錄入的字元(如字元串中的回車符),或者在當前上下文中會有不期望的含義的字元(如C語言字元串中的雙引號字元",不能直接出現,必須用轉義序列表示)。
在後面那種情況,轉義序列是一種由轉義字元自身和一個被引用的字元組成的一個二合字母(digraph)情形。
參考資料來源:
網路-轉義字元
網路-ASCII
5. C語言中什麼是字元
C語言中單引號的是字元,雙引號的是字元串。
1、字元指類字形單位或符號,包括字母、數字、運算符號、標點符號和其他符號,以及一些功能性符號。字元在計算機內存放,應規定相應的代表字元的二進制代碼。代碼的選用要與有關外圍設備的規格取得一致。
2、字元串主要用於編程,概念說明、函數解釋、用法詳述見正文,這里補充一點:字元串在存儲上類似字元數組,所以它每一位的單個元素都是可以提取的。
它是編程語言中表示文本的數據類型。在程序設計中,字元串(string)為符號或數值的一個連續序列,如符號串(一串字元)或二進制數字串(一串二進制數字)。
6. c語言 字元的類型
#include"stdio.h"
intmain()
{
charz;
scanf("%c",&z);
if(z<'0'){
printf("other");
}elseif(z<'A'){
printf("numeric");
}elseif(z<='z'){
printf("alpha");
}else{
printf("other");
}
return0;
}
7. C語言中的字元表示什麼
在c語言中字元主要有兩類
1、就是普通字元。字元包含普通字元和轉義字元,需要用『』(兩個單引號)包含。例如 'a' 是普通字元;'\n'是轉義字元。
2、轉義字元是C語言中表示字元的一種特殊形式。通常使用轉義字元表示ASCII碼字元集中不可列印的控制字元和特定功能的字元,如用於表示字元常量的單撇號( '),用於表示字元串常量的雙撇號( ")和反斜杠( \)等。轉義字元用反斜杠\後面跟一個字元或一個八進制或十六進制數表示
8. 關於C語言中的字元比較!!
1、定義一個char * 類型指針,指向字元串首字元首地址。
2、定義一個數組,數組里存放元素為字元串各個字元+'\0',其中'\0'為碼0值,編譯器會自動在字元串的末尾添加此值。
先看這兩個"變數"分別是存在內存的哪個區域,(後面可知string1為常量)修改代碼如下,列印這兩個「變數」的內存地址,查看運行結果:
查看進程的內存分布情況,(詳情請查看:RobotCode俱樂部:手撕虛擬內存(1)——字元串在虛擬內存中的段位置與/proc虛擬文件系統),string1內存首地址為0x80485a0,string2內存首地址為0bfaebfd8。如下圖,可知這兩種定義方式,一種位於只讀區(0x8048000 < 0x80485a0 < 0x8049000),一種位於Stack區(0xbfacd000 < 0bfaebfd8 < 0xbfaee000)。可知,string1為常量(只讀的,許可權為r),在編譯時就確定了。string2存放在棧上,運行時確定。這也決定了,定義string1的方式適用於定義字元串常量,string2方式適用於字元串變數可能需要被修改的情況。同時需要注意的是,未必定義在函數體里的「變數」都會分布在棧上,如這里的字元串常量,及static修飾的局部變數,他們都是分布在全局靜態區,由編譯器在編譯時決定,而非函數運行時動態分配。另外全局靜態區的變數生命期與整個進程的生命期相同,大於等於函數的生命期。
9. 關於c語言字元型
關於printf("%c"a[i]);(如果把他換成printf("%s",a[i]);為什麼不能編譯?
回答: 編譯應該沒問題, 只是運行時必定錯誤.
字元串指一串連續的字元型的存儲域. C語言的字元串在操作時一般以0值字元標志字元串的尾字元(佔一個字元的存儲域,但不計入字元串長度).
"%c"應該對應於字元型變數(當然字元串中的一個字元也可以);"%s"應該對應於一個指向字元串的指針變數.執行printf("%s",a[i]);時, 程序把字元a[i]的值作為字元串指針來使用,當然就發生錯誤了. 如果寫成printf("%s",a)甚至printf("%s",&a[2])都是正確的.
另外, 用"%s"不用使用for循環, 一個printf("%s",a)即可輸出一個以空字元(0)結尾的字元串; 而用for循環加printf("%c",a[i])的方式, 則是以字元方式輸出a這個字元數組中全部10個字元, 即使這些字元不構成以空字元(0)結尾的字元串.
由此看來字元串必定是字元數組, 而字元數組里存儲的不一定是字元串. 字元數組里每一個元素都可以取-128~127的值, 無符號字元數組里每一個元素都可以取0~255的值. 而C語言中的字元串所取的值是以0標志結束的一串非零字元(即-128~-1, 1~127; 對應於無符號字元是1-255; 大多在可列印字元和有限的控制字元范圍內取值).