




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
全國計算機(jī)等級考試二級Email:huxiaoli@C語言程序設(shè)計主講:胡曉麗高頻考點(diǎn)CompanyLogo考試方式機(jī)試:120分鐘,滿分100分。(2)程序填空題(18分)(3)程序改錯題(18分)(3)程序設(shè)計題(24分)(1)選擇題(40分)CompanyLogo考試大綱◆基本要求
1.熟悉VisualC++6.0集成開發(fā)環(huán)境。
2.掌握結(jié)構(gòu)化程序設(shè)計的方法,具有良好的程序設(shè)計風(fēng)格。
3.掌握程序設(shè)計中簡單的數(shù)據(jù)結(jié)構(gòu)和算法并能閱讀簡單的程序。
4.在VisualC++6.0集成環(huán)境下,能夠編寫簡單的C程序,并具有基本的糾錯和調(diào)試程序的能力CompanyLogo目錄1.程序設(shè)計基本概念2.C程序設(shè)計的初步知識3.順序結(jié)構(gòu)4.選擇結(jié)構(gòu)5.循環(huán)結(jié)構(gòu)6.字符型數(shù)據(jù)7.函數(shù)8課時目錄9.數(shù)組10.字符串11.對函數(shù)的進(jìn)一步討論12.用戶標(biāo)識符的作用域和存儲類13.編譯預(yù)處理和動態(tài)存儲分配14.結(jié)構(gòu)體、共用體和用戶定義類型15.位運(yùn)算16.文件8.地址和指針2課時8課時1課時1課時CompanyLogo第1章程序設(shè)計基本概念Top1:各種“程序”的概念Top3:結(jié)構(gòu)化程序設(shè)計Top2:算法的特性C程序的上機(jī)步驟CompanyLogo什么是程序??Top1:各種“程序”的概念人們把需要用計算機(jī)完成的工作寫成一條條指令,并把這些指令存儲在內(nèi)存中,當(dāng)人們給出執(zhí)行命令后,計算機(jī)就按指令順序自動進(jìn)行操作。這些可以連續(xù)執(zhí)行的一條條指令的集合稱為“程序”。CompanyLogo機(jī)器語言匯編語言高級語言面向過程面向?qū)ο蟪绦蛟O(shè)計語言的發(fā)展Top1:各種“程序”的概念CompanyLogo程序的“轉(zhuǎn)換”機(jī)器語言匯編語言高級語言C語言編譯匯編源程序目標(biāo)程序.OBJTop1:各種“程序”的概念可執(zhí)行程序.exe鏈接二進(jìn)制語言CompanyLogoTop1:各種“程序”的概念真題分析(2013年3月)DCompanyLogoTop1:各種“程序”的概念真題分析(2007年4月)下列敘述中錯誤的是——A、計算機(jī)不能直接執(zhí)行用C語言編寫的源程序B、C程序經(jīng)編譯后,生成后綴為.Obj的文件是一個二進(jìn)制文件C、后綴為.Obj的文件,經(jīng)連接程序生成后綴為.Exe的文件是一個二進(jìn)制文件D、后綴為.Obj和.Exe的二進(jìn)制文件都可以直接運(yùn)行DCompanyLogoTop1:各種“程序”的概念真題分析(2006年4月)以下敘述中錯誤的是——A、C語言源程序經(jīng)編譯后生成后綴為.OBJ的目標(biāo)程序B、C程序經(jīng)過編譯、連接步驟之后才能形成一個真正可以執(zhí)行的二進(jìn)制機(jī)器指令文件C、用C語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個文本文件中D、C語言中的每條可執(zhí)行語句和非執(zhí)行語句最終都將轉(zhuǎn)換成二進(jìn)制的機(jī)器指令D只有二進(jìn)制語句才最終被轉(zhuǎn)換成二進(jìn)制機(jī)器指令CompanyLogoTop1:各種“程序”的概念真題分析(2007年9月)C語言源程序的后綴是——A、.exeB、.cC、.objD、.cpBCompanyLogoTop2:算法的特性什么是算法?算法是指為解決某個特定問題而采取的確定且有限的步驟。?CompanyLogo算法應(yīng)具有以下五個特點(diǎn):1有窮性:一個算法包含的步驟是有限的。即在若干個步驟后結(jié)束,并且每一步都在合理時間內(nèi)完成2確定性:算法中每一條指令必須有確切的含義,不能有二義性,對于相同的輸入必能得出相同的執(zhí)行結(jié)果。3可行性:算法中指定的操作,都可以通過已經(jīng)驗(yàn)證可以實(shí)現(xiàn)的基本運(yùn)算執(zhí)行有限次后實(shí)現(xiàn)。5有一個或多個輸出:算法的目的是為了求解。這些“解”只有通過輸出得到。4有零個或多個輸入:算法都是用來處理數(shù)據(jù)對象的,通常情況下這些數(shù)據(jù)對象需要通過輸入來得到。Top2:算法的特性CompanyLogo如何評價算法??時間復(fù)雜度1空間復(fù)雜度2對算法的要求有:必須是正確的,必須能高效率執(zhí)行,即占用內(nèi)存空間少,所需運(yùn)行時間短。于是,對算法的評價可以從兩個方面進(jìn)行:Top2:算法的特性CompanyLogoTop2:算法的特性真題分析(2013年3月)ACompanyLogoTop2:算法的特性真題分析(2007年4月)算法中,對需要執(zhí)行的每一步驟操作,必須給出清楚、嚴(yán)格的規(guī)定,這屬于算法的是——A、正當(dāng)性B、可行性C、確定性D、有窮性CCompanyLogoTop2:算法的特性真題分析(2006年4月)以下敘述中錯誤的是——A、算法正確的程序最終一定會結(jié)束B、算法正確的程序可以有零個輸出C、算法正確的程序可以有零個輸入D、算法正確的程序?qū)τ谙嗤妮斎胍欢ㄓ邢嗤慕Y(jié)果B算法必須有一個或多個輸出CompanyLogoTop3:結(jié)構(gòu)化程序設(shè)計和模塊化結(jié)構(gòu)執(zhí)行時按順序逐條執(zhí)行,沒有分支,沒有轉(zhuǎn)移。可由賦值語句、輸入/輸出語句等構(gòu)成。順序結(jié)構(gòu)根據(jù)不同的條件執(zhí)行不同分支中的語句??捎蒳f語句、switch語句等構(gòu)成。選擇結(jié)構(gòu)根據(jù)各自的條件使一組語句重復(fù)執(zhí)行多次或一次也不執(zhí)行??捎蒮or語句、while語句等構(gòu)成。循環(huán)結(jié)構(gòu)CompanyLogo什么是模塊化結(jié)構(gòu)??將復(fù)雜任務(wù)分解成若干個子任務(wù),每個子任務(wù)又可分解成多個小子任務(wù),每個小子任務(wù)只需完成一個簡單的功能。在程序設(shè)計時用一個小模塊實(shí)現(xiàn)這些功能。稱這樣的程序設(shè)計方法為“模塊化”方法,由一個個功能模塊構(gòu)成的程序結(jié)構(gòu)為模塊化結(jié)構(gòu)。Top3:結(jié)構(gòu)化程序設(shè)計和模塊化結(jié)構(gòu)CompanyLogoTop3:結(jié)構(gòu)化程序設(shè)計和模塊化結(jié)構(gòu)真題分析(2007年4月)以下敘述中錯誤的是——A、C語言是一種結(jié)構(gòu)化的程序設(shè)計語言B、結(jié)構(gòu)化程序由順序、分支、循環(huán)三種基本結(jié)構(gòu)組成C、使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡單問題D、結(jié)構(gòu)化程序設(shè)計提倡模塊化的設(shè)計方法CCompanyLogo開始結(jié)束編輯編譯連接運(yùn)行運(yùn)行結(jié)果可執(zhí)行文件(.exe)源程序文件(.c)目標(biāo)文件(.obj)圖C程序上機(jī)調(diào)試過程此兩種代碼不能執(zhí)行C程序的上機(jī)步驟CompanyLogo第2章C程序設(shè)計的初步知識Top4:C程序的結(jié)構(gòu)和格式Top5:標(biāo)識符的命名規(guī)則Top6:C語言基本數(shù)據(jù)類型及其定義規(guī)則Top7:基本類型數(shù)據(jù)的相互轉(zhuǎn)換Top8:常見算術(shù)運(yùn)算符的使用Top9:算術(shù)運(yùn)算符的優(yōu)先級順序Top12:自加自減運(yùn)算符Top10:賦值表達(dá)式的求值規(guī)則Top11:逗號表達(dá)式的求值規(guī)則CompanyLogo例2.1第一個程序Hello,World!/*example1.1ThefirstCProgram*/#include<stdio.h>main(){
printf(“Hello,World!”);}注釋編譯預(yù)處理函數(shù)語句輸出:Hello,World!Top4:C語言程序的構(gòu)成和格式CompanyLogo格式特點(diǎn)習(xí)慣用小寫字母,大小寫敏感不使用行號,無程序行概念可使用空行和空格常用鋸齒形書寫格式<>main(){
……………….………………
…………..…………..
……………….
………………………….
……………….………………..}main(){
inti,j,sum;sum=0;
for(i=1;i<10;i++){
for(j=1;j<10;j++){sum+=i*j;}}
printf(“%d\n”,sum);}Top4:C語言程序的構(gòu)成和格式CompanyLogo結(jié)構(gòu)特點(diǎn)函數(shù)與主函數(shù)程序由一個或多個函數(shù)組成必須有且只能有一個主函數(shù)main()程序執(zhí)行從main開始,在main中結(jié)束,其它函數(shù)通過嵌套調(diào)用得以執(zhí)行。程序語句C程序由語句組成用“;”作為語句終止符注釋/**/為注釋,不能嵌套不產(chǎn)生編譯代碼例:/*Thisisthemain/*ofexample1.1*/*/非法編譯預(yù)處理命令Top4:C語言程序的構(gòu)成和格式例:#include“stdio.h”命令行,不是C語句CompanyLogo真題分析(2013年3月)Top4:C語言程序的構(gòu)成和格式CCompanyLogo真題分析(2013年3月)Top4:C語言程序的構(gòu)成和格式DCompanyLogo真題分析(2013年3月)Top4:C語言程序的構(gòu)成和格式CCompanyLogo真題分析(2007年4月)對于一個正常運(yùn)行的C程序,以下敘述中正確的是——A、程序的執(zhí)行總是從main函數(shù)開始,在main函數(shù)結(jié)束B、程序的執(zhí)行總是從程序的第一個函數(shù)開始,在main函數(shù)中結(jié)束C、程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束。D、程序的執(zhí)行總是從程序的第一個函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束。Top4:C語言程序的構(gòu)成和格式ACompanyLogoTop4:C語言程序的構(gòu)成和格式真題分析(2007年9月)以下敘述中正確的是——A、C語言程序?qū)脑闯绦蛑械谝粋€函數(shù)開始執(zhí)行B、可以在程序中由用戶指定任意一個函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行C、C語言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行,在此結(jié)束D、main可作為用戶標(biāo)識符,用以命名任意一個函數(shù)作為主函數(shù)CCompanyLogoTop4:C語言程序的構(gòu)成和格式真題分析(2008年9月)以下敘述中正確的是——A、C程序的基本組成單位是語句B、C程序中每一行只能寫一條語句C、簡單C語句必須以分號結(jié)束D、C語句必須在一行內(nèi)寫完CCompanyLogoTop5:標(biāo)識符的命名規(guī)則什么是標(biāo)識符??標(biāo)識符是用來標(biāo)識變量、符號常量、函數(shù)、數(shù)組、類型、標(biāo)號以及一些具有專門含義的有效字符序列。通俗地講,標(biāo)識符就是一個名字。CompanyLogo標(biāo)識分為三類:②預(yù)定義標(biāo)識符③用戶標(biāo)識符①關(guān)鍵字(1)數(shù)據(jù)類型關(guān)鍵字12個(2)控制語句關(guān)鍵字12個(3)存儲類型關(guān)鍵字4個(4)其它關(guān)鍵字4個一般指C語言提供的庫函數(shù)名和編譯預(yù)處理命令。在編程時,需要用戶給一些變量、函數(shù)、數(shù)組等命名,這類由用戶根據(jù)需要自定義的標(biāo)識符稱為用戶標(biāo)識符Top5:標(biāo)識符的命名規(guī)則CompanyLogo組成:只能由字母、數(shù)字、下劃線組成,且第一個字母必須是字母或下劃線大小寫敏感不能使用關(guān)鍵字長度:最長32個字符命名原則:見名知意不宜混淆如l與I,o與0例:判斷下列標(biāo)識符號合法性sumSum
M.D.JohndayDate3daysstudent_name#33lotus_1_2_3chara>b_above$123M.D.John3days#33char$123a>b如何命名標(biāo)識符??CompanyLogoTop5:標(biāo)識符的命名規(guī)則真題分析(2013年3月)ACompanyLogoTop5:標(biāo)識符的命名規(guī)則真題分析(2013年3月)DCompanyLogoTop5:標(biāo)識符的命名規(guī)則真題分析(2007年9月)可在C程序中用做用戶標(biāo)識符的一組標(biāo)識符是——ATop5:標(biāo)識符的命名規(guī)則真題分析(2009年4月)以下選項(xiàng)中合法的標(biāo)識符是A)1_1B)1-1C)_11D)1__CompanyLogoCCompanyLogo一般用大寫字母是宏定義預(yù)處理命令,不是C語句直接常量:整型常量實(shí)型常量字符常量字符串常量如#definePRICE30常量定義:程序運(yùn)行時其值不能改變的量(即常數(shù))分類:符號常量:用標(biāo)識符代表常量定義格式:#define
符號常量常量>>>>例符號常量舉例#definePRICE30main(){
int
num,total;num=10;total=num*PRICE;
printf("total=%d",total);}運(yùn)行結(jié)果:total=300Top6:C語言基本數(shù)據(jù)類型及其定義規(guī)則CompanyLogo整型常量的類型根據(jù)其值所在范圍確定其數(shù)據(jù)類型在整常量后加字母l或L,認(rèn)為它是longint
型常量整型常量(整常數(shù))三種形式:十進(jìn)制整數(shù):由數(shù)字0~9和正負(fù)號表示.如123,-456,0八進(jìn)制整數(shù):由數(shù)字0開頭,后跟數(shù)字0~7表示.如0123,011十六進(jìn)制整數(shù):由0x開頭,后跟0~9,a~f,A~F表示.如0x123,0XffTop6:C語言基本數(shù)據(jù)類型及其定義規(guī)則32767-32768
0
0120160x100X23FD0568o45ox12t-0X12只能是正數(shù)CompanyLogo實(shí)型常量(實(shí)數(shù)或浮點(diǎn)數(shù))表示形式:十進(jìn)制數(shù)形式:(必須有小數(shù)點(diǎn))如0.123,.123,123.0,0.0,123.指數(shù)形式:(e或E之前必須有數(shù)字;指數(shù)必須為整數(shù))如12.3e3,123E2,1.23e4,e-5,1.2E-3.5
實(shí)型常量的類型默認(rèn)double型在實(shí)型常量后加字母f或F,認(rèn)為它是float型Top6:C語言基本數(shù)據(jù)類型及其定義規(guī)則X在內(nèi)存中,實(shí)數(shù)一律是以指數(shù)形式存儲的1計算機(jī)中存儲整數(shù)不會出現(xiàn)誤差,存儲實(shí)型數(shù)往往存入誤差。2!注意:CompanyLogo44字符常量定義:用單引號括起來的單個普通字符或轉(zhuǎn)義字符.
字符常量的值:該字符的ASCII碼值例:‘A’-------’\101’-------’\x41’--------65如‘A’——65,‘a(chǎn)’——97,
‘0’——48,‘\n’——10如‘a(chǎn)’‘A’‘?’‘\n’‘\101’轉(zhuǎn)義字符:反斜線后面跟一個字符或一個代碼值表示Top6:C語言基本數(shù)據(jù)類型及其定義規(guī)則字符常量與字符串常量不同字符串常量定義:用雙引號(“”)括起來的字符序列存儲:每個字符串尾自動加一個‘\0’作為字符串結(jié)束標(biāo)志hello\0例字符串“hello”在內(nèi)存中aa\0例‘a(chǎn)’“a”例空串“”\0例:charch;
ch=“A”;例:charch;
ch=‘A’;Top6:C語言基本數(shù)據(jù)類型及其定義規(guī)則CompanyLogo變量概念:其值可以改變的量變量的定義變量初始化:定義時賦初值變量的使用:先定義,后使用變量定義位置:一般放在函數(shù)開頭int
x,y,z;x=y=z=1;Top6:C語言基本數(shù)據(jù)類型及其定義規(guī)則例:
inta=2,b,c=4;floatdata=3.67;charch=‘A’;
intx=y=z=1;CompanyLogo整型變量占字節(jié)數(shù)隨機(jī)器不同而不同,一般占一個機(jī)器字short≤int≤long可用sizeof(類型標(biāo)識符)測量實(shí)型變量float:占4字節(jié),提供7位有效數(shù)字double:占8字節(jié),提供15~16位有效數(shù)字字符型變量字符變量存放字符ASCII碼char與int數(shù)據(jù)間可進(jìn)行算術(shù)運(yùn)算沒有字符串變量,用字符數(shù)組存放Top6:C語言基本數(shù)據(jù)類型及其定義規(guī)則CompanyLogoTop6:C語言基本數(shù)據(jù)類型及其定義規(guī)則真題分析(2013年3月)BCompanyLogoTop6:C語言基本數(shù)據(jù)類型及其定義規(guī)則真題分析(2013年3月)DCompanyLogoTop6:C語言基本數(shù)據(jù)類型及其定義規(guī)則真題分析(2013年3月)ACompanyLogoTop6:C語言基本數(shù)據(jù)類型及其定義規(guī)則真題分析(2013年3月)ACompanyLogoTop6:C語言基本數(shù)據(jù)類型及其定義規(guī)則真題分析(2013年3月)ACompanyLogoTop6:C語言基本數(shù)據(jù)類型及其定義規(guī)則真題分析(2013年3月)ACompanyLogoTop6:C語言基本數(shù)據(jù)類型及其定義規(guī)則真題分析(2013年3月)DCompanyLogoTop6:C語言基本數(shù)據(jù)類型及其定義規(guī)則真題分析(2013年3月)DTop6:C語言基本數(shù)據(jù)類型及其定義規(guī)則真題分析(2005年9月)以下程序運(yùn)行后的輸出結(jié)果是——
main(){intx=0210;printf("%X\n",x);}0210010八進(jìn)制數(shù)001000000880二進(jìn)制數(shù)88CompanyLogo隱式轉(zhuǎn)換什么情況下發(fā)生運(yùn)算轉(zhuǎn)換-----不同類型數(shù)據(jù)混合運(yùn)算時賦值轉(zhuǎn)換----把一個值賦給與其類型不同的變量時輸出轉(zhuǎn)換------輸出時轉(zhuǎn)換成指定的輸出格式函數(shù)調(diào)用轉(zhuǎn)換------實(shí)參與形參類型不一致時轉(zhuǎn)換運(yùn)算轉(zhuǎn)換規(guī)則:不同類型數(shù)據(jù)運(yùn)算時先自動轉(zhuǎn)換成同一類型Top7:基本數(shù)據(jù)類型間的轉(zhuǎn)換CompanyLogo顯式轉(zhuǎn)換(強(qiáng)制轉(zhuǎn)換)一般形式:(類型名)(表達(dá)式)例(int)(x+y)(int)x+y(double)(3/2)(int)3.6說明:強(qiáng)制轉(zhuǎn)換得到所需類型的中間變量,原變量類型不變Top7:基本數(shù)據(jù)類型間的轉(zhuǎn)換CompanyLogo真題分析(2006年9月)以下選項(xiàng)中值為1的表達(dá)式是——A、1-'0'B、1-'\0'C、'1'-0D、'\0'-'0'Top7:基本數(shù)據(jù)類型間的轉(zhuǎn)換1是整型,’0’、’\0’、’1’都是字符型。‘0’換成整型的ASCII碼值為48,’1’為49‘\0’是轉(zhuǎn)義字符,表示0或空。BCompanyLogoC運(yùn)算符算術(shù)運(yùn)算符:(+-*/%++--)關(guān)系運(yùn)算符:(<<===>>=!=)邏輯運(yùn)算符:(!&&||)位運(yùn)算符:(<<>>~|^&)賦值運(yùn)算符:(=及其擴(kuò)展)條件運(yùn)算符:(?:)逗號運(yùn)算符:(,)指針運(yùn)算符:(*&)求字節(jié)數(shù):(sizeof)強(qiáng)制類型轉(zhuǎn)換:(類型)分量運(yùn)算符:(.->)下標(biāo)運(yùn)算符:([])其它:(()-)Top8:常見算術(shù)運(yùn)算符的使用CompanyLogoTop8:常見算術(shù)運(yùn)算符的使用知識點(diǎn)1、基本的算術(shù)運(yùn)算符有:+、-(減法/取負(fù))
、*、/、%(取余數(shù))2、關(guān)于除法運(yùn)算/C語言規(guī)定:兩個整數(shù)相除,其商為整數(shù),小數(shù)部分被舍棄。例5/2=-5/2.0=例5/2=2
-5/2.0=-2.53、關(guān)于求余數(shù)運(yùn)算%
要求兩側(cè)的操作數(shù)均為整型數(shù)據(jù),否則出錯。例5%2=-5%2=1%10=
5%1=5.5%2例5%2=1
-5%2=-11%10=
1
5%1=
05.5%2()CompanyLogoTop8:常見算術(shù)運(yùn)算符的使用真題分析(2013年3月)ACompanyLogoTop8:常見算術(shù)運(yùn)算符的使用真題分析(2013年3月)DCompanyLogoTop8:常見算術(shù)運(yùn)算符的使用真題分析(2013年3月)D*CompanyLogoTop8:常見算術(shù)運(yùn)算符的使用真題分析(2007年4月)以下選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時,數(shù)為0的表達(dá)式為——A、x%2==1B、x/2C、x%2!=0D、x%2==0D%(求余運(yùn)算符)的兩邊都必須是整型。大于1的奇數(shù)除以2,余數(shù)必為1。表達(dá)式成立時,整個表達(dá)式邏輯值為1表達(dá)式不成立時,整個表達(dá)式邏輯值為0。1、算術(shù)運(yùn)算符的優(yōu)先級()+-
*/
%+-單目雙目高低Top9:算術(shù)運(yùn)算符的優(yōu)先級順序CompanyLogoTop9:算術(shù)運(yùn)算符的優(yōu)先級順序真題分析(2006年4月)表達(dá)式3.6-5/2+1.2+5%2的值是___A、4.3B、4.8C、3.3D、3.83.6-5/2+1.2+5%22①③1.6④2.8②1⑤3.8DCompanyLogo賦值運(yùn)算1賦值符號“=”就是賦值運(yùn)算符,它的作用是將一個表達(dá)式的值賦給一個變量。賦值運(yùn)算符的一般形式為:如果表達(dá)式值的類型,與被賦值變量的類型不一致,但都是數(shù)值型或字符型時,系統(tǒng)自動地將表達(dá)式的值轉(zhuǎn)換成被賦值變量的數(shù)據(jù)類型,然后再賦值給變量.例a=3;d=func();c=d+2;b=a;Top10:賦值表達(dá)式的求值規(guī)則變量=賦值表達(dá)式
CompanyLogo幾點(diǎn)說明:(1)賦值運(yùn)算符的優(yōu)先級只高于逗號運(yùn)算符,比其它的運(yùn)算符優(yōu)先級都低,且具有自右向左的結(jié)合性。 如:a=2+7/3(2)賦值運(yùn)算符左邊只能是變量,不能是常量或是表達(dá)式。如a+b=c就是錯誤的。(3)賦值運(yùn)算符右邊也可以是賦值表達(dá)式。如a=b=7+1,而a=7+1=b則是錯誤的。(4)”=“視作運(yùn)算符,a=19是一個表達(dá)式,C語言規(guī)定最左邊變量中所得到的新值就是賦值表達(dá)式的值。Top10:賦值表達(dá)式的求值規(guī)則CompanyLogo復(fù)合賦值表達(dá)式2復(fù)合賦值運(yùn)算符是由賦值運(yùn)算符之前再加一個雙目運(yùn)算符構(gòu)成的。復(fù)合賦值運(yùn)算的一般格式為:變量雙目運(yùn)算符=表達(dá)式└──┬──┘復(fù)合賦值運(yùn)算符等價于:變量
=變量雙目運(yùn)算符(表達(dá)式)。當(dāng)表達(dá)式為簡單表達(dá)式時,表達(dá)式外的一對圓括號才可缺省,否則可能出錯。例:x+=3x=x+3y*=x+6 y=y*(x+6)Top10:賦值表達(dá)式的求值規(guī)則CompanyLogo思考2:
a=12;a+=a-=a*a思考3:
inta=2;a%=4-1;a+=a*=a-=a*=3;//a=-264等價于a=a+(a=a-(a*a))//a=0等價于a=a+(a=a*(a=a-(a=a*3)))思考1:已有變量a,其值為9,計算表達(dá)式a+=a-=a+a(1)a+a=9+9,表達(dá)式的值為18,但是a的值不變,仍為9(2)a=a-18,表達(dá)式的值為-9,a的值變?yōu)椋?。(3)a=a+a,表達(dá)式的值為-18,a的值為-18Top10:賦值表達(dá)式的求值規(guī)則Top10:賦值表達(dá)式的求值規(guī)則真題分析(2013年3月)BCompanyLogoTop10:賦值表達(dá)式的求值規(guī)則真題分析(2006年4月)以下敘述中錯誤的是——A、C程序中的#include和#define均不是C語句B、除逗號運(yùn)算符外,賦值運(yùn)算符的優(yōu)先級最低C、C程序中,j++;是賦值語句D、C程序中,+、-、*、/、%是算術(shù)運(yùn)算符,可用于整型和實(shí)型數(shù)的運(yùn)算。DCompanyLogoTop10:賦值表達(dá)式的求值規(guī)則真題分析(2005年9月)下列能正確定義且賦初值的語句是——A、int
nl=n2=10;B、charc=32;C、floatf=f+1.1;D、doublex=12.3E2.5;C語言規(guī)定,變量必須先定義,后使用。A、C錯誤。A如果寫成:intn1,n2;對待n1=n2=10;則正確C如果寫成:floatf;f=f+1.1;則正確選項(xiàng)D中,E后面必須為整數(shù),不能是實(shí)數(shù)。BCompanyLogoTop11逗號表達(dá)式的運(yùn)算規(guī)則形式:表達(dá)式1,表達(dá)式2,……表達(dá)式n結(jié)合性:從左向右優(yōu)先級:所有運(yùn)算符中,逗號運(yùn)算符優(yōu)先級最低逗號表達(dá)式的值:等于表達(dá)式n的值用途:常用于循環(huán)for語句中例a=3*5,a*4a=3*5,a*4,a+5例x=(a=3,6*3)x=a=3,6*a//a=15,表達(dá)式值60//a=15,表達(dá)式值20//賦值表達(dá)式,表達(dá)式值18,x=18//逗號表達(dá)式,表達(dá)式值18,x=3CompanyLogoTop11逗號表達(dá)式的運(yùn)算規(guī)則真題分析(2013年3月)CTop11逗號表達(dá)式的運(yùn)算規(guī)則真題分析(2013年3月)DCompanyLogoTop11逗號表達(dá)式的運(yùn)算規(guī)則真題分析(2007年4月)執(zhí)行以下程序后的輸出結(jié)果是——main(){
inta=10;
a=(3*5,a+4);
printf("a=%d\n",a);}
a=(3*5,a+4);①15②10+41414CompanyLogoTop11逗號表達(dá)式的運(yùn)算規(guī)則真題分析(2005年9月)有以下程序,main(){chara1='M',a2='m';printf(“%c\n”,(a1,a2));}則下列說法正確的是——A、程序輸出大寫字母MB、程序輸出小寫字母mC、格式說明符不足,編譯出錯D、程序運(yùn)行時產(chǎn)生出錯信息BCompanyLogoTop12自加、自減運(yùn)算符自加運(yùn)算符++、自減運(yùn)算符--1i++(或i--)表示在使用該表達(dá)式值之后將i值加1(或減1)。++i(或--i)表示在使用該表達(dá)式值之前將i值加1(或減1)CompanyLogo例自增、自減運(yùn)算符的用法與運(yùn)算規(guī)則示例。
main(){inta=100;
printf(“a++=%d\n”,a++);
printf(“++a=%d\n”,++a);
printf(“a--=%d\n”,a--);
printf(“--a=%d\n”,--a);}/*輸出a++=100,a的值變?yōu)?01*/ /*輸出++a=102,a的值變?yōu)?02*/ /*輸出a--=102,a的值變?yōu)?01*/ /*輸出--a=100,a的值變?yōu)?00*/Top12自加、自減運(yùn)算符CompanyLogo考點(diǎn):Top12自加、自減運(yùn)算符1、自增、自減運(yùn)算符只能用于變量,不能用于常量和表達(dá)式。5++、--(a+b)等都是非法的。2、自增、自減運(yùn)算符和其它運(yùn)算符混合使用時,其結(jié)合性為:至右向左。3、自增、自減運(yùn)算符,無論作為前綴(++a,--a)還是后綴(a++,a--)運(yùn)算符,對于變量本身來說自增1或自減1都具有相同的效果,但對表達(dá)式來說卻有著不同的值。Top12自加、自減運(yùn)算符真題分析(2013年3月)CTop12自加、自減運(yùn)算符真題分析(2013年3月)DCompanyLogoTop12自加、自減運(yùn)算符真題分析(2006年9月)有以下程序,程序運(yùn)行后的輸出結(jié)果為——main(){int
x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}A、2,3,3 B、2,3,2C、2,3,1 D、2,2,1CCompanyLogoTop12自加、自減運(yùn)算符真題分析(2005年4月)下列程序的輸出結(jié)果是——main(){intm=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}A、12353514 B、12353513C、12343514 D、12343513ACompanyLogo第3章順序結(jié)構(gòu)Top13:賦值表達(dá)式與賦值語句Top14:數(shù)據(jù)的輸出Top15:數(shù)據(jù)的輸入CompanyLogoTop13:賦值表達(dá)式與賦值語句賦值語句:在賦值表達(dá)式的尾部加上一個“;”, 又稱為表達(dá)式語句。例:a=b+c;--i;i++;a=b=c;a=b,b=c;CompanyLogoTop13:賦值表達(dá)式與賦值語句考點(diǎn)賦值語句必須在最后出現(xiàn)分號,分號是語句中必不可少的部分。任何賦值表達(dá)式都可以加上分號而成為賦值語句,C語言規(guī)定賦值號左邊不能為常量或表達(dá)式。CompanyLogoTop13:賦值表達(dá)式與賦值語句真題分析(2004年4月)若以下選項(xiàng)中的變量已經(jīng)正確定義,則正確的賦值語句是——A、x1=26.8%3;B、1+2=x2;C、x3=0x12;D、x4=1+2=3;CCompanyLogo格式:putchar(c)參數(shù):c為字符常量、變量或表達(dá)式功能:把字符c輸出到顯示器上返值:正常,為顯示的代碼值;出錯,為EOF(-1)字符輸出函數(shù)Top14:數(shù)據(jù)的輸出CompanyLogo#include<stdio.h>main(){intc;chara;c=65;a='B';
putchar(c);putchar('\n');putchar(a);}運(yùn)行結(jié)果:AB例Top14:數(shù)據(jù)的輸出CompanyLogo格式:printf(“格式控制串”,輸出表)功能:按指定格式向顯示器輸出數(shù)據(jù)返值:正常,返回輸出字節(jié)數(shù);出錯,返回EOF(-1)格式輸出函數(shù)輸出表:要輸出的數(shù)據(jù)(可以沒有,多個時以“,”分隔)格式控制串:包含兩種信息格式說明:%[修飾符]格式字符
,用于指定輸出格式普通字符或轉(zhuǎn)義序列:原樣輸出格式字符Top14:數(shù)據(jù)的輸出CompanyLogoTop14:數(shù)據(jù)的輸出d,ix,Xoucse,Efg%%格式字符:十六進(jìn)制無符號整數(shù)不帶符號十進(jìn)制整數(shù)十進(jìn)制整數(shù)指數(shù)形式浮點(diǎn)小數(shù)單一字符字符串八進(jìn)制無符號整數(shù)小數(shù)形式浮點(diǎn)小數(shù)e和f中較短一種百分號本身inta=567;printf(“%d”,a);inta=255;printf(“%x”,a);inta=65;printf(“%o”,a);inta=567;printf(“%u”,a);chara=65;printf(“%c”,a);printf(“%s”,“ABC”);floata=567.789;printf(“%e”,a);floata=567.789;printf(“%f”,a);floata=567.789;printf(“%g”,a);printf(“%%”);567ff101567AABC5.677890e+02567.789000567.789%說明: 格式字符要用小寫格式字符與輸出項(xiàng)個數(shù)應(yīng)相同,按先后順序一一對應(yīng)輸出轉(zhuǎn)換:格式字符與輸出項(xiàng)類型不一致,自動按指定格式輸出CompanyLogo附加格式說明符(修飾符).n對實(shí)數(shù),指定小數(shù)點(diǎn)后位數(shù)(四舍五入)對字符串,指定實(shí)際輸出位數(shù)修飾符功能m輸出數(shù)據(jù)域?qū)?數(shù)據(jù)長度<m,左補(bǔ)空格;否則按實(shí)際輸出輸出數(shù)據(jù)在域內(nèi)左對齊(缺省右對齊)-指定在有符號數(shù)的正數(shù)前顯示正號(+)+輸出數(shù)值時指定左面不使用的空位置自動填00在八進(jìn)制和十六進(jìn)制數(shù)前顯示前導(dǎo)0,0x#在d,o,x,u前,指定輸出精度為long型在e,f,g前,指定輸出精度為double型lTop14:數(shù)據(jù)的輸出CompanyLogoTop14:數(shù)據(jù)的輸出考點(diǎn)格式字符、長度修飾符和附加格式字符以及它們各自的功能。在格式控制字符串中,格式說明與輸出項(xiàng)從左到右在類型上必須一一對應(yīng)匹配。在格式控制串中,格式說明與輸出項(xiàng)的個數(shù)應(yīng)相同,若格式說明明少于輸出項(xiàng),則多余的輸出項(xiàng)不輸出,相反,對于多余的格式將輸出不定值。在格式控制串中,可以包含任意的合法字符(包括轉(zhuǎn)義字符)。CompanyLogoTop14:數(shù)據(jù)的輸出真題分析(2013年3月)ACompanyLogoTop14:數(shù)據(jù)的輸出真題分析(2006年4月)若變量a,b已定義為int
類型并賦值21和55,要求用printf
函數(shù)以a=21,b=55的形式輸出,請寫出完整的的輸出語句______printf(“a=%d,b=%d”,a,b);CompanyLogoTop14:數(shù)據(jù)的輸出真題分析(2004年9月)有以下程序,程序運(yùn)行后的輸出結(jié)果是——main(){intm=0256,n=256;printf(“%o%o\n”,m,n);}A、0256 0400 B、0256 256C、256 400 D、400400CCompanyLogoTop14:數(shù)據(jù)的輸出真題分析(2004年4月)有以下程序,執(zhí)行后的結(jié)果是——main(){intx=102,y=012;printf(“%2d,%2d\n”,x,y);}A、10,01 B、02,12C、102,10 D、02,10C格式控制符%2d中的2表示輸出數(shù)據(jù)的最小寬度為2,如果指定的寬度不夠,并不影響數(shù)據(jù)的完整輸出。CompanyLogo格式:getchar()功能:從鍵盤讀一字符返值:正常,返回讀取的代碼值;出錯,返回EOF(-1)字符輸入函數(shù)例#include<stdio.h>main(){intc;
printf("Enteracharacter:");c=getchar();
printf("%c--->hex%x\n",c,c);}運(yùn)行結(jié)果:Enteracharacter:AA--->hex41Top15數(shù)據(jù)輸入CompanyLogo格式輸入函數(shù)格式:scanf(“格式控制串”,地址表)功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址表指定的存儲單元中,并按回車鍵結(jié)束返值:正常,返回輸入數(shù)據(jù)個數(shù)地址表:變量的地址,常用取地址運(yùn)算符&格式字符:d,i,o,x,u,c,s,f,e例scanf(“%d”,&a);
輸入:10
則a=10例scanf(“%x”,&a);
輸入:11
則a=17Top15數(shù)據(jù)輸入CompanyLogo附加格式說明符(修飾符)l修飾符功能hm*用于d,o,x前,指定輸入為short型整數(shù)用于d,o,x前,指定輸入為long型整數(shù)用于e,f前,指定輸入為double型實(shí)數(shù)指定輸入數(shù)據(jù)寬度,遇空格或不可轉(zhuǎn)換字符則結(jié)束抑制符,指定輸入項(xiàng)讀入后不賦給變量例scanf(“%4d%2d%2d”,&yy,&mm,&dd);
輸入19991015
則1999yy,10mm,15dd例scanf(“%3d%*4d%f”,&k,&f);
輸入12345678765.43
則123k,8765.43f例scanf(“%2d%*3d%2d”,&a,&b);
輸入1234567
則12a,67b例scanf(“%3c%2c”,&c1,&c2);
輸入abcde
則‘a(chǎn)’c1,‘d’c2Top15數(shù)據(jù)輸入CompanyLogo輸入分隔符的指定一般以空格、TAB或回車鍵作為分隔符其它字符做分隔符:格式串中兩個格式符間字符例scanf(“%d%o%x”,&a,&b,&c);
printf(“a=%d,b=%d,c=%d\n”,a,b,c);
輸入123123123
輸出a=123,b=83,c=291例scanf(“%d:%d:%d”,&h,&m,&s);
輸入12:30:45則12h,30m,45s例scanf(“%d,%d”,&a,&b)
輸入3,4
則3a,4b例scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);
輸入a=12,b=24,c=36Top15數(shù)據(jù)輸入CompanyLogo說明:用“%c”格式符時,空格和轉(zhuǎn)義字符作為有效字符輸入如scanf(“%c%c%c”,&c1,&c2,&c3);
若輸入abc
則ac1,
c2,bc3輸入數(shù)據(jù)時,遇以下情況認(rèn)為該數(shù)據(jù)結(jié)束:遇空格、TAB、或回車遇寬度結(jié)束遇非法輸入如scanf(“%d%c%f”,&a,&b,&c);
若輸入1234a123o.26
則1234a,‘a(chǎn)’b,123c輸入函數(shù)留下的“垃圾”:例intx;charch;
scanf(“%d”,&x);
ch=getchar();
printf(“x=%d,ch=%d\n”,x,ch);執(zhí)行:123輸出:x=123,ch=10例intx;charch;
scanf(“%d”,&x);
scanf(“%c”,&ch);
printf(“x=%d,ch=%d\n”,x,ch);執(zhí)行:123輸出:x=123,ch=10解決方法:(1)用getchar()清除(2)用函數(shù)fflush(stdin)清除全部剩余內(nèi)容(3)用格式串中空格或“%*c”來“吃掉”例intx;charch;
scanf(“%d”,&x);
scanf(“%c”,&ch);或scanf(“%*c%c”,&ch);
Top15數(shù)據(jù)輸入CompanyLogoTop15數(shù)據(jù)輸入考點(diǎn)熟知各種格式字符的功能scanf函數(shù)中的輸入項(xiàng)必須是“地址量”輸入數(shù)據(jù)時,各個數(shù)據(jù)間可以用空格符、回車符或Tab鍵作為分隔符除了3中所述分隔符外,還可以自己指定其它字符作為分隔符,但在輸入時應(yīng)輸入與這些字符相同的字符。輸入數(shù)據(jù)時,遇到以下情況時該數(shù)據(jù)被認(rèn)為表示結(jié)束:遇到空格、Tab鍵或回車符按指定的寬度結(jié)束,如”%4d“,只取4列遇到非法輸入。CompanyLogoTop15數(shù)據(jù)輸入真題分析(2013年3月)DCompanyLogoTop15數(shù)據(jù)輸入真題分析(2013年3月)ACompanyLogoTop15數(shù)據(jù)輸入真題分析(2005年4月)下列程序運(yùn)行時若從鍵盤輸入:1020
30<CR>。輸出結(jié)果是——#include<stdio.h>main(){inti=0,j=0,k=0;scanf("%d%*d%d",&i,&j,&k);printf("%d%d%d\n",i,j,k);}10300CompanyLogoTop16復(fù)合語句和空語句C語句控制語句函數(shù)調(diào)用語句表達(dá)式語句空語句9種復(fù)合語句例:printf(“cworld!”);例:a=23;b=a+6;只有一個分號;用{}把一些語句括起來構(gòu)成CompanyLogo復(fù)合語句1用{…}括起來的一組語句一般形式:
{[數(shù)據(jù)說明部分;]
執(zhí)行語句部分;
}說明:“}”后不加分號語法上和單一語句相同復(fù)合語句可嵌套main(){
int
a,b=4;a=3;
printf(“%d”,a);
for(i=1;i<5;i++){b=b+i;printf(“%d\n”,b);}}Top16復(fù)合語句和空語句CompanyLogo空語句2main(){;}Top16復(fù)合語句和空語句CompanyLogoTop16復(fù)合語句和空語句真題分析(2005年9月)以下敘述中錯誤的是——A、C語句必須以分號結(jié)束B、復(fù)合語句在語法上被看作一條語句C、空語句出現(xiàn)在任何位置都不會影響程序運(yùn)行D、賦值表達(dá)式末尾加上分號就構(gòu)成賦值語句CC程序中所有語句都必須以“;”作為結(jié)束,如果只有一個分號,也當(dāng)成一條語句,稱為“空語句”,執(zhí)行時不產(chǎn)生任何動作。程序設(shè)計中有時候需要加一個空語句來表示存在一條語句,但隨意加分號會導(dǎo)致邏輯上的錯誤,影響程序運(yùn)行。CompanyLogo第4章選擇結(jié)構(gòu)Top17:關(guān)系運(yùn)算Top19:條件表達(dá)式及其構(gòu)成的選擇結(jié)構(gòu)Top20:幾類運(yùn)算符的優(yōu)先級Top21:If語句Top22:含else的If語句Top23:嵌套的If語句Top24:switch語句及其與break語句構(gòu)成的選擇結(jié)構(gòu)Top18:邏輯運(yùn)算Top25:語句標(biāo)號和goto語句CompanyLogo
所謂“關(guān)系運(yùn)算”實(shí)際上就是“比較運(yùn)算”,即將兩個數(shù)據(jù)進(jìn)行比較,判定兩個數(shù)據(jù)是否符合給定的關(guān)系。Top17關(guān)系運(yùn)算在C語言中,“等于”關(guān)系運(yùn)算符是雙等號“==”而不是單等號“=”(賦值運(yùn)算符)。注意:<(小于)<=(小于或等于),>(大于),>=(大于或等于),==(等于),!=(不等于)1.關(guān)系運(yùn)算符(6種):CompanyLogo2.優(yōu)先級(2)與其它種類運(yùn)算符的優(yōu)先級關(guān)系關(guān)系運(yùn)算符的優(yōu)先級低于算術(shù)運(yùn)算符但高于賦值運(yùn)算符。Top17關(guān)系運(yùn)算(1)在關(guān)系運(yùn)算符中且前4個高于后2個。前4個優(yōu)先級相同(<、<=、>、>=)后2個也相同(==、!=)CompanyLogoTop17關(guān)系運(yùn)算3.關(guān)系表達(dá)式所謂關(guān)系表達(dá)式是指,用關(guān)系運(yùn)算符將兩個表達(dá)式連接起來,進(jìn)行關(guān)系運(yùn)算的式子。a>ba+b>c-d(a=3)<=(b=5)'a'>='b'(a>b)==(b>c)CompanyLogo例,假設(shè)num1=3,num2=4,num3=5,則:num1<num2<num3=1思考:任意改變num1或num2的值,會影響整個表達(dá)式的值嗎?Top17關(guān)系運(yùn)算注意:由于C語言沒有邏輯型數(shù)據(jù),所以用整數(shù)“1”表示“邏輯真”,用整數(shù)“0”表示“邏輯假”。 關(guān)系表達(dá)式的值是邏輯值。CompanyLogoTop17關(guān)系運(yùn)算注意:應(yīng)避免對實(shí)數(shù)作相等或不等的判斷.注意區(qū)分“=”與“==”例1.0/3.0*3.0==1.0Xfabs(1.0/3.0*3.0-1.0)<1e-6√CompanyLogoTop17關(guān)系運(yùn)算考點(diǎn)6個關(guān)系運(yùn)算符(結(jié)合方向是自左到右)>>=<<==!=在C語言中,關(guān)系表達(dá)式的結(jié)果值為1或0。當(dāng)關(guān)系表達(dá)式成立時,其結(jié)果值為1當(dāng)關(guān)系表達(dá)式不成立時,其值為0。優(yōu)先級低優(yōu)先級高CompanyLogoTop17關(guān)系運(yùn)算真題分析(2013年3月)DCompanyLogoTop17關(guān)系運(yùn)算真題分析(2006年4月)在以下給出的表達(dá)式中,與while(E)中的E不等價的表達(dá)式是——A、(!E==0)B、(E>0)||(E<0)C、(E==0)D、(E!=0)C
while(E)中的E表示條件成立,即E不等于0CompanyLogo邏輯運(yùn)算符種類:!&&||邏輯運(yùn)算真值表Top18邏輯運(yùn)算ab!a!ba&&ba||b真假真假假假真真真假假假假假真真假假真真真假真真關(guān)系表達(dá)式只能描述單一條件,例如“x>=0”如何描述“x>=0”、同時“x<10”CompanyLogo
短路特性:邏輯表達(dá)式求解時,并非所有的邏輯運(yùn)算符都被執(zhí)行,只是在必須執(zhí)行下一個邏輯運(yùn)算符才能求出表達(dá)式的解時,才執(zhí)行該運(yùn)算符a&&b&&c例//只在a為真時,才判別b的值;只在a、b都為真時,才判別c的值a||b||c//只在a為假時,才判別b的值;只在a、b都為假時,才判別c的值例a=1;b=2;c=3;d=4;m=1;n=1;(m=a>b)&&(n=c>d)練習(xí)m=?n=?m=0n=1Top18邏輯運(yùn)算CompanyLogoTop18邏輯運(yùn)算真題分析(2013年3月)ACompanyLogoTop18邏輯運(yùn)算真題分析(2006年9月)以下關(guān)于邏輯運(yùn)算符兩側(cè)運(yùn)算對象的敘述中正確的是——A、只能是整數(shù)0或1B、只能是整數(shù)0或非0整數(shù)C、可以是結(jié)構(gòu)體類型的數(shù)據(jù)D、可以是任意合法的表達(dá)式DCompanyLogoTop18邏輯運(yùn)算真題分析(2006年4月)以下程序用于判斷a、b、c能否構(gòu)成三角形,若能,則輸出YES,否則輸出NO。當(dāng)給a、b、c輸入三角形三條邊長時,確定a、b、c能構(gòu)成三角形的條件是需要同時滿足三個條件:a+b>c,a+c>b,b+c>a。請?zhí)羁?。main(){floata,b,c;scanf(“%f%f%f”,&a,&b,&c);if(_______) printf(“YES\n”);else printf(“NO\n”);}(a+b>c)&&(a+c>b)&&(b+c>a)CompanyLogoTop18邏輯運(yùn)算真題分析(2005年9月)設(shè)有定義:inta=2,b=3,c=4;則以下選項(xiàng)中值為0的表達(dá)式是——A、(!a==1)&&(!b==0)B、(a>b)&&!c||1C、a&&bD、a||(b+b)&&(c-a)A條件運(yùn)算符是C語言提供的唯一的三目運(yùn)算符1、條件表達(dá)式的形式:表達(dá)式1?表達(dá)式2:表達(dá)式3例:若x=50,則y=x>10?100:200的值為多少?例:若x=-5,則abs=x<0?(-1)*x:xTop19條件表達(dá)式及其構(gòu)成的選擇結(jié)構(gòu)?:1005CompanyLogoTop19條件表達(dá)式及其構(gòu)成的選擇結(jié)構(gòu)3、條件表達(dá)式的嵌套:例如:x>0?1:(x<0?-1:0)條件運(yùn)算符是C語言提供的唯一的三目運(yùn)算符?:高于賦值運(yùn)算符,但是低于關(guān)系運(yùn)算符和算術(shù)運(yùn)算符2、條件運(yùn)算符的優(yōu)先級(c>=‘a(chǎn)’&&c<=‘z’)?c-’a’+’A’:cprintf(“a+|b|=%d\n”,b>0?a+b:a-b);求a+|b|將小寫字母轉(zhuǎn)換為大寫字母(x%2==1)?1:0判斷x是否為奇數(shù)CompanyLogoTop19條件表達(dá)式及其構(gòu)成的選擇結(jié)構(gòu)真題分析(2006年9月)以下程序運(yùn)行后的輸出結(jié)果是——main(){int
x,a=1,b=2,c=3,d=4;x=(a<b)?a:b;x=(a<c)?x:c;x=(d>x)?x:d;printf(“%d\n”,x);}x=a=1a<b成立a<c成立x=1d>x成立x=11CompanyLogoTop20幾類運(yùn)算符的優(yōu)先級考點(diǎn) 邏輯運(yùn)算符與條件運(yùn)算符、賦值運(yùn)算符、關(guān)系運(yùn)算符、算術(shù)運(yùn)算符的優(yōu)先級為:邏輯非(!)算術(shù)運(yùn)算關(guān)系運(yùn)算邏輯與(&&)邏輯或(||)條件運(yùn)算符賦值運(yùn)算高低CompanyLogo真題分析(2005年4月)有以下程序,程序運(yùn)行后的輸出結(jié)果是——A、123B、234C、223D、233main(){inti=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf(“%d%d%d\n”,i,j,k)}DTop20幾類運(yùn)算符的優(yōu)先級CompanyLogoTop21If語句if語句(條件選擇語句)exprstatement非0=0例:if(x>y)
printf(“%d”,x);if(expression)statement格式:執(zhí)行過程:CompanyLogoTop21If語句說明:if后面的表達(dá)式類型任意如:if(a==b&&x==y)printf(“a=b,x=y”);if(3)printf(“OK”);
if(‘a(chǎn)’)printf(“%d”,’a’);if(x)if(x!=0)if(!x)
if(x==0)CompanyLogoTop21If語句真題分析(2013年3月)DCompanyLogoTop21If語句真題分析(2013年3月)BCompanyLogoTop21If語句真題分析(2005年9月)當(dāng)把以下四個表達(dá)式用作if語句的控制表達(dá)式時,有一個選項(xiàng)與其他三個選項(xiàng)含義不同,這個選項(xiàng)是——A、k%2B、k%2==1C、(k%2)!=0D、!k%2==1DCompanyLogoif(expression)
statement1else
statement2exprstatement1statement2非0=0例:if(x>y)max=x;elsemax=y;例if(a>b)
printf(“%d”,a);else
printf(“%d”,b);printf(“%d”,a>b?a:b);Top22含else的IF語句格式一:執(zhí)行過程:CompanyLogoTop22含else的IF語句格式二if(expr1)statement1elseif(expr2)statement2elseif(expr3)statement3…...[elsestatementn]執(zhí)行過程:例:expr1statemnt1非0=0expr2expr3statemntnstatemnt3statemnt2非0非0=0=0if(salary>1000)index=0.4;elseif(salary>800)index=0.3;elseif(salary>600)index=0.2;elseif(salary>400)index=0.1;elseindex=0;CompanyLogoTop22含else的IF語句例考慮下面程序的輸出結(jié)果:#include<stdio.h>main(){int
x,y;
scanf(“%d,%d”,&x,&y);
if(x>y)x=y;y=x;elsex++;y++;
printf(“%d,%d\n”,x,y);}CompileError!說明:語句可以是復(fù)合語句CompanyLogoTop22含else的IF語句真題分析(2013年3月)CCompanyLogoTop22含else的IF語句真題分析(2013年3月)DCompanyLogoTop22含else的IF語句真題分析(2007年4月)設(shè)變量x和y均已經(jīng)正確定義并賦值,以下if語句中,在編譯時將產(chǎn)生錯誤信息的是——A、if(x++);B、if(x>0&y!=0);C、if(x>y) x— else y++;D、if(y<0) {;} else x++;CCompanyLogoTop22含else的IF語句真題分析(2005年9月)以下程序運(yùn)行后的輸出結(jié)果是——main(){inta=1,b=2,c=3;if(c=a)printf(“%d\n”,c);else printf(“%d\n”,b);}1CompanyLogoif--else配對原則:缺省{}時,else總是和它上面離它最近的未配對的if配對if(……)if(……)if(……)else…...else…...else…...Top23If語句的嵌套考點(diǎn):CompanyLogo例:if(a==b)
if(b==c)
printf(“a==b==c”);else
printf(“a!=b”);修改:if(a==b)
{
if(b==c)
printf(“a==b==c”);
}else
printf(“a!=b”);實(shí)現(xiàn)if~else正確配對方法:加{}Top23If語句的嵌套CompanyLogoTop23If語句的嵌套真題分析(2006年9月)在嵌套使用if語句時,C語言規(guī)定else總是——A、和之前與其具有相同縮進(jìn)位置的if配對B、和之前與其最近的if配對C、和之前與其最近不帶else的if配對D、和之前的第一個if配對CCompanyLogoTop23If語句的嵌套真題分析(2005年9月)設(shè)變量a,b,c,d和y都已經(jīng)正確定義并已經(jīng)賦值。若有以下if語句,該語句所表示的含義是——if(a<b)if(c==d)y=0;elsey=1;ABDCC
if(c==d)y=0;CompanyLogoTop24switch--break語句構(gòu)成的選擇結(jié)構(gòu)考點(diǎn)switch語句的一般形式switch(表達(dá)式){caseE1:
語句組1;
break;caseE2:
語句組2;
break;…….caseEn:
語句組n;
break;[default:
語句組;break;]}說明①常量表達(dá)式必須是與表達(dá)式對應(yīng)一致的整數(shù)、字符或枚舉常量。各case語句標(biāo)號的值應(yīng)該互不相同。②switch后的表達(dá)式通常為字符型變量,也允許是枚舉型變量,其結(jié)果為相應(yīng)的整數(shù)、字符或枚舉常量。③break語句不是一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 華南志留紀(jì)-泥盆紀(jì)界限海洋化學(xué)條件的變化
- 家私材料企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 黑磷基納米材料化學(xué)制備及其穩(wěn)定性研究
- 水泥刨花板企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 鐵礦石成品礦企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報告
- 2025年無機(jī)礦物填充塑料項(xiàng)目合作計劃書
- 長治市濱河公園景觀微更新設(shè)計研究
- 制劑質(zhì)量控制體系企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 飲用水安全保障企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 肉質(zhì)金腰的化學(xué)成分及其抗IC型肝損傷活性研究
- 《單位內(nèi)個人清繳社保費(fèi)申請表》(填寫樣例)
- T-CAMET 04017.7-2019 城市軌道交通 全自動運(yùn)行系統(tǒng)規(guī)范 第7部分:運(yùn)營管理
- 常用橋牌詞語(中英文對照)
- 小升初、小學(xué)生滿分優(yōu)秀作文匯編100篇
- 次聲波在臨床醫(yī)學(xué)及麻醉中的作用 次聲波在臨床麻醉中的作用
- 中石油HSE培訓(xùn)試題集(共33頁)
- 2022年云南省中考數(shù)學(xué)試題及答案解析
- TS16949五大工具:SPC
- 五年級下冊-綜合實(shí)踐教案
- 貴州出版社小學(xué)五年級下冊綜合實(shí)踐活動教案全冊
- [方案]隱框玻璃幕墻施工方案
評論
0/150
提交評論