




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、4.1 C4.1 C語句概述語句概述4.2 4.2 賦值語句賦值語句4.3 4.3 數(shù)據(jù)輸入輸出的概念及在數(shù)據(jù)輸入輸出的概念及在c c語言中的實(shí)現(xiàn)語言中的實(shí)現(xiàn)4.4 4.4 字符數(shù)據(jù)的輸入輸出字符數(shù)據(jù)的輸入輸出4.5 4.5 格式輸入與輸出格式輸入與輸出4.6 4.6 順序結(jié)構(gòu)程序設(shè)計(jì)舉例順序結(jié)構(gòu)程序設(shè)計(jì)舉例C程序源程序文件1源程序文件2源程序文件n預(yù)處理命令函數(shù)n函數(shù)1數(shù)據(jù)聲明函數(shù)首部函數(shù)體數(shù)據(jù)聲明執(zhí)行語句 一個(gè)c程序可以由若干個(gè)源程序文件組成 一個(gè)源文件可以由若干個(gè)函數(shù)和預(yù)處理命令以及全局變量聲明部分組成 一個(gè)函數(shù)由函數(shù)首部和函數(shù)體組成 函數(shù)體由數(shù)據(jù)聲明和執(zhí)行語句組成 C語句分為5類類控制
2、語句控制語句函數(shù)調(diào)用語句函數(shù)調(diào)用語句表達(dá)式語句表達(dá)式語句空語句空語句復(fù)合語句復(fù)合語句(一)控制語句完成一定的控制功能1 if() else 條件語句條件語句2 for() 循環(huán)語句循環(huán)語句 7 switch() 開關(guān)語句開關(guān)語句3 while() 循環(huán)語句循環(huán)語句 8 goto 轉(zhuǎn)向語句轉(zhuǎn)向語句 4 do while() 循環(huán)語句循環(huán)語句 9 return 返回語句返回語句5 continue 結(jié)束本次循環(huán)結(jié)束本次循環(huán) 6 break 終止終止switch語句或循環(huán)語句或循環(huán)(二)函數(shù)調(diào)用語句 由一個(gè)函數(shù)調(diào)用加一個(gè)分號(hào)構(gòu)成一個(gè)語句 printf(“This is a C statement.”
3、);(三)表達(dá)式語句 由一個(gè)表達(dá)式加一個(gè)分號(hào)構(gòu)成一個(gè)語句 a = 3 ;分號(hào)表達(dá)式表達(dá)式語句 a = 2b * 3c -2 ;(四)空語句只有一個(gè)分號(hào)的語句 (什么也不做)(什么也不做) 用來做流程的轉(zhuǎn)向點(diǎn)(轉(zhuǎn)到此處)用來做流程的轉(zhuǎn)向點(diǎn)(轉(zhuǎn)到此處) 用來作為循環(huán)語句中的循環(huán)體用來作為循環(huán)語句中的循環(huán)體(五)復(fù)合語句 用一對(duì) 括起來的語句 z=x+y;t=z/100;printf(“%f”,t);賦值語句是由賦值表達(dá)式加上一個(gè)分號(hào)構(gòu)成例:例:a=100 賦值表達(dá)式 a=100; 賦值語句條件不能是賦值表達(dá)式,但是賦值表達(dá)式 可以包含于條件表達(dá)式中例:例:if(a=b) t=a; 并不是判斷a=b
4、 if(a=b)0) t=a; 正確(一).輸入輸出是以計(jì)算機(jī)主機(jī)計(jì)算機(jī)主機(jī)為主體而言的 輸出輸出:從計(jì)算機(jī)向外部輸出設(shè)備(顯示器,打印機(jī)) 輸出數(shù)據(jù) 輸入輸入:從輸入設(shè)備(鍵盤,鼠標(biāo),掃描儀)向計(jì)算機(jī) 輸入數(shù)據(jù).(二).C語言本身不提供輸入輸出語句,輸入和輸出操作是由C函數(shù)庫中的函數(shù)來實(shí)現(xiàn)的例如例如: :字符輸入函數(shù): getchar 字符輸出函數(shù):putchar格式輸入函數(shù): scanf 格式輸出函數(shù): printf字符串輸入函數(shù):gets 字符串輸出函數(shù):puts(三).在使用系統(tǒng)庫函數(shù)時(shí),要用預(yù)編譯命令“#include”將有關(guān)的“頭文件”包括到用戶源文件中.例如:在調(diào)用標(biāo)準(zhǔn)輸入輸出庫
5、函數(shù)時(shí),文件開頭應(yīng)該有: #include “stdio.h” 或: #include 頭文件(一).字符輸出函數(shù) 一般形式:putchar(c) 函數(shù)作用:向終端輸出一個(gè)字符 字符型變量或整型變量運(yùn)行結(jié)果:BO Y#include void main() char a,b,c; a=B; b=O; c=Y; putchar(a); putchar(b); putchar(n); putchar(c); #include void main() putchar(103); putchar(015); putchar(x42); ASCII值值 代碼:代碼: 42 * 66 B 67 C 103
6、 q 13 CR(回車,但不換行)回車,但不換行) 8 進(jìn)制進(jìn)制 十進(jìn)制十進(jìn)制 十六進(jìn)制:十六進(jìn)制: 15 13 D 42 34 22 102 66 42 103 67 43 (二)(二). .字符輸入函數(shù)字符輸入函數(shù) 一般形式:一般形式:getchargetchar()() 函數(shù)作用:從終端(或系統(tǒng)隱含指定的輸入設(shè)備函數(shù)作用:從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入一個(gè)字符。)輸入一個(gè)字符。 函數(shù)值:函數(shù)值: 從輸入設(shè)備得到的字符。從輸入設(shè)備得到的字符。運(yùn)行程序:從鍵盤輸入字符a按Enter鍵屏幕上將顯示輸出的字符aaa例例4.2 輸入單個(gè)字符輸入單個(gè)字符#include void main(
7、) char c; c=getchar(); putchar(c); putchar(n); (一)(一). .格式輸出函數(shù)格式輸出函數(shù) 函數(shù)作用:向終端(或系統(tǒng)隱含指定的輸出設(shè)備函數(shù)作用:向終端(或系統(tǒng)隱含指定的輸出設(shè)備)輸出)輸出若干個(gè)任意類型若干個(gè)任意類型的數(shù)據(jù)。的數(shù)據(jù)。 一般格式:一般格式:printfprintf(格式控制,輸出表列)(格式控制,輸出表列)%d%d: :以帶符號(hào)的十進(jìn)制形式輸出整數(shù)以帶符號(hào)的十進(jìn)制形式輸出整數(shù)%o%o: :以八進(jìn)制無符號(hào)形式輸出整數(shù)以八進(jìn)制無符號(hào)形式輸出整數(shù)%x%x: :以十六進(jìn)制無符號(hào)形式輸出整數(shù)以十六進(jìn)制無符號(hào)形式輸出整數(shù)%u%u: :以無符號(hào)十進(jìn)
8、制形式輸出整數(shù)以無符號(hào)十進(jìn)制形式輸出整數(shù)%c%c: :以字符形式輸出,只輸出一個(gè)字符以字符形式輸出,只輸出一個(gè)字符%s%s: :輸出字符串輸出字符串%f%f: :以小數(shù)形式輸出單,雙精度數(shù),隱含輸出六位小數(shù)以小數(shù)形式輸出單,雙精度數(shù),隱含輸出六位小數(shù)%e%e: :以指數(shù)形式輸出實(shí)數(shù)以指數(shù)形式輸出實(shí)數(shù)%g%g: :選用選用%f%f或或%e%e格式中輸出寬度較短的一種格式,不輸格式中輸出寬度較短的一種格式,不輸 出無意義的出無意義的0 0幾種常見的格式符的修飾符:L L:用于長整型整數(shù),可加在格式符:用于長整型整數(shù),可加在格式符d d,o o,x x,u u前面前面 用于用于doubledoubl
9、e型浮點(diǎn)數(shù),可加在格式符型浮點(diǎn)數(shù),可加在格式符f f,e e前面前面M M(代表一個(gè)正整數(shù)):數(shù)據(jù)最小寬度(代表一個(gè)正整數(shù)):數(shù)據(jù)最小寬度N N(代表一個(gè)正整數(shù)):對(duì)實(shí)數(shù),表示輸出(代表一個(gè)正整數(shù)):對(duì)實(shí)數(shù),表示輸出n n位小數(shù);位小數(shù); 對(duì)字符串,表示截取的字符個(gè)數(shù)對(duì)字符串,表示截取的字符個(gè)數(shù):輸出的數(shù)字或字符在域內(nèi)向左靠:輸出的數(shù)字或字符在域內(nèi)向左靠#include void main() long a ;a=65536;printf(%dn, a); printf(%ldn, a); printf(%8ldn, a); printf(%-8ldn, a); :為指定的輸出字段的為指定的輸
10、出字段的寬度。如果數(shù)據(jù)的位數(shù)小于,寬度。如果數(shù)據(jù)的位數(shù)小于, 則左端補(bǔ)以空格,若大于,則則左端補(bǔ)以空格,若大于,則按實(shí)際位數(shù)輸出按實(shí)際位數(shù)輸出- , 左對(duì)齊左對(duì)齊#include void main() double a ;a=1234.12345678;printf(%fn, a); printf(%lfn, a); printf(%8.2lfn, a); printf(%-8.2lfn, a); (1)格式符。用來輸出十進(jìn)制整數(shù)。格式符。用來輸出十進(jìn)制整數(shù)。(2)(2)幾種用法:幾種用法: : :按十進(jìn)制整型數(shù)據(jù)的實(shí)際長度輸出。按十進(jìn)制整型數(shù)據(jù)的實(shí)際長度輸出。 : :為指定的輸出字段的寬度
11、。如果數(shù)據(jù)的位數(shù)小于,為指定的輸出字段的寬度。如果數(shù)據(jù)的位數(shù)小于, 則左端補(bǔ)以空格,若大于,則按實(shí)際位數(shù)輸出。則左端補(bǔ)以空格,若大于,則按實(shí)際位數(shù)輸出。 : :輸出長整型數(shù)據(jù)。輸出長整型數(shù)據(jù)。 例例: : ;/ /* * 定義定義a a為長整型變量為長整型變量* */ / (,);,);(2) (2) 格式符。以八進(jìn)制整數(shù)形式輸出。格式符。以八進(jìn)制整數(shù)形式輸出。 輸出的數(shù)值不帶符號(hào),符號(hào)位也一起作為八進(jìn)制數(shù)的一部分輸出。輸出的數(shù)值不帶符號(hào),符號(hào)位也一起作為八進(jìn)制數(shù)的一部分輸出。 不會(huì)輸出帶負(fù)號(hào)的八進(jìn)制整數(shù)。對(duì)長整數(shù)(型)可以不會(huì)輸出帶負(fù)號(hào)的八進(jìn)制整數(shù)。對(duì)長整數(shù)(型)可以用用“”格式輸出。還可以
12、指定字段寬度,格式輸出。還可以指定字段寬度,例例: :( ,),); ; 輸出為輸出為: 177777: 177777。 ( (數(shù)字前有數(shù)字前有2 2個(gè)空格個(gè)空格) )(3)(3)格式符。以十六進(jìn)制數(shù)形式輸出整數(shù)。同樣不會(huì)出格式符。以十六進(jìn)制數(shù)形式輸出整數(shù)。同樣不會(huì)出現(xiàn)負(fù)的十六進(jìn)制數(shù)?,F(xiàn)負(fù)的十六進(jìn)制數(shù)。例:例: ; (,);,); 輸出結(jié)果為輸出結(jié)果為: : ffff ffff,可以用可以用“”輸出長整型數(shù),也可以輸出長整型數(shù),也可以指定輸出字段的寬度指定輸出字段的寬度例例: : “ “”(4)(4)格式符,用來輸出格式符,用來輸出 unsigned int unsigned int 型數(shù)據(jù)型
13、數(shù)據(jù). .一個(gè)有符號(hào)整數(shù)(一個(gè)有符號(hào)整數(shù)(int型)也可以用格式輸出;型)也可以用格式輸出;一個(gè)一個(gè)unsigned型數(shù)據(jù)也可以用格式輸出。型數(shù)據(jù)也可以用格式輸出。unsigned型數(shù)據(jù)也可用或格式輸出。型數(shù)據(jù)也可用或格式輸出。#include void main() int a=-1;printf(d): %d n, a); printf(x): %x n, a); printf(o): %o n, a); printf(u): %u n, a); o, x ,u 參數(shù),輸出的數(shù)值不帶符參數(shù),輸出的數(shù)值不帶符號(hào),符號(hào)位也一起作為進(jìn)制數(shù)的號(hào),符號(hào)位也一起作為進(jìn)制數(shù)的一部分輸出。一部分輸出。-1
14、 寫成原碼:寫成原碼:1 000 0000 0000 0001反碼:反碼: (負(fù)數(shù):除符號(hào)位外,其它位取反)(負(fù)數(shù):除符號(hào)位外,其它位取反)1 111 1111 1111 1110補(bǔ)碼補(bǔ)碼 (負(fù)數(shù):,反碼(負(fù)數(shù):,反碼+1)1 111 1111 1111 1111= FFFF (h)= 177777 (o)= 65535 (d)正數(shù):正數(shù): 原碼原碼 = 反碼反碼 =補(bǔ)碼補(bǔ)碼負(fù)數(shù)反碼:除符號(hào)位外,其它位取反負(fù)數(shù)反碼:除符號(hào)位外,其它位取反 補(bǔ)碼:反碼補(bǔ)碼:反碼+1補(bǔ)碼的知識(shí)補(bǔ)碼的知識(shí)#include void main() int a=-1;printf(d): %d n, a); print
15、f(x): %x n, a); printf(o): %o n, a); printf(u): %u n, a); 執(zhí)行結(jié)果:執(zhí)行結(jié)果:(d) : -1(x) : ffff(o) : 177777 (u) : 65535(5)(5)格式符,用來輸出一個(gè)字符。格式符,用來輸出一個(gè)字符。如:如:d d; (,d d);); 輸出字符輸出字符.一個(gè)整數(shù),只要它的值在范圍內(nèi),可以用一個(gè)整數(shù),只要它的值在范圍內(nèi),可以用“”使之按字符形式輸出,在輸出前,系統(tǒng)會(huì)將該整數(shù)使之按字符形式輸出,在輸出前,系統(tǒng)會(huì)將該整數(shù)作為作為ASCIIASCII碼轉(zhuǎn)換成相應(yīng)的字符;一個(gè)字符數(shù)據(jù)也可以用碼轉(zhuǎn)換成相應(yīng)的字符;一個(gè)字符
16、數(shù)據(jù)也可以用整數(shù)形式輸出。整數(shù)形式輸出。 例4.4 字符數(shù)據(jù)的輸出。#includevoid main()char c=a;int i=97;printf(“%c,%dn”,c,c);printf(“%c,%dn”,i,i); 運(yùn)行結(jié)果:運(yùn)行結(jié)果:a,97a,97a,97a,97#include void main() int a=97;printf(c): %3c n, a); printf(x): %3x n, a); printf(o): %3o n, a); printf(u): %3u n, a); (6)s(6)s格式符格式符 輸出字符串輸出字符串. . s s。例如:。例如: (
17、,) 輸出字符串輸出字符串“”(不包括雙引號(hào))。(不包括雙引號(hào))。 %ms%ms,輸出的字符串占,輸出的字符串占m m列,若串長大于列,若串長大于m m,則全部輸出,若串長,則全部輸出,若串長 小于小于m m,則左補(bǔ)空格。,則左補(bǔ)空格。 %-ms%-ms,若串長小于,若串長小于m m,字符串向左靠,右補(bǔ)空格。,字符串向左靠,右補(bǔ)空格。 %m.ns%m.ns, ,輸出占輸出占m m列,只取字符串中左端列,只取字符串中左端n n個(gè)字符,輸出在個(gè)字符,輸出在m m列的列的 右側(cè),左補(bǔ)空格。右側(cè),左補(bǔ)空格。 %-m.ns%-m.ns,n n個(gè)字符輸出在個(gè)字符輸出在m m列的左側(cè),右補(bǔ)空格,若列的左側(cè),
18、右補(bǔ)空格,若n nm m,m m自自 動(dòng)取動(dòng)取n n值。值。(7)格式符。格式符。用來以小數(shù)形式輸出實(shí)數(shù)(包括單雙精度)有以下幾種用法: 。不指定字段寬度,由系統(tǒng)自動(dòng)指定字段寬度,使整數(shù)部分全部輸出,并輸出位小數(shù)。應(yīng)當(dāng)注意,在輸出的數(shù)字中并非全部數(shù)字都是有效數(shù)字并非全部數(shù)字都是有效數(shù)字。單精度實(shí)數(shù)的有效位數(shù)一般為位。.。指定輸出的數(shù)據(jù)共占列,其中有位小數(shù)。如果數(shù)值長度小于,則左端補(bǔ)空格。.與.基本相同,只是使輸出的數(shù)值向左端靠,右端補(bǔ)空格。 例例4.6 4.6 輸出實(shí)數(shù)時(shí)的有效位數(shù)輸出實(shí)數(shù)時(shí)的有效位數(shù)(7(7位)。位)。#include #include void void ()() ,;,;
19、(,);,);運(yùn)行結(jié)果:運(yùn)行結(jié)果:. .例例4.74.7輸出雙精度數(shù)時(shí)的有效位數(shù)(輸出雙精度數(shù)時(shí)的有效位數(shù)(1616位)。位)。#include #include void void ()() ,;,;x=1111111111111.111x=1111111111111.111111111111111; ; y=2222222222222.222 y=2222222222222.222222222222222; ;printf(“%f”printf(“%f”,x+y);x+y);運(yùn)行結(jié)果:運(yùn)行結(jié)果:3333333333333.3333333333333333.333010010(8)格式符格式
20、符,以指數(shù)形式輸出實(shí)數(shù)??捎靡韵滦问剑?。不指定輸出數(shù)據(jù)所占的寬度和數(shù)字部分的小數(shù)位數(shù).例: (,);輸出: 6列 5列所輸出的實(shí)數(shù)共占列寬度。(注:不同系統(tǒng)的規(guī)定略有不同) (9)(9)格式符,用來輸出實(shí)數(shù)格式符,用來輸出實(shí)數(shù). . 它根據(jù)數(shù)值的大小,自動(dòng)選格式或格式(選擇輸出時(shí)占寬度它根據(jù)數(shù)值的大小,自動(dòng)選格式或格式(選擇輸出時(shí)占寬度較小的一種),且不輸出無意義的零。較小的一種),且不輸出無意義的零。#include stdio.hvoid main() double a=12345678.456; printf(a=12345678.456n); printf(f):%lf,n, a);
21、 printf(e):%e,n, a); printf(g):%g,nn, a); a=123.468; printf(a=123.468n); printf(%f):%f,n, a); printf(%E):%E,n, a); printf(%G):%G,n, a); 說明:說明: 除了除了X,E,G外,其他格式字符必須用小寫。外,其他格式字符必須用小寫。 可以在可以在printf函數(shù)中的函數(shù)中的“格式控制格式控制”字符串中包含轉(zhuǎn)義字符字符串中包含轉(zhuǎn)義字符。 一個(gè)格式說明必須以一個(gè)格式說明必須以“%”開頭,以開頭,以9個(gè)格式字符之一為結(jié)束個(gè)格式字符之一為結(jié)束,中間可以插入附加格式字符。,中間
22、可以插入附加格式字符。 想輸出想輸出%,則應(yīng)該在格式控制字符串中用連續(xù)兩個(gè),則應(yīng)該在格式控制字符串中用連續(xù)兩個(gè)%表示表示(一).格式輸入函數(shù) 函數(shù)作用:按照變量在內(nèi)存的地址將變量值存 進(jìn)去。 一般格式:scanf(格式控制,地址表列)同同printf函數(shù)函數(shù)是由若干個(gè)地址組成的表列,可以是變量的是由若干個(gè)地址組成的表列,可以是變量的地址,或字符串的首地址地址,或字符串的首地址#include stdio.hvoid main() int a, b, c; scanf(%d %d %d, &a,&b,&c); printf(%d %d %dn,a,b,c); scanf(
23、%d,%d,%d, &a,&b,&c); printf(%d %d %d,a,b,c);a a在內(nèi)存中的地在內(nèi)存中的地址址& &是地址運(yùn)算符是地址運(yùn)算符說明: 對(duì)unsigned型變量所需要的數(shù)據(jù),可以用%u,%d或%o,%x格式輸入。 可以指定輸入數(shù)據(jù)所占的列數(shù),系統(tǒng)自動(dòng)按它截取所需數(shù)據(jù)。 如果在%后有一個(gè)“*”附加說明符,表示跳過它指定的列數(shù)。 輸入數(shù)據(jù)時(shí)不能規(guī)定精度。 使用函數(shù)時(shí)應(yīng)注意的問題使用函數(shù)時(shí)應(yīng)注意的問題 :(1)(1)函數(shù)中的函數(shù)中的“格式控制格式控制”后面應(yīng)當(dāng)是變量地址,而不應(yīng)后面應(yīng)當(dāng)是變量地址,而不應(yīng) 是變量名。是變量名。 (2)(2
24、) 如果在如果在“格式控制格式控制”字符串中字符串中除了格式說明以外還有其他字符除了格式說明以外還有其他字符, 則在輸入數(shù)據(jù)時(shí)則在輸入數(shù)據(jù)時(shí)在對(duì)應(yīng)位置應(yīng)輸入與這些字符相同的字符在對(duì)應(yīng)位置應(yīng)輸入與這些字符相同的字符。 (3) (3) 在用在用“”格式輸入字符時(shí),空格字符和格式輸入字符時(shí),空格字符和“轉(zhuǎn)義字符轉(zhuǎn)義字符”都作為都作為 有效字符輸入有效字符輸入 (4) (4) 在輸入數(shù)據(jù)時(shí),遇以下情況時(shí)認(rèn)為該數(shù)據(jù)結(jié)束。在輸入數(shù)據(jù)時(shí),遇以下情況時(shí)認(rèn)為該數(shù)據(jù)結(jié)束。 遇空格,或按遇空格,或按“回車回車”或或“跳格跳格”(TabTab)鍵;)鍵; 按指定的寬度結(jié)束,如按指定的寬度結(jié)束,如“”,只取列;,只取列
25、; 遇非法輸入。遇非法輸入。#include stdio.hvoid main() int a, b, c; scanf(%da%d, &a,&b); printf(%d,%dn,a,b); scanf(%*d, &a); printf(%dn,a); scanf(%3d, &c); printf(c=%dn,c); 例例4.10 4.10 輸入三角形的三邊輸入三角形的三邊長,求三角形面積。長,求三角形面積。假設(shè):三個(gè)邊長假設(shè):三個(gè)邊長a a,b b,c c能構(gòu)能構(gòu)成三角形。成三角形。已知面積公式:已知面積公式:area=area=s=(a+b+c)s=(a+b
26、+c)* *0.50.5c)b)(sa)(ss(s開始輸入三邊長計(jì)算s計(jì)算面積結(jié)束#include #include void main() float a,b,c,s,area; scanf(%f,%f,%f,&a,&b,&c); s=(a+b+c)/2.0; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(a=%7.2f, b=%7.2f, c=%7.2fn,a,b,c);printf(s=%7.2fn,s); printf(area=%7.2fn,area); 從鍵盤輸入一個(gè)大寫字母,要求改用小寫字母輸出從鍵盤輸入一個(gè)大寫字母,要求改用
27、小寫字母輸出#include stdio.hvoid main() char c1, c2;puts(請(qǐng)輸入一個(gè)大寫字母請(qǐng)輸入一個(gè)大寫字母);c1=getchar();printf(%d, %cn, c1,c1);c2=c1+32;printf(%d, %c, c2,c2);例例4.12 4.12 求求x x2 2方程的根。方程的根。a a,b b,c c由鍵盤輸入,設(shè)由鍵盤輸入,設(shè) 。眾所周知,一元二次方程式的根為眾所周知,一元二次方程式的根為x1= x2= x1= x2= 可以將上面的分式分為兩項(xiàng):可以將上面的分式分為兩項(xiàng):p= p= , q= x1=p+qq= x1=p+q, x2=p-
28、qx2=p-qacb42aacbb242aacbb242ab2aacb242#include #include void main ( ) float a,b,c,disc,x1,x2,p,q; scanf(a=%f,b=%f,c=%f,&a,&b,&c); disc=b*b-4*a*c; p=-b/(2*a); q=sqrt(disc)/(2*a); x1=p+q;x2=p-q; printf(nnx1=%5.2fnx2=%5.2fn,x1,x2); 2 要求:要求:1、提示輸入一個(gè)指定的十進(jìn)制數(shù)、提示輸入一個(gè)指定的十進(jìn)制數(shù)2、從鍵盤中輸入一個(gè)數(shù)。、從鍵盤中輸入一個(gè)數(shù)
29、。3、將這個(gè)數(shù)轉(zhuǎn)變成八進(jìn)制,及十六進(jìn)制并輸出結(jié)果。、將這個(gè)數(shù)轉(zhuǎn)變成八進(jìn)制,及十六進(jìn)制并輸出結(jié)果。 從鍵盤中輸入火車到達(dá)本站時(shí)間及火車開到下一站所需從鍵盤中輸入火車到達(dá)本站時(shí)間及火車開到下一站所需時(shí)間,計(jì)算后輸入火車到達(dá)下一站的時(shí)間。時(shí)間,計(jì)算后輸入火車到達(dá)下一站的時(shí)間。 要求:從鍵盤中輸入火車到達(dá)本站的時(shí)間(小時(shí)和分鐘要求:從鍵盤中輸入火車到達(dá)本站的時(shí)間(小時(shí)和分鐘),及及火車開到下一站所需時(shí)間(小時(shí)和分鐘),執(zhí)),及及火車開到下一站所需時(shí)間(小時(shí)和分鐘),執(zhí)行后輸入結(jié)果,如果該時(shí)間超過超過行后輸入結(jié)果,如果該時(shí)間超過超過24小時(shí),則從零點(diǎn)小時(shí),則從零點(diǎn)開始。例,如輸入開始。例,如輸入22:1
30、0,經(jīng)過,經(jīng)過3:15,計(jì)算后結(jié)果為,計(jì)算后結(jié)果為25:25,則顯示為,則顯示為1:25 執(zhí)行程序后,顯示結(jié)果需與下圖一致。其中執(zhí)行程序后,顯示結(jié)果需與下圖一致。其中21:18和和 4:55為輸入的數(shù)據(jù)為輸入的數(shù)據(jù)#include stdio.hvoid main() int h, m, t1,t2, h2,m2,h3,m3; printf(請(qǐng)輸入火車到達(dá)本站的時(shí)間(如3:20)=); scanf(%d:%d,&h,&m); t1=h*60+m; printf(請(qǐng)輸入火車開到下一站所需時(shí)間(如4:20)=); scanf(%d:%d,&h2,&m2); t2=t
31、1+h2*60+m2; h3=t2/60; h3=h3%24; m3=t2%60; printf(%d:%d經(jīng)過%d:%d后是%d:%2d,h,m,h2,m2,h3,m3); 假設(shè)有一假設(shè)有一 int 類型的數(shù),值為類型的數(shù),值為5, 5轉(zhuǎn)換成二制是轉(zhuǎn)換成二制是101 B,那么,那么,它在計(jì)算機(jī)中如何表示呢:,它在計(jì)算機(jī)中如何表示呢: 我們知道:我們知道:int類型的數(shù)占用類型的數(shù)占用2字節(jié)(字節(jié)(TC2.0標(biāo)準(zhǔn),標(biāo)準(zhǔn),16位),所位),所以要在它的有效位前面填上一堆以要在它的有效位前面填上一堆0,補(bǔ)足,補(bǔ)足16位。位。 寫成:寫成: 00000000 00000101 寫成十六進(jìn)制就是:寫成
32、十六進(jìn)制就是: 00 05 long int 則是:則是:00000000 00000000 00000000 00000101 十六進(jìn)制就是:十六進(jìn)制就是:00 00 00 05 -5在計(jì)算機(jī)中如何表示呢?在計(jì)算機(jī)中如何表示呢? 在計(jì)算機(jī)中,負(fù)數(shù)以其正數(shù)的補(bǔ)碼形式表達(dá)。在計(jì)算機(jī)中,負(fù)數(shù)以其正數(shù)的補(bǔ)碼形式表達(dá)。 什么叫補(bǔ)碼呢?這得從原碼,反碼說起。什么叫補(bǔ)碼呢?這得從原碼,反碼說起。 原碼:一個(gè)整數(shù),按照絕對(duì)值大小轉(zhuǎn)換成的二進(jìn)制數(shù),原碼:一個(gè)整數(shù),按照絕對(duì)值大小轉(zhuǎn)換成的二進(jìn)制數(shù),稱為原碼。其最高位為符號(hào)位。稱為原碼。其最高位為符號(hào)位。 如如 0000 0000 0000 0101 是十進(jìn)制數(shù)是
33、十進(jìn)制數(shù)5的原碼。的原碼。 最高位是符號(hào)位(正數(shù)符號(hào)位為最高位是符號(hào)位(正數(shù)符號(hào)位為0) -5的原碼:的原碼: 1000 0000 0000 0101 負(fù)數(shù)符號(hào)位為負(fù)數(shù)符號(hào)位為1 反碼:正數(shù)的反碼是其本身。反碼:正數(shù)的反碼是其本身。 負(fù)數(shù)的反碼:負(fù)數(shù)的反碼: 符號(hào)位不變,將其余二進(jìn)制數(shù)按位取反,所得的新符號(hào)位不變,將其余二進(jìn)制數(shù)按位取反,所得的新二進(jìn)制數(shù)為原二進(jìn)制數(shù)的反碼。二進(jìn)制數(shù)為原二進(jìn)制數(shù)的反碼。 取反操作指:原數(shù)為取反操作指:原數(shù)為1,取反后得,取反后得0;原為;原為0,得,得1。(。(1變變0; 0變變1)如:將如:將 1000 0000 0000 0101 (-5)除符號(hào)位外每一位取
34、反,除符號(hào)位外每一位取反,得得 1111 1111 1111 1010稱:稱:1111 1111 1111 1010 是是 1000 0000 0000 0101 的反碼。的反碼。反碼是相互的,所以也可稱:反碼是相互的,所以也可稱:11111111 11111010 和和 10000000 00000101 互為反碼?;榉创a。 補(bǔ)碼:正數(shù):補(bǔ)碼補(bǔ)碼:正數(shù):補(bǔ)碼 = 反碼反碼 = 原碼原碼 負(fù)數(shù)的補(bǔ)碼求法:負(fù)數(shù)的補(bǔ)碼求法: 求出反碼,再加求出反碼,再加1,(補(bǔ)碼加法,如果進(jìn)位到符號(hào)位,會(huì)連補(bǔ)碼加法,如果進(jìn)位到符號(hào)位,會(huì)連符號(hào)位一起加。符號(hào)位一起加。) 也就是說,要得到一個(gè)數(shù)的補(bǔ)碼,先得到反碼,然后將也就是說,要得到一個(gè)數(shù)的補(bǔ)碼,先得到反碼,然后將反碼加上反碼加上1,所得數(shù)稱為補(bǔ)碼。,所得數(shù)稱為補(bǔ)碼。 比如:比如: 10
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店資產(chǎn)投資與經(jīng)營管理合伙協(xié)議書二零二五
- 二零二五年度私人住宅裝修工人安全責(zé)任合同
- 2025年度海洋資源開發(fā)橫向課題執(zhí)行協(xié)議
- 二零二五年度小程序游戲運(yùn)營合作協(xié)議
- 2025年度電子元器件采購合同主要內(nèi)容簡(jiǎn)述
- 二零二五年度購房合同定金支付及變更協(xié)議書
- 2025年度酒店員工勞動(dòng)權(quán)益保障合同
- 二零二五年度綠色建筑股權(quán)協(xié)議及合伙人合作開發(fā)協(xié)議
- 2025年度美發(fā)店員工工傷事故處理勞動(dòng)合同
- 空調(diào)安裝工勞動(dòng)合同
- DeepSeek零基礎(chǔ)到精通手冊(cè)(保姆級(jí)教程)
- 瓷磚鋪貼勞務(wù)承包協(xié)議書
- 2025年四川司法警官職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年常考版參考題庫含答案解析
- 新建污水處理廠工程EPC總承包投標(biāo)方案(技術(shù)標(biāo))
- 柔性電路板自動(dòng)化制造-深度研究
- 2024年河南建筑職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(頻考版)含答案解析
- 《宏觀經(jīng)濟(jì)管理研究》課件
- 蘇教版五年級(jí)下冊(cè)數(shù)學(xué)全冊(cè)教案設(shè)計(jì)
- 曲臂車作業(yè)安全技術(shù)交底
- 2025年安徽合肥市公安局經(jīng)開分局輔警招聘58人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 小學(xué)五年級(jí)地方課程《話說溫州》教學(xué)計(jì)劃
評(píng)論
0/150
提交評(píng)論