國家計算機二級c語言考試復(fù)習(xí)知識點_第1頁
國家計算機二級c語言考試復(fù)習(xí)知識點_第2頁
國家計算機二級c語言考試復(fù)習(xí)知識點_第3頁
國家計算機二級c語言考試復(fù)習(xí)知識點_第4頁
國家計算機二級c語言考試復(fù)習(xí)知識點_第5頁
已閱讀5頁,還剩55頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一章C語言基礎(chǔ)知識

一.全國計算機等級考試問答(NationalComputer

RankExamination)

全國計算機等級考試(簡稱NCRE)是由教育部考試中心舉辦,用于測試應(yīng)試

人員計算機應(yīng)用知識與能力的等級水平考試。隨著計算機技術(shù)在我國各個領(lǐng)域

的推廣、普及,越來越多的人開始學(xué)習(xí)計算機知識,許多用人部門已將具有一

定的計算機知識與能力作為考核和錄用工作人員的標(biāo)準(zhǔn)之一。因此,教育部決

定舉辦全國計算機等級考試,其目的在于推進計算機知識的普及,促進計算機

技術(shù)的推廣應(yīng)用,以適應(yīng)社會主義經(jīng)濟建設(shè)的需要,為用人部門錄用和考核工

作人員服務(wù)。目前,全國計算機等級考試正日趨成為繼高考后全國第二大考試,

尤其是計算機二級證書是計算機等級考試證書中用得最廣泛的證書,它已和英

語四六級一樣成為社會用人單位對大學(xué)生的必備要求之一。

(一)考試性質(zhì)和目的

1、什么是全國計算機等級考試?

全國計算機等級考試(NationalComputerRankExamination,簡稱NCRE),

是經(jīng)原國家教育委員會(現(xiàn)教育部)批準(zhǔn),由教育部考試中心主辦,面向社會,

用于考查應(yīng)試人員計算機應(yīng)用知識與能力的全國性計算機水平考試體系。

2、為什么要舉辦NCRE?

計算機技術(shù)的應(yīng)用在我國各個領(lǐng)域發(fā)展迅速,為了適應(yīng)知識經(jīng)濟和信息產(chǎn)業(yè)發(fā)

展的需要,操作和應(yīng)用計算機已成為人們必須掌握的一種基本技能。許多單位

部門已把掌握一定的計算機知識和應(yīng)用技能作為干部錄用、職務(wù)晉升、職稱評

定、上崗資格的重要依據(jù)之一。鑒于社會的客觀需求,經(jīng)原國家教委批準(zhǔn),原

國家教委考試中心于1994年面向社會推出了NCRE,其目的在于以考促學(xué),向

社會推廣和普及計算機知識,也為用人部門錄用和考核工作人員時提供一個統(tǒng)

一、客觀、公正的標(biāo)準(zhǔn)。

(二)報考條件與報考對象

1、誰可以報名參加考試?

考生不受年齡、職業(yè)、學(xué)歷等背景的限制,任何人均可根據(jù)自己學(xué)習(xí)和使用計

算機的實際情況,選考不同等級的考試。考生一次只能報考一個等級(含筆試

和上機考試)的考試。如果一個級別中有不同類別,考生只能選擇其中一類。

考生一次考試只能在一個考點報名。考生可以不參加考前培訓(xùn),直接報名參加

考試。

(三)報名及考試時間安排

1、NCRE采取什么考試形式?考試時間如何規(guī)定?

考試采用由全國統(tǒng)一命題,統(tǒng)一考試時間,紙筆考試和上機操作考試相結(jié)合的

形式。紙筆考試中題型以選擇題、填空題為主,其中四級含有論述題。紙筆考

試時間:二級C90分鐘、三級、四級為120分鐘(四級只考筆試)。上機操作考

試時間:二級C90分鐘、三級60分鐘,一級實行無紙化的上機考試,時間為90

分鐘。

2、NCRE每年考幾次?各次考試是什么日期?

NCRE每年開考兩次,上半年開考一、二、三級,下半年開考一、二、三、四

級。上半年考試時間為4月第二個星期六上午(筆試),下半年考試時間為9月

倒數(shù)第二個星期六上午(筆試),上機考試從筆試的當(dāng)天下午開始。上機考試期

限為五天,由考點根據(jù)考生數(shù)量和設(shè)備情況具體安排。

3、如何報名?筆試和上機成績只有單項合格有何規(guī)定?

每次考試報名的具體時間由各省(自治區(qū)、直轄市)級承辦機構(gòu)規(guī)定。考生按

照有關(guān)規(guī)定到就近考點報名。

考生可攜帶身份證到就近考點報名。沒有身份證的未成年人,可憑戶口本,現(xiàn)

役軍人憑軍人身份證件報名。

上次考試的筆試和上機考試僅其中一項成績合格的,下次考試報名時應(yīng)出具上

次考試成績單,成績合格項可以免考,只參加未通過項的考試。(五)考生報名

繳費

(四)考試等級劃分

1、NCRE等級如何構(gòu)成?主要考核什么能力?

全國計算機等級考試目前共設(shè)置四個等級:

一級:考核微型計算機基礎(chǔ)知識和使用辦公軟件及因特網(wǎng)(Internet)的基本技

能。

2008年下半年考試科目:一級MS-OFFICE、一級WPS、一級B

二級:考核計算機基礎(chǔ)知識和使用一種高級計算機語言或數(shù)據(jù)庫管理軟件編寫

程序以及上機調(diào)試的基本技能。2005年下半年考試科目:編程類:C、Visual

Basic、C++、Java,數(shù)據(jù)庫類:FoxPro、Accesso基礎(chǔ)知識包括如下內(nèi)容:數(shù)

據(jù)結(jié)構(gòu)與算法、程序設(shè)計方法、軟件工程、數(shù)據(jù)庫基礎(chǔ)、新增的考試科目:二

級Delphi語言程序設(shè)計(VF,VB將近年停考)。

三級:分為“PC技術(shù)”、“信息管理技術(shù)”、〃數(shù)據(jù)庫技術(shù)“和”網(wǎng)絡(luò)技術(shù)〃四個類

別。"PC技術(shù)”考核PC機硬件組成和Windows操作系統(tǒng)的基礎(chǔ)知識以及PC機

使用、管理、維護和應(yīng)用開發(fā)的基本技能;〃信息管理技術(shù)”考核計算機信息管

理應(yīng)用基礎(chǔ)知識及管理信息系統(tǒng)項目和辦公自動化系統(tǒng)項目開發(fā)、維護的基本

技能;〃數(shù)據(jù)庫技術(shù)〃考核數(shù)據(jù)庫系統(tǒng)基礎(chǔ)知識及數(shù)據(jù)庫應(yīng)用系統(tǒng)項目開發(fā)和維

護的基本技能;〃網(wǎng)絡(luò)技術(shù)”考核計算機網(wǎng)絡(luò)基礎(chǔ)知識及計算機網(wǎng)絡(luò)應(yīng)用系統(tǒng)開

發(fā)和管理的基本技能。

四級:四級網(wǎng)絡(luò)工程師、四級數(shù)據(jù)庫工程師和四級軟件測試工程師、考核計算

機專業(yè)基本知識以及計算機應(yīng)用項目的分析設(shè)計、組織實施的基本技能。

2、是否必須通過第一(二、三)級,才能報考第二(三、四)級考試?

沒有規(guī)定考生必須通過第一(二、三)級才能報考第二(三、四)級,考生可根據(jù)自己

的實際情況選考不同的等級,但一次考試只能報考一個等級。考生一次考試只能在一個考

點報名。

(五)考試成績的計算

1、如何計算成績?是否有合格證書?

該考試筆試、上機考試實行百分制計分,筆試以百分制通知考生,上機以等級

分?jǐn)?shù)通知考生成績。等級分?jǐn)?shù)分為“不及格”、“及格“、“良好”、〃優(yōu)秀〃四等。

100-90分為〃優(yōu)秀〃,89-80分為〃良好〃,79-60分為〃及格〃,59-0分為〃不及格〃。

筆試和上機考試成績均在〃及格〃以上者,由教育部考試中心發(fā)合格證書。筆試

和上機考試成績均為〃優(yōu)秀〃的,合格證書上會注明〃優(yōu)秀〃字樣,證書上沒有良

好,按及格對待。

(六)證書獲得者應(yīng)具備的能力

1、證書獲得者具備什么樣的能力?可以勝任什么工作?

一級證書表明持有人具有計算機的基礎(chǔ)知識和初步應(yīng)用能力,掌握字、表處理、

電子表格和演示文稿等辦公自動化(Office或WPS)軟件的使用及因特網(wǎng)

(Internet)應(yīng)用的基本技能,具備從事機關(guān)、企事業(yè)單位文秘和辦公信息計算

機化工作的能力。

二級證書表明持有人具有計算機基礎(chǔ)知識和基本應(yīng)用能力,能夠使用計算機高

級語言編寫程序和調(diào)試程序,可以從事計算機程序的編制工作、初級計算機教

學(xué)培訓(xùn)工作以及計算機企業(yè)的業(yè)務(wù)和營銷工作。

二、新視野教育計算機等級考試培訓(xùn)班問答

1、全國計算機等級考試證書有有效期嗎?

絕對沒有,等級考試證書是終身有效的,詳情可以訪問等級考試官方網(wǎng)站

(www.ncre.cn或www.neea.edu.cn)0

(全國計算機等級考試教育部考試中心官方網(wǎng)站的回答原話是:“等級考試的證

書是終身有效的,等級考試的大綱會在每2-3年更新一次,但更新并不影響以前

證書的效力,因此有些人的‘等級考試證書2年左右就會失效'的說法是不正

確的。

2、我沒有參加一級考試,能參加二級考試嗎?

全國計算機等級考試分為一至四級,考生可以任意選擇考試等級,不是非要先

考一級再考二級。一股來說,一級主要適合社會在職人員考試,二級適合在校

大學(xué)生考試,二級對大學(xué)生找工作也是最有用的。三級和四級可以作為進一步

學(xué)習(xí)的考試。

3、有的專業(yè)會開設(shè)相關(guān)課程,有必要參加培訓(xùn)嗎?

二級考試所考核的內(nèi)容基本屬于基礎(chǔ)知識,早點學(xué)習(xí)可以早點打牢基礎(chǔ),以便

于進一步學(xué)習(xí)計算機知識,從而在以后的競爭中處于有利地位。學(xué)校雖然有些

專業(yè)的相關(guān)課程和計算機等級考試有一定的聯(lián)系,但都不具有針對性。而且新

大綱推出后,不少內(nèi)容只有計算機專業(yè)才開設(shè)有關(guān)聯(lián)的課程,但也不具備針對

性。新大綱推出后等級考試通過率再創(chuàng)新低,參加專業(yè)培訓(xùn)勢在必行。

4、什么時候參加二級考試比較合算?

一般來說,大一大二時學(xué)習(xí)和通過計算機二級考試比較劃算。大二時主要精力

用來考英語四六級,大三時專業(yè)課比較緊張,大四已經(jīng)到了找工作的時候。相

對來說,大一同學(xué)求知欲強、時間精力充沛、易于接受新東西,是學(xué)習(xí)的黃金

時段,如果能較早的掌握必備的計算機知識,如大一就過國家二級,并掌握一

些相關(guān)應(yīng)用知識,這樣就在競爭激烈且殘酷的當(dāng)今社會占盡先機,無疑在今后

的學(xué)習(xí)中將以更為輕松的心態(tài),更為充沛的精力從事于你所鐘愛的事業(yè)中。

5、二級考試可以有多種語言選擇,為什么要選擇C語言呢?

C語言被譽為最有“錢”途的語言,具有廣泛的用途,受到社會的熱烈追捧,如

Linux、Unix操作系統(tǒng)均由C語言編寫,Windows操作系統(tǒng)也有90研勺代碼由

C語言編寫。C語言語法和C++、Java、C#等類似,可以方便進一步學(xué)習(xí)。在

許多計算機考試中,C語言是必考內(nèi)容,甚至是唯一考核內(nèi)容,如計算機三級、

四級的上機考核部分,程序員、高級程序員的下午試卷等。

6、二級考試什么時候報名?什么時候參加考試?

二級考試每年考兩次,分別在上半年的4月份順數(shù)第二個周六和下半年的9月

份倒數(shù)第二個周六。一般上半年4月份考試的報名時間從前一年11月中旬到第

二年1月中旬均可。下半年9月份考試的報名時間一般從5月底到7月底。而

?般在報名考試之前相關(guān)知識必須已經(jīng)學(xué)得差不多了,因此,如果參加4月份

的考試必須在下半年107月份學(xué)習(xí),然后在寒假之后考前短暫的時間進行適

當(dāng)強化即可參加考試。參加9月份的考試必須在上半年3-6月份學(xué)習(xí),然后在

暑假之后考前短暫的時間進行適當(dāng)強化即可參加考試。

7、參加培訓(xùn)是否會影響到我們的正常上課?

我們的授課時間均選在業(yè)余時間,不會與學(xué)校的正常教學(xué)產(chǎn)生沖突。

8、二級(C語言)考試的考試內(nèi)容是什么?

根據(jù)新大綱的要求,二級(C語言)考試分為理論考試和上機考試兩部分,必須

都通過考試才能算合格。考試內(nèi)容分為C語言程序設(shè)計(順序結(jié)構(gòu)、選擇結(jié)構(gòu)、

循環(huán)結(jié)構(gòu)、函數(shù)、指針、數(shù)組、字符串、編譯預(yù)處理、作用域、結(jié)構(gòu)體、共用

體、文件等)和公共基礎(chǔ)(數(shù)據(jù)結(jié)構(gòu)、程序設(shè)計、軟件工程和數(shù)據(jù)庫)。

9、新視野IT培訓(xùn)有何特色?

本中心和很多高校的網(wǎng)絡(luò)中心、計算機學(xué)院、現(xiàn)代教育中心有合作關(guān)系,立足

于在校大學(xué)生,彌補學(xué)校教育的不足,相輔相成。除主要培訓(xùn)最有“錢”途的

語言--C語言外,還注重引導(dǎo)學(xué)員,并向?qū)W員介紹國內(nèi)外IT業(yè)發(fā)展的各種動

態(tài)和發(fā)展趨勢、社會上對IT人才各種需求信息等,力爭讓學(xué)員經(jīng)過培訓(xùn)后有明

確的學(xué)習(xí)目標(biāo),并掌握一套行之有效的方法,能舉一反三,獨立的走自己的道

路。

10、我沒有計算機基礎(chǔ),可以參加培訓(xùn)嗎?

可以,無需任何基礎(chǔ)知識,完全從零開始,即使從來沒有接觸過計算機,也能

夠?qū)W好!

11、大幾參加培訓(xùn)比較好?

一般大學(xué)的規(guī)劃是:“大一通過計算機二級、大二通過英語四六級、大三專業(yè)課

及考研、大四找工作及實踐”,因此,一般大一最好,尤其是如果大一上學(xué)期參

加學(xué)習(xí)準(zhǔn)備考試,那么下學(xué)期4月份就可以參加考試了,如果大一下學(xué)期準(zhǔn)備

考試的話,那么要等到大二9月份才能考試,而大二已經(jīng)開始準(zhǔn)備英語四六級

等其他事宜了。所以大一上學(xué)期學(xué)習(xí)等級考試最好,而且剛進大學(xué),時間精力

充沛,進取心強,是學(xué)習(xí)的黃金時段。

二.教學(xué)重點,難點分析

1.C語言概述

知識點所占分值考核幾率專家點評

C語言概述0T分20%簡單識記

C語言程序的構(gòu)成0T分30%簡單識記

標(biāo)識符1-2分60%簡單,屬重點識記知識點

常量1-2分80%簡單,屬重點識記知識點

變量2-3分100%難度適中,重點理解重點掌握

注意:從幾年的試題分析看C語言的概述和程序的構(gòu)成合起來考試已經(jīng)

是一個慣例了。

2.運算符與表達式

知識點所占分考核幾率專家點評

C運算符簡介0-1分10%簡單識記

運算符的結(jié)合和優(yōu)先級0-1分60%簡單識記

強制類型轉(zhuǎn)換運算符0T分30%簡單識記

逗號運算符和逗號表達式0-1分40%簡單,屬重點識記知識點

基本的算術(shù)運算符1-2分100%簡單,屬重點識記知識點

算術(shù)表達式和運算符的「2分100%難度適中,重點理解重點掌握

優(yōu)先級與結(jié)合、自增自減運算符2-3分100%難度適中,重點理解重點掌握

賦值運算符和賦值表達式2-4分100%簡單,重點掌握重點理解

復(fù)合的賦值運算符1-2分80%偏難,不是重點

賦值運算中的類型轉(zhuǎn)換07分75%偏難,不是重點

位運算符和位運算0T分80%偏難,屬重點識記知識點

三.教學(xué)講點

1.C語言的基本構(gòu)成和格式

#includeMstdio.hM

main()

inta,b,sun;/*定義變量*/

a=10;/*把整數(shù)10賦值給變量a*l

b=20;/*把整數(shù)20賦值給變量b*l

sum=a+b;/*把兩數(shù)之和賦值給變量sum*/

printf("a=%d,b=%d,sunF%d\n”,a,b,sum);/*輸出計算結(jié)果*1

(D.c程序由函數(shù)組成,一個程序必須且只能有一個主函數(shù)(main。),C程序總是

從主函數(shù)開始執(zhí)行,在主函數(shù)中結(jié)束。

(2).定義函數(shù)時函數(shù)名后必須有一對小括號,函數(shù)體必須放在一對花括號內(nèi),在

函數(shù)體中,函數(shù)體有兩個部分:定義部分和執(zhí)行部分。定義語句必須出現(xiàn)在執(zhí)

行語句之前,我們先定義了a,b,sum,然后才給它們賦值。

(3).C語言中每條語句都以分號結(jié)束,分號時C語句的一部分。即使是程

序的最后一個語句也不例外。分號是語句結(jié)束的標(biāo)志。

(4).一行可以寫多條語句,一條語句也可以分在多行上寫,但是,不能將一個整

體分開。

例如:int是錯誤的,而int正確。

⑸.C語言的注釋必須放在“/*”和“*1”之間,和“*”之間不允許有空格。

“/*”和“*/”之間不允許再插入“/*”或“*/"。注釋可以出現(xiàn)在程序中的任意

位置。注釋部分不被執(zhí)行。

(6).C語言程序書寫格式自由,語句可以從任一列開始書寫,一行內(nèi)可

以寫多個語句。但是過于“自由”的程序書寫格式往往使人們很難讀懂

程序,初學(xué)者應(yīng)該從一開始就養(yǎng)成好的習(xí)慣,是程序便于閱讀。

2.標(biāo)識符

(1)標(biāo)識符只能由字母、數(shù)字和下劃線組成。

⑵標(biāo)識符的第一個字符必須是字母或下劃線。

(3)標(biāo)識符的大小寫字母是有區(qū)別的,如abc和ABC是兩個完全不

同的標(biāo)識符。

⑶標(biāo)識符的分類:

關(guān)鍵字:關(guān)鍵字是具有特定的含義的、專門用來說明C語言特定成分的

一類標(biāo)識符。詳細的查閱附錄二。

預(yù)定義標(biāo)識符:在c語言中它也有特定的含義。預(yù)定義標(biāo)識符可

以用位“用戶表標(biāo)識符”使用,只是這將使這些標(biāo)識符失去了原

來的意義。

用戶標(biāo)識符:由用戶根據(jù)需要定義的標(biāo)識符被成為用戶標(biāo)識符。

用戶標(biāo)示符用來給變量、函數(shù)、數(shù)組或者指針等命名。

3.C語言的數(shù)據(jù)類型

3.1數(shù)據(jù)可以分為常量和變量。常量是指在程序執(zhí)行中不變的量,常量

分為:整型常數(shù)、實型常數(shù)、字符常量、字符串常量。

整型數(shù)據(jù):

進制間的轉(zhuǎn)換

3.11.二、八、十六進制轉(zhuǎn)為十進制

規(guī)則:“蝴相加”

3.12十進制轉(zhuǎn)為二、八、十六進制

規(guī)則:

整數(shù)部分:舞滁取余,逆序排列

小數(shù)部分:基數(shù)乘取整,順序排列

3.13.二進制轉(zhuǎn)為八、■hFtt制

規(guī)則:三(四)合一,按序相拼(整數(shù)部分,從右向左取,小數(shù)部分從左向右

取,位數(shù)不足補零)。

3.14八、十六進制轉(zhuǎn)為二進制

規(guī)則:一分三(四),按序相拼

3.2整型數(shù)據(jù)在內(nèi)存中的存放形式

1字節(jié)=8位,lByte=8bit

字長:指CPU能同時處理的二進制位數(shù)。由CPU的型號而定。如:16位微機

的字長就是16位或2字節(jié)。

1GB=1O24MB,1MB=1O24KB,1KB=1O24B

B:表示字節(jié),字節(jié)是表示存儲容量的最小單位。位(bit):是計算機中信息表示

的最小單位。

3.21.正整數(shù)在內(nèi)存中用“原碼”形式存放。(直接轉(zhuǎn)換為二進制即可)。

如:5

()()000000000()0101

一字節(jié)能存放的最大數(shù)是:32767

011111111111

對帶符號數(shù),最高位是符號位,用0表示正,用1表示負(fù)。

3.22.負(fù)整數(shù)在內(nèi)存中用“補碼”形式存放。

取補碼的步驟:

⑴忽略負(fù)號,求出原碼。

(2)將原碼按位取反(。、1互換)。

⑶在第二步的基礎(chǔ)上加1。

如:取-5的補碼。

(1)

0000000000000101

I111I1111山I111I1111111111ol11

(3)

1111111111111011

將補碼轉(zhuǎn)換成相應(yīng)的整數(shù)的步驟:

⑴將補碼按位取反加1。

⑵將步驟1得到的二進制數(shù)轉(zhuǎn)換成十進制數(shù),然后加上負(fù)號即可。

例如:

1000000000000000

按位取反力I1

0111111111111111

1000000000000000

轉(zhuǎn)換成十進制:1X215_32768

加負(fù)號:T2768

幾個特殊的帶符號整數(shù):

1000000000000000-32768

011111111111111132767

1111111111111111-1

3.23.無符號整數(shù):只有正整數(shù),沒有負(fù)整數(shù),最高位不表示符號位,每一位均

參與轉(zhuǎn)換。

二進制帶符號整數(shù)無符號整數(shù)

1111111111111111-165535

1000000000000000-3276832768

例2T2:若有:inta=-l;unsignedb=65535很!I

printf(“%d,%u,%d,%u”,a,a,b,b);輸出結(jié)果是:T,65535,-1,65535

數(shù)據(jù)益出問題:

例2T3:若有inta=32767;則a=a+1的結(jié)果是:

-32768

例2T4:若有unsignedb=65536;則b的值是:0

分析:32767:01111111111111111

+1

100000000000000

將100000000000000按照帶符號數(shù)轉(zhuǎn)為十進制為-32768

65535:1111111111111111

+1

1111111111111111

+1

10000000000000000

65536

unsignedb=655536;而b屬于無符號整型,在內(nèi)存中只占兩字節(jié),所以

只能包括16位。

標(biāo)準(zhǔn)C沒有具體要求規(guī)定各類型數(shù)據(jù)所占內(nèi)存的字節(jié)數(shù),現(xiàn)以這次考試標(biāo)

準(zhǔn)viusalc+^.0為例,說明各類型變量所占的位數(shù)。

類型所占位所占字類型所占位所占字節(jié)

數(shù)節(jié)數(shù)數(shù)數(shù)

short162unsignedint324

int324unsignedlong324

long324float324

unsignedshort162double648

3.3實型數(shù)據(jù)(浮點數(shù))

3.31.實型常量

(1)小數(shù)形式:由數(shù)字和小數(shù)點組成,必須有小數(shù)點,小數(shù)點的某一側(cè)可以沒有

數(shù)字。如:.23,123.876,123.

⑵指數(shù)形式:用“e”或“E”后接一個整數(shù),表示以10為底的幕數(shù)。

注意:“e”或"E”之前之后必須有數(shù)字,且之后的數(shù)字必須是整數(shù)。他們和

前后的數(shù)字之間不能有空格。

例如:

例2-15:下列合法的常量是0。

A.-32169B.O128C.0XDEFGD.13E0.5

例2-16:下列合法的實型常量是()。

(A)OXff(B)124E(O1.23E5.0(D)3.E2(E)1.25E+2(F).23e+02

3.32.實型變量

單精度型float占4字節(jié)

雙精度型double占8字節(jié)

長雙精度longdouble占16字節(jié)(較少用)

4.表達式與運算符

4.1算術(shù)運算符及其表達式:+-*/%

%:(求余運算)

注意:

(1)%而邊必須是整型數(shù)據(jù)。12.0%3表達式是錯誤的。

(2)求余(%)的方法是:忽略符號,求出余數(shù),再將所得余數(shù)的符號定為與被

除數(shù)相同。

例如:17%3結(jié)果是:2

17%-3結(jié)果是;2,-17%3結(jié)果是;-2,-17%-3結(jié)果是;-2

4.2強制類型轉(zhuǎn)換

強制類型表達式:(類型名)表達式

注意:類型名(表達式)這種形式是C++的強制類型表達方式。

5.賦值運算符及其表達式

5.1.賦值運算符二

格式:變量名二表達式

功能:將表達式的值賦給左邊的變量。

注:

⑴賦值運算符左邊只能是一個變量,不能是常量,也不能是表達式。

a+b=34=3是非法的表達式

a=6a+(b=3)都是合法的表達式

a=b=20a=(b=10)/(c=2)都是合法的表達式

(2)實型數(shù)據(jù)賦給整型變量時,小數(shù)部分被舍去,整型數(shù)據(jù)賦給實型變量時,系

統(tǒng)自動將整型數(shù)據(jù)轉(zhuǎn)換為實型數(shù)據(jù)。

例如:floata;intb;

表達式a=10%3的值是LO

表達式b=a=10%3的值是1

5.2.復(fù)合賦值運算符及其表達式:+=-=*二/二%二&二?=

例如:a+=3相當(dāng)于a=a+3,a/=b+4相當(dāng)a/=(b+4)或a=a/(b+4)

例:若a=12,則執(zhí)行表達式a+二a-=a+a后a的值是多少?

分析:a+=a-=(a+a)/*a的值是12*/

a+=a-=24/*a的值是12*/

a+=a=a-24/*a的值是12*

a+=a=-12/*a的值是12*

a+=-12/*a的值是-12*/

a=a+(-12)/*a的值是T2*/

a=-24/*a的值是-24*/

5.3.自增、自減運算符及其表達式

++

注意:

⑴只能用于變量,不能用于常量和表達式。

如:6++(a+b)—都是錯誤的。

⑵當(dāng)它們用于變量名前時,表達式的值為變量的值加一或減一。當(dāng)位于變量名

后時,表達式的值為變量原來的值。不論位于變量名前還是變量名后,只要進

行了白增、自減運算,變量的值都會在原來的基礎(chǔ)上加1或減1。

如I:a=3則a++表達式的值是3運算之后變量的值是4

a=3貝懺+a表達式的值是4之后變量的值是4

a=3則a-表達式的值是3之后變量的值是2

a=3則-a表達式的值是2之后變量的值是2

⑶口訣:

尸iH;這個表達式是先引用后增值。即:先把i的初始值給變量工然后i再

自加1。

j*i;這歌表達式是先增值后引用。即:i先自加L然后再將我們自加后的

值賦值給變量jo

但是記住它們是一起執(zhí)行的,就是說:例如產(chǎn)i++先引用后增值實際上是一

起執(zhí)行的,它們之間不存在先后關(guān)系,我們只是位了好記才用到了上面的方法。

老師在上課的時候先不要說,但是你們必須知道。j=i-j—i和上面j=i++,j*i

的方法是一樣。

5.4逗號運算符及其表達式

1.格式:表達式1,表達式2,…,表達式n

注意:1.逗號表達式的值是整個逗號表達式中最后一個表達式的值。

2.求值順序是從左到右依次求解。

例如:a=(3,b=l)的值是1運算結(jié)束后a的值是1,b的值是1。

四.相關(guān)試題

1.2008年4月相關(guān)試題

(11)以下敘述中正確的是

A)C程序中的注釋只能出現(xiàn)在程序的開始位置和語句的后面

B)C程序書寫格式嚴(yán)格,要求一行內(nèi)只能寫一個語句

C)C程序書寫格式自由,一個語句可以寫在多行上

D)用C語言編寫的程序只能放在一個程序文件中

(12)以下選項中不合法的標(biāo)識符是

A)printB)FORC)&aD)_00

(13)以下選項中不屬于字符常量的是

A)'C'B)HCnC),xCCO'D)'\072'

(14)設(shè)變量已正確定義并賦值,以下正確的表達式是

A)x=y*5=x+zB)int(15.8%5)

C)x=y+z+5,++yD)x=25%5.0

填空⑺設(shè)變量已正確定義為整型,則表達式n=i=2,++i,i++的值為【7】。

2.2007年9月相關(guān)試題

(1DC語言源程序名的后綴是

A).exeB).CC),objD).cp

(12)可在C程序中用作用戶標(biāo)識符的一組標(biāo)識符是

A)andB)DateC)HiD)case

2007y-m-dDr.TomBigl

(13)以下選項中,合法的一組C語言數(shù)值常量是

A)028B)12.0.177D)0x8A

?5e-30Xa234el.510,000

-Oxf4.5e0Oabc3.e5

(14)以下敘述中正確的是

A)C語言程序?qū)脑闯绦蛑械谝粋€函數(shù)開始執(zhí)行

B)可以在程序中由用戶指定任意一個函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)

OC語言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行,在此結(jié)

D)main可作為用戶標(biāo)識符,用以命名任意一個函數(shù)作為主函數(shù)

(16)以下關(guān)于long、int和short類型數(shù)據(jù)占用內(nèi)存人小的敘述中正確的是

A)均占4個字節(jié)B)根據(jù)數(shù)據(jù)的大小來決定所占內(nèi)存的

字節(jié)數(shù)

0由用戶自己定義D)由C語言編譯系統(tǒng)決定

(17若變/到已正確定義并賦值,以下合法的C語言賦值語句是

Ax=y==5;Bx=n%25;C、+n=i,DY=S=4+1;

3.2007年4月相關(guān)考題

(12)下列敘述中錯誤的是(D)

A)計算機不能直接執(zhí)行用C語言編寫的源程序

B)C程序經(jīng)C編譯程序編譯后,生成后綴為.obj的文件是一個二進制文件

0后綴為.obj的文件,經(jīng)連接程序生成后綴為.exe的文件是一個二進制文件

D)后綴為.obj和.exe的二進制文件都可以直接運行

(13)按照C語言規(guī)定的用戶標(biāo)識符命名規(guī)則,不能出現(xiàn)在標(biāo)識符中的是(B)

A)大寫字母B)連接符C)數(shù)字字符D)下劃線

(14)以下敘述中錯誤的是(C)

A)C語言是一種結(jié)構(gòu)化程序設(shè)計語言

B)結(jié)構(gòu)化程序有順序、分支、循環(huán)三種基本結(jié)構(gòu)組成

0使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡單問題

D)結(jié)構(gòu)化程序設(shè)計提倡模塊化的設(shè)計方法

(15)對于一個正常運行的C程序,以下敘述中正確的是(A)

A)程序的執(zhí)行總是從main函數(shù)開始,在main函數(shù)結(jié)束

B)程序的執(zhí)行總是從程序的第一個函數(shù)開始,在main函數(shù)結(jié)束

C)程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束

D)程序的執(zhí)行總是從程序的第一個函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束

(19)有以下程序,其中加表示按無符號整數(shù)輸出(B)

main()

{unsignedintx=0xFFFF;/*x的初值為十六進制數(shù)*1

printfCt%u\n,,,x);

}/*注意:x是占兩個字節(jié)*/

程序運行后的輸出結(jié)果是

A)-lB)65535C)32767D)0xFFFF

第二章順序結(jié)構(gòu)

一.教學(xué)重點、難點

知識點所占分考核幾率專家點評

C語句分類0-130%簡單識記

字符輸出函數(shù)putcharO1-270%難度適中,重點掌握

字符輸入函數(shù)getchar()1-270%難度適中,重點掌握

格式輸入函數(shù)printf()3-4100%難度適中,重點理解重點掌

格式輸出函數(shù)scanf()3-4100%難度適中,重點理解重點掌

二.教學(xué)內(nèi)容

1.捌

C語句共分為5類:

1.1控制語句

1.2函數(shù)調(diào)用語句:

printf(uthisisacstatement");

1.3表達式語句

卑言解的表達式后加上分號(;)就構(gòu)成了表達式語句。

語句和表達式的區(qū)別:

表達式有唯一確定的值,而語句沒有值。

1.4賦值語句

格式:賦值表達式;

i=l,j=2是逗號表達式

i=l;j=2;是兩條賦值語句

i++;i-;++i;—i;都是賦值語句

等價于i=i+1;或i=iT;

1.5空語句:只有一個單獨的分號構(gòu)成的語句。如:;就是一條空語句。

1.6復(fù)合語句:用一對{}將若干語句括起來構(gòu)成一條復(fù)合語句。

2.輸入輸出語句

在使用庫函數(shù)時必須先用預(yù)編譯命令#include(頭文件名》或#include"頭文件

名”將相應(yīng)的頭文件包含到源程序中。

如:#include<stdio.h>

2.l.printf()函數(shù)

格夫:printf(“格式控制”,輸出列表);

功能:按格式控制指定的格式輸出數(shù)據(jù)。

注意:格式控制包括以外開頭的“格式說明符”和原樣輸出的普通字符。

如:printf("a=%d,a+b=%d”,30,4+7);

輸出結(jié)果是:a=30,a+b=l1

(l)d格式

%d:按實際長度輸出十進制整數(shù)。

%md:輸出占m歹U,若小于m歹U,左邊補空格,若大于m歹U,按實際輸出。

%-md:輸出占m列,若小于m歹!j,右邊補空格,若大于m列,按實際輸出。

%ld:輸出長整型數(shù)據(jù),輸入輸出長整型數(shù)據(jù)時必須用該格式。

例如:printf(“%d,%6d,%-6d,%ld”,386,1234,3456,12345L);

輸出結(jié)果:386,1234,3456,12345

printf(“%2d”,12345);

輸出結(jié)果:12345

(2)u格式

%u:以無符號十進制形式輸出整數(shù)。

printf(w%u,\-l);65535

ptintf(M%u9\-32768);32768

(3)o格式

%():以無符號八進制形式輸出整數(shù),不輸出前導(dǎo)符0。

printf(<t%d,%o,>1,177777

⑷x或X格式

%x或%X以無符號十六進制形式輸出整數(shù)。不輸出前導(dǎo)符Ox或0X,小寫對小

寫,大寫對大寫。

printf(“%d,%x,%X,%x”,?11,0xabc,0XAbe);

-l,ffiT,ABC,abc

注:若要輸出十六進制和八進制的前導(dǎo)符,則要用%#o和%#X、%#X格式。

printf(M%#o,%#x,%#X,,,-l,-l,()xaBc);

0177777,Oxffff,OXABC

⑸c格式

%c用來輸出一個字符,不輸出單引號定界符。配和猊可以相互轉(zhuǎn)換。

printf(,,%c,%d,,,,a,;a);a,97

printf(“%c,%d”,10(M00);d,10()

(6)s格式

用來輸出一個字符串,不輸出雙引號和字符串結(jié)束符。

%s:輸出字符串的有效字符。

printf(H%s,,,,,china\OyunnanH);china

%ms:輸出占m歹lj,若小于m歹ij,左邊補空格,大于m歹ij,按實際輸出。

printf(n%5s,%-5s,%2s'\uswfc,,;'swfen,"swfcn);

swfc,swfc,swfc

額tns:輸出占m歹!J,只輸出字符串的左n個字符到m列的右端。

如:printf(,z%7.5s〃,〃yunnan〃);

yunna

(7)f格式:按小數(shù)形式輸出實型數(shù)據(jù)。

%f:默認(rèn)輸出6位小數(shù)。

如:printfC%f,%f,z,543.12,5.4312e+2);

543.120000,543.120000

%m.nf:輸出占m歹ij,其中有n位小數(shù)。若超過m列,確保n位小數(shù)后按實際

輸出。注意四舍五入問題。

如:printf(a%7.3f,%~7.3f,%4.2f“,3.1415726,3.1415926,314.5926);

3.142,3,142,314.59

(8)e格式

以指數(shù)形式輸出一個實數(shù)。小數(shù)點前只有一位非零數(shù),5位小數(shù),3位指數(shù)。

如:printf("%e,%e",123.4,123.45e-7);

234000e+002,l.234500e-005

⑼g格式

自動在%£和%e中選擇較短的一種輸出,對于小數(shù)部分不輸出無意義的0。

如:printf(“施海”,123.45,123.45e-2);

123.45,1.2345

printf(“%g”,l23000000.0);

23e+08

小結(jié):

(1)%%表示輸出一個%。

如:printfC%%d=%d",10,10);

%d=10

⑵除了x,e,g大小寫均可外,其它都只能小寫。

如:printf(〃%d=%D〃,20,20);

20=%D

⑶輸出格式說明符所能操作的數(shù)據(jù)類型必須與輸出項的類型一致。

如:printf(“%d”,1.234);/*出@*1

2.2.scanf()函數(shù)

格式:scanf(“格式控制”,地址列表);

注意:

(1)可指定數(shù)據(jù)所占的列數(shù),輸入后由系統(tǒng)自動截取相應(yīng)的位數(shù)。

如:scanf("%3d%2d”,&a,&b);

若輸入:3863018

則:a的值是:386

b的值是:30

若輸入:3863

a的值是:386

b的值是:3

scanf(n%3c%2d",&ch,&c);

若輸入:3863018

則:ch的值是:'3'

b的值是:30

(2)%*md:表示跳過m列不讀。

如:scanf("%*3d%3d%4d”,&a,&b);

若輸入:123456

則:a的值是:456

b的值是:原來的值。

(3)不能在scanf)函數(shù)中指定輸入數(shù)據(jù)的小數(shù)位數(shù)。

如:scanfC%7.5f〃,&a);/*出錯*1

在scanf()函數(shù)中,輸入時普通字符原樣輸入。

如:scanf(rta=%d,b=W,&a,&b);

若要給a賦值5,b賦值10,正確的輸入是:a=5,b=10

scanf(M%d*,%d#,%du,&a,&b,&c);

若要讓a,b,c分別得到1,2,3,正確的輸入是:1*,2#,3<回車>

若兩個格式說明符之間沒有其它字符,則在輸入數(shù)據(jù)時,兩數(shù)據(jù)之間要用回車

或空格分隔,回車或空格可以是多個。但是,猊格式除外。

如:scanf&a,&b);

若想讓a的值為5,b的值為10。則正確的輸入是:

5空格10<回車>或5〈回車》

10<回車〉

或5空格空格空格10〈回車》

⑹多個猊格式之間沒有其它字符,仍然不能用回車或空格來分隔。

如:scanf(M%c%c%cn,&a,&b,&c);

若輸入:a空格b空格c〈回車)

a的值是'a",b的值是空格,c的值是'b'。

(7)格式說明符所能操作的數(shù)據(jù)類型必須與對應(yīng)變量的類型相同。

如:inta;scanf(,&a);/*出錯*1/

總結(jié):

L普通字符原樣輸入,原樣輸出。

2.對于%d格式,指定寬度小于輸出寬度,原樣輸出。

3.%#o,耕x,%#X表示要輸出八進制的前導(dǎo)符數(shù)字0,和十六進制的前導(dǎo)符

0x,0Xo

4.%x,%X格式,小寫對小寫,大寫對大寫。

5.%*md:表示跳過相應(yīng)的輸入項。

6.注意進制間的轉(zhuǎn)換,以及無符號數(shù)和帶符號數(shù)之間的轉(zhuǎn)換。

7.在scanf()函數(shù)中,給double類型變量輸入數(shù)據(jù)時,應(yīng)該使用%1啖型說明

符,而輸出時,可以用%f,也可以用%£。

三.試題分析

1.2008年4月試題分析

(16)有以下程序段

charch;intk:

ch=*a';k=12;

printf(''%c,%dj,ch,ch,k);printf("k=%d\nM,k);

已知字符a的ASCII十進制代碼為97,則執(zhí)行上述程序段后輸出結(jié)果是

A)因變量類型與格式描述符的類型不匹配輸出無定值

B)輸出項與格式描述符個數(shù)不符,輸出為零值或不定值

C)a,97,12k=12

D)a,97,k=12

2.2007年9月試g分析

(15)若在定義語句:inta,b,c,*p=&c;之后,接著執(zhí)行以下選項中的語句,

貝I」能正確執(zhí)行的語句是

A)scanf(H%d",a,b,c);B)scanf(H%d%d%dn,a,b,c);

C)scanf(”%d”,p);D)scanf(%d",&p)

(18)有以下程序段

floaty;charname[50];

scanf(H%2d%f%sn,&j,&y,name);

當(dāng)執(zhí)行上述程序段,從鍵盤上輸入555667777abc后,y的值為

A155566.0B)556.007777.0D)566777.0

填空⑹執(zhí)行以下程序時輸入1234567<CR>,則輸出結(jié)果是[6】。

#include<stdio.h>

main()

inta=l.b;

scanf(H%2d%2dH,&a,&b);printf(M%d%d\nu,a,b);

3.2007年4月試題分析

(16)設(shè)變量均已正確定義,若要通過scan("%d%c%d%c”,&al,&cl,&a2,&c2);

語句為變量al和a2賦數(shù)值10和20,為變量cl和c2賦字符X和Y。以下所示

的輸入形式中正確的是(注:□代表空格字符)(D)

A)10QXO20QY(回車〉B)10口乂20口丫<回車〉

010QX<回車〉D)10X〈回車〉

20DY〈回車>20Y〈回車)

填空(6)執(zhí)行以下程序后的輸出結(jié)果是

main()

{inta=10;

a=(3*5,a+4);printf("a=%d\n",a);

第三章選擇結(jié)構(gòu)

.教學(xué)重點、難點

知識點所占分值考核幾率專家點評

關(guān)系運算符及優(yōu)先次序0-140%簡單識記

關(guān)系表達式0-150%簡單,屬重點識記知識點

邏輯運算符及優(yōu)先級1-250%簡單識記

邏輯表達式1-250%簡單,屬重點識記知識點

if語句的幾種形式1-2100%簡單識記

if語句的嵌套1-2100%難度適中,重點掌握

條件運算符0-1100%難度適中,重點掌握

switch語句2-4100%簡單,重點掌握重點理解

語句標(biāo)號0-110%偏難,不是重點

goto1-210%簡單識記

二.教學(xué)內(nèi)容

L關(guān)系運算與邏輯運算

1.1邏輯值

真(非零值)假(零)

1.2關(guān)系運算符及其表達式

<<=〉>==!=

關(guān)系運算符優(yōu)先級別低于算術(shù)運算符,高于賦值運算符。

?<=>>=)優(yōu)先級別高于(=!二)

如:a>b+c等價于a>(b+c)

a==b<c等價于a=(b<c)

a二b〈c等價于a=(b<c)

4-4表達式的值為“真”。

4=4表達式不合法

關(guān)系表達式的值只有1和。其中1表示“真”,0表示“假”。

1.3邏輯運算符及其表達式

&&邏輯“與”邏輯“或”!邏輯“非”

優(yōu)先級別:!》皴》II

運算規(guī)則:

邏輯&&:遇假則假

邏輯II:遇真則真

邏輯!:真假互換

邏輯萎達式的值:1(真)、0(假)

例如:3>4結(jié)果是:0

3&&4結(jié)果是:1

13M4結(jié)果是:0

Q|]

注意:在求解邏輯與(&&)表達式時,若&&運算符左邊表達式的值為0(假),

則不再進行&&右邊表達式的運算,且將整個&&表達式的值定為0;在求解邏

輯或(H)表達式時,若I左邊表達式的值為非0值(真),則不再進行右邊表達

式的運算,且將整個邏輯表達式的值定為1(真)。

2.if語句

2.1.if語句格式:

1)if(表達式)2)if(表達式)

語句1;語句1;

else

語句2;

稱為:全if單if

注意:

(Dif后的表達式必須用()括起,else后沒有表達式。

⑵if和else都只能控制緊跟它的一條語句,若要控制多條語句,必須用一對

{}括起構(gòu)成一條復(fù)合語句。

2.2執(zhí)行方式:

2.21if語句的執(zhí)行方式:首先判斷表達式的值是否為“真”,若“真”,則執(zhí)

行語句部分。如果表達式的值為“假〃,則十心T'語句部分執(zhí)行if語句后面的

其它語句。

2.22ifdse語句的執(zhí)行方式:首先判斷表達式的值是否為“真",若“真"

則執(zhí)行四部分。如林達式的值^“假”,則執(zhí)行else帝詬面的的。

例1:main()

{intm=5;

if(m++>5)printf("m=%d”,m);

elseprin皿“m=%d”g?);

例2:main。

{intm=5;

if(4-+m>5)printf(um=%d,,,m);

elseprintfi[€€m=%d\n,,,m-);

printf卜m=%d\m);

2.3if語句的嵌套

if(表達式1)

if(表達式2)語句1;

else語句2;

else

if(表達式3)語句3;

else語句4;

else總是與前面最近的且未配對的if語句配對,組成一對if-else語句。

if(表達式1)

if(表達式2)語句1;

else

if(表達式3)語句2;

else語句3;

第一個else語句有的同學(xué)會把它誤以為和第一個if配對,但是實際的情況是和

第二個if語句配對,即:

if(表達式表

if(表達式2)語句1;

else

if(表達式3)語句2;

else語句3;

例1.請分析下列程序的輸出結(jié)果。

niain()

{ints[a,b;

sanf(M%d%d,,,&a,&b);

s=1;t=1;

if(a>O)s=s+1;

if(a>b)t=s+l;

elseif(a==b)t=s;

elset=2*s;

printfT%d\n'',t);

若運行時輸入510叵車,則程序的執(zhí)行結(jié)果是?

main()

{ints,t,a,b;

sanf(H%d%dH,&a,&b);

s=l;t=l;

if(a>0){s=s+l;

if(a>b)t=s+l;)

elseif(a==b)t=s;

elset=2*s;

printf,(M%d\n,,,t);

若運行時輸入510回車,則輸出結(jié)果是?

例2.分析下列程序的輸出結(jié)果

main()

{inta=4,b=3,c=5,t=0;

if(a<b)t=a;a=b;b=t;

if(a<c)t=a;a=c;c=t;

printf(H%d%d%d'n”,a,b,c);

main()

{inta=4,b=3,c=5,t=0;

if(a<b){t=a;a=b;b=t;)

if(a<c){t=a;a=c:c=t;}

printf(H%d%d%d^nn,a,b,c);

聯(lián)想交換的思想:若要交換a和b的值,通常的做法是:

{t=a;a=b;b=t;}

3.條件運算符和條件表達式

條件運算符:?:

是唯一一>但目運算符。優(yōu)先級別高于賦值運算,結(jié)合方向自右向左。

格式:表達式1?表達式2:表達式3

執(zhí)行方式:先求“表達式1”的值,若其值為“真”,求出“表達式2”的值作

為整個條件表達式的值;若其值為“假”,求出“表達式3”的值作為整個表達

式的值。

例如:max=a>b?a:b;

相當(dāng)于:if(a>b)

max=a;

else

max=b;

a>b?a:c>d?c:d

相當(dāng)于a>b?a:(c>d?c:d)

注意:表達式1、2、3的值不要求具有相同的類型,最后結(jié)果的類型為表達式2、

3中較高類型的一種。如:(x=6)>(尸5)?1:1.5表達式的值是l.Olhj不是1。

4.switch語句

格式:

switch(表達式)

{case常量表達式1:語句1;break;

case常量表達式2:語句2;break;

case常量表達式n:語句n;break;

default:語句n+1;break;

說明:

(1)switch>case、defaultbreak都是關(guān)鍵字,花括號里面的語句叫做switch

語句體。Switch語句體中可以沒有break語句和default部分。

(2)Switch語句的圓括號中表達式的值必須是整型或是字符型,不能為實型。

case后的表達式可以是求得整型量的常量表達式,但是常量表達式中不

能含有變量。

(3)執(zhí)行Switch語句時,首先計算Switch后圓括號的表達式的值,然后將這

個值與語句體中case后的常量表達式的值相比較,如果某個常量表達式

的值與之相等,則執(zhí)行該case后的語句塊;如果沒有任何一個常量表達

式的值與之相等,則執(zhí)行default后的語句塊。

(4)在執(zhí)行的時候如果遇到break語句,則跳出switch語句。如果執(zhí)行完一

個case或者default語句塊后沒有遇到break,則繼續(xù)順序往下執(zhí)行,知

道遇到break語句或者語句體被執(zhí)行完畢為止。

(5)default最多只能有一個,通常出現(xiàn)在switch語句的最后部分,但也可以

出現(xiàn)在case之間或所有的caso之前。

U!I.試題分析

1.2008年4月試題分析:

(17)己知字母A的ASC1【代碼值為65,若變量kk為char型,以下不能正確判斷出

kk中的值為大寫字母的表達式是

A)kk>='A'&&kk<='Z'B)!(kk>=,A'kk<='Z')

C)(kk+32)>='a'&&(kk+32)<=,z'D)isalpha(kk)&&(kk<91)

(18)當(dāng)變量c的值不為2、4、6時,值也為“真”的表達式是

A)(c==2)|((c==4)||(c==6)B)(c>=2&&c<=6)|I(c!=3)||(c!=5)

C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&&c<=6)&&(c%2!=l)

(19)若變量已正確定義,有以下程序段

inta=3,b=5,c=7;

if(a>b)a=b;c=a;

if(c!=a)c=b;

priiilf(,,%d,%d,%d\n',,a,b,u);

其輸出結(jié)果是

A)程序段有語法錯B)3,5,303,5,5D)3,5,7

(20)有以下程序

#includc<stdio.h>

main()

{intx=l,y=O,a=O,b=O;

switch(x)

{case1:

switch(y)

{case0:a++;break;

case1:b++;break;

case2:a++;b++;break;

case3:a++;b++;

printf("a=%d,b=%d\n”,a,b);

程序的運行結(jié)果是

A)a=l,b=0B)a=2,b=2

C)a=l,b=lD)a=2,b=1

2.2007年9月試題分析

(20)有以下計算公式

4(x^o)

(x<0)

若程序前面已在命令行中包含math.h文件,不能夠正確計算上述公式的程

序段是

A)if(x>=0)y=sqrt(x);B)y=sqrt(x);

elsey=sqrt(-x);if(x<O)y=sqrt(-x);

C)if(x>=0)y=sqrt(x);D)y=sqrt(x>=0?x:-x);

if(x<0)y=sqrt(-x);

(21)設(shè)有條件表達式:(EXP)?i++J,則以下表達式中與(EXP)完全等價

的是

A)(EX

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論