注意:
1. 字符串?dāng)?shù)組不能用"="直接賦值, 即s="Good News!"是不合法的。所以應(yīng)分清字符串?dāng)?shù)組和字符串指針的不同賦值方法。
2. 對(duì)于長(zhǎng)字符串, Turbo C2.0允許使用下述方法:
例如:
main()
{
char s[100];
strcpy(s, "The writer would like to thank you for"
"your interest in his book. He hopes you"
"can get some helps from the book.");
.
.
.
}
(3)指針數(shù)組賦值
例如:
main()
{
char *f[2];
int *a[2];
f[0]="thank you"; /*給字符型數(shù)組指針變量賦值*/
f[1]="Good Morning";
*a[0]=1, *a[1]=-11; /*給整型數(shù)數(shù)組指針變量賦值*/
.
.
.
}
三、數(shù)組與指針
數(shù)組與指針有密切的聯(lián)系。數(shù)組名本身就是該數(shù)組的指針, 反過來, 也可以把指針看成一個(gè)數(shù)組, 數(shù)組名和指針實(shí)質(zhì)上都是地址, 但是指針是變量, 可以作運(yùn)算。而數(shù)組名是常量, 不能進(jìn)行運(yùn)算。
例如:
main()
{
char s[30], *p; /*定義字符型數(shù)組和指針變量*/
p=s; /*指針p指向數(shù)組s的第一個(gè)元素s[0]的地址*/
.
.
.
*(p+8); /*指針p指向數(shù)組s的第9個(gè)元素s[8]的地址*/
.
.
.
}
由上例可以看出數(shù)組和指針有如下關(guān)系:
(p+i)=&(s[i])
*(p+i)=s[i]
因此, 利用上述表達(dá)式可以對(duì)數(shù)組和指針進(jìn)行互換。兩者的區(qū)別僅在于: 數(shù)組s是程序自動(dòng)為它分配了所需的存儲(chǔ)空間; 而指針p則是利用動(dòng)態(tài)分想函數(shù)為它分配存儲(chǔ)空間或賦給它一個(gè)已分配的空間地址。
5. 運(yùn)算符
Turbo C的運(yùn)算符非常豐富, 主要分為三大類: 算術(shù)運(yùn)算符, 關(guān)系運(yùn)算符與邏輯運(yùn)算符, 按位運(yùn)算符。除此之外, 還有一些用于完成特殊任務(wù)的運(yùn)算符。下面分別進(jìn)行介紹。
5.1 算術(shù)運(yùn)算符
Turbo C的算術(shù)運(yùn)算符如下:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
操作符 作用
────────────────────────────
+ 加, 一目取正
- 減, 一目取負(fù)
* 乘
/ 除
% 取模
-- 減1
++ 加1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
一、一目和二目操作
一目操作是指對(duì)一個(gè)操作數(shù)進(jìn)行操作。例如: -a是對(duì)a進(jìn)行一目負(fù)操作。
二目操作(或多目操作)是指兩個(gè)操作數(shù)(或多個(gè)操作數(shù))進(jìn)行操作。
在Turbo C中加、減、乘、除、取模的運(yùn)算與其它高級(jí)語言相同。需要注意的是除法和取模運(yùn)算。
例如:
15/2 是15除以2商的整數(shù)部分7
15%2 是15除以2的余數(shù)部分1
對(duì)于取模運(yùn)算符"%", 不能用于浮點(diǎn)數(shù)。
另外, 由于Turbo C中字符型數(shù)會(huì)自動(dòng)地轉(zhuǎn)換成整型數(shù), 因此字符型數(shù)也可以參加二目運(yùn)算。
例如:
main()
{
char m, n; /*定義字符型變量*/
m='c'; /*給m賦小寫字母'c'*/
n=m+'A'-'a'; /*將c中的小寫字母變成大寫字母'B'后賦給n*/
...
}
上例中m='c'即m=98, 由于字母A和a的ASCII碼值分別為65和97。這樣可以將小寫字母變成大寫字母, 反之, 如果要將大寫字母變成小寫字母, 則用c+ 'a' -'A'進(jìn)行計(jì)算。
二、增量運(yùn)算
在Turbo C中有兩個(gè)很有用的運(yùn)算符, 在其它高級(jí)語言中通常沒有。這兩個(gè)運(yùn)算符就是增1和減1運(yùn)算符"++"和"--", 運(yùn)算符"++"是操作數(shù)加1, 而"--" 則是操作數(shù)減1。
例如:
x=x+1 可寫成x++, 或++x
x=x-1 可寫成x--, 或--x
x++(x--)與++x(--x)在上例中沒有什么區(qū)別, 但x=m++和x=++m卻有很大差別。
x=m++ 表示將m的值賦給x后, m加1。
x=++m 表示m先加1后, 再將新值賦給x。
相關(guān)推薦:計(jì)算機(jī)等考二級(jí)C語言備考:C語言/C++編譯過程北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |