工業(yè)894專業(yè)課輔導(dǎo)語(yǔ)言講義一_第1頁(yè)
工業(yè)894專業(yè)課輔導(dǎo)語(yǔ)言講義一_第2頁(yè)
工業(yè)894專業(yè)課輔導(dǎo)語(yǔ)言講義一_第3頁(yè)
工業(yè)894專業(yè)課輔導(dǎo)語(yǔ)言講義一_第4頁(yè)
工業(yè)894專業(yè)課輔導(dǎo)語(yǔ)言講義一_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

C語(yǔ)言講義(第一講)上間:兩共90分鐘

ScanfPrintfcC語(yǔ)言程序 int o //return 常量 常量表示固定的數(shù)據(jù)分類 整型常 浮點(diǎn)型常量5.43,-字符常 如‘?‘a(chǎn)‘F’“1236“nanabc” #definepi3.1415舉例:inta;charc;注意:變量名屬于標(biāo)識(shí)符,需要符合標(biāo)識(shí)符名規(guī)范。初始化:有兩種形式。1.inta;a=10; 2.inta=10;**m.aCsigned(有符號(hào))unsigned(無(wú)符號(hào))兩大例如,初始化變量inta -3;其實(shí)它等價(jià)于signed inta 字signed在這里可以省略,因?yàn)镃語(yǔ)言默認(rèn)就是有符號(hào)類型的,如果要定義無(wú)符號(hào)類型的數(shù)(也就是0和正整數(shù))可以這樣定義,unsignedint b= 為了說(shuō)明清楚signed和unsigned的區(qū)別,首先需要了解數(shù)據(jù)在內(nèi)存中是如2個(gè)字節(jié)的機(jī)器上來(lái)表示。unsignedinta1變量a在內(nèi)存中就是以來(lái)的,用圖表的形式表示:因?yàn)檫@里是unsignedint16位全部用來(lái)表示intb=-注意數(shù)字1和-1在內(nèi)存中的是完全不一樣的,請(qǐng)看在計(jì)算機(jī)中,整數(shù)是以原碼的形式的,而負(fù)數(shù)是以補(bǔ)碼的形式的,1,反碼就是原碼的各位取反,例如-1的補(bǔ)碼是:1的原碼是得到-1的補(bǔ)碼是,unsignedint0---2signedint162進(jìn)制,只不過(guò)第一位用來(lái)表示符(類型說(shuō)明符)(表達(dá)式 把a(bǔ) 以u(píng)nsignedchar和char的原碼是:00000010,可知最不為1,因此轉(zhuǎn)為有符號(hào) 是2。#include#include<stdio.h>intmain(void){unsignedchari=2;return0;}130的原碼是:10000010,可知最為1,因此需要取它的補(bǔ)碼,補(bǔ)碼11111110,這是一個(gè)負(fù)數(shù),取最作為-號(hào),取最低7位作為數(shù)值得到的#include#include<stdio.h>intmain(void){unsignedchari=130;return0;}等于有符號(hào)數(shù);如果有符號(hào)數(shù)的最為1,則將有符號(hào)數(shù)取補(bǔ)碼,得到的數(shù)以char和unsignedchar的原碼是:00000011,可知最不為1,因此轉(zhuǎn)為無(wú)符號(hào)數(shù)之后也#include<stdio.h>intmain(void){chari=3;printf("%u\n",(unsigned#include<stdio.h>intmain(void){chari=3;printf("%u\n",(unsignedchar)i);return0;}-7的原碼是:10000111,可知最為1,因此需要取它的補(bǔ)碼,補(bǔ)碼為11111001249。#include#include<stdio.h>intmain(void){chari=-7;printf("%u\n",(unsignedchar)i);return0;}11,則轉(zhuǎn)換結(jié)果就是printfprintf(“格式控制字符串”,輸出表列1)do以八進(jìn)制形式輸出無(wú)符號(hào)整數(shù)(以十六進(jìn)制形式輸出無(wú)符號(hào)整數(shù)(不輸出前綴ufcs2)-、+、#-+輸出符號(hào)(正號(hào)或負(fù)號(hào)#對(duì)c、s、d、u類無(wú)影響;對(duì)o類,在輸出時(shí)加前綴o;對(duì)x對(duì)e、g、f0。長(zhǎng)度格式符為h、l兩種,h表示按短整型量輸出,l#include<stdio.h>intmain(void){intlongfloat;//原來(lái)b的定義為float;doublechar.;printf("a(%%d)=%da(%%5d)=%5d,a(%%o)=%o,a(%%x)=%x\n\n",a,a,a,a);//%%可以輸出%printf("a=%f\n",b);printf("c=%f\n",printf("c=%f\n",printf("c(%%lf)=%lf,c(%%f)=%f,printf("d(%%c)=%c,d(%%8c)=%8c\n",d,d);return0;}以四種格式輸出實(shí)型量以四種格式輸出實(shí)型量b的值。其中“%f”和“%lf”格式的輸出相同,說(shuō)明“l(fā)”符4位部分被截去。輸出雙精度實(shí)數(shù),“%8.4lf44輸出字符量d,其中“%8c8故在輸出字符p7個(gè)空scanfscanf(“格式控制字符串”,地址表列其中,格式控制字符串的作用與printf函數(shù)相同,但不能顯示非格式字符串,也例如:&a、&bab#include<stdio.h>intmain(void){intreturn0;}輸出提示,請(qǐng)用戶輸入a、b、c的值。執(zhí)行scanf語(yǔ)句,等待用戶輸入。在scanf78或789其中有方括號(hào)[]格式doxuf或輸入實(shí)型數(shù)(用小數(shù)形式或指數(shù)形式cs“*”scanf("%d%*d當(dāng)輸入為 3時(shí),把1賦予a,2被跳過(guò),3賦予b用十進(jìn)制整數(shù)指定輸入的寬度(即字符數(shù) 只把12345賦予變量a,其余部分被截去。又如:輸 將把1234賦予a,而把5678賦予b%lfh使用scanf1).scanf函數(shù)中沒有精度控制,如:scanf("%5.2f",&a);是的。不能企圖用此2位的實(shí)數(shù)。2)scanf中要求給出變量地址,如給出變量名則會(huì)出錯(cuò)。如scanf("%d",a);是非法的,應(yīng)改為scnaf("%d",&a);才是合法的。間隔則可用空格,TAB或回車作間隔。C編譯在碰到空格,TAB,回車或數(shù)據(jù)(如對(duì)“%d”輸入“12A”時(shí),A即為數(shù)據(jù))時(shí)即認(rèn)為該數(shù)據(jù)結(jié)束。d、e、f則把'd'賦予a,''b,'e'賦予c。只有當(dāng)輸入為def時(shí),才能把'd'賦于a,'e'賦予b,'f'賦予c。scanf("%c%c#include<stdio.h>intmain(void){charprintf("inputcharactera,b\n");return0;}由于scanf函數(shù)"%c%c"MNM。而輸入改為MN時(shí)則可輸出MN兩字符。#include<stdio.h>intmain(void){charprintf("inputcharactera,b\n");scanf("%c%c",&a,&b);return0;}本例表示scanf格式控制串"%cc"之間有空格時(shí),輸入的數(shù)據(jù)之間可以有空其中用非格式符作間隔符,故輸入時(shí)應(yīng)為:5,6,7。又如:#include<stdio.h>intmain(void){intprintf("inputanumber\n");return0;}結(jié)果和輸入數(shù)據(jù)不符。如改動(dòng)程序如下4-11#include<stdio.h>intmain(void){longprintf("inputalonginteger\n");return0;}inputalong一、CC(+(*(/(%(++(>(<(==(>=(<=(!=(&&(||,非(!,共(&(|(!(^(<<(>>(=%=<<=條件運(yùn)算符:這是一個(gè)三目運(yùn)算符,用于條件求值((&(sizeof特殊運(yùn)算符:有括號(hào)、下標(biāo)、成員(->,)例如,在表達(dá)式a*b+c中,乘法運(yùn)算的優(yōu)先級(jí)高于加法運(yùn)算符的優(yōu)先級(jí),所以先執(zhí)行乘法a*b,而不是加法b+a,b=1,c=2;操作先執(zhí)行,是先執(zhí)行b=c呢?a=b。如果按前者,a=2,如果按后者,a1。的操作最先執(zhí)行,然后從右到左依次執(zhí)行。這樣,c先賦值給b,然后b在賦值給aa2。類似地,具有左結(jié)合性的操作符(如位操作符“&”和=是右結(jié)合的,所以先計(jì)算(b+c+d),+是左結(jié)合的,所以先計(jì)算(b+c),然后再計(jì)算C+a+b,4+8等。具有左結(jié)合性。-時(shí)為單目運(yùn)算,如-x,-5等具有左結(jié)合性。*/求余運(yùn)算符(模運(yùn)算符%的量均為整型,不能應(yīng)用于float或double類型。求余運(yùn)算的結(jié)果等于兩數(shù)相除后的0合C語(yǔ)則的式子。表達(dá)式是由常量、變量、函數(shù)和運(yùn)算符組合起來(lái)的式子。例如a*b/c-11運(yùn)算符:1運(yùn)算符記為“++”1。1運(yùn)算符記為“--”1。11++ii1--ii1后再參與其它運(yùn)算;i++i參與運(yùn)算后,i1;i--i參與運(yùn)算后,i1。在理解和使用上容易出錯(cuò)的是i++和i--{inti=4;}i42i153144行輸出i41(5)5行輸出i51(4)6行輸出-41(5)7行輸出-51(4)。int{return0;}本例中,20/7,-20/720.0/7和-20.0/7由于int{return0;}10031。在C<(小于<=(小于或等于>(大于>=(大于或等于==(等于5>0的值為“真”(a=3)>(b=5)3>50。4.1簡(jiǎn)單賦值運(yùn)算符記為“=”“=”組建的式子稱為賦值表達(dá)式。a=b=c=5可理解為a=(b=(c=5)),即表達(dá)式5,a,b,c5。這個(gè)表達(dá)式從右向左運(yùn)算,在c5后,表達(dá)式c=55,接著b5a5。⑥凡是表達(dá)式可以出現(xiàn)的地方均可出現(xiàn)賦值表達(dá)式。例如,式子x=(a=5)+(b=8)5賦給a,8賦給ba與b相加,和賦給x,故x13。賦值運(yùn)算中的自動(dòng)類型轉(zhuǎn)換0)。字符型賦給整型,由于字符型為一個(gè)字節(jié),故將字符的ASCII碼值放到整型量的低八位中,為0。整型賦給字符型,只把低八位賦給字符量。邏輯運(yùn)算的結(jié)果只有兩個(gè):真(0)和假①與&&1&&212都成立時(shí),②.或|| 條件1||條件2當(dāng)條件1或條件2中有一個(gè)成立時(shí)就為真,③.非?。l件取反IntIntc=(a>5)&&(++b>=11);//此時(shí)a==10,b==11,c==1Intc=(a<5)&&(++b>=11);//此時(shí)提示:()優(yōu)先級(jí)次序:?。ǚ牵?&(與)||(或單目:153個(gè)數(shù)值參與要求比較a和b的值,把數(shù)值大的存入到c中c=a>b?a:b例如條件語(yǔ)句: elsemax=(a>bab;max=(a>b)?a:b;a>ba賦予max,否則把b賦予maxa>bac>dca>bac>dc:d5-8】#includestdio.h>intmain(void){inta,b,max;return0;}在C語(yǔ)言中,逗號(hào)“,”的用法有兩種:一種是用作分隔符,另一種是用作運(yùn)算inta,b,c;C語(yǔ)言還允許用逗號(hào)連接表達(dá)式。例如x=5.6,y=2.1,10+x,x+y這里用三個(gè)逗號(hào)運(yùn)123,...,表達(dá)式2*6a(結(jié)果是a=12),再計(jì)算a-4(只計(jì)算,不賦值),最后計(jì)算a+15(只計(jì)算,不賦值),27作為整個(gè)逗號(hào)表達(dá)式的值。請(qǐng)注aa的值仍然為12此逗號(hào)表達(dá)式的目的是實(shí)現(xiàn)變量a,b值互換,而不是使用整個(gè)表達(dá)式的值。由于逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低,因此x=5+5,10+10與x=(5+5,10+10)前者是x1020;后者由于增加了一對(duì)括10+10作為整個(gè)表達(dá)式的值并賦予變量x,因此x20。逗號(hào)表達(dá)式(a=3*5,a*4),a+153*515a,再計(jì)算括號(hào)內(nèi)的第二個(gè)表達(dá)式a*46060雖然作為括號(hào)所成的表達(dá)式的值,但是a15,因此最后計(jì)算a+1530。例intj=5;該賦值語(yǔ)句的執(zhí)行順序?yàn)椋合葘?duì)a6a+28,再計(jì)算a+399作為整個(gè)逗號(hào)表達(dá)式的值付給變量aa9。如果將一對(duì)括號(hào)去掉,a

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論