C語(yǔ)言程序設(shè)計(jì) 課件 單元2- C語(yǔ)言語(yǔ)法基礎(chǔ)-走進(jìn)數(shù)據(jù)世界_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì) 課件 單元2- C語(yǔ)言語(yǔ)法基礎(chǔ)-走進(jìn)數(shù)據(jù)世界_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì) 課件 單元2- C語(yǔ)言語(yǔ)法基礎(chǔ)-走進(jìn)數(shù)據(jù)世界_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì) 課件 單元2- C語(yǔ)言語(yǔ)法基礎(chǔ)-走進(jìn)數(shù)據(jù)世界_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì) 課件 單元2- C語(yǔ)言語(yǔ)法基礎(chǔ)-走進(jìn)數(shù)據(jù)世界_第5頁(yè)
已閱讀5頁(yè),還剩59頁(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ǔ)言語(yǔ)法基礎(chǔ)-走進(jìn)數(shù)據(jù)世界1字符輸出函數(shù)3如何輸出數(shù)據(jù)2如何定義數(shù)據(jù)4如何輸入數(shù)據(jù)C語(yǔ)言數(shù)據(jù)分類5算術(shù)運(yùn)算符6綜合應(yīng)用目錄導(dǎo)學(xué)【問(wèn)題】如何表示計(jì)算機(jī)中的數(shù)據(jù)?

計(jì)算機(jī)憑借超越人腦的計(jì)算速度改變著現(xiàn)實(shí)世界數(shù)據(jù)處理的進(jìn)程。數(shù)據(jù)處理其本質(zhì)是對(duì)數(shù)據(jù)的操作,這些數(shù)據(jù)可能是數(shù)學(xué)問(wèn)題中的數(shù)值,可能是信息處理中的文字、聲音或視頻。那么,現(xiàn)實(shí)世界中存在的大量簡(jiǎn)單數(shù)據(jù)如何在程序中存儲(chǔ)和表示呢?

C語(yǔ)言數(shù)據(jù)分類——程序構(gòu)成【例2-1】設(shè)a=18,b=35,要求將a、b兩個(gè)整型變量的值進(jìn)行交換。【解題思路】交換兩個(gè)變量的值,需要借助一個(gè)中間量,臨時(shí)保存其中一個(gè)變量的值?!驹创a】#include<stdio.h>//包含標(biāo)準(zhǔn)輸入輸出頭文件intmain()//主函數(shù){

inta=18,b,temp;//定義三個(gè)整型變量,并為整型變量a初始化賦值為18b=35;//為變量b賦值為35printf("交換前a=%d,b=%d\n",a,b);//輸出交換前a、b的值temp=a;//將變量a的值賦給變量temp保存a=b;//將變量b的值賦給變量ab=temp;//將變量temp的值賦給變量bprintf("交換后a=%d,b=%d",a,b);//輸出交換后a、b的值return0;//函數(shù)返回值為0}【運(yùn)行結(jié)果】交換前

a=18,b=35交換后

a=35,b=18

C語(yǔ)言數(shù)據(jù)分類——數(shù)據(jù)類型

C語(yǔ)言能處理多種類型的數(shù)據(jù),但其最基本的數(shù)據(jù)類型只有:整型、浮點(diǎn)型(小數(shù))和字符型3種。名稱符號(hào)存儲(chǔ)空間取值范圍短整型[signed]short[int]2字節(jié)-32768~32677即-2^15~(2^15-1)無(wú)符號(hào)短整型unsignedshort[int]2字節(jié)0~65535即0~(2^16-1)基本整型[signed]int4字節(jié)-2147483648~2147483647即-2^31~(2^31-1)無(wú)符號(hào)基本整型unsignedint4字節(jié)0~4294967295即0~(2^32-1)長(zhǎng)整型long[int]4字節(jié)-2147483648~2147483647即-2^31~(2^31-1)無(wú)符號(hào)長(zhǎng)整型unsignedlong[int]4字節(jié)0~4294967295即0~(2^32-1)長(zhǎng)長(zhǎng)整型longlongint8字節(jié)-2^63~(2^63-1)

C語(yǔ)言數(shù)據(jù)分類——整型名稱符號(hào)存儲(chǔ)空間有效數(shù)字取值范圍單精度f(wàn)loat4字節(jié)6~7-3.4×10^-38~3.4×10^38雙精度double8字節(jié)15~16-1.7×10^-308~1.7×10^308長(zhǎng)雙精度longdouble16字節(jié)18~19-1.2×10^-4932~1.2×10^4932

C語(yǔ)言數(shù)據(jù)分類——浮點(diǎn)型ASCII的全稱是"美國(guó)信息交換標(biāo)準(zhǔn)代碼"。它設(shè)計(jì)于60年代早期,是計(jì)算機(jī)和諸如打印機(jī)、磁帶驅(qū)動(dòng)器之類的硬件設(shè)備的標(biāo)準(zhǔn)字符集。ASCII是7比特字符集,包含了128個(gè)不同的字符值。ASCII支持0-9的數(shù)字,A-Z大寫(xiě)和小寫(xiě)英文字母,以及一些特殊字符。被廣泛使用于現(xiàn)代計(jì)算機(jī)、HTML和因特網(wǎng)上的字符集都是基于ASCII。

C語(yǔ)言數(shù)據(jù)分類——字符型字符型數(shù)據(jù)存放的是該字符所對(duì)應(yīng)的ASCII碼值(一個(gè)整數(shù))。字符型數(shù)據(jù)進(jìn)行運(yùn)算時(shí)按照所對(duì)應(yīng)ASCII碼值進(jìn)行運(yùn)算。名稱符號(hào)存儲(chǔ)空間取值范圍字符型char1字節(jié)值范圍是-128~127值與ASCII表中的字符對(duì)應(yīng)無(wú)符號(hào)字符型unsignedchar1字節(jié)值范圍是0~255值與ASCII表中的字符對(duì)應(yīng)

C語(yǔ)言數(shù)據(jù)分類——字符型(1)關(guān)鍵字:在編程語(yǔ)言里事先定義并賦予了特殊含義的單詞類型說(shuō)明符:int、float、char、void語(yǔ)句定義符:if、for、while、return(2)用戶自定義標(biāo)識(shí)符:可定義符號(hào)常量名、變量名、函數(shù)名、類型

C語(yǔ)言數(shù)據(jù)分類——標(biāo)識(shí)符(3)標(biāo)識(shí)符命名規(guī)則標(biāo)識(shí)符只能由字母、數(shù)字和下劃線組成。標(biāo)識(shí)符不能以數(shù)字作為第一個(gè)字符。標(biāo)識(shí)符不能使用關(guān)鍵字。標(biāo)識(shí)符區(qū)分大小寫(xiě)字母,如add、Add和ADD是不同的標(biāo)識(shí)符。(1)哪些標(biāo)識(shí)符屬于合法的

用戶自定義標(biāo)識(shí)符:(2)識(shí)別程序中的標(biāo)識(shí)符#include<stdio.h> voidmain() {inta,b,c;printf("請(qǐng)輸入矩形的長(zhǎng)和寬:");

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

c=2*(a+b); printf("該矩形周長(zhǎng)為:%d.\n",c);}Main

void

_num

age2

a*

N4

3m

%dstrarr_1_names*t

C語(yǔ)言數(shù)據(jù)分類——標(biāo)識(shí)符

C語(yǔ)言數(shù)據(jù)分類——sizeof()運(yùn)算符【說(shuō)明】

sizeof是C語(yǔ)言的一種單目操作符,它并不是函數(shù)。

sizeof運(yùn)算符用來(lái)計(jì)算被運(yùn)算對(duì)象在內(nèi)存中所占字節(jié)數(shù),被運(yùn)算對(duì)象可以是數(shù)據(jù)類型、或已定義的變量、或已定義的數(shù)組(計(jì)算結(jié)果是數(shù)組所有元素的存儲(chǔ)單元之和)、或表達(dá)式(計(jì)算結(jié)果是表達(dá)式值所占內(nèi)存的字節(jié)數(shù))?!緎izeof語(yǔ)句格式】sizeof(運(yùn)算對(duì)象)

C語(yǔ)言數(shù)據(jù)分類——sizeof()運(yùn)算符【例2-2】用運(yùn)算符sizeof()計(jì)算不同類型的數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)。#include<stdio.h>//包含標(biāo)準(zhǔn)輸入輸出頭文件intmain()//主函數(shù){ intnum; floatx; doubley; chart; printf("變量占的字節(jié)數(shù):%d,%d,%d,%d\n", sizeof(num),sizeof(x),sizeof(y),sizeof(t)); printf("常量占的字節(jié)數(shù):%d,%d,%d,%d\n", sizeof(3),sizeof(45.6),sizeof(45.6789545),sizeof('m')); return0;//函數(shù)返回值為0}【運(yùn)行結(jié)果】變量占的字節(jié)數(shù):4,4,8,1常量占的字節(jié)數(shù):4,8,8,11字符輸出函數(shù)3如何輸出數(shù)據(jù)2如何定義數(shù)據(jù)4如何輸入數(shù)據(jù)C語(yǔ)言數(shù)據(jù)分類5算術(shù)運(yùn)算符6綜合應(yīng)用目錄數(shù)據(jù)定義——直接常量(1)整型常量表示方式前置符號(hào)構(gòu)成示例表示方式十進(jìn)制無(wú)0~9、正負(fù)號(hào)65,-57十進(jìn)制八進(jìn)制00~7、正負(fù)號(hào)032,027,-033八進(jìn)制十六進(jìn)制0x或0X0~9,a~f(或A~F)、正負(fù)號(hào)0x101,0Xff十六進(jìn)制(2)浮點(diǎn)型常量表示方式符號(hào)構(gòu)成示例表示方式十進(jìn)制小數(shù)小數(shù)點(diǎn).0~9、正負(fù)號(hào)和小數(shù)點(diǎn)1.23,.23,-1.必須有唯一的小數(shù)點(diǎn)指數(shù)字母e或E0~9、正負(fù)號(hào)、e或E1.23e3,1.23E3字母e或E前必有數(shù),e或E后必為整數(shù)數(shù)據(jù)定義——直接常量(3)字符型常量直接字符常量:用單撇引號(hào)括起來(lái)的單一字符稱之為字符型常量轉(zhuǎn)義字符常量:以反斜杠“\”作為標(biāo)志符號(hào),見(jiàn)表2-3字符型常量實(shí)例'a'、'B'、'9'、'*'直接字符常量'\n''\017''\x01'回車換行??'\'''\"''\\'單引號(hào)雙引號(hào)反斜杠數(shù)據(jù)定義——直接常量字符串常量字符串常量就是用雙撇引號(hào)括起來(lái)的一串字符序列。字符串中含有的字符個(gè)數(shù)是該字符串的長(zhǎng)度。字符串存儲(chǔ)時(shí),每個(gè)字符占1個(gè)字符,并在字符串的結(jié)尾自動(dòng)加上一個(gè)字符串結(jié)束標(biāo)志'\0',因此字符串的存儲(chǔ)長(zhǎng)度比字符串的字符個(gè)數(shù)多1。數(shù)據(jù)定義——直接常量定義格式(4)符號(hào)常量是指用符號(hào)代表某個(gè)常量。#define符號(hào)常量標(biāo)識(shí)符

常量值宏定義程序示例#include<stdio.h> #definePI3.14//定義符號(hào)常量PI代表3.14voidmain() {floatr,area; printf("請(qǐng)輸入半徑:");scanf("%f",&r); area=PI*r*r; printf("該圓的面積為:%f.\n",area);}說(shuō)明:符號(hào)常量標(biāo)識(shí)符通常大寫(xiě)寫(xiě)在程序開(kāi)頭位置數(shù)據(jù)定義——直接常量(1)判斷下列常量表示正確與否?(2)字符串常量“Todayisfine?\n”的字符串長(zhǎng)度為

個(gè)字節(jié),它占用的存儲(chǔ)空間為

個(gè)字節(jié)。整型常量:32768、037、081、0x4f、0xAH浮點(diǎn)型常量:.124、3.0、1e3、2.3E1.5字符型常量:'a'、'101'、65、'\x21'、'9'(3)在編程處理物理力學(xué)相關(guān)運(yùn)算時(shí),常將重力加速度G定義為符號(hào)常量,其定義語(yǔ)句可描述為:

。數(shù)據(jù)定義——直接常量練習(xí)定義格式在程序運(yùn)行過(guò)程中其值可以改變的量稱為變量。變量必須先定義,后使用。類型標(biāo)識(shí)符

變量名1,變量名2,…,變量名n;floatr,area; doublea,b,c;inti=1,s; unsignedlongm,k;charch; 程序示例//定義單精度浮點(diǎn)型變量r和area//定義雙精度浮點(diǎn)型變量a,b和c//定義兩個(gè)整型變量,同時(shí)給變量i初始化,賦初值1//定義兩個(gè)無(wú)符號(hào)長(zhǎng)整型變量m和k//定義一個(gè)字符型變量ch用戶標(biāo)識(shí)符定名規(guī)則數(shù)據(jù)定義——變量定義(1)下列變量定義中合法的是:(2)若要根據(jù)定期存款數(shù)額c、存款期限m和相應(yīng)的利率r,編程計(jì)算本息合計(jì)s,則變量定義語(yǔ)句如何描述?longdo=0xfd;intmax=min=0;doublef,inta;charch="A";數(shù)據(jù)定義——變量定義練習(xí)doublefloatLongunsignedintchar,short

不同類型的數(shù)據(jù)共存于同一個(gè)表達(dá)式中時(shí),按照C語(yǔ)言的規(guī)則要轉(zhuǎn)換成同一類型,轉(zhuǎn)換是編譯系統(tǒng)自動(dòng)完成的。說(shuō)明:必定的轉(zhuǎn)換運(yùn)算對(duì)象類型不同時(shí)轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換——自動(dòng)類型轉(zhuǎn)換printf("%d\n",10/3);printf("%f\n",10.0/3);運(yùn)算結(jié)果:33.333333在C語(yǔ)言中,還可以把一種類型的數(shù)據(jù)強(qiáng)制轉(zhuǎn)換為另一種類型的數(shù)據(jù)。一般格式(類型標(biāo)識(shí)符)(表達(dá)式)重點(diǎn)提示:當(dāng)表達(dá)式為單一常量或變量時(shí),表達(dá)式兩側(cè)的括號(hào)()可以省略。當(dāng)浮點(diǎn)型數(shù)據(jù)轉(zhuǎn)換為整數(shù)時(shí),系統(tǒng)采用的是直接截?cái)嗟姆绞剑皇撬纳嵛迦?。?duì)變量進(jìn)行強(qiáng)制轉(zhuǎn)換后,變量本身的數(shù)據(jù)類型不變,而是得到一個(gè)所需要類型的數(shù)據(jù)。(int)2.6doublea=3.68;intb;b=(int)a;2a=3.14b=3程序示例數(shù)據(jù)類型轉(zhuǎn)換——強(qiáng)制類型轉(zhuǎn)換1字符輸出函數(shù)3如何輸出數(shù)據(jù)2如何定義數(shù)據(jù)4如何輸入數(shù)據(jù)C語(yǔ)言數(shù)據(jù)分類5算術(shù)運(yùn)算符6綜合應(yīng)用目錄#include<stdio.h> voidmain() {floatr,area; printf("請(qǐng)輸入半徑:");scanf("%f",&r); area=3.14*r*r; printf("該圓的面積為:%f.\n",area);}示例:計(jì)算并輸出半徑為r的圓的面積。格式化輸出函數(shù)輸出字符串格式化輸出函數(shù)輸出指定格式

如何輸出函數(shù)——格式輸出函數(shù)函數(shù)格式格式1:printf("字符串常量");//將“字符串常量”顯示輸出格式2:printf("格式控制字符串",輸出項(xiàng)列表);//按“格式控制字符串”所規(guī)定的格式,將“輸出項(xiàng)列表”中各輸出項(xiàng)的值輸出到標(biāo)準(zhǔn)輸出設(shè)備。

如何輸出函數(shù)——格式輸出函數(shù)printf()函數(shù)的功能是將信息按照格式控制字符串中指定的格式輸出到顯示器上顯示。函數(shù)功能格式說(shuō)明printf(“格式控制字符串

“,輸出項(xiàng)列表

);雙撇括號(hào)括起來(lái)包括“格式控制符”和“普通字符”“格式控制符”由%開(kāi)頭“普通字符”按原樣輸出。輸出項(xiàng)之間用逗號(hào)隔開(kāi)輸出項(xiàng)可以是常量、變量及表達(dá)式輸出項(xiàng)個(gè)數(shù)與格式控制符個(gè)數(shù)相同

如何輸出函數(shù)——格式輸出函數(shù)printf("請(qǐng)輸入矩形的長(zhǎng)和寬:");//普通字符串,按原樣輸出

printf("%d,%d,%d,%d\n",a,b,i,j);//輸出變量a,b,i,j的值printf("圓的面積為:%6.2f",area);//area按照寬度為6,2個(gè)小數(shù)位的形式輸出。

示例格式說(shuō)明符功能說(shuō)明舉例c以字符形式輸出單個(gè)字符chart='A';printf("%c,%c",t,'D');//輸出:A,Dd或i以有符號(hào)的十進(jìn)制整數(shù)形式輸出inta=-15;printf("%d,%i",a,3);//輸出:-15,3%u以無(wú)符號(hào)十進(jìn)制整數(shù)形式輸出intb=-15;printf("%u,%u",b,153);//輸出:4294967281,153%o(小寫(xiě)字母)以八進(jìn)制無(wú)符號(hào)形式輸出整數(shù)intb=15;printf("%o,%o",b,30);//輸出:17,36%x或%X以十六進(jìn)制無(wú)符號(hào)形式輸出整數(shù)inta=168;printf("%d,%x,%X",a,a,a);//輸出:168,a8,A8%f按十進(jìn)制小數(shù)形式輸出單、雙精度數(shù),默認(rèn)為6位小數(shù)floata=36.73; doubleb=75.89;printf("%f,%f",a,b);//輸出:36.730000,75.890000%e或%E按指數(shù)形式輸出單、雙精度數(shù)精度實(shí)數(shù)floata=0.03673;doubleb=1758.9;printf("%e,%E",a,b);//輸出:3.673000e-002,1.758900+003

如何輸出函數(shù)——格式輸出函數(shù)附加格式修飾字符

如何輸出函數(shù)——格式輸出函數(shù)修飾說(shuō)明符功能說(shuō)明舉例L或l用于長(zhǎng)整型,可加在格式符d、ox、u之前l(fā)onglonga=12345678901;printf("%d,%lld",a,a);//輸出:-539222987,12345678901h按短整型數(shù)據(jù)輸出inta=34567;printf("%d,%hd",a,a);//輸出:34567,-30969m(正整數(shù))指定輸出項(xiàng)所占的字符數(shù)(域?qū)挘魧?shí)際位數(shù)小于m,左端補(bǔ)空格,若大于m,按實(shí)際位數(shù)輸出。inta=19;printf("%3d,%5d",a,a);//輸出:19,19.n(正整數(shù))指定輸出實(shí)型數(shù)據(jù)的小數(shù)位數(shù),系統(tǒng)默認(rèn)6位小數(shù)

floata=8.367;printf("%.2f,%6.2f",a,a);//輸出:8.37,8.370(數(shù)字)指定數(shù)字前的空格用0填充inta=19;printf("%04d",a);//輸出:0019-指定輸出項(xiàng)的對(duì)齊方式,-表示左對(duì)齊,默認(rèn)是右對(duì)齊inta=19;printf("%-4d,%4d",a,a);//輸出:19,19

(1)輸出提示語(yǔ)“請(qǐng)輸入銀行卡密碼:”的語(yǔ)句可描述為_(kāi)_______________________________________

(2)已知變量sum為n以內(nèi)自然數(shù)的和,按6個(gè)字符寬度輸出sum值的語(yǔ)句可描述為

如何輸出函數(shù)——格式輸出函數(shù)練習(xí)printf("請(qǐng)輸入銀行卡密碼:");

printf(“sum=%6d”,sum);【源代碼】#include<stdio.h>//包含標(biāo)準(zhǔn)輸入輸出頭文件intmain()//主函數(shù){inta=3,b=6;//定義兩個(gè)個(gè)整型變量a,b,表示長(zhǎng)方形的長(zhǎng)和寬ints=a*b;//計(jì)算長(zhǎng)方形面積printf("長(zhǎng)方形面積是%d",s);//輸出長(zhǎng)方形的面積return0;//函數(shù)返回值為0}

如何輸出函數(shù)——格式輸出函數(shù)示例【例2-4】已知一個(gè)長(zhǎng)方形的長(zhǎng)3,寬6,求長(zhǎng)方形的面積并輸出。【運(yùn)行結(jié)果】長(zhǎng)方形面積是18【解題思路】首先確定程序中涉及的變量和類型,再確定變量值的獲取方式,是通過(guò)賦值還是運(yùn)算,最后運(yùn)用輸出語(yǔ)句輸出變量的值。

如何輸出函數(shù)——putchar()函數(shù)函數(shù)格式程序示例putchar(ch);putchar('A');

//輸出字符'A'putchar('\101');//輸出字符'A'putchar('a'-32); //輸出字符'A'intch=65;putchar(ch);//輸出字符'A'//在標(biāo)準(zhǔn)輸出設(shè)備上輸出一個(gè)字符整型或字符型的常量、變量或表達(dá)式

下面程序功能為:輸出與變量ch左右相鄰的兩個(gè)字母,根據(jù)注釋信息將程序填寫(xiě)完整。#include<stdio.h> voidmain() {charch=’M’; //字符變量定義并初始化

//調(diào)用putchar()輸出與ch左相鄰的字母

//調(diào)用putchar()輸出與ch右相鄰的字母}

如何輸出函數(shù)——putchar()函數(shù)練習(xí)

如何輸出函數(shù)——putchar()函數(shù)示例【例2-5】依據(jù)注釋,使用字符輸出函數(shù)putchar()實(shí)現(xiàn)變量值的輸出。#include<stdio.h>intmain(){intb;b=97;chart='D';putchar(t);//輸出字符變量的值putchar(b);//輸出ASCII值為97對(duì)應(yīng)的字符putchar('\n');//輸出轉(zhuǎn)義字符\nputchar('#');//輸出字符常量#putchar(65);//輸出ASCII值為65的字符’A’return0;}【運(yùn)行結(jié)果】Da#A1字符輸出函數(shù)3如何輸出數(shù)據(jù)2如何定義數(shù)據(jù)4如何輸入數(shù)據(jù)C語(yǔ)言數(shù)據(jù)分類5算術(shù)運(yùn)算符6綜合應(yīng)用目錄

如何輸入函數(shù)——scanf()函數(shù)【例2-4】已知一個(gè)長(zhǎng)方形的長(zhǎng)3,寬6,求長(zhǎng)方形的面積并輸出?!驹创a】#include<stdio.h>intmain()//主函數(shù){inta=3,b=6;ints=a*b;printf("長(zhǎng)方形面積是%d",s);return0;}輸入一個(gè)長(zhǎng)方形的長(zhǎng)和寬,求長(zhǎng)方形的面積并輸出。【源代碼】#include<stdio.hintmain()//主函數(shù){inta,b;printf("請(qǐng)輸入a和b的值:");scanf("%d%d",&a,&b);ints=a*b;printf("長(zhǎng)方形面積是%d",s);return0;}函數(shù)格式scanf("格式控制字符串",輸入項(xiàng)地址列表);1.格式控制字符串:用雙引號(hào)括起來(lái)的字符串,包含格式說(shuō)明符和普通字符。

格式說(shuō)明符--%[修飾符]格式字符,將輸入數(shù)據(jù)轉(zhuǎn)換為指定類型,存放到指

定變量中。

普通字符--從鍵盤(pán)輸入數(shù)據(jù)時(shí),普通字符要原樣輸入。2.輸入變量地址表列:即是存放數(shù)據(jù)的變量的地址,同時(shí)輸入多個(gè)量時(shí),用“,”間隔開(kāi),書(shū)寫(xiě)時(shí)要在每個(gè)變量前面加“&”符號(hào),其后的變量名是接收輸入數(shù)據(jù)的變量。

如何輸入函數(shù)——scanf()函數(shù)函數(shù)說(shuō)明scanf("%d%d",&a,&b);格式符功能說(shuō)明%c接收一個(gè)字符%d或%i接收有符號(hào)十進(jìn)制整型數(shù)據(jù)%o(小寫(xiě)字母)接收無(wú)符號(hào)的八進(jìn)制整數(shù)%x或%X接收一個(gè)無(wú)符號(hào)的十六進(jìn)制整數(shù)%f接收一個(gè)浮點(diǎn)型數(shù)據(jù)(float)%1f接收一個(gè)浮點(diǎn)型數(shù)據(jù)(double)%s接收一字符串,以空白字符結(jié)束

如何輸入函數(shù)——scanf()函數(shù)格式符說(shuō)明練習(xí)重點(diǎn)提示:輸入數(shù)值時(shí),在兩個(gè)數(shù)值之間需要插入間隔符(空格、Tab鍵、回車)%c作為輸入控制字符時(shí),在輸入字符數(shù)據(jù)之前不需要插入間隔符。

如何輸入函數(shù)——scanf()函數(shù)練習(xí)1.根據(jù)輸入的自然數(shù)n值,計(jì)算n以內(nèi)自然數(shù)的和sum,則輸入n值的語(yǔ)句可描述為2.分別按照int、double和char類型給變量a,b,c輸入數(shù)值的語(yǔ)句可描述為3.若a=2,b=3.2,c=’a’,則程序運(yùn)行時(shí),正確的輸入方法是scanf("%d%lf%c",&a,&b,&c);

scanf("%d",&n);23.2a

格式符說(shuō)明l用于長(zhǎng)整型和雙精度浮點(diǎn)型,可加在d.u.f之前mm代表一個(gè)正整數(shù),用于指定輸入數(shù)據(jù)所占寬度*表示本輸入項(xiàng)在讀入后不賦給相應(yīng)的變量

如何輸入函數(shù)——scanf()函數(shù)附加格式說(shuō)明符

如何輸入函數(shù)——scanf()函數(shù)示例【例2-6】從鍵盤(pán)依次輸入一個(gè)整數(shù)、一個(gè)單精度浮點(diǎn)數(shù)、一個(gè)雙精度浮點(diǎn)數(shù)、一個(gè)字符,將輸入數(shù)據(jù)分別賦值給不同變量,并輸出變量值?!窘忸}思路】首先確定程序中涉及的變量和類型,通過(guò)scanf格式輸入語(yǔ)句為變量賦值,最后運(yùn)用輸出語(yǔ)句輸出變量的值【源代碼】#include<stdio.h>//包含標(biāo)準(zhǔn)輸入輸出頭文件intmain()//主函數(shù){inta;//定義整型變量afloatb;//定義單精度變量bdoublec;//定義雙精度變量cchard;//定義字符變量dscanf("%d%f%lf%c",&a,&b,&c,&d);//通過(guò)鍵盤(pán)輸入數(shù)據(jù)為變量賦值printf("a=%d,b=%f,c=%f,d=%c",a,b,c,d);//輸出各變量的值return0;//函數(shù)返回值為0}【運(yùn)行結(jié)果】4556.545.5ca=45,b=56.500000,c=45.500000,d=c函數(shù)格式程序示例getchar();charch;ch=getchar();putchar(ch);//在標(biāo)準(zhǔn)輸入緩沖區(qū)中讀取一個(gè)字符。參數(shù)為空charch;putchar(getchar());//將getchar()讀入的字符直接用putchar()輸出

如何輸入函數(shù)——getchar()函數(shù)注:getchar()是與putchar()相對(duì)應(yīng)的單個(gè)字符輸入函數(shù),其作用是從鍵盤(pán)接收、輸出一個(gè)字符。說(shuō)明:

如何輸入函數(shù)——getchar()函數(shù)1.getchar()函數(shù)沒(méi)有參數(shù),函數(shù)的返回值是從輸入設(shè)備得到的字符,該函數(shù)對(duì)于鍵盤(pán)上的任何鍵都是有效的,如按下Shift鍵或Esc鍵,getchar()函數(shù)也會(huì)將其視為有效輸入。2.從鍵盤(pán)輸入的數(shù)據(jù)通過(guò)回車鍵確認(rèn)結(jié)束,送入緩沖區(qū)。該函數(shù)從緩沖區(qū)中讀入一個(gè)字符。3.該函數(shù)得到的字符可以賦給一個(gè)字符變量或整型變量,也可以作為表達(dá)式一部分。

下面程序功能為:輸入一個(gè)A~Z之間的字母,輸出與之左右相鄰的兩個(gè)字母,根據(jù)注釋信息將程序填寫(xiě)完整。#include<stdio.h> voidmain() {charch; //數(shù)據(jù)準(zhǔn)備

//調(diào)用getchar()輸入一個(gè)字母,并賦值給ch

//調(diào)用putchar()輸出與ch左相鄰的字母

//調(diào)用putchar()輸出與ch右相鄰的字母}

如何輸入函數(shù)——getchar()函數(shù)練習(xí)1字符輸出函數(shù)3如何輸出數(shù)據(jù)2如何定義數(shù)據(jù)4如何輸入數(shù)據(jù)C語(yǔ)言數(shù)據(jù)分類5算術(shù)運(yùn)算符6綜合應(yīng)用目錄算術(shù)運(yùn)算符——算術(shù)運(yùn)算符含義運(yùn)算符含義舉例運(yùn)算結(jié)果+正號(hào)(單目運(yùn)算)+aa的值-負(fù)號(hào)(單目運(yùn)算)-aa的相反數(shù)+加法運(yùn)算符a+ba與b的和-減法運(yùn)算符a-ba與b的差*乘法運(yùn)算符a*ba與b的乘積/除法運(yùn)算符a/ba除以b的商%求余運(yùn)算符a%ba除以b的余數(shù)1.由于鍵盤(pán)無(wú)×、÷號(hào),在C語(yǔ)言中運(yùn)算以*和/代替;2.對(duì)于除法運(yùn)算符,兩個(gè)整數(shù)相除的結(jié)果為整數(shù),如5/2的結(jié)果為2,舍去小數(shù)部分;只有兩數(shù)中至少有一個(gè)是浮點(diǎn)數(shù)時(shí),結(jié)果才為浮點(diǎn)數(shù),如5/2.0的結(jié)果為2.5;除法運(yùn)算/,寫(xiě)出以下運(yùn)算的結(jié)果9/2_______9.0/2_______9/2.0_______9.0/2.0_______3.求余運(yùn)算%僅用于整數(shù)間的運(yùn)算,若存在負(fù)整數(shù),則余數(shù)的正負(fù)號(hào)與被除數(shù)相同,如-3%2的結(jié)果為-1;求余運(yùn)算%,寫(xiě)出以下運(yùn)算的結(jié)果

27%4_______13%3_______15%5_______15%20_______16%(-7)_______-16%7_______-16%-7_______9%12_______365%10_______365/10%10_______365/100_______4.在進(jìn)行算術(shù)運(yùn)算時(shí),如果運(yùn)算符兩側(cè)的數(shù)據(jù)類型不同,會(huì)進(jìn)行自動(dòng)轉(zhuǎn)換成相同的類型再進(jìn)行運(yùn)算。4.在進(jìn)行算術(shù)運(yùn)算時(shí),如果運(yùn)算符兩側(cè)的數(shù)據(jù)類型不同,會(huì)進(jìn)行自動(dòng)轉(zhuǎn)換成相同的類型再進(jìn)行運(yùn)算。運(yùn)算符說(shuō)明算術(shù)運(yùn)算符——算術(shù)運(yùn)算符注意1.由于鍵盤(pán)無(wú)×、÷號(hào),在C語(yǔ)言中運(yùn)算以*和/代替;2.對(duì)于除法運(yùn)算符,兩個(gè)整數(shù)相除的結(jié)果為整數(shù),如5/2的結(jié)果為2,舍去小數(shù)部分;只有兩數(shù)中至少有一個(gè)是浮點(diǎn)數(shù)時(shí),結(jié)果才為浮點(diǎn)數(shù),如5/2.0的結(jié)果為2.5;3.求余運(yùn)算%僅用于整數(shù)間的運(yùn)算,若存在負(fù)整數(shù),則余數(shù)的正負(fù)號(hào)與被除數(shù)相同,如-3%2的結(jié)果為-1;(1)有定義語(yǔ)句:charch=‘M’;寫(xiě)出將變量ch變?yōu)樾?xiě)字母的表達(dá)式。(2)變量s表示一個(gè)百分制考試成績(jī),寫(xiě)出獲取其十位數(shù)碼的表達(dá)式。算術(shù)運(yùn)算符——練習(xí)ch=ch+32s=s/10算術(shù)運(yùn)算符——示例#include<stdio.h>intmain(){ inta=3,b=8,c=2; printf("%d,%d,%d\n",a+b,a-c,a*2+b-1); printf("%d,%d,%d",a,b,c); return0;}【運(yùn)行結(jié)果】11,1,133,8,2【例2-8】運(yùn)行下面程序,查看輸出結(jié)果算術(shù)運(yùn)算符——自加自減算術(shù)運(yùn)算符運(yùn)算符含義舉例運(yùn)算結(jié)果說(shuō)明++自增1運(yùn)算符a++或++a使a的值加1++和--為單目運(yùn)算,且只能用于單一變量運(yùn)算;++a和--a,是在使用a之前,先使a的值加1或減1;a++和a--,是在使用a之后,再使a的值加1或減1。--自減1運(yùn)算符a--或--a使a的值減1分析程序輸出結(jié)果。#include<stdio.h> intmain()

{

inta=9,b;b=++a;//先讓a自增1,再取a的值。a=a+1;b=a;printf("a=%d,b=%d\n",a,b);b=a--;//先取a的值,再自減1b=a;a=a-1;printf("a=%d,b=%d\n",a,b);printf("a++=%d,++b=%d,%d,%d\n",a++,++b,a,b);return0;

}程序輸出結(jié)果算術(shù)運(yùn)算符——運(yùn)算符示例算術(shù)運(yùn)算符——賦值運(yùn)算符一般格式變量=表達(dá)式賦值號(hào)運(yùn)算符表達(dá)式計(jì)算結(jié)果+=x=3;x+=5;x=x+5;x的值是10-=x=3;x-=5;x=x-5;x的值是-2*=x=3;x*=5+1;x=x*(5+1);x的值是18/=x=3;x/=5;x=x/5;x的值是0%=x=3;x%=5;x=x%5;x的值是3算術(shù)運(yùn)算符--優(yōu)先級(jí)與結(jié)合性優(yōu)先級(jí)和結(jié)合性兩個(gè)問(wèn)題優(yōu)先級(jí)是表達(dá)式中有不同的運(yùn)算符時(shí),按照運(yùn)算符的優(yōu)先級(jí)確定運(yùn)算符的執(zhí)行順序結(jié)合性是表達(dá)式中若有相鄰幾個(gè)優(yōu)先級(jí)相同的運(yùn)算符時(shí),需要結(jié)合運(yùn)算符確定運(yùn)算方向。算術(shù)運(yùn)算符——運(yùn)算符示例【例2-10】運(yùn)行下面程序,查看輸出結(jié)果【源代碼】#include<stdio.h>intmain(){ floatx=6.5; inty=5,z;z=(int)x+y+++x*y;//相當(dāng)于(int)x+(y++)+x*y printf("x=%f,y=%d,z=%d",x,y,z); return0;}【運(yùn)行結(jié)果】x=6.500000,y=6,z=501字符輸出函數(shù)3如何輸出數(shù)據(jù)2如何定義數(shù)據(jù)4如何輸入數(shù)據(jù)C語(yǔ)言數(shù)據(jù)分類5算術(shù)運(yùn)算符6綜合應(yīng)用目錄

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論