国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁(yè) > 編程 > C > 正文

C語(yǔ)言基礎(chǔ)教程 新手必看

2020-02-24 14:37:45
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  C語(yǔ)言是一門(mén)通用計(jì)算機(jī)編程語(yǔ)言,今天小編就給大家分享一篇關(guān)于C語(yǔ)言基礎(chǔ)教程吧,感興趣的朋友跟小編一起來(lái)了解一下吧!

1. 整型 int

C 語(yǔ)言提供了很多整數(shù)類型(整型),這些整型的區(qū)別在于它們的取值范圍的大小,以及是否可以為負(fù)。int 是整型之一,一般被稱為整型。
int 代表有符號(hào)整數(shù),也就是說(shuō),用 int 聲明的變量可以是正數(shù),可以是負(fù)數(shù),也可以是零,但是只能是整數(shù)。標(biāo)準(zhǔn)規(guī)定 int 的最小取值范圍是 -3276732767。int 的取值范圍因機(jī)器而異,但是一定要大于或者等于-32767到 32767。一般來(lái)說(shuō),int 占用一個(gè)的內(nèi)存空間。因此,字長(zhǎng)為 16 位的舊式 IBM 兼容機(jī)使用 16 位來(lái)儲(chǔ)存整型 int ,取值范圍是 -3276832767 。目前的個(gè)人電腦一般都是 32 位字長(zhǎng)的,這些電腦中,int一般也是32位的,取值范圍是 -2147483648到 2147483647 。對(duì)于使用 64 位 CPU 的電腦,使用更多字節(jié)儲(chǔ)存 int 也是很自然的事情,取值范圍當(dāng)然也會(huì)更大。


2. 聲明 int 類型的變量

正如我們?cè)谝郧暗慕坛汤锟吹降哪菢樱琲nt 用于聲明整型變量:以 int 打頭,后面跟著變量的名字,最后以分號(hào)(;)結(jié)束。例如:

int erns; /* 聲明一個(gè)變量 */
/* 注意:一定要用逗號(hào)(,),不能用分號(hào)(;)*/
int hogs, cows, goats; /* 聲明三個(gè)變量 */

以上聲明創(chuàng)建了變量,但是沒(méi)有給它們提供“(value)”。在前面的教程中,我們已經(jīng)用了兩種方法使變量獲得“值”。一種是賦值:cows = 500; 。另一種是使用 scanf 函數(shù):scanf( "%d", &goats ); 。下面我們來(lái)學(xué)習(xí)第三種方法。


3. 初始化變量

初始化變量是指給變量賦初值:聲明變量的時(shí)候,在變量名的后面寫(xiě)上等號(hào)(=),然后寫(xiě)下你希望賦予變量的“值”。例如:

int hogs = 21;
int cows = 32, goats = 14;
int dogs, cats = 94;

以上聲明創(chuàng)建了變量,并且為這些變量分配了空間,同時(shí)也賦了初值。注意,第三行中只有 cats 被初始化為 94,而 dogs 沒(méi)有被初始化!如下圖:

?


4. int 常量

上面的例子中,21、32、14,以及 94 都是整數(shù)常量。C 語(yǔ)言中,整數(shù)常量的默認(rèn)類型是 int ,也就是說(shuō),整數(shù)常量占用內(nèi)存空間的大小一般等于 int 類型的變量占用空間的大小。如果整數(shù)常量的大小超過(guò)了 int 的取值范圍,那么編譯器將會(huì)把這個(gè)整數(shù)常量當(dāng)作 long int 類型來(lái)處理,這個(gè)我們后面還會(huì)講到。
21、32、14 和 94 都在 int 的取值范圍之內(nèi),因此它們都是 int 常量。


5. 輸出 int 型數(shù)據(jù)
我們可以用 printf 函數(shù)來(lái)輸出 int 型數(shù)據(jù)。正如我們?cè)谇懊娴慕坛讨锌吹降哪菢樱嘉环?%d 代表輸出的是 int 型數(shù)據(jù),它告訴 printf 函數(shù)在什么地方輸出相應(yīng)的 int 型數(shù)據(jù)。%d 也被稱為格式限定符(format specifier),因?yàn)樗付?printf 函數(shù)應(yīng)該使用什么形式來(lái)輸出數(shù)據(jù)。printf 函數(shù)的第一個(gè)參數(shù)只能是字符串,這個(gè)字符串被稱為格式串(format string)。格式串中有多少個(gè) %d,我們就應(yīng)該相應(yīng)地提供多少個(gè) int 型參數(shù)給 printf 函數(shù)。int 型參數(shù)可以是 int 型變量,int 型常量,以及結(jié)果為 int 型的表達(dá)式等。例如:

int year = 2005; /* year 是 int 型變量 */
printf( "Today is %d-%d-%d/n", year, 9, 20 + 9 ); /* 20 + 9 是加法表達(dá)式 */

保證格式限定符的數(shù)目和參數(shù)數(shù)目一致是我們的責(zé)任,編譯器不負(fù)責(zé)捕捉這種錯(cuò)誤!例如:

#include stdio.h>

int main(void)
{
int ten = 10, two = 2;

printf("%d minus %d is %d/n", ten ); /* 少寫(xiě)了兩個(gè)參數(shù) */

getchar(); /* 等待用戶按回車 */
return 0;
}

這個(gè)程序可以通過(guò)編譯,但是運(yùn)行結(jié)果將會(huì)出乎意料,因?yàn)槲覀兩賹?xiě)了兩個(gè)參數(shù)。第一個(gè) %d 被參數(shù) ten 的值代替,而另外兩個(gè) %d 將被內(nèi)存中本來(lái)儲(chǔ)存著的值代替。因?yàn)閮?nèi)存中本來(lái)儲(chǔ)存著的值是不確定的,所以輸出結(jié)果是不確定的。


6. 八進(jìn)制(octal)和十六進(jìn)制(hexadecimal)

C 語(yǔ)言中,整數(shù)常量默認(rèn)是十進(jìn)制(decimal)整數(shù)。通過(guò)在整數(shù)常量前面加上特定的前綴,可以把它設(shè)定為八進(jìn)制或者十六進(jìn)制整數(shù)。前綴 0x 或者 0X 把整數(shù)常量設(shè)定為十六進(jìn)制整數(shù)。注意,是數(shù)字 0 ,而不是字母 O ,別搞錯(cuò)了哦!例如:十進(jìn)制的 16 用十六進(jìn)制來(lái)表示是 0x10 或者 0X10 。在整數(shù)常量前面加上前綴 0 ,表示它是八進(jìn)制整數(shù)。注意,是數(shù)字 0 ,而不是字母 O 。例如:十進(jìn)制的 16 表示為八進(jìn)制就是 020 。


7. 以八進(jìn)制或者十六進(jìn)制形式輸出數(shù)據(jù)

使用格式限定符 %o 可以以八進(jìn)制的形式輸出整數(shù)。注意,是小寫(xiě)字母 o ,不是數(shù)字 0 。使用 %x 或者 %X 可以以十六進(jìn)制的形式輸出整數(shù)。小寫(xiě) x 表示輸出使用小寫(xiě)字母,大寫(xiě) X 表示輸出使用大寫(xiě)字母。使用 %#o,%#x 或者 %#X,得到的輸出將包括前綴 0,0x 或者 0X。例如:

#include stdio.h>

int main(void)
{
int x = 200;

printf("dec = %d; octal = %o; hex = %x; HEX = %X/n", x, x, x, x);
printf("dec = %d; octal = %#o; hex = %#x; HEX = %#X/n", x, x, x, x);

getchar();
return 0;
}

這個(gè)程序的輸出是:

dec = 200; octal = 310; hex = c8; HEX = C8
dec = 200; octal = 0310; hex = 0xc8; HEX = 0XC8

?

  

11. 基本數(shù)據(jù)類型:整型(中)
?

1. 其它整數(shù)類型

int 是 C 語(yǔ)言的基本整數(shù)類型,可以滿足我們處理一般數(shù)據(jù)的需求。C 語(yǔ)言還提供了四個(gè)可以修飾int的關(guān)鍵字:shortlongsigned,以及unsigned。利用這四個(gè)關(guān)鍵字,C 語(yǔ)言標(biāo)準(zhǔn)定義了以下整數(shù)類型:

1) short int(可簡(jiǎn)寫(xiě)為 short),和 int 一樣,也是有符號(hào)整數(shù)
2) long int(簡(jiǎn)寫(xiě):long),有符號(hào)整數(shù)
3) long long int(簡(jiǎn)寫(xiě):long long),C99 標(biāo)準(zhǔn)添加的類型,
有符號(hào)整數(shù)
4) unsigned int(簡(jiǎn)寫(xiě):unsigned),無(wú)符號(hào)整數(shù),不能表示負(fù)數(shù)
5) unsigned long int(簡(jiǎn)寫(xiě):unsigned long),無(wú)符號(hào)整數(shù),
不能表示負(fù)數(shù)
6) unsigned short int(簡(jiǎn)寫(xiě):unsigned short),無(wú)符號(hào)整數(shù),
不能表示負(fù)數(shù)
7) unsigned long long int(簡(jiǎn)寫(xiě):unsigned long long),
C99 添加的類型,無(wú)符號(hào)整數(shù)
8) 所有沒(méi)有標(biāo)明 unsigned 的整數(shù)類型默認(rèn)都是有符號(hào)整數(shù)。
在這些整數(shù)類型前面加上 signed 可以使讀者更清楚地知道
這些是有符號(hào)整數(shù),盡管有沒(méi)有 signed 都表示有符號(hào)整數(shù)。
例如:signed int 等同于 int 。

一般我們把 short 稱為短整型,把 long 稱為長(zhǎng)整型,把 long long 稱為超長(zhǎng)整型,把 int 稱為整型。unsigned 打頭的那些整數(shù)類型統(tǒng)稱為無(wú)符號(hào)整型。例如:我們稱 unsigned short 為無(wú)符號(hào)短整型。以此類推。


2. 聲明方式

這些整數(shù)類型的聲明方式與 int 類型的聲明方式一樣。例如:

long int estine;
long johns;
short int erns;
short ribs;
unsigned int s_count;
unsigned players;
unsigned long headcount;
unsigned short yesvotes;
long long ago; /* C99 特有 */
unsigned long long ego; /* C99 特有 */

如果您的編譯器不支持C99標(biāo)準(zhǔn),那就不能使用long long和unsigned long long


3. 取值范圍(表示范圍)

標(biāo)準(zhǔn)也規(guī)定了這些整數(shù)類型的最小取值范圍。short 的最小表示范圍和 int 一樣,都是 -32767 到 32767 。也就是 -(2^15 - 1)到(2^15 - 1)。其中,2^15表示 2 的 15 次方。類似地,2 的 20 次方記作 2^20 ,以此類推。注意:C 語(yǔ)言中 2^15 并不表示 2 的 15 次方,為了書(shū)寫(xiě)方便,我們姑且這么表示。long 的最小取值范圍是 -2147483647 到 2147483647 。也就是 -(2^31 - 1) 到
(2^31 - 1) 。unsigned short的最小表示范圍和unsigned int 一樣,都是 0 到 65535(2^16 - 1)。unsigned long 的最小取值范圍是 0 到 4294967295(2^32 - 1)。long long的最小取值范圍是 -9223372036854775807(-(2^63 - 1))到 9223372036854775807(2^63 - 1);unsigned long long 是 0 到
18446744073709551615(2^64 - 1)。
標(biāo)準(zhǔn)規(guī)定,int 的表示范圍不能小于 short 的表示范圍,long 的表示范圍不能小于 int 的表示范圍。這就是說(shuō) short 型變量占用的空間可能比 int 型變量少,而 long 型變量占用的空間可能比 int 型變量多。16 位(bit)的計(jì)算機(jī)中,int 和 short 一般都是 16 位,而 long 是 32位;32位的計(jì)算機(jī)中,short一般是 16 位,而long和int是 32位。TC2(16位的編譯器)中,int是16位的;而 Dev-C++(32 位的編譯器)中,int 是 32 位的。
使用 unsigned int 聲明的變量只能表示正整數(shù)。如果 int 是 16 位的話,那么 unsigned int 的表示范圍是 0 到65535(2^16 - 1)。這是因?yàn)閡nsigned 不需要符號(hào)位,可以把 16 個(gè)位全都用于表示整數(shù)。而 int 需要一個(gè)位作為符號(hào)位,用于表示正負(fù),只有 15 個(gè)位用于表示整數(shù)。
目前,long long 一般 64 位,long 是 32 位,short 是 16 位,而 int 或者 16 位,或者 32 位。具體某個(gè)編譯器到底使用多少位來(lái)表示這些類型,我們可以用運(yùn)算符 sizeof 來(lái)獲取。例如:

printf( "%lu/n", (unsigned long)sizeof(int) * 8 ); /*輸出 int 的位數(shù) */
printf( "%zu/n", sizeof(short) * 8 ); /* 輸出 short 的位數(shù) */

sizeof 的用法我們以后會(huì)講到,現(xiàn)在只要有個(gè)印象就好了。第二句中的 %zu 是 C99 特有的,如果您的編譯器不支持 C99(準(zhǔn)確地說(shuō),應(yīng)該是如果您的編譯器使用的庫(kù)函數(shù)不支持 C99),運(yùn)行結(jié)果將會(huì)出錯(cuò)。


4. 整數(shù)類型的選擇

如果您要處理的只是正整數(shù),那么應(yīng)該優(yōu)先使用 unsigned 打頭的那些整數(shù)類型。如果您要處理的整數(shù)超出了int所能表示的范圍,并且您的編譯器中,long的表示范圍比 int 大,那就使用 long 。不過(guò),若非必要,盡量不要用 long ,因?yàn)樗赡軙?huì)降低程序運(yùn)行效率。有一點(diǎn)要注意:如果您的編譯器中,long和int都是32位的,并且您需要使用32位整數(shù),那么應(yīng)該用long,而不要用int。只有這樣,我們的程序才可以安全地移植到16位的計(jì)算機(jī),因?yàn)?16位的計(jì)算機(jī)中,int 一般也是16位的。類似地,如果您需要使用64位整數(shù),那就用 long long。如果 int 是 32 位的話,那么使用 short 可以節(jié)省空間,不過(guò)您得確保您要處理的整數(shù)不會(huì)超出 short 的表示范圍。這種“節(jié)省”對(duì)內(nèi)存大的計(jì)算機(jī)來(lái)說(shuō),是沒(méi)什么意義的。

5. long 型常量和 long long 型常量

一般來(lái)說(shuō),整數(shù)常量是被當(dāng)作 int 類型來(lái)存儲(chǔ)的。如果我們使用的整數(shù)常量超出了 int 的表示范圍,C 語(yǔ)言規(guī)定編譯器自動(dòng)使用 unsigned int 來(lái)處理這個(gè)常量。如果 unsigned也不足以表示這個(gè)常量的話,編譯器就會(huì)用long 。如果還表示不了的話,那就依次用unsigned long,long long,unsigned long long。如果unsigned long long也表示不了,那么編譯器就沒(méi)轍了。注意:long long 和unsigned long long 是 C99 特有的。例如:如果 int 是 16 位的話,它就表示不了常量 1000000。編譯器會(huì)使用 long 來(lái)處理這個(gè)常量,因?yàn)?unsigned int 也表示不了 1000000 。
同樣,十六進(jìn)制和八進(jìn)制整數(shù)常量通常也是被作為 int 來(lái)處理。但是,當(dāng)我們使用的常量超出了
int的表示范圍后,編譯器會(huì)依次使用unsigned int,long,unsigned long,long long 和 unsigned long long。直到所使用的類型足以表示那個(gè)常量為止。
有時(shí),我們使用的是較小的常量,但是我們希望這個(gè)常量被當(dāng)作 long 來(lái)處理,這就需要在這個(gè)
常量后面加上后綴 l(小寫(xiě)字母 l)或者 L(大寫(xiě)字母 L)。我們應(yīng)該避免使用 l ,因?yàn)?l 容易和數(shù)字 1 混淆。例如:整數(shù)常量 7 是被作為 int 來(lái)處理的,但整數(shù)常量 7L(或者 7l)是被作為 long 來(lái)處理的。類似地,在整數(shù)常量后面加上后綴 ll 或者 LL ,這個(gè)常量就會(huì)被當(dāng)作 long long 來(lái)處理。例如:3LL 。如果想使用無(wú)符號(hào)整數(shù)常量的話,還要配合使用后綴 u 或者 U 。例如:2u,3U,4Lu,5ul,6LU,7LLU,8Ull,9uLL 。
這些后綴也可以用于十六進(jìn)制和八進(jìn)制整數(shù)常量。例如:020L,010LL,
0x30uL,0x40ull 。

以上就是C語(yǔ)言基礎(chǔ)教程,想必都了解了吧,更多相關(guān)內(nèi)容請(qǐng)繼續(xù)關(guān)注武林技術(shù)頻道。

?

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
亚洲第一页在线播放| 欧美精品小视频| 国产麻豆麻豆| 亚洲第一成年免费网站| 在线观看免费高清完整| 亚洲激情丁香| 黄色国产网站在线观看| 国产嫩草在线视频| 91久久精品国产性色| 亚洲国产精华液| 最近中文av字幕在线中文| 国产精品视频一区二区三区麻豆| 2021天堂中文幕一二区在线观| 99中文字幕一区| 老司机精品视频一区二区| 中文字幕在线看精品乱码| 97国产视频| 天天av天天爱| 在线三级中文| 国产天堂在线播放视频| 亚洲高清在线免费| 国产精品自拍在线观看| 四虎免费视频| 国产导航在线| 五月天婷婷基地| 久热免费在线视频| 18 激情视频在线| 国产乱视频在线观看播放| 精品麻豆国产| 国产区成人精品视频| 黄色av网站在线| 在线久久视频| 在线欧美一级视频| 午夜免费福利在线观看| 欧美黑人乱大交ⅹxxxxx| 在线视频三区| av手机免费观看| 国产日产一区二区三区| 懂色一区二区三区| 四虎成人免费观看在线网址| 国产91久久久久蜜臀青青天草二| 狠狠插狠狠操| 高清av在线| 高清av中文在线字幕观看1| av中文字幕在线看| 天天激情综合| 久久这里精品| 最近中文字幕mv2018在线高清| 不卡av免费观看| 欧美日韩在线视频免费观看| 欧美一级久久久久久久久大| 九九热在线播放| 国产免费福利| 国产精品亚洲色图| 国产视频二区| 18av在线视频| 天天操中文字幕视频| 青青草原国产在线观看| 六月天色婷婷| 国产精品国精产品一二| 国产视频中文字幕在线观看| 国产精品冒白浆免费视频| 2019中文字幕视频| 伊人永久在线| 国产专区在线| 国产精品你懂的在线观看| 伊人222成人综合网| 一本久久精品| 国产麻豆视频网站| 97在线超碰| 国产免费黄色| 亚洲一区免费在线| 国产美女性感在线观看懂色av| 最新中文字幕av专区| 在线观看精品视频一区二区三区| 四虎久久影院| 国产一卡2卡3卡四卡网站| 99精品老司机免费视频| 青青草视频在线观看| 午夜视频99| 香蕉视频在线观看www| 国产字幕在线看| 在线观看精品视频一区二区三区| 福利视频在线导航| а√最新版在线天堂| 国产精品秘入口| 粉嫩av一区| 青青草原国产在线观看| 精品女厕厕露p撒尿| 国产理论电影在线观看| www.大网伊人| 在线国产一区二区三区| 国产精品久久麻豆| 国产91大片| 久热免费视频| 秋霞av在线| 亚洲精品影院在线| 在线黄色.com| 精品无人乱码| 精品入口蜜桃| 在线午夜影院| 亚洲午夜久久久久中文字幕| 国产精品久久久久白浆| 最好2018中文免费视频| 国产乱视频在线观看播放| 激情丁香婷婷| 国产在线超碰| 丁香婷婷激情| 久久亚洲天堂| 高清视频一区二区三区四区| 成人欧美日韩| 中文字幕视频在线免费| 中文字幕不卡免费视频| 中文字幕在线影院| 国产porny蝌蚪视频| 在线中文字幕资源| h网址在线观看| 丁香六月婷婷| 一区二区三区四区在线免费视频| 一区二区免费播放| 欧美激情福利视频在线观看免费| 黄色毛片在线观看| 国产网红在线| 国产福利片在线| 中文乱码字幕高清在线观看| av在线资源网| 五月天亚洲激情| 四虎免费视频| 中文字幕在线播放网址| 精品美女在线观看视频在线观看| 在线观看wwww| 国产一级免费在线观看| 在线观看wwww| 国产区视频在线| 久草网在线视频| 伊人色综合网| 国产视频中文字幕在线观看| gogogo影视剧免费观看在线观看| 天天操天天是| 中文字幕av网| 国产偷窥洗澡视频| 超碰在线97国产| 在线三级中文| 国产三级在线播放| 超碰在线国产| www网站在线观看| 18 激情视频在线| 国产私人尤物无码不卡| 久久久久久久久亚洲精品| 精品国产免费第一区二区| 青青久草在线| 中文一区在线观看| 国产区在线看| 国产青草视频在线观看视频| 久色视频在线观看| 在线观看午夜av| 欧美精品se| 精品国产福利一区二区在线| 精品美女调教视频| 国产精品一区二区婷婷| www.综合网.com| 精品视频三区| 国产色在线播放| 91超碰在线免费| 欧美韩日国产| 久久精品国产亚洲a∨麻豆| 永久免费av网站| 国产激情视频在线观看| 中中文字幕av在线| 欧美色第一页| 二区中文字幕| 国产乱视频在线观看| 九九热视频免费观看| 久久精品视频观看| 久热中文字幕| 国产网红在线| 亚洲夜夜综合| 轻轻色免费在线视频| 快射av在线播放一区| 九九热在线视频| 国产三区在线观看| 在线视频三级| 欧美日韩视频精品一区二区| 久久久久国产精品嫩草影院| 欧美亚洲系列| 国产一区二区三区不卡在线| 国产精品白浆流出视频| 国产精品美女一区二区视频| 国产不卡一卡2卡三卡4卡5卡在线| 在线中文字幕视频| 国产在线观看网站| 国产寡妇树林野战在线播放| 四虎成年永久免费网站| 免费在线观看a| 国产黄色在线观看| 欧洲有码在线视频| 国产区视频在线| 久久久久久久久亚洲精品| 国产小视频在线| 亚洲精品手机在线|