2022年計算機c語言考試題及答案(4篇)_第1頁
2022年計算機c語言考試題及答案(4篇)_第2頁
2022年計算機c語言考試題及答案(4篇)_第3頁
2022年計算機c語言考試題及答案(4篇)_第4頁
2022年計算機c語言考試題及答案(4篇)_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——2022年計算機c語言考試題及答案(4篇)在日常學習、工作或生活中,大家總少不了接觸作文或者范文吧,通過文章可以把我們那些零零散散的思想,聚集在一塊。范文怎么寫才能發(fā)揮它最大的作用呢?以下是我為大家收集的優(yōu)秀范文,歡迎大家共享閱讀。

計算機c語言考試題及答案篇一

a)執(zhí)行算法程序所需要的時間

b)算法程序的長度

c)算法執(zhí)行過程中所需要的基本運算次數(shù)

d)算法程序中的指令條數(shù)

答案:c

評析:所謂算法的時間繁雜度,是指執(zhí)行算法所需要的計算工作量。

(2)以下表達中正確的是________。

a)線性表是線性結構b)棧與隊列是非線性結構

c)線性鏈表是非線性結構d)二叉樹是線性結構

答案:a

評析:一般將數(shù)據(jù)結構分為兩大類型:線性結構與非線性結構。線性表、棧與隊列、線性鏈表都是線性結構,而二叉樹是非線性結構。

(3)下面關于完全二叉樹的表達中,錯誤的是_________。

a)除了最終一層外,每一層上的結點數(shù)均達到最大值

b)可能缺少若干個左右葉子結點

c)完全二叉樹一般不是滿二叉樹

d)具有結點的完全二叉樹的深度為[log2n]+1

答案:b

評析:滿二叉樹指除最終一層外每一層上所有結點都有兩個子結點的二叉樹。完全二叉樹指除最終一層外,每一層上的結點數(shù)均達到最大值,在最終一層上只缺少右邊的若干子結點(葉子結點)的二叉樹。

計算機c語言考試題及答案篇二

(1)結構化程序設計主要強調(diào)的是_________。

a)程序的規(guī)模b)程序的易讀性

c)程序的執(zhí)行效率d)程序的可移植性

答案:b

評析:結構化程序設計主要強調(diào)的是結構化程序清楚易讀,可理解性好,程序員能夠進行逐步求精、程序證明和測試,以保證程序的正確性。

(2)在軟件生命周期中,能確切地確定軟件系統(tǒng)必需做什么和必需具備哪些功能的階段是________。

a)概要設計b)詳細設計c)可行性分析d)需求分析

答案:d

評析:需求分析是對待開發(fā)軟件提出的需求進行分析并給出詳細定義,即確切地確定軟件系統(tǒng)的功能。編寫軟件規(guī)格說明書及初步的用戶手冊,提交評審。

(3)數(shù)據(jù)流圖用于抽象描述一個軟件的規(guī)律模型,數(shù)據(jù)流圖由一些特定的圖符構成。以下圖符名標識的圖符不屬于數(shù)據(jù)流圖合法圖符的是_________。

a)控制流b)加工c)數(shù)據(jù)存儲d)源和潭

答案:a

評析:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲文件(數(shù)據(jù)源)、源和潭。

(4)軟件需求分析一般應確定的是用戶對軟件的__________。

a)功能需求b)非功能需求c)性能需求d)功能需求和非功能需求

答案:d

評析:軟件需求分析中需要構造一個完全的系統(tǒng)規(guī)律模型,理解用戶提出的每一功能與性能要求,是用戶明確自己的任務。因此,需求分析應確定用戶對軟件的功能需求和非功能需求。

計算機c語言考試題及答案篇三

1、(a)是構成c語言程序的基本單位。

a、函數(shù)

b、過程

c、子程序

d、子例程

2.c語言程序從c開始執(zhí)行。

a、程序中第一條可執(zhí)行語句

b、程序中第一個函數(shù)

c、程序中的main函數(shù)

d、包含文件中的第一個函數(shù)

3、以下說法中正確的是(c)。

a、c語言程序總是從第一個定義的函數(shù)開始執(zhí)行

b、在c語言程序中,要調(diào)用的函數(shù)必需在main()函數(shù)中定義

c、c語言程序總是從main()函數(shù)開始執(zhí)行

d、c語言程序中的main()函數(shù)必需放在程序的開始部分

4、以下關于c語言的說法錯誤的是(b)。

a、c程序的工作過程是編輯、編譯、連接、運行

b、c語言不區(qū)分大小寫。

c、c程序的三種基本結構是順序、選擇、循環(huán)

d、c程序從main函數(shù)開始執(zhí)行

5、以下正確的標識符是(c)。

a、-a1

b、a[i]

c、a2_i

d、intt

5~8題為一致類型題

考點:標識符的命名規(guī)矩

只能由字母、數(shù)字、下劃線構成

數(shù)字不能作為標識符的開頭

關鍵字不能作為標識符

選項a中的“-〞,選項b中“[〞與“]〞不滿足(1);選項d中的int為關鍵字,不滿足(3)

6、以下c語言用戶標識符中合法的是(b)。

a、3ax

b、x

c、case

d、-e2e)union

選項a中的標識符以數(shù)字開頭不滿足(2);選項c,e均為為關鍵字,不滿足(3);選項d中的“-〞不滿足(1);

7、以下四組選項中,正確的c語言標識符是(c)。

a、%x

b、a+b

c、a123

d、123

選項a中的“%〞,選項b中“+〞不滿足(1);選項d中的標識符以數(shù)字開頭不滿足(2)

8、以下四組字符串中都可以用作c語言程序中的標識符的是(a)。

a、print_3ddb8abc

b、iamone_halfstart$it3pai

c、str_1cpppowwhile

d、pxqmy-bookline#

選項b中的“〞,〞$〞,選項d中“〞,〞#〞,〞。〞,〞-〞不滿足(1);選項c中的while為關鍵字,不滿足(3)

9.c語言中的簡單數(shù)據(jù)類型包括(d)。

a、整型、實型、規(guī)律型

b、整型、實型、規(guī)律型、字符型

c、整型、字符型、規(guī)律型

d、整型、實型、字符型

10、在c語言程序中,表達式5%2的結果是c。

a、2.5

b、2

c、1

d、3

%為求余運算符,該運算符只能對整型數(shù)據(jù)進行運算。且符號與被模數(shù)一致。5%2=1;5%(-2)=1;(-5)%2=-1;(-5)%(-2)=-1;

/為求商運算符,該運算符能夠?qū)φ汀⒆址?、浮點等類型的數(shù)據(jù)進行運算,5/2=2

11、假如inta=3,b=4;則條件表達式"aa、3

b、4

c、0

d、1

詳見教材p97.

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

先計算表達式1,

若表達式1成立,則選擇計算表達式2,并表達式2的值作為整個大表達式的值;

若表達式1不成立,則選擇計算表達式3,并將表達式3的值作為整個大表達式的值

此題中的aa為3,b為4。a12.若intx=2,y=3,z=4則表達式x

a、4

b、3

c、2

d、0

e)1

13.c語言中,關系表達式和規(guī)律表達式的值是(b)。

a、0

b、0或1

c、1

d、‘t’或’f’

14、下面(d)表達式的值為4.

a、11/3

b、11.0/3

c、(float)11/3

d、(int)(11.0/3+0.5)

14~16題為同一類型

詳見教材p54~56.

(1)一致數(shù)據(jù)類型的元素進行數(shù)學運算(+、-、*、/)得到結果還保持原數(shù)據(jù)類型。

(2)不同數(shù)據(jù)類型的元素進行數(shù)學運算,先要統(tǒng)一數(shù)據(jù)類型,統(tǒng)一的標準是低精度類型轉(zhuǎn)換為高精度的數(shù)據(jù)類型。

選項a,11與3為兩個整數(shù),11/3結果的數(shù)據(jù)類型也應為整數(shù),因此將3.666666的小數(shù)部分全部舍掉,僅保存整數(shù),因此11/3=3.

選項b,11.0為實數(shù),3為整數(shù),因此首先要統(tǒng)一數(shù)據(jù)類型,將整型數(shù)據(jù)3轉(zhuǎn)換為3.0,轉(zhuǎn)換后數(shù)據(jù)類型統(tǒng)一為實型數(shù)據(jù),選項b變?yōu)?1.0/3.0,結果的數(shù)據(jù)類型也應為實型數(shù)據(jù),因此選項b11.0/3=3.666666

選項c,先將整數(shù)11強制類型轉(zhuǎn)換,轉(zhuǎn)換為實型11.0,因此選項c變?yōu)?1.0/3,其后計算過程、結果與選項b同

選項d,首先計算11.0/3,其計算過程、結果與選項b同,得到3.666666;再計算3.666666+0.5=4.166666,最終將4.166666強制類型轉(zhuǎn)換為整型,即將其小數(shù)部分全部舍掉,結果為4

15、設整型變量a=2,則執(zhí)行以下語句后,浮點型變量b的值不為0.5的是(b)

a、b=1.0/a

b、b=(float)(1/a、

c、b=1/(float)a

d、b=1/(a*1.0)

16、若“intn;floatf=13.8;〞,則執(zhí)行“n=(int)f%3〞后,n的值是(a)

a、1

b、4

c、4.333333

d、4.6

“(int)f“表示將f中的值強制類型轉(zhuǎn)換為整型,即將13.8的小數(shù)部分舍掉,轉(zhuǎn)換為13;然后計算13%3,結果為1,再將結果賦給變量n,因此n的值為1

17、以下對一維數(shù)組a的正確說明是:d

a、chara(10);

b、inta[];

c、intk=5,a[k];

d、chara[3]={‘a(chǎn)’,’b’,’c’};

詳見教材p143~144,一維數(shù)組的定義、初始化

類型符數(shù)組名[常量表達式]

類型符是指數(shù)組中數(shù)組元素的類型;數(shù)組名要符合標識符命名規(guī)矩;常量表達式是指數(shù)組的長度(數(shù)組中包含元素的個數(shù)),其值只能是整數(shù),不可以是變量,而且從1開始計數(shù)。

選項a,常量表達式只能放在中括號[]中

選項b,只有在對數(shù)組初始化(即賦值)的時候才可以省略數(shù)組的長度,b中并未對a進行初始化。

選項c,常量表達式不能為變量。

18、以下能對一維數(shù)組a進行初始化的語句是:(c)

a、inta[5]=(0,1,2,3,4,)

b、inta(5)={}

c、inta[3]={0,1,2}

d、inta{5}={10*1}

詳見教材p145,一維數(shù)組的定義、初始化

選項b,d,常量表達式只能放在中括號[]中

選項a,數(shù)組可以看做是若干個一致數(shù)據(jù)類型元素的有序集合,因此以集合的形式對其初始化,使用{}對其初始化,選項a用了()。

19、在c語言中對一維整型數(shù)組的正確定義為d。

a、inta(10);

b、intn=10,a[n];

c、intn;a[n];

d、#definen10

inta[n];

20、已知:inta[10];則對a數(shù)組元素的正確引用是(d)。

a、a[10]

b、a[3.5]

c、a(5)

d、a[0]

詳見教材p144,數(shù)組元素的引用

數(shù)組名[下標]

引用數(shù)組元素時,[]中的下標為規(guī)律地址下標,只能為整數(shù),可以為變量,且從0開始計數(shù)

inta[10]表示定義了一個包含10個整型數(shù)據(jù)的數(shù)組a,數(shù)組元素的規(guī)律地址下標范圍為0~9,即a[0]表示組中第1個元素;a[1]表示組中第2個元素;a[2]表示組中第3個元素;。.。.。.;a[9]表示組中第10個元素。

選項a,超過了數(shù)組a的規(guī)律地址下標范圍;

選項b,規(guī)律地址下標只能為整數(shù)

選項c,規(guī)律地址下標只能放在[]中

21、若有以下數(shù)組說明,則i=10;a[a[i]]元素數(shù)值是(c)。

inta[12]={1,4,7,10,2,5,8,11,3,6,9,12};

a、10

b、9

c、6

d、5

先算a[a[i]]內(nèi)層的a[i],由于i=10,因此a[i]即a[10]。

a[10]對應下面數(shù)組中的元素為9.因此a[a[i]]即為a[9]

a[9]對應下面數(shù)組中的元素為6.因此a[9]即為6

22、若有說明:inta[][3]={{1,2,3},{4,5},{6,7}};則數(shù)組a的第一維的大小為:(b)

a、2

b、3

c、4

d、無確定值

57

d、369

二維數(shù)組的一維大小,即指二維數(shù)組的行數(shù),在此題中,按行對二維數(shù)組賦值,因此內(nèi)層有幾個大括號,數(shù)組就有幾行

23、對二維數(shù)組的正確定義是(c)

詳見教材p149~152,二維數(shù)組的定義、初始化

類型符數(shù)組名[常量表達式][常量表達式]

二維數(shù)組可以看做是矩陣

類型符是指數(shù)組中數(shù)組元素的類型;數(shù)組名要符合標識符命名規(guī)矩;第一個常量表達式是指數(shù)組的行數(shù);其次個常量表達式是指數(shù)組的列數(shù);常量表達式的值只能是整數(shù),不可以是變量,而且從1開始計數(shù)。

一維數(shù)組初始化時可以省略數(shù)組長度

二維數(shù)組初始化時可以省略行數(shù),但不能省略列數(shù)

選項a,b,都省略了列數(shù)

選項d,不符合二維數(shù)組定義的一般形式,行、列常量表達式應當放在不同的[]中

a、inta[][]={1,2,3,4,5,6};

b、inta[2][]={1,2,3,4,5,6};

c、inta[][3]={1,2,3,4,5,6};

d、inta[2,3]={1,2,3,4,5,6};

24、已知inta[3][4];則對數(shù)組元素引用正確的是__c___

a、a[2][4]

b、a[1,3]

c、a[2][0]

d、a(2)(1)

詳見教材p150,數(shù)組元素的引用

數(shù)組名[下標][下標]

引用數(shù)組元素時,[]中的下標為規(guī)律地址下標,只能為整數(shù),可以為變量,且從0開始計數(shù)

第一個[下標]表示行規(guī)律地址下標,其次個[下標]表示列規(guī)律地址下標。

此題圖示詳見p149圖6.7

因此a的行規(guī)律地址范圍0~2;a的列規(guī)律地址范圍0~3;

選項a,列規(guī)律地址下標超過范圍

選項b,d,的引用形式不正確。

25.c語言中函數(shù)返回值的類型是由a決定的。

a、函數(shù)定義時指定的類型

b、return語句中的表達式類型

c、調(diào)用該函數(shù)時的實參的數(shù)據(jù)類型

d、形參的數(shù)據(jù)類型

26、在c語言中,函數(shù)的數(shù)據(jù)類型是指(a)

a、函數(shù)返回值的數(shù)據(jù)類型

b、函數(shù)形參的數(shù)據(jù)類型

c、調(diào)用該函數(shù)時的實參的數(shù)據(jù)類型

d、任意指定的數(shù)據(jù)類型

27、在函數(shù)調(diào)用時,以下說法正確的是(b)

a、函數(shù)調(diào)用后必需帶回返回值

b、實際參數(shù)和形式參數(shù)可以同名

c、函數(shù)間的數(shù)據(jù)傳遞不可以使用全局變量

d、主調(diào)函數(shù)和被調(diào)函數(shù)總是在同一個文件里

28、在c語言中,表示靜態(tài)存儲類別的關鍵字是:(c)

a、auto

b、register

c、static

d、extern

29、未指定存儲類別的變量,其隱含的存儲類別為(a)。

a、auto

b、static

c、extern

d、register

30、若有以下說明語句:

structstudent

{intnum;

charname[];

floatscore;

}stu;

則下面的表達不正確的是:(d)

a、struct是結構體類型的關鍵字

b、structstudent是用戶定義的結構體類型

c、num,score都是結構體成員名

d、stu是用戶定義的結構體類型名

31、若有以下說明語句:

structdate

{intyear;

intmonth;

intday;

}brithday;

則下面的表達不正確的是__c___.

a、struct是聲明結構體類型時用的關鍵字

b、structdate是用戶定義的結構體類型名

c、brithday是用戶定義的結構體類型名

d、year,day都是結構體成員名

32、以下對結構變量stul中成員age的非法引用是b

structstudent

{intage;

intnum;

}stu1,*p;

p=stu1;

a、

b、

c、p-age

d、(*p)。age

33、設有如下定義:

strucksk

{inta;

floatb;

}data;

int*p;

若要使p指向data中的a域,正確的賦值語句是c

a、p=a

b、p=data、a;

c、p=data、a;

d、*p=data、a;

34、設有以下說明語句:

typedefstructstu

{inta;

floatb;

}stutype;

則下面表達中錯誤的是(d)。

a、struct是結構類型的關鍵字

b、structstu是用戶定義的`結構類型

c、a和b都是結構成員名

d、stutype是用戶定義的結構體變量名

35、語句int*p;說明白c。

a、p是指向一維數(shù)組的指針

b、p是指向函數(shù)的指針,該函數(shù)返回一int型數(shù)據(jù)

c、p是指向int型數(shù)據(jù)的指針//指針的定義教材p223

d、p是函數(shù)名,該函數(shù)返回一指向int型數(shù)據(jù)的指針

36、以下不正確的定義是(a)。

a、int*p=i,i;

b、int*p,i;

i,*p=i

d、inti,*p;

選項a先定義一個整型指針變量p,然后將變量i的地址賦給p。然而此時還未定義變量i因此編譯器無法獲得變量i的地址。(a與c比較,選項c先定義變量i,則在內(nèi)存中為i分派空間,因此i在內(nèi)存空間的地址就可以確定了;然后再定義p,此時可以為p賦i的地址,c正確)

37、若有說明:intn=2,*p=n,*q=p,則以下非法的賦值語句是:(d)

a、p=q

b、*p=*q

c、n=*q

d、p=n

p,q同為整型指針變量,二者里面僅能存放整型變量的地址。

選項a,q中為地址,因此可將此地址賦給p

選項b,*p表示p所指向?qū)ο髇的內(nèi)容,即一個整數(shù);*q表示q所指向?qū)ο蟮膬?nèi)容,由于在定義q時為其初始化,將p中n的地址給q,因此p中存放n的地址,*q表示q所指向?qū)ο髇的內(nèi)容。因此*p=*q相當于n=n;

選項c,n=*q等價于n=n;

選項d,p中只能存放地址,不能將n中的整數(shù)值賦給p

38、有語句:inta[10],;則b是對指針變量p的正確定義和初始化。

a、intp=*a;

b、int*p=a;

c、intp=a

d、int*p=a

選項a,a是數(shù)組名,不是指針變量名,因此不可用*標注數(shù)組名a

選項c,a是數(shù)組名,數(shù)組名就是地址,無需再用地址符號。而且在定義指針變量p時,應在變量名前加*,標明p是指針變量

選項d,a是數(shù)組名,數(shù)組名就是地址,無需再用地址符號。

39、若有說明語句“inta[5],*p=a;〞,則對數(shù)組元素的正確引用是(c)。

a、a[p]

b、p[a]

c、*(p+2)

d、p+2

首先定義一個整型數(shù)組a,a的長度為5,然后定義一個指針變量p,并同時對p進行初始化,將數(shù)組a的地址賦給p。因此此時p中存放的數(shù)組a的首地址,即數(shù)組中第一個元素a[0]的地址。

對于數(shù)組元素下標的引用(詳見p144),一般形式數(shù)組名[下標]其中下標為規(guī)律地址下標,從0開始計數(shù),方括號中的下標可以是變量,可以是表達式,但結果一定要是整數(shù)。

選項a,p中存放的是地址,不是整數(shù),不能做數(shù)組元素的下標

選項b,a是數(shù)組名,數(shù)組名就是地址,不是整數(shù),不能做數(shù)組元素的下標

選項c,(重點!詳見p231~234)p+2表示指向同一數(shù)組中的下兩個元素的地址,當前p指向a[0],則p+2表示a[2]的地址,因此*(p+2)表示a[2]的內(nèi)容

40、有如下程序

inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

則數(shù)值為9的表達式是b

a、*p+9

b、*(p+8)

c、*p+=9

d、p+8

(重點!詳見p231~234)

首先定義一個整型數(shù)組a,a的長度為5,然后定義一個指針變量p,并同時對p進行初始化,將數(shù)組a的地址賦給p。因此此時p中存放的數(shù)組a的首地址,即數(shù)組中第一個元素a[0]的地址。

數(shù)組中9對應的是a[8],選項b,p+8表示數(shù)組中后8個元素的地址,即a[8]的地址。*(p+8)則表示該地址內(nèi)所存放的內(nèi)容,即a[8]的值。

選項a,*p表示p所指向?qū)ο蟮膬?nèi)容,此時p指向a[0],*p即a[0]的值1.*p+9=1+9=10

選項c,*p表示p所指向?qū)ο蟮膬?nèi)容,此時p指向a[0],*p即a[0]的值。因此*p+=9即*p=*p+9,等價于a[0]=a[0]+9.

選項d,p+8表示數(shù)組中后8個元素的地址,即a[8]的地址,而非a[8]中的值。

41、在c語言中,以d作為字符串終止標志

a、’’

b、’’

c、’0’

d、’’

42、以下數(shù)據(jù)中屬于“字符串常量〞的是(a)。

a、“a〞

b、{abc}

c、‘a(chǎn)bc’

d、‘a(chǎn)’

若干個字符構成字符串

在c語言中,用單引號標識字符;用雙引號標識字符串

選項b,c,分別用{}和’’標識字符串

選項d,標識字符。

43、已知charx[]="hello",y[]={h,e,a,b,e};,則關于兩個數(shù)組長度的正確描述是b。

a、一致

b、x大于y

c、x小于y

d、以上答案都不對

c語言中,字符串后面需要一個終止標志位,尋常系統(tǒng)會自動添加。

對一維數(shù)組初始化時可采用字符串的形式(例如此題數(shù)組x),也可采用字符集合的形式(例如此題數(shù)組y)。在以字符串形式初始化時,數(shù)組x不盡要存儲字符串中的字符,還要存儲字符串后的終止標志位,因此數(shù)組x的長度為6;在以字符集合形式初始化時,數(shù)組y,僅存儲集合中的元素,因此數(shù)組y長度為5。

計算機c語言考試題及答案篇四

一選擇題(7分,每題0.5分)

1.c語言源程序的基本單位是()。

a過程b函數(shù)c子程序d標識符

2、以下程序的輸出結果是()。

main()

{inta=7,b=5;

printf("%d",b=b/a);

}

a5b1c0d不確定值

3、假設變量a,b均為整型,表達式(a=5,b=2,ab?a++:b++,a+b)的值是()。

a7b8c9d2

4、設a為int型變量,執(zhí)行以下賦值語句后,a的取值分別是()。

a=125.534;a=(int)125.521%4;a=52;

a125,31,1b125,1,20c125,31,20d125.534,2,20

5、設有如下程序段,下面描述中正確的是()。

intk=10;while(k=0)k=k-1;

a循環(huán)執(zhí)行一次b循環(huán)是無限循環(huán)c循環(huán)體語句一次也不執(zhí)行d循環(huán)體語句執(zhí)行一次

6、以下程序的輸出結果為()。

inti;

voidprt()

{for(i=5;i8;i++)printf("%c",*);

printf("");

}

main()

{for(i=5;i=8;i++)prt();

}

a***b************c******d***

7、在c語言程序中,以下說法正確的是()。

a函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套

b函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套

c函數(shù)的定義和函數(shù)的調(diào)用都不可以嵌套

d函數(shù)的定義和函數(shù)的調(diào)用都可以嵌套

8、以下函數(shù)調(diào)用語句中含有()個實參。

func((e1,e2),(e3,e4,e5));

a2b3c5d語法錯誤

9、以下程序的輸出結果為()。

#defineadd(x)x*x

main()

{inta=4,b=6,c=7,d=add(a+b)*c;

printf("d=%d",d);

}

ad=70bd=80cd=140dd=700

10、已知職工記錄描述如下,在turboc中,系統(tǒng)為變量w分派()字節(jié)的空間。

structworker

{intno;

charname[20];

charsex;

union

{intday;intmonth;intyear;}birth;

}w;

a29b20c25d6

11、設有以下定義,值為5的枚舉常量是()。

enumweek{sun,mon=4,tue,wed,thu,fri,sat}w;

atuebsatcfridthu

12、下面選項中正確的賦值語句是(設chara[5],*p=a;)()。

ap="abcd";ba="abcd";c*p="abcd";d*a="abcd";

13、設有以下程序段,則值為6的表達式是()。

structst{intn;structst*next;};

staticstructsta[3]={5,a[1],7,a[2],9,0},*p;

p=a[0];

ap++-nb++p-ncp-n++d(*p)。n++

14.c語言中的文件類型只有()。

a索引文件和文本文件兩種b文本文件一種

c二進制文件一種dascii碼文件和二進制文件兩種

二判斷對錯,對的劃“√〞,錯的劃“×〞(5分,每題0.5分)

1、在turboc中,整型數(shù)據(jù)在內(nèi)存中占2個字節(jié)。()

i=20;switch(i/10){case2:printf("a");case1:printf("b");}的輸出結果為a。()

語句用在循環(huán)體中,可終止本層循環(huán),continue語句用在循環(huán)體中,可終止本次循環(huán)。()

4、函數(shù)的遞歸調(diào)用不過是一個函數(shù)直接或間接地調(diào)用它自身。()

5、函數(shù)strlen("asdfg")的值是7。()

6、通過return語句,函數(shù)可以帶回一個或一個以上的返回值。()

7、結構體類型只有一種。()

*p="girl";的含義是定義字符型指針變量p,p的值是字符串"girl"。()

9、若有定義:char*p(chara[10]);則p是函數(shù)名。()

10、用fopen("file","r+");開啟的文件"file"可以進行修改。()

三寫出以下程序的運行結果(10分,每題2分)

average(floatarray[10])

{inti;

floataver,sum=array[0];

for(i=1;i10;i++)

sum=sum+array[i];

aver=sum/10;

return(aver);

}

main()

{floatscore[10]={89,67.5,78,91,56,82.5,65,70,79,88},aver;

inti;

aver=average(score);

printf(“averagescoreis%5.2f〞,aver);

}

()

{chara[5]={‘a(chǎn)’,‘b’,‘c’,‘d’,‘e’},*p=a,**pa;

for(p=0;pa+5;p++)p=""

printf(“%2c〞,*p);

printf(“〞);

printf(“%2c〞,**(pa=p));

}

()

{inta,b,s=0;

for(a=1,b=1;a=100;a++)

{if(b=20)break;

if(b%3==1)

{b+=3;continue;}

b-=5;

}

printf(“a=%db=%d〞,a,b);

}

()

{printf(“main():%d〞,fact(5));

fact(-5);

}

fact(intvalue)

{intf;

if(value0)

{printf(“argerror");

return(-1);

}

elseif(value==1||value==0)f=1;

elsef=value*fact(value-1)+1;

printf(“thiscalledvalue=%d〞,f);

returnf;

}

()

{inta=012,b=0x12,k=12;

charc=‘102’,d=‘’;

printf(“a=%db=%dk=%d〞,a,b,k);

printf(“c=%c,d=%c%o〞,c,d,a);

a=‘a(chǎn)’;c=49;

printf(“a=%dc=%c〞,a,c);

}

四閱讀以下程序,在處填入適當內(nèi)容,使程序完整(8分,每個空1分)

1、有一個3*4矩陣,求其中的最大元素。

max_value((1))

{inti,j,max;

max=array[0][0];

for(i=0;i3;i++)

for(j=0;j4;j++)

if(array[i][j]max)

max=array[i][j];

(2);

}

main()

{inta[3][4],i,j;

for(i=0;i3;i++)

for(j=0;j4;j++)

(3);

printf(“maxvalueis%d〞,max_value(a));

}

2、輸入x、y兩個整數(shù),按先大后小的順序輸出x、y。

#include“stdio.h〞

main()

{intx,y,*px,*py,(4);

scanf(“%d%d〞,x,y);

(5);(6);

if(xy)p=""

{p=px;px=py;py=p;}

printf(“x=%d,y=%d〞,x,y);

printf(“max=%d,min=%d〞,*px,*py);

}

3、用選擇排序法對任意10個整數(shù)依照由小到大排序。

main()

{inta[11],i,j,k,t;

printf("pleaseinput10numbers:");

for(i=1;i11;i++)scanf("%d",a[i]);

printf("");

for(i=1;i=9;i++)

{(7);

for(j=i+1;(8);j++)

if(a[j]a[k])k=j;

if(k!=i)

{t=a[k];a[k]=a[i];a[i]=t;}

}

printf("thesortednumbers:");

for(i=1;i11;i++)printf("%d",a[i]);

}

答案

一選擇題(7分,每題0.5分)

1、b2.c3.b4.b5.c

6、a7.b8.a9.a10.c

11、a12.a13.b14.d

二判斷對錯,對的劃“√〞,錯的劃“×〞(5分,每題0.5分)

1、×2.×3.√4.√5.×

6、×7.×8.×9.√10.√

三寫出以下程序的運行結果(10分,每題2分)

1、2.3.

4、5.

四閱讀以下程序,在處填入適當內(nèi)容,使程序完整(8分,每個空1分)

1、(1)intarray[3][4](intarray[][4])(2)return(max)(3)scanf(“%d〞,a[i][j])

2、(4)*p(5)px=x(py=y)(6)py=y(px=x)

3、(7)(8)

2023c語言試題3

一選擇題(24分,每題2分)

1、已知函數(shù)fread的調(diào)用形式為fread(buffer,size,count,fp),其中buffer代表的是()。

a存放讀入數(shù)據(jù)項的存儲區(qū)b存放讀入數(shù)據(jù)的地址或指向此地址的指針

c一個指向所讀文件的文件指針d一個整形變量,代表要讀入的數(shù)據(jù)項總數(shù)

2、以下程序的輸出結果為()。

main()

{inti=010,j=10;

printf("%d,%d",i++,j--);

}

a11,9b9,10c8,10d9,9

3、設a為int型變量,執(zhí)行以下賦值語句后,a的取值分別是()。a=125.534;a=20.0/3;a=(int)125.521%4;a=52;

a125,6,31,1b125,6,1,20c125,6.666666,31,20d125.534,6.666666,2,20

4、設i和k都是int類型,則for循環(huán)語句()。

for(i=0,k=-1;k=1;i++,k++)printf("****");

a循環(huán)終止的條件不合法b循環(huán)體一次也不執(zhí)行c循環(huán)體只執(zhí)行一次d是無限循環(huán)

5、以下程序的輸出結果為()。

main()

{charc;

inti;

for(i=65;i68;i++)

{c=i+32;

switch(c)

{casea:caseb:casec:printf("%c,",c);break;default:printf("end");}

}

}

aa,b,c,endba,a,a,endca,a,a,da,b,c,

6、函數(shù)調(diào)用語句:fseek(fp,-10l,2);的含義是()。

a將文件位置指針從文件末尾處向文件頭的方向移動10個字節(jié)

b將文件位置指針從當前位置向文件頭的方向移動10個字節(jié)

c將文件位置指針從當前位置向文件末尾方向移動10個字節(jié)

d將文件位置指針移到距離文件頭10個字節(jié)處

7、以下程序的輸出結果為()。

main()

{chars1[40]="country",s2[20]="side";

inti=0,j=0;

while(s1[i]!=\0)i++;

while(s2[j]!=\0)s1[i++]=s2[j++];

s1[i]=0;

printf("%s",s1);

}

asidebcountrycsidetrydcountryside

8、以下說法不正確的是()。

a主函數(shù)main中定義的變量在整個文件或程序中有效

b不同函數(shù)中,可以使用一致名字的變量

c形式參數(shù)是局部變量

d在一個函數(shù)內(nèi)部,可以在復合語句中定義變量,這些變量只在本復合語句中有效

9、在以下程序段中,枚舉變量c1的。值是()。

enumcolor{red,yellow,blue=4,green,white}c1;c1=yellow;c1=white;

a1b3c5d6

10、設有說明int(*ptr)();其中標識符ptr是()。

a是一個指向整形變量的指針b是一個指針,它指向一個函數(shù)值是int的函數(shù)

c是一個函數(shù)名d定義不合法

11、定義由n個指向整形數(shù)據(jù)的指針組成的數(shù)組p,其正確的方式為()。

aintp;bint(*p)[n];cint*p[n];dint(*p)();

12、具有一致類型的指針類型變量p與數(shù)組a,不能進行的操作是()。

ap=a;b*p=a[0];cp=a[0];dp=a

二判斷對錯,對的劃“√〞,錯的劃“×〞(20分,每題2分)

1、加入位運算的數(shù)據(jù)可以是任何類型的數(shù)據(jù)。()

2、若有定義和語句:inta;charc;floatf;scanf("%d,%c,%f",a,c,f);若通過鍵盤輸入:10,a,12.5,則a=10,c=‘a(chǎn)’,f=12.5。()

3.c語言把文件看作是一個字符(字節(jié))的序列。()

4、若有宏定義:#defines(a,b)t=a;a=b;b=t由于變量t沒定義,所以此宏定義是錯誤的。()

5、在turboc中,下面的定義和語句是合法的:file*fp;fp=fopen("","r");()

6、若有定義:chars[]="china";則turboc系統(tǒng)為數(shù)組s開拓6個字節(jié)的內(nèi)存單元。()

7、若有定義和語句:inta[3][3]={{3,5},{8,9},{12,35}},i,sum=0;for(i=0;i3;i++)sum+=a[i][2-i];則sum=21。()

8、若有定義和語句:structstudent{intnum;charname[10];floatscore;}s[5]={{1,"lili",98.5},{9,"xiaohua",66}},*p=s;printf("%d",*p++);輸出結果是1。()

9、在程序中定義了一個結構體類型后,可以屢屢用它來定義具有該類型的變量。()

10、在turboc中,此定義和語句是合法的:enumaa{a=5,b,c}bb;bb=(enumaa)5;()

三寫出以下程序的運行結果(36分,每題6分)

()

{inti=29,j=6,k=2,s;

s=i+i/j%k-9;

printf(“s=%d〞,s);

}

()

{intx=31,y=2,s=0;

do

{s-=x*y;

x+=2;

y-=3;}while(x%3==0);

printf(“x=%dy=%ds=%d〞,x,y,s);

}

()

{inta[6]={10,20,30,40,50,60},i;

invert(a,0,5);

for(i=0;i6;i++)printf(“%d,〞,a[i]);

printf(“〞);

}

invert(ints[],inti,intj)

{intt;

if(ij)p=""

{invert(s,i+1j-1);

t=s[i];s[i]=s[j];s[j]=t;

}

}

4、#include</stdio.hmain()

{charstr[]=“thecprogram〞,c;

inti;

for(i=2;(c=str[i])!=‘\0’;i++)

{switch(c)

{case‘g’:++i;break;

case‘o’:continue;

default:printf(“%c〞,c);continue;

}

printf(“*〞);

}

printf(“〞);

}

w

{charlow;

charhigh;

};

unionu

{structwbyte;

shortword;

}uw;

main()

{intresult;

=0x1234;

溫馨提示

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

評論

0/150

提交評論