《C語言程序設計》教學課件02數(shù)據(jù)類型與運算(下)_第1頁
《C語言程序設計》教學課件02數(shù)據(jù)類型與運算(下)_第2頁
《C語言程序設計》教學課件02數(shù)據(jù)類型與運算(下)_第3頁
《C語言程序設計》教學課件02數(shù)據(jù)類型與運算(下)_第4頁
《C語言程序設計》教學課件02數(shù)據(jù)類型與運算(下)_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第2章數(shù)據(jù)類型與運算案例4:猜猜TA是誰通過輸入年齡、身高和性別,讓大家猜猜他是誰?案例4:猜猜TA是誰案例描述案例4:猜猜TA是誰相關知識格式化輸入與輸出字符輸入與輸出1.格式化輸入與輸出案例4:猜猜TA是誰printf函數(shù)scanf函數(shù)1)printf函數(shù)printf函數(shù)是一個標準庫函數(shù),函數(shù)的原型在頭文件“stdio.h”中。使用printf函數(shù)之前必須包含stdio.h文件。printf函數(shù)的作用是向終端(或系統(tǒng)隱含指定的輸出設備)輸出若干個任意類型的數(shù)據(jù)。printf函數(shù)調用的一般形式為:printf("格式控制字符串",輸出表列);其中,“格式控制字符串”用于指定輸出格式,由格式字符串和非格式字符串兩部分組成。格式字符串是以%開頭的字符串,在%后面跟有各種格式字符,以說明輸出數(shù)據(jù)的類型、形式、長度、小數(shù)位數(shù)等?!拜敵隽斜怼笔谴敵龅淖兞炕虺A?,以“,”分隔。案例4:猜猜TA是誰(1)"%d"用來輸出十進制整數(shù)。(2)"%c"用來輸出一個字符。(3)"%s"用來輸出一個字符串。(4)"%f"用來輸出實數(shù)(包括單、雙精度),以小數(shù)形式輸出。例如:printf(“%d,%c\n”,i,c);/把i和c分別以整型和字

符型輸出,且之間以“,”隔開*

/案例4:猜猜TA是誰視頻:輸出函數(shù)看視頻哦2)scanf函數(shù)scanf函數(shù)是一個標準庫函數(shù),函數(shù)的原型在頭文件“stdio.h”中。與printf函數(shù)相同,在使用scanf函數(shù)之前必須包含stdio.h文件。scanf函數(shù)的一般形式為:scanf("格式控制字符串",地址表列)其中,“格式控制字符串”的含義同printf函數(shù);“地址表列”是由若干個地址組成的表列,可以是變量的地址或字符串的首地址,或指針。(1)對unsigned型變量所需的數(shù)據(jù),可以用%u,%d或%o,%x格式輸入。(2)可以指定輸入數(shù)據(jù)所占列數(shù),系統(tǒng)自動按它截取所需數(shù)據(jù)。例如,“scanf("%3d%3d",&a,&b);”,輸入“123456”,系統(tǒng)自動將123賦給a,將456賦給b。案例4:猜猜TA是誰此方法也可用于字符型。例如,“scanf("%3c",&ch);”,如果從鍵盤連續(xù)輸入3個字符abc,由于ch只能容納一個字符,系統(tǒng)就把第一個字符a賦給ch。(3)如果在%后有一個“*”附加說明符,表示跳過它指定的列數(shù)。例如,“scanf("%2d%*3d%2d",&a,&b);”,如果輸入“1234567”,將12賦給a,%*3d表示讀入3位整數(shù)但不賦給任何變量。然后讀入2位整數(shù)67賦給b。也就是說,第2個數(shù)據(jù)“345”被跳過。在利用現(xiàn)成的一批數(shù)據(jù)時,有時不需要其中某些數(shù)據(jù),可用此法跳過它們。(4)輸入數(shù)據(jù)時不能規(guī)定精度。例如,“scanf("%7.2f",&a);”是不合法的,不能企圖用這樣的scanf函數(shù)并輸入數(shù)據(jù)而使a的值為12345.67。案例4:猜猜TA是誰視頻:輸入函數(shù)看視頻哦(5)使用scanf函數(shù)時應注意的問題。案例4:猜猜TA是誰

scanf函數(shù)中的格式控制字符串后面應當是變量地址,而不應是變量名

如果在格式控制字符串中除了格式說明以外還有其他字符,則在輸入數(shù)據(jù)時應輸入與這些字符相同的字符在用“%c”格式輸入字符時,空格字符和轉義字符都作為有效字符輸入在輸入數(shù)據(jù)時,遇到以下情況時該數(shù)據(jù)認為結束案例4:猜猜TA是誰a.遇空格,或按Enter或Tab(跳格)鍵。b.按指定的寬度結束,如“%3d”,只取3列。c.遇非法輸入。“scanf("%d%c%f",&a,&b,&c);”若輸入1234a123o.26,第一個數(shù)據(jù)對應%d格式,在輸入1234之后遇字母a,因此認為數(shù)值1234后已沒有數(shù)字了,第一個數(shù)據(jù)到此結束,把1234送給變量a。字符a送給變量b,由于%c只要求輸入一個字符,因此輸入字符a之后不需要加空格,后面的數(shù)值應送給變量c。如果由于疏忽把1230.26錯打成123o.26,由于123后面出現(xiàn)字母o,就認為該數(shù)值數(shù)據(jù)到此結束,那么將123送給c。舉例說明2.字符輸入與輸出1)putchar函數(shù)putchar是字符輸出函數(shù),其功能是向終端輸出單個字符。其一般格式為:putchar(字符變量)例如:putchar(B)/*輸出大寫字母B*/使用putchar函數(shù)前必須包含頭文件“stdio.h”。視頻:字符輸出函數(shù)看視頻哦2)getchar函數(shù)getchar是字符輸入函數(shù),其功能是從終端(或系統(tǒng)隱含指定的輸入設備)輸入一個字符。getchar函數(shù)沒有參數(shù),其一般形式為:getchar()視頻:字符輸入函數(shù)看視頻哦例如:#include<stdio.h>intmain(){charc;

c=getchar();

putchar(c);}在運行時,如果從鍵盤輸入字符a并按Enter鍵,就會在屏幕上看到輸出的字符a。案例4:猜猜TA是誰(1)getchar函數(shù)只能接收單個字符,輸入數(shù)字也按字符處理。輸入多于一個字符時,只接收第一個字符。(2)使用getchar函數(shù)前必須包含頭文件“stdio.h”。注意案例4:猜猜TA是誰案例實現(xiàn)算法分析代碼實現(xiàn)運行結果1.算法分析第一步:定義整型變量age、實型變量height和字符型變量sex,分別記錄你的年齡、身高和性別。第二步:通過scanf函數(shù)、getchar函數(shù)輸入相應數(shù)據(jù)。第三步:通過printf函數(shù)輸出相應數(shù)據(jù)。2.代碼實現(xiàn)#include<stdio.h>//標準輸入/輸出函數(shù)的頭文件#include<stdlib.h>//system()函數(shù)的頭文件intmain()//主函數(shù)案例4:猜猜TA是誰{intage;//定義所需變量

floatheight;

charsex;

printf("請輸入年齡:");//輸入各數(shù)值

scanf("%d",&age);

printf("請輸入身高:");

scanf("%f",&height);

printf("請輸入性別:");

getchar();//用于吸收輸入上一個

數(shù)據(jù)時的回車符

sex=getchar();//以使sex變量獲得真正

的字符

printf("\n年齡:%d\n",age);//向屏幕輸出結果

printf("身高:%f\n",height);

案例4:猜猜TA是誰printf("性別:%c\n",sex);printf("\n");

printf("大家猜猜他是誰?\n");

system("pause");//暫停屏幕,便于

觀察結果,按任意鍵退出

return0;}案例4:猜猜TA是誰案例4:猜猜TA是誰3.運行結果程序運行結果如圖2-6所示。一、選擇題1.在C語言中,()是邏輯運算符中優(yōu)先級最高的。(C語言二級考試題)A.!& B.&& C.|| D.&2.以下選項中屬于C語言數(shù)據(jù)類型的是()。(C語言二級考試題)A.復數(shù)型 B.邏輯型 C.雙精度型 D.集合型3.在C語言中,不正確的int類型的常數(shù)是()。(C語言二級考試題)A.32768 B.0 C.037 D.0xAF4.sizeof(float)是()。(C語言二級考試題)A.一個雙精度型表達式 B.一個整型表達式C.一種函數(shù)調用 D.一個不合法的表達式5.字面常量42、4.2、42L的數(shù)據(jù)類型分別是()。(C語言二級考試題)A.long、double、int B.long、float、intC.int、double、long D.int、float、long同步訓練6.設i是int型變量,f是float型變量,用語句“scanf("i=%d,f=%f",&i,&f);”給這兩個變量輸入值。為了把100和765.12分別賦給i和f,正確的輸入為()。(C語言二級考試題)A.100765.12 B.i=100,f=765.12C.100<回車>765.12 D.x=100y=765.127.下面C語言代碼的輸出結果是()。(C語言二級考試題)intanswer,result;answer=100;result=answer-10;printf("Theresultis%d",result+5);A.Theresultis90 B.Theresultis95C.Theresultis10 D.Theresultis100同步訓練8.設x,y,z,t均為int型變量,則執(zhí)行以下語句后,t的值為()。(C語言二級考試題)x=y=z=1;t=++x||--y&&++z;A.不定值 B.2 C.1 D.09.在C語言中,已知字母A的ASCII碼是65,則執(zhí)行語句“charch=A+3;”后,ch的值為()。(C語言二級考試題)A.不能確定 B.68 C.C D.D10.在C語言中,能正確表示a和b同時為正或同時為負的邏輯表達式是()。(C語言二級考試題)A.(a>=0‖b>=0)&&(a<0‖b<0)B.(a>=0&&b>=0)&&(a<0&&b<0)C.(a+b>0)&&(a+b<=0)D.ab>0同步訓練11.在C語言中,表達式“10!=9”的值是()。(C語言二級考試題)A.True B.非零值 C.0 D.112.若w=1,x=2,y=3,z=4,則條件表達式“w<x?w:y<z?y:z”的值是()。(C語言二級考試題)A.4 B.3 C.2 D.113.表達式“18/4sqrt(4.0)/8”值的數(shù)據(jù)類型為()。(C語言二級考試題)A.Int B.float C.double D.不確定14.假設整型變量a的值是1,b的值是2,c的值是3,執(zhí)行語句“u=(a==2)?b+a:c+a;”后,整型變量u的值為()。(C語言二級考試題)A.0 B.3 C.4 D.5同步訓練15.分析下面的代碼:如果x=30,y=150,那么輸出為()。(C語言二級考試題)if(x>20||x<-10)if(y<=100&&y>x)printf("Good");elseprintf("Bad");A.Good B.Bad C.GoodBad D.BadGood16.分析下面的C語言程序,輸出結果是()。(C語言二級考試題)voidmain(){inta,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}A.2,1 B.3,2 C.4,3 D.2,-1同步訓練17.設有如下定義“intx=l,y=-1;”,則語句“printf("%d\n",(x--&++y));”的輸出結果是()。(C語言二級考試題)A.1 B.0 C.-1 D.218.當c的值不為0時,在下列選項中能正確地將c的值賦給變量a、b的是()。(C語言二級考試題)A.c=b=a; B.(a=c)||(b=c); C.(a=c)&&(b=c); D.a=c=b;同步訓練19.以下程序的輸出結果是()。(C語言二級考試題)voidmain(){intk=17;printf("%d,

溫馨提示

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

評論

0/150

提交評論