欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

在c語(yǔ)言中弱函數(shù),c語(yǔ)言弱定義

C語(yǔ)言弱弱滴問(wèn)題,錯(cuò)誤 語(yǔ)句缺少';'在 main 函數(shù)中

molecule=QT*950*3.0e-23

龍州ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

后面少了個(gè)分號(hào),每條語(yǔ)句都必須要用分好結(jié)尾。

在C語(yǔ)言中的函數(shù)

stdlib不是個(gè)函數(shù).

stdlib.h是頭文件,該文件包含了的C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)的定義

stdlib.h里面定義了五種類型、一些宏和通用工具函數(shù)。 類型例如size_t、wchar_t、div_t、ldiv_t和lldiv_t; 宏例如EXIT_FAILURE、EXIT_SUCCESS、RAND_MAX和MB_CUR_MAX等等; 常用的函數(shù)如malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()等等。 具體的內(nèi)容你自己可以打開(kāi)編譯器的include目錄里面的stdlib.h頭文件看看。

在c語(yǔ)言中定義的函數(shù)有什么作用?

函數(shù)的作用就相當(dāng)于一臺(tái)機(jī)器,這種機(jī)器的作用各不相同。不同的函數(shù)能完成不同的特定的功能。就像你放玉米進(jìn)去,它出來(lái)的是爆米花一樣。它就對(duì)玉米進(jìn)行處理了。而c語(yǔ)言的函數(shù)就是你放入數(shù)據(jù),它就會(huì)對(duì)數(shù)據(jù)進(jìn)行處理。

數(shù)組的作用就是存儲(chǔ)數(shù)據(jù)的作用。是存儲(chǔ)數(shù)據(jù)的類型的一種。計(jì)算機(jī)處理的就是數(shù)據(jù)。存儲(chǔ)數(shù)據(jù),你說(shuō)重要不?就像電腦沒(méi)有內(nèi)存,它怎么運(yùn)行啊?

上面是通俗的介紹,補(bǔ)充幾點(diǎn):

1:函數(shù)是很重要的,沒(méi)有函數(shù)c語(yǔ)言程序無(wú)法運(yùn)行,包括大多數(shù)語(yǔ)言都是這樣,因?yàn)楸仨氁幸粋€(gè)主函數(shù)(main)。

2:函數(shù)可以把不同功能的代碼獨(dú)立到一個(gè)地方,減少耦合性,提高代碼可重用性,增強(qiáng)程序的安全性。

3:不同類型的函數(shù)有不同的功能,按照不同分類有不同的叫法。比如庫(kù)函數(shù)是系統(tǒng)自帶的“庫(kù)”,回調(diào)函數(shù)用于處理操作系統(tǒng)的問(wèn)題,API函數(shù)叫做應(yīng)用程序接口函數(shù)。

加油,越學(xué)越明白。

求助,關(guān)于c語(yǔ)言的。

C語(yǔ)言基礎(chǔ)(01-引言及預(yù)備知識(shí)): C語(yǔ)言是一門功能強(qiáng)大的編程語(yǔ)言,它也是C++語(yǔ)言的基礎(chǔ)。C語(yǔ)言屬于中級(jí)語(yǔ)言。這里所說(shuō)的中級(jí)是相對(duì)于計(jì)算機(jī)的底層硬件而言的。匯編語(yǔ)言是最低級(jí)的語(yǔ)言,它可以直接與硬件打交道。高級(jí)語(yǔ)言有Pascal、Basic、Fortran等等。高級(jí)語(yǔ)言的一條語(yǔ)句對(duì)應(yīng)低級(jí)語(yǔ)言的很多條語(yǔ)句,任何高級(jí)語(yǔ)言編寫的程序都要經(jīng)過(guò)編譯程序的編譯、連接才能成為可以運(yùn)行的程序。編譯連接的過(guò)程也就是把高級(jí)語(yǔ)言翻譯成機(jī)器語(yǔ)言(二進(jìn)制機(jī)器碼)的過(guò)程,而匯編語(yǔ)言是基本上與機(jī)器語(yǔ)言一 一對(duì)應(yīng)的一種語(yǔ)言。這個(gè)翻譯過(guò)程是由編譯程序自動(dòng)完成的。把C語(yǔ)言定為中級(jí)語(yǔ)言是有它的道理的,因?yàn)镃語(yǔ)言既有匯編語(yǔ)言的存取底層硬件的能力,又具有高級(jí)語(yǔ)言的許多特點(diǎn)。熟練掌握了C語(yǔ)言,學(xué)習(xí)其它的各種編程語(yǔ)言應(yīng)該是很輕松的了。

C語(yǔ)言的書寫格式:

1) 一個(gè)C語(yǔ)言編寫的源程序,必定有一個(gè)主程序(稱為main()函數(shù),在C語(yǔ)言中子程序稱為“函數(shù)”(當(dāng)然,不要理解成為數(shù)學(xué)里面的“函數(shù)”)。但是決不能有一個(gè)以上的main函數(shù)(即只能有一個(gè))。

2) 函數(shù)語(yǔ)句塊用‘{’括號(hào)開(kāi)始, 以‘}’反括號(hào)結(jié)束。這樣的花括號(hào)必須成對(duì)出現(xiàn)。

3) 表達(dá)式寫在小括號(hào)里面,以‘(’括號(hào)開(kāi)始,以‘)’反括號(hào)結(jié)束。

4) 函數(shù)不能嵌套,即函數(shù)里面不能再套函數(shù)。(每一個(gè)函數(shù)是完成一個(gè)特定功能的函數(shù)模塊)

C語(yǔ)言的組成:

C語(yǔ)言是由許多函數(shù)組成的。其中只有一個(gè)主函數(shù)(main()函數(shù))。C程序執(zhí)行時(shí)總是從main函數(shù)的‘{’處開(kāi)始,至main函數(shù)的反大括號(hào)'}'處結(jié)束。當(dāng)然還有其它一些規(guī)則,這將在以后的學(xué)習(xí)中去熟悉它。

C語(yǔ)言的書寫規(guī)則:

C語(yǔ)言在書寫時(shí)有它自身的特點(diǎn):書寫格式比較自由,在一行里可以寫多條語(yǔ)句,一個(gè)語(yǔ)句也可以分寫在多行上。雖然如此,在書寫源程序時(shí)還是要注意哪些可以自由書寫,而哪些必須要按照書寫規(guī)則來(lái)書寫。

幾條規(guī)則寫在下面:

1) 一行內(nèi)可以寫幾個(gè)語(yǔ)句,建議一行不超過(guò)兩條語(yǔ)句;

2) 一條語(yǔ)句可以寫在多行上;

3) C語(yǔ)句不需要寫行標(biāo)號(hào);

4) 每條語(yǔ)句及數(shù)據(jù)定義的后面要寫上分號(hào)以表示該語(yǔ)句結(jié)束;

5) C語(yǔ)言中注釋用 /* */來(lái)表示;

6) 建議書寫時(shí)采用縮進(jìn)格式;

7) 花括號(hào)、小括號(hào)都是成對(duì)出現(xiàn)的。

一個(gè)最簡(jiǎn)單的C程序的編寫:

/* 程序代碼*/ /* 注釋部分*/

main() /*main是主函數(shù)名。緊跟在main后面的括號(hào)是放參數(shù)的。

括號(hào)里面為空說(shuō)明main函數(shù)不需要參數(shù)*/

{ /*正寫的大花括號(hào)表示main函數(shù)從這里開(kāi)始*/

} /*反寫的大花括號(hào)表示main函數(shù)到這里結(jié)束*/

說(shuō)明:由于是一個(gè)演示程序,在函數(shù)體內(nèi)并沒(méi)有任何可以執(zhí)行的語(yǔ)句,也就是這個(gè)程序什么事也不做。

這個(gè)程序就是這么簡(jiǎn)單: 寫在一行上就是 main() { }

你在TC的編輯環(huán)境下把這段代碼輸入進(jìn)去,按F9鍵編譯連接,按CTRL_F5運(yùn)行,一定很正常。但是什么結(jié)果也不會(huì)有,因?yàn)樵趍ain函數(shù)里面什么代碼也沒(méi)有。

下面再舉一個(gè)可以向屏幕上輸出一條信息的例子:

main()

{

printf("這就是C語(yǔ)言編寫的程序!"); /*這一條語(yǔ)句的作用是向屏幕輸出一條信息

”這就是C語(yǔ)言編寫的程序!"*/

}

在這個(gè)程序中,main函數(shù)只有一條語(yǔ)句:printf("這就是C語(yǔ)言編寫的程序!");這個(gè)語(yǔ)句的作用是向屏幕輸出一個(gè)字符串。有關(guān)這個(gè)語(yǔ)句的知識(shí)以后再講。現(xiàn)在要注意的是一個(gè)C語(yǔ)言程序的框架是怎樣組成的。

C語(yǔ)言程序的幾種文件格式:

1、 源程序---在TC集成環(huán)境中輸入的程序文本稱為源程序。源程序是一種文本文件。它是我們看得見(jiàn)并認(rèn)識(shí)的一種文件。其擴(kuò)展名為.C。例如你把文件保存為TEST,那么在磁盤上應(yīng)看得到TEST.C這個(gè)文件。這樣的文件可以用記事本打開(kāi)。

2、二進(jìn)制文件---寫完了源程序后接著要做的是編譯這個(gè)文件。在TC集成環(huán)境里是按ALT_F9鍵,編譯后生成了一個(gè)二進(jìn)制文件,這個(gè)二進(jìn)制文件名為TEST.OBJ,也就是擴(kuò)展名為OBJ的目標(biāo)文件。

3、運(yùn)行文件---最后一步是make(或Link),在TC集成環(huán)境里是按F9鍵Make之后生成了一個(gè)可以在DOS下運(yùn)行的文件,其擴(kuò)展名為EXE。如TEST.EXE。這個(gè)EXE文件是由第2步中的OBJ文件生成的。OBJ文件雖然是二進(jìn)制文件,而電腦又是可以運(yùn)行二進(jìn)制文件的,為什么還要把OBJ文件Link為EXE文件才能運(yùn)行?這里的知識(shí)就比較多了,這里不能多講。但是要明白一點(diǎn),在DOS下僅僅有了一個(gè)二進(jìn)制文件還不能運(yùn)行,因?yàn)椴僮飨到y(tǒng)要把這些二進(jìn)制文件加以規(guī)劃,把相應(yīng)的數(shù)據(jù)、程序代碼放到應(yīng)該放的內(nèi)存位置,這樣的經(jīng)過(guò)嚴(yán)密規(guī)劃和組織好了的二進(jìn)制文件才能運(yùn)行。而這些只有在生成的EXE文件里面才做完了這些工作。

---------------------------------------

作業(yè)題:

1、下列程序中格式錯(cuò)在( )處。

A. main() B. int a,b,z;

C. a=2:b=3; D. z=a+b;

分析:A,B,D 沒(méi)有錯(cuò)誤。 C 中在a=2后面應(yīng)該是分號(hào)而不應(yīng)是":"號(hào)

答: C

2、C語(yǔ)言允許將一條語(yǔ)句寫在兩行上,下列語(yǔ)句不正確的是

A. int a,

B;

B. int a

,b;

C. int

a,b

D. int a,b

;

分析:C語(yǔ)言規(guī)定可以在語(yǔ)句中的任何一個(gè)分隔符或空格處換行。上面4個(gè)選項(xiàng)中D.有問(wèn)題因?yàn)樵贒.中第一行的最后沒(méi)有分隔符,而第二行只有一個(gè)分號(hào),可以看做一個(gè)語(yǔ)句。所以D中的錯(cuò)誤為:第一行是一個(gè)獨(dú)立的語(yǔ)句,但是少了一個(gè)分號(hào)。

答: D

3. C語(yǔ)言的一行寫不下時(shí),可以

A. 用逗號(hào)換行 B. 用分號(hào)換行

C. 在任意一空格處換行 D. 用回車符換行

分析:C語(yǔ)言可以在任何一個(gè)分隔符或空格處換行,所以此題的正確答案是 C

答: C

4. 下列程序段中,哪一個(gè)是錯(cuò)誤的注釋方法?

A. #in/*包含*/cludestdio.h

void main()

{

}

B. #includestdio.h

void main/* */(/*主函數(shù)*/)

{

}

C. #includestdio.h

void main()

{ int x/*初始化*/=10;

/*打印*/printf("%d",x);

}

D. #includestdio.h

void main()

{

int x=10;

printf("%d",x);

/*打印x的值*”*=10*/

}

分析:根據(jù)C語(yǔ)言的規(guī)定:注釋不能插在標(biāo)識(shí)符的中間,在其它有分隔符的地方都可以插入注釋,上面四個(gè)程序段中只有A是將注釋插入在標(biāo)識(shí)符的中間了。所以A是錯(cuò)誤的。

答: A

5. C語(yǔ)言程序是由( )組成的?

答:C程序是由函數(shù)組成的。

6. C程序運(yùn)行時(shí),運(yùn)行的是什么文件?

數(shù)據(jù)的類型:

在程序中要處理大量的數(shù)據(jù),把這些數(shù)據(jù)按其特點(diǎn)分為幾種基本的數(shù)據(jù)類型,它們分別是:

1 、整型 2 、字符型 3 、實(shí)型

還有其它的一些擴(kuò)展的數(shù)據(jù)類型,但是開(kāi)始學(xué)習(xí)時(shí)要先熟悉這三種基本數(shù)據(jù)類型。

在 C 語(yǔ)言中這幾種數(shù)據(jù)類型用符號(hào)表示如下:

整型數(shù)據(jù)類型 int /* 一般指可以運(yùn)算的數(shù),如自然數(shù)就是整型數(shù)據(jù)類型 */

字符數(shù)據(jù)類型 char /* 一般指文字,如英文字母;字符類型的 '1''2''3''4' 等 */

實(shí)型 float /* 也稱作浮點(diǎn)型,記住 float 類型的數(shù)都是有小數(shù)位的,如 425.23*/

常量和變量:

常量――程序運(yùn)行過(guò)程中其值不變的量,如一個(gè)整數(shù) 134, 一個(gè)字符 ‘a(chǎn)'

變量――程序運(yùn)行過(guò)程中其值可以變化的量,如 int a; char b; 那么 a 和 b 都是變量。

符號(hào)常量 ――用一個(gè)“符號(hào)”來(lái)表示的一個(gè)“常量”稱為“符號(hào)常量”。

符號(hào)常量有什么好處 ――在給符號(hào)常量命名的時(shí)候,按習(xí)慣取的名字與實(shí)際上的含義相符,可以“見(jiàn)名識(shí)意”;另外在需要修改常量的值的時(shí)候,只需要修改符號(hào)常量的定義部分即可,非常方便。

符號(hào)常量的定義方法 ―― #define 符號(hào) 常量

例: #define NUMBER 30 /* 定義了一個(gè)符號(hào)常量,在這里是用符號(hào) NUMBER 表示整數(shù) 30 ,以后在程序里就可以

用符號(hào) NUMBER 代替整數(shù) 30 進(jìn)行運(yùn)算 */

main()

{

int a=20; /* 把常量 20 賦給整型變量 a*/

int c; /* 定義了整型變量 c*/

c=NUMBER+a; /* 變量 c 的值此時(shí)為 50 ,符號(hào)常量 NUMBER 參與了運(yùn)算 */

}

變量的定義方法 ――在變量的名字前面加上一個(gè)變量的數(shù)據(jù)類型,以說(shuō)明已定義的變量可以用來(lái)存放什么樣類型的數(shù)據(jù)。

例: int a; /* 定義了一個(gè)整型變量,以后這個(gè)變量只能存放整型類型的數(shù) */

char b; /* 定義了一個(gè)字符型變量,以后這個(gè)變量只能存放符字符型數(shù)據(jù) */

怎樣把常量值賦給已定義了的變量 ――用一個(gè) = 號(hào)賦值。

例: int a; /* 定義一個(gè)整型孌量 a*/

char b; /* 定義了一個(gè)字符型變量 b*/

a=20; /* 用 = 號(hào)完成賦值,賦值后變量 a 的值此時(shí)為 20*/

b='d' /* 把常量字符 'd' 賦給變量 b ,此時(shí)變量 b 的值是字符 'd'*/

變量賦值時(shí)一種更靈活的方法 ――可以在一行上給多個(gè)相同數(shù)據(jù)類型的變量賦值,變量之間用逗號(hào)分隔。

例: int a,b,c,d; /* 定義了 4 個(gè)整型變量 */

char e,f,g; /* 定義了 3 個(gè)字符型變量 */

深入理解變量 ―― 1 ) 1 個(gè)變量必須有一個(gè)變量名。 2 )變量必須有其指定的數(shù)據(jù)類型

3 )變量一旦被定義,它就在內(nèi)存中占有一個(gè)位置,這個(gè)位置稱做該 變量的地址 。

4 )每一個(gè)變量都有其對(duì)應(yīng)的值。

l 一定要牢記變量的這 4 個(gè)特性。

變量使用時(shí)的注意事項(xiàng) ―― 1 )變量在使用之前一定要先定義,使用一個(gè)沒(méi)有定義的變量是錯(cuò)誤的。

2 )變量必須在一個(gè)函數(shù)的開(kāi)始部分定義。(這個(gè)限制在 C++ 中不存在)

例題:寫一個(gè) 2 個(gè)整數(shù)相加的程序。

/* 解題思路:求 2 個(gè)整數(shù)相加,必定要先定義 2 個(gè)變量來(lái)存放這 2 個(gè)數(shù),另外還需要 1 個(gè)變量用來(lái)存放

相加的和,所以共需要定義 3 個(gè)整型變量 */

/* 注意每次在寫 C 程序的時(shí)候一定要注意書寫格式 */

main()

{

int a,b,c;

a=20,b=30; /* 在這里指定變量的值,因?yàn)檫€沒(méi)有講輸入輸出函數(shù),只能這樣了。 */

c=a+b;

}

想一想,這樣簡(jiǎn)單的一個(gè)題,需要知道的知識(shí)面卻不少。 用到了上面所講的哪些知識(shí)?

C語(yǔ)言中的庫(kù)函數(shù)――我們編寫C語(yǔ)言程序時(shí)要寫許多代碼,這些代碼是用基本程序語(yǔ)句如運(yùn)算符、表達(dá)式、幾種語(yǔ)句結(jié)構(gòu)來(lái)組成。這些語(yǔ)句組成了多個(gè)不同的函數(shù),由多個(gè)函數(shù)組成一個(gè)完整的程序。實(shí)際上如果程序中的語(yǔ)句都要由自己來(lái)寫的話,那么工作量是很大的了。并且有一些完成基本任務(wù)的函數(shù)如輸入輸出函數(shù)是經(jīng)常需要使用的。這樣的一些常用的完成基本任務(wù)的函數(shù)有許多已經(jīng)由提供編譯程序的公司為我們寫好了。這些已經(jīng)寫好的函數(shù)放在TC或者BC編譯器的文件中。所謂“庫(kù)函數(shù)”,就是存放“函數(shù)”的“倉(cāng)庫(kù)”。在TC中,函數(shù)的“倉(cāng)庫(kù)”在哪里呢?在TC的.\LIB目錄中。編寫程序的時(shí)候,如果我們需要使用某個(gè)庫(kù)函數(shù),就要在這個(gè)程序開(kāi)頭指明這庫(kù)函數(shù)存放在哪里,以便讓編譯程序到這個(gè)地方去找。這個(gè)指明庫(kù)函數(shù)路徑的語(yǔ)句稱為“包含”語(yǔ)句,寫做#include。完整的寫法是:

#include stdio.h

#include 是包含的意思,stdio.h 是指明要使用的庫(kù)函數(shù)在 stdio.h這個(gè)文件里面有說(shuō)明。尖括號(hào)是必須要寫的。而實(shí)際上,編譯程序在stdio.h之個(gè)文件里根據(jù)庫(kù)函數(shù)名可以在.\LIB目錄下的LIB文件里找到相關(guān)的代碼,寫進(jìn)程序里面去。使用不同的庫(kù)函數(shù)時(shí)要用不同的包含,關(guān)于怎樣使用#include,可以查看庫(kù)函數(shù)的幫助。

有了眾多的庫(kù)函數(shù),給編寫程序帶來(lái)了很大的方便。就象做房子要用磚和瓦一樣。如果沒(méi)有磚和瓦,做房子自己要挖土燒磚,可想而知,那樣做房子的難度有多大。寫程序也是這樣,有了庫(kù)函數(shù),在需要完成某些任務(wù)時(shí),找到相應(yīng)的庫(kù)函數(shù)調(diào)用一下就可以了,不需要自己一點(diǎn)一點(diǎn)的寫代碼。在學(xué)習(xí)編程的同時(shí)要多多了解一些庫(kù)函數(shù)的特點(diǎn)及用法,對(duì)編寫程序是有很大的好處的。

(在Windows下編寫程序,需要了解的“庫(kù)函數(shù)”就更多了,可以說(shuō)不了解庫(kù)函數(shù)就不會(huì)編程。VC中用的是MFC,Win32中用的是API,它們都是函數(shù)庫(kù))

先了解二個(gè)庫(kù)函數(shù)――1、scanf函數(shù) /*格式化控制臺(tái)輸入函數(shù)*/

函數(shù)原型:int scanf(control_string....); /*看上去很復(fù)雜。沒(méi)關(guān)系,以后自然會(huì)明白的*/

使用例:

void main()

{

int a,b,c; /*定義了三個(gè)整型變量*/

scanf("%d%d",a,b); /*從鍵盤輸入二個(gè)整數(shù)到孌量a和b中*/

c=a+b; /*把變量a與b相加的和送給變量c*/

}

下面仔細(xì)講一下scanf函數(shù)各參數(shù)的用法:

可以看到在小括號(hào)里有二個(gè)%d,后面有二個(gè)變量a和b。二個(gè)%d的寫法為"%d%d",注意凡是這樣的符號(hào)都要寫在雙引號(hào)里面,而變量則寫在雙引號(hào)的外面并用逗號(hào)分隔。這個(gè)%d我們稱為格式化說(shuō)明符,第一個(gè)%d用于說(shuō)明第一個(gè)變量a,第二個(gè)%d用于說(shuō)明第二個(gè)變量b,這樣的順序是一一對(duì)應(yīng)的。%d格式符說(shuō)明了后面輸入的變量值是整型數(shù)。

另外注意的是二個(gè)%d是靠在一起的 %d%d,凡是這樣的寫法,在輸入數(shù)時(shí),對(duì)于二個(gè)數(shù)之間的分隔是用“空隔鍵”來(lái)實(shí)現(xiàn)的。如輸入30和50這二個(gè)數(shù)形式為 30 50 如果二個(gè)%d寫成%d,%d中間有一個(gè)逗號(hào),那么在輸入數(shù)據(jù)時(shí)也一定要在輸入的數(shù)之間加上逗號(hào),如 30,50。

再來(lái)看一下變量的寫法,可以看到在每一個(gè)變量名的前面都有一個(gè)號(hào),這個(gè)號(hào)是取變量地址的意思,那么a寫在一起就是變量a的地址,b寫在一起就是變量b的地址。

上面的scanf函數(shù)的作用就是把從鍵盤上輸入的二個(gè)整數(shù)分別送到變量a和變量b的地址里面去。這個(gè)號(hào)是非常重要,不要寫漏了。

scanf函數(shù)的格式說(shuō)明符(格式說(shuō)明符說(shuō)明了下一步將讀的是什么類型的數(shù)據(jù))

格式碼 含義

%c 讀一單字符

%d 讀一整數(shù)

%i 讀一個(gè)浮點(diǎn)數(shù)

%e 讀一個(gè)浮點(diǎn)數(shù)

%f 讀一個(gè)浮點(diǎn)數(shù)

%g 讀一個(gè)浮點(diǎn)數(shù)

%o 讀一個(gè)八進(jìn)制數(shù)

%s 讀一字符串

%x 讀一十六進(jìn)制數(shù)

%p 讀一指針

%n 讀一個(gè)指針收一個(gè)等于到目前為止輸入的字符數(shù)止的整數(shù)

%u 讀一無(wú)符號(hào)整數(shù)

%[] 掃描一字符集

例:從鍵盤輸入二個(gè)字符,一個(gè)大寫,一個(gè)小寫,然后把這個(gè)小寫字符轉(zhuǎn)換成大寫,大寫字符轉(zhuǎn)換成小寫。

#includestdio.h /*因?yàn)樵诔绦蚶镉玫搅藥?kù)函數(shù)scanf,所以要使用包含#includestdio.h*/

void main()

{

char ch,chh; /*定義了二個(gè)字符型變量*/

scanf("%c%c",ch,chh); /*從鍵盤輸入二個(gè)字符,一個(gè)大寫,另一個(gè)小寫*/

ch=ch+32; /*大寫轉(zhuǎn)成小寫*/

chh=chh-32; /*小寫轉(zhuǎn)成大寫*/

}

2、printf函數(shù) /*格式化輸出函數(shù)*/

函數(shù)原型:int printf(const char *control_string....);

說(shuō)明:printf把變量的值或常量字符串輸出到控制臺(tái)(一般是顯示屏)

使用例:

#includestdio.h

void main()

{

int a,b,c;

scanf("%d%d",a,b);

c=a+b;

printf("輸出二個(gè)整數(shù)相加的和"); /*輸出字符串常量,這里沒(méi)有用到格式化說(shuō)明符*/

printf("%d",c); /*把變量c的值用整型格式輸出,這里%d是整型格式說(shuō)明符*/

}

如果有幾個(gè)變量的值要輸出,用這樣的形式:printf("%d %d %d",a,b,c);

從這個(gè)printf輸出的格式中看出,每一個(gè)格式符對(duì)應(yīng)一個(gè)變量,其對(duì)應(yīng)順序也是一一對(duì)應(yīng)的,第一個(gè)%d對(duì)應(yīng)第一個(gè)變量a,以此類推。注意在printf函數(shù)中,變量前面就不要加符號(hào)了。

注意printf函數(shù)中幾個(gè)%d之間留了一些空格,這里的用法與scanf相比有一點(diǎn)不同。在printf函數(shù)中格式符之間留多少空隔,輸出的時(shí)候每一個(gè)輸出的值之間就有多少空隔。如printf("%d %d %d",a,b,c);輸出則為:20 30 50 (這里的數(shù)是假設(shè)的)。如果寫為printf("%d,%d,%d",a,b,c);則輸出形式為 20,30,50

printf函數(shù)的格式符:

格式碼 格式

%c 單個(gè)字符

%d 十進(jìn)制數(shù)

%i 十進(jìn)制數(shù)

%e 科學(xué)法表示

%E 科學(xué)法表示

%f 十進(jìn)制浮點(diǎn)數(shù)

%g 用%e或%f中較短的的一個(gè)(如果是%e,用小寫e)

%G 用%e或%f中較短的的一個(gè)(如果是%E,用大寫E)

%o 以八進(jìn)制形式輸出

%s 字符串

%u 無(wú)符號(hào)十進(jìn)制數(shù)

%x 十六進(jìn)制數(shù)(小寫)

%X 十六進(jìn)制數(shù)(大寫)

%p 顯示一個(gè)指針

%n 相關(guān)變量是整型指針,它所指處存放至今要寫入字符的總數(shù)

%% 打印一個(gè)%號(hào)

printf函數(shù)使用例:

1)char ss="abcdefghijk"; printf("%s",ss); /*輸出一個(gè)字符串,屏幕上顯示"abcdefghijk"*/

2)unsigned int a=65535; printf("%u",a); /*以十六進(jìn)制形式輸出一個(gè)無(wú)符號(hào)數(shù),顯示為ffff*/

3)int a=123,b=456,c=687; printf("%d\t%d\n%d",a,b,c);

輸出形式為:

123 456 /*'\t'是一個(gè)制表符,所以要移動(dòng)一個(gè)制表位這么多空格數(shù)*/

687 /*'\n'是換行轉(zhuǎn)義符,在前面字符常量里講過(guò)。所以要換一行再輸出687*/

C語(yǔ)言基礎(chǔ)(05-運(yùn)算符和表達(dá)式):運(yùn)算符(也叫操作符)--運(yùn)算符是一個(gè)表示特定的數(shù)學(xué)或邏輯操作的符號(hào)。如'+'號(hào),表示了一個(gè)相加運(yùn)算;''號(hào)表示了一個(gè)邏輯‘與’的運(yùn)算。由運(yùn)算符把需要進(jìn)行運(yùn)算的各個(gè)量(常量或變量)連接起來(lái)組成一個(gè)表達(dá)式。

下面要講的是標(biāo)準(zhǔn)的運(yùn)算符,在C++中還有另外的一些運(yùn)算符。運(yùn)算符 進(jìn)行的運(yùn)算 所屬類別 備注

[ ] 間隔符 標(biāo)點(diǎn)符號(hào)

( ) 間隔符 標(biāo)點(diǎn)符號(hào)

· 直接分量選擇 雙目操作符

- 間接分量選擇 雙目操作符

++ 前增量、后增量 單目操作符

-- 前減量、后減量 單目操作符

+ 加 雙目操作符、單目操作符

- 減 雙目操作符、單目操作符

* 1)乘 2)間接引用 雙目操作符、單目操作符

/ 除 雙目操作符

% 求余 雙目操作符

1)位‘與’2)取地址 雙目操作符、單目操作符

! 邏輯‘非’ 單目操作符

邏輯‘與’ 雙目操作符

|| 邏輯‘或’ 雙目操作符

左移位 雙目操作符

右移位 雙目操作符

小于 雙目操作符

大于 雙目操作符

== 等于 雙目操作符

!= 不等于 雙目操作符

^ 位‘異或’ 雙目操作符

+= 和賦值 雙目操作符

-= 差賦值 雙目操作符

*= 乘賦值 雙目操作符

/= 商賦值 雙目操作符

= 左移賦值 雙目操作符

= 右移賦值 雙目操作符

= 按位‘與’賦值 雙目操作符

^= 按位異或賦值 雙目操作符

|= 按位或賦值 雙目操作符

%= 模賦值 雙目操作符

= 賦值 雙目操作符

?: 按條件取值 雙目操作符

, 間隔符 標(biāo)點(diǎn)符號(hào)

# 預(yù)處理符號(hào) 標(biāo)點(diǎn)符號(hào)

## 預(yù)處理符號(hào) 標(biāo)點(diǎn)符號(hào)

sizeof 求字節(jié)數(shù)

~ 按位求反

| 位‘或’

: 間隔符

; 間隔符

... 間隔符

要把表中的運(yùn)算符仔細(xì)的分類是不容易的,因?yàn)橥粋€(gè)運(yùn)算符,在不同的地方其含義是不同的。如*運(yùn)算符,當(dāng)作為乘運(yùn)算時(shí)是雙目操作符(所謂雙目操作符,即運(yùn)算時(shí)需要二個(gè)操作數(shù)),如3*6,那么3與6總共是二個(gè)操作數(shù)。當(dāng)作為取值運(yùn)算時(shí)就是單目操作符(所謂單目操作符是只需要一個(gè)操作數(shù))如對(duì)一個(gè)數(shù)求反:!a,這里只有一個(gè)操作數(shù)a。

要記住運(yùn)算符的二個(gè)特點(diǎn),一個(gè)是運(yùn)算符的操作對(duì)象,另一個(gè)就是運(yùn)算符的優(yōu)先級(jí)別。其中運(yùn)算符的優(yōu)先級(jí)別是最不容易搞清楚和最容易出錯(cuò)的地方。

在講運(yùn)算符之前講一下“表達(dá)式”的概念:所謂表達(dá)式,就是用運(yùn)算符把各個(gè)操作數(shù)連接成符合C語(yǔ)法規(guī)則的進(jìn)行運(yùn)算的式子。這里說(shuō)的“符合C語(yǔ)法的規(guī)則”也很重要。如 a+b+5就是一個(gè)用算術(shù)運(yùn)算符連接起來(lái)的表達(dá)式。

1、算術(shù)運(yùn)算符:+、-、*、/、%

1)+、-、*、/ 分別是相加、相減、相乘、相除

2)% 求二個(gè)數(shù)運(yùn)算的模。所謂求模就是求二個(gè)數(shù)相除后的余數(shù)。例:25/3的余數(shù)是1,可以說(shuō)25%3的模是1。要注意的是求模運(yùn)算時(shí)二個(gè)操作數(shù)必須是整數(shù)。如果求25.3/3.1這樣是不能運(yùn)算的。

下面寫一個(gè)例子:

#includestdio.h /*程序中要用到輸入輸出庫(kù)函數(shù),所以包含了stdio.h*/

void main()

{

int a=10,b=20,c=30; /*定義了3個(gè)整型變量,并同時(shí)進(jìn)行了初始化賦值*/

a=a*b+c; /*a*b+c組成了一個(gè)算術(shù)表達(dá)式,運(yùn)算后的結(jié)果為230并把值*/

/*賦給變量a*/

printf("%d",a); /*以整型格式輸出變量a的值。這里輸出230*/

a=a%b; /*進(jìn)行求模運(yùn)算。因?yàn)闆](méi)有余數(shù),最后的模為0*/

printf("%d",a); /*輸出變量a的值。這里輸出0*/

}

下面是一個(gè)要考慮運(yùn)算符優(yōu)先級(jí)的例子:

#includestdio.h

void main()

{

int a=10,b=20,c=30;

a=c-a*b; /*這里就要考慮運(yùn)算符優(yōu)先級(jí),*運(yùn)算符的優(yōu)先級(jí)比-運(yùn)算符*/

/*的高,所以先進(jìn)行乘運(yùn)算。這里最后結(jié)果為-170*/

}

由上面這個(gè)例子看到,在一個(gè)有多個(gè)運(yùn)算符連接起來(lái)的表達(dá)式中需要考慮運(yùn)算符的優(yōu)先級(jí),這個(gè)例子很簡(jiǎn)單。關(guān)于運(yùn)算符優(yōu)先級(jí)的概念其實(shí)在小學(xué)生的算術(shù)運(yùn)算中就有這樣的概念了,只不過(guò)這里的運(yùn)算符多了一些,要考慮的情況也就復(fù)雜了。

如果這個(gè)式子改寫一下,寫成:a=(c-a)*b;在運(yùn)算時(shí)就以括號(hào)中的運(yùn)算優(yōu)先。

幾個(gè)簡(jiǎn)化的運(yùn)算表達(dá)式:

在C語(yǔ)言的程序中,經(jīng)??吹竭@樣的運(yùn)算,如:i++;或者k--;這是運(yùn)算符號(hào)的簡(jiǎn)化寫法。

1、加1運(yùn)算的簡(jiǎn)寫

當(dāng)一個(gè)變量進(jìn)行加1運(yùn)算時(shí),如a=a+1;這是變量自身加1,簡(jiǎn)寫為a++;

2、減1運(yùn)算的簡(jiǎn)寫

當(dāng)一個(gè)變量進(jìn)行減1運(yùn)算時(shí),如a=a-1;這是變量自身減1,簡(jiǎn)寫為a--;

3、加1個(gè)常量運(yùn)算的簡(jiǎn)寫

當(dāng)一個(gè)變量與一個(gè)常量相加時(shí),如a=a+5;這是變量自身加5,簡(jiǎn)寫為a+=5;

4、減一個(gè)常量運(yùn)算的簡(jiǎn)寫

當(dāng)一個(gè)變量與一個(gè)常量相減時(shí),如a=a-5;這是變量自身減5,簡(jiǎn)寫為a-=5;

5、乘一個(gè)常量運(yùn)算的簡(jiǎn)寫

當(dāng)一個(gè)變量與一個(gè)常量相乘時(shí),如a=a*5,這是變量自身乘5,簡(jiǎn)寫為a*=5;

6、除一個(gè)常量運(yùn)算的簡(jiǎn)寫

當(dāng)一個(gè)變量與一個(gè)常量相除時(shí),如a=a/5;這是變量自身除5,簡(jiǎn)寫為a/=5;

運(yùn)算符的結(jié)合性(或稱作關(guān)聯(lián)性)

在一個(gè)復(fù)雜的表達(dá)式中,常常有許多運(yùn)算符和變量,這時(shí)就要判斷優(yōu)先級(jí)和結(jié)合性這二個(gè)因素。

例:-5+7; 這樣的一個(gè)表達(dá)式用結(jié)合性來(lái)判斷,因?yàn)檫\(yùn)算符'-'和'+'相對(duì)于運(yùn)算的數(shù)來(lái)說(shuō)是‘左’結(jié)合的,所以就有'-5'和'+7'所以運(yùn)算的結(jié)果為 2。

通過(guò)這個(gè)例子要知道什么是“左結(jié)合性”和“右結(jié)合性”

左結(jié)合性--變量(或常量)與左邊的運(yùn)算符結(jié)合

右結(jié)合性--變量(或常量)與右邊的運(yùn)算符結(jié)合

運(yùn)算符的優(yōu)先級(jí)和結(jié)合性表

優(yōu)先級(jí) 運(yùn)算符(高 ------→低) 結(jié)合率 運(yùn)算符類型

高 ( ) [ ] - . 從左至右 雙目運(yùn)算符

! ~ ++ -- (類型) sizeof + - * 從右至左 單目運(yùn)算符

* / % 從左至右 雙目運(yùn)算符

+ - 從左至右 雙目運(yùn)算符

從左至右 雙目運(yùn)算符

= = 從左至右 雙目運(yùn)算符

== != 從左至右 雙目運(yùn)算符

從左至右 雙目運(yùn)算符

^ 從左至右 雙目運(yùn)算符

| 從左至右 雙目運(yùn)算符

從左至右 雙目運(yùn)算符

|| 從左至右 雙目運(yùn)算符

?: 從右至左 三目運(yùn)算符

低 = += -= *= /= %= = ^= |= = = 從左至右 雙目運(yùn)算符

高 -------------→ 低

從表中可以看出一個(gè)規(guī)律,凡是單目運(yùn)算符都是“右結(jié)合”的,凡是雙目運(yùn)算符都是“左結(jié)合”的。其中有一個(gè)?:運(yùn)算符是三目運(yùn)算符是右結(jié)合的,記住了這個(gè)規(guī)律,運(yùn)算符的結(jié)合性也就掌握了。

如果代碼行中的運(yùn)算符比較多,用括號(hào)確定表達(dá)式的操作順序,避免使用默認(rèn)的優(yōu)先級(jí)。

由于將表熟記是比較困難的,為了防止產(chǎn)生歧義并提高可讀性,應(yīng)當(dāng)用括號(hào)確定表達(dá)式的操作順序。例如:

d = (high 8) | low /*用括號(hào)把需要先運(yùn)算的括起來(lái)*/

if ((a | b) (a c)) /*用括號(hào)把需要先運(yùn)算的括起來(lái)*/

例:

下列程序輸出的結(jié)果是

#includestdio.h

void main()

{

int a=2;

a%=4-1;

printf("%d",a);

a+=a*=a-=a*=3;

printf("\n%d",a);

}

A. 2,0 B. 1,0

C. -1,12 D. 2,12

分析:由于%=運(yùn)算符的優(yōu)先級(jí)別低于-運(yùn)算,a%=4-1即是a%=3,等價(jià)于a=a%3即a=2%3=2,所以選項(xiàng)B和C是錯(cuò)誤的。表達(dá)式a+=a*=a-=a*=3,計(jì)算時(shí)注意賦值類表達(dá)式的值和變量的值隨時(shí)被更新,計(jì)算表達(dá)式的值,開(kāi)始時(shí)a=2,表達(dá)式賦值是從左至右進(jìn)行的,表達(dá)a*=3使得a=6,此表達(dá)式的值也為6,于是表達(dá)式a-=a*=3相當(dāng)于a-=6=6-6=0,a的值為0,后面的計(jì)算就不用做了,所以a的值最終為0。

答:A

下列語(yǔ)句中錯(cuò)誤的是

A.x=sizeof int;

B.x=sizeof 3.14

C.printf("%d",a=a+1,b--,c+1);

D.printf("%d",++x,x++);

分析:此題的選項(xiàng)A的作用是測(cè)試int類型所占內(nèi)存的字節(jié)數(shù),因?yàn)轭愋头美ㄌ?hào)括起來(lái),這時(shí)缺少括號(hào)是錯(cuò)誤的。

選項(xiàng)B是正確的。

選項(xiàng)C從表面上看似乎復(fù)雜一些,但其中的a=a+1,b--,c+1是一個(gè)逗號(hào)表達(dá)式,C語(yǔ)言允許使用這種表達(dá)式所以D也是正確的。

答案:A

下面的語(yǔ)句中,符合C語(yǔ)言語(yǔ)法的賦值語(yǔ)句是

A.a=7+b+c=a+7; B.a=7+b++=a+7;

C.a=7+b,b++,a+7; D.a=7+b;c=a+7;

分析:一般情況下,表達(dá)式不能放在賦值號(hào)的左邊,所

網(wǎng)站欄目:在c語(yǔ)言中弱函數(shù),c語(yǔ)言弱定義
文章起源:http://aaarwkj.com/article34/dsieese.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站制作、全網(wǎng)營(yíng)銷推廣、網(wǎng)頁(yè)設(shè)計(jì)公司外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
亚洲色图视频免费观看| 国产精品久久中文字幕亚洲| 狼人综合狼人综合网站| 亚洲夫妻性生活免费视频| 亚洲欧美日韩成人在线观看| 青青草原成年人免费看| 日本久久精品免费网站| 日韩av在线播放亚洲天堂| 日韩欧美一区二区狠狠插| 九月丁香花开综合网| 黄色日韩大片在线观看| 91国内偷拍富婆国内精品对白| 亚洲一区二区三区伊人| 丝袜啪啪啪麻豆白虎内射| 国产大片久久午夜电影| 91九色在线免费观看| 亚洲一区二区三区 码| 男女裸体做爰一进一出视频| 最新国产毛片久热精品视频| 91伊人日本在线视频| 成人在线午夜免费视频| 日本黄色美女日本黄色| 日韩不卡一区二区三区| 国产中文字幕自拍视频| 日韩高清亚洲一区二区| 伊人久久亚洲福利精品| 日本女优久久精品观看| 91精品国产综合久久麻豆| 日本高清不卡免费在线观看视频一二三区 | 日韩高清有码一区二区| 国产精品一区二区三区欧美| 美女被强到爽高潮不断在线| 久久久久久极精品久久久| 深夜释放自己污在线看| 国产欧美成人精品第一区| 午夜黄色福利在线观看| 成人综合影视中文字幕| av天堂最新资源在线| 日本待黄大片一区二区| 日日躁夜夜躁狠狠躁欧美| 久草视频免费福利资源站|