- 相關(guān)推薦
C語(yǔ)言測(cè)試題
在平平淡淡的日常中,我們會(huì)經(jīng)常接觸并使用試題,借助試題可以更好地考查參試者所掌握的知識(shí)和技能。你知道什么樣的試題才能切實(shí)地幫助到我們嗎?下面是小編收集整理的C語(yǔ)言測(cè)試題,歡迎大家借鑒與參考,希望對(duì)大家有所幫助。
C語(yǔ)言測(cè)試題 1
(1)下面關(guān)于算法說(shuō)法錯(cuò)誤的是_______。
a.算法最終必須由計(jì)算機(jī)程序?qū)崿F(xiàn)
b.為解決某問(wèn)題的算法同為該問(wèn)題編寫(xiě)的程序含義是相同的
c.算法的可行性是指指令不能有二義性
d.以上幾個(gè)都是錯(cuò)誤的
(2)下面說(shuō)法錯(cuò)誤的是______.
a.算法原地工作的含義是指不需要任何額外的輔助空間
b.在相同的規(guī)模n下,復(fù)雜度O(n)的算法在時(shí)間上總是優(yōu)于復(fù)雜度O(2n)的算法
c.所謂時(shí)間復(fù)雜度是指最壞情況下,估算算法執(zhí)行時(shí)間的一個(gè)上界
d.同一個(gè)算法,實(shí)現(xiàn)語(yǔ)言的級(jí)別越高,執(zhí)行效率就越低
(3)在下面的.程序段中,對(duì)x的賦值語(yǔ)句的頻度為_(kāi)____。
for (int i; i
{ for (int j=o; j
{ x:=x+1;
} }
a.0(2n) b.0(n) c.0(n2) d.O(log2n)
(4)下面說(shuō)法正確的是______。
a.數(shù)據(jù)元素是數(shù)據(jù)的最小單位;
b.數(shù)據(jù)元素是數(shù)據(jù)的最小單位;
c.數(shù)據(jù)的物理結(jié)構(gòu)是指數(shù)據(jù)在計(jì)算機(jī)內(nèi)的實(shí)際存儲(chǔ)形式
d.數(shù)據(jù)結(jié)構(gòu)的抽象操作的定義與具體實(shí)現(xiàn)有關(guān)
(5)下面說(shuō)法正確的是_______。
a.在順序存儲(chǔ)結(jié)構(gòu)中,有時(shí)也存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)中元素之間的關(guān)系
b.順序存儲(chǔ)方式的優(yōu)點(diǎn)是存儲(chǔ)密度大,且插入、刪除運(yùn)算效率高
c.數(shù)據(jù)結(jié)構(gòu)的基本操作的設(shè)置的最重要的準(zhǔn)則是,實(shí)現(xiàn)應(yīng)用程序與存儲(chǔ)結(jié)構(gòu)的獨(dú)立
d.數(shù)據(jù)的邏輯結(jié)構(gòu)說(shuō)明數(shù)據(jù)元素之間的順序關(guān)系,它依賴于計(jì)算機(jī)的儲(chǔ)存結(jié)構(gòu)
C語(yǔ)言測(cè)試題 2
(1)下面說(shuō)法錯(cuò)誤的是_____。
a.靜態(tài)鏈表既有順序存儲(chǔ)的優(yōu)點(diǎn),又有動(dòng)態(tài)鏈表的優(yōu)點(diǎn)。所以,它存取表中第i個(gè)元素的時(shí)間與i無(wú)關(guān)。
b.靜態(tài)鏈表中能容納的元素個(gè)數(shù)的`最大數(shù)在表定義時(shí)就確定了,以后不能增加。
c.靜態(tài)鏈表與動(dòng)態(tài)鏈表在元素的插入、刪除上類似,不需做元素的移動(dòng)。
d.靜態(tài)鏈表就是一直不發(fā)生變化的鏈表。
(2)在雙向鏈表指針p的結(jié)點(diǎn)前插入一個(gè)指針q的結(jié)點(diǎn)操作是______。
a.p->Llink=q; q->Rlink=p; p->Llink->Rlink=q; q->Llink=q;
b.p->Llink=q; p->Llink->Rlink=q; q->Rlink=p; q->Llink=p->Llink;
c.q->Rlink=p; q->Llink=p->Llink; p->Llink->Rlink=q; p->Llink=q;
d.q->Llink=p->Llink; q->Rlink=q; p->Llink=q; p->Llink=q;
(3)下面說(shuō)法正確的是______。
a.順序存儲(chǔ)結(jié)構(gòu)的主要缺點(diǎn)是不利于插入或刪除操作;
b.線性表采用鏈表存儲(chǔ)時(shí),結(jié)點(diǎn)和結(jié)點(diǎn)內(nèi)部的存儲(chǔ)空間可以是不連續(xù)的;
c.順序存儲(chǔ)方式插入和刪除時(shí)效率太低,因此它不如鏈?zhǔn)酱鎯?chǔ)方式好;
d.順序存儲(chǔ)方式只能用于存儲(chǔ)線性結(jié)構(gòu)。
(4)下面說(shuō)法正確的是______。
a.線性表只能用順序存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)。
b.為了很方便的插入和刪除數(shù)據(jù),可以使用雙向鏈表存放數(shù)據(jù)。
c.順序存儲(chǔ)方式的優(yōu)點(diǎn)是存儲(chǔ)密度大,且插入、刪除運(yùn)算效率高。
d.鏈表是采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的線性表,進(jìn)行插入、刪除操作時(shí),在鏈表中比在順序存儲(chǔ)結(jié)構(gòu)中效率高。
(5)下面說(shuō)法正確的是_________。
a.數(shù)據(jù)元素是數(shù)據(jù)的最小單位。
b.隊(duì)列邏輯上是一個(gè)下端口和上端能增加又能減少的線性表。
c.任何一個(gè)遞歸過(guò)程都可以轉(zhuǎn)換成非遞歸過(guò)程。
d.只有那種使用了局部變量的遞歸過(guò)程在轉(zhuǎn)換成非遞歸過(guò)程時(shí)才必須使用棧。
C語(yǔ)言測(cè)試題 3
1: 第1題請(qǐng)編寫(xiě)函數(shù)fun,其功能使:將兩個(gè)兩位正整數(shù)a b合并形成一個(gè)整數(shù)放在c中。合并的方式使:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和個(gè)位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的千位和十位上。
答案:
void fun(int a,int b,long *c)
{*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;}
2: 第2題請(qǐng)編寫(xiě)一個(gè)函數(shù)fun,它的功能使:計(jì)算n門(mén)課程的平均分,計(jì)算結(jié)果作為函數(shù)值返回。
答案:
float fun(float *a,int n)
{float ave=0.0;
int i;
for(i=0;i
ave+=a;
ave/=n;
return ave;}
3: 第3題假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)fun,它的功能使:將字符串尾部的*號(hào)全部刪除,前面和中間的*號(hào)不刪除。
答案:
void fun(char *a)
{int i=0;
char *p,*q;
p=q=a;
while(*p)
p++;
p--;
while(*p==‘*’)
p--;
while(q<=p)
{a=*q;
i++;
q++;}
a=‘’;}
4: 第4題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將兩個(gè)兩位數(shù)的正整數(shù)a b合并形成一個(gè)整數(shù)放在c中,合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c的個(gè)位和百位上,b數(shù)的`十位和個(gè)位數(shù)依次放在c數(shù)的千位和十位上。
答案:
void fun(int a,int b,long *c)
{c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;}
5: 第5題 n名學(xué)生的成績(jī)已在主函數(shù)中放入一個(gè)帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:求出平均分,由函數(shù)值返回。
答案:
double fun(strec *h)
{double aver=0.0;
while(h!=null)
{aver+=h->s;
hy=h->next;}
aver/=n;
return aver;}
6: 第6題請(qǐng)編寫(xiě)函數(shù)fun,計(jì)算并輸出給定10個(gè)數(shù)的方差。
答案:
double fun(double x[10])
{int i,j;
double s=0.0,s1=0.0;
for(i=0;i<10;i++)
s1+=x;
s1/=10;
for(j=0;j<10;j++)
s+=(x[j]-s1)*(x[j]-s1);
s/=10;
s=pow(s,0.5);
return s;}
7: 第7題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將兩個(gè)兩位數(shù)的正整數(shù)a b合并形成一個(gè)整數(shù)放在c 中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的千位和十位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的個(gè)位和百位上。
答案:
void fun(int a,int b,long *c)
{*c=(a/10)*1000+(a%10)*10+(b%10)*100+b/10;}
C語(yǔ)言測(cè)試題 4
(1) 下述_____是順序存儲(chǔ)結(jié)構(gòu)的優(yōu)點(diǎn)。
a.存儲(chǔ)密度大
b.插入運(yùn)算方便
c.刪除運(yùn)算方便
d.可方便地用于各種邏輯結(jié)構(gòu)的存儲(chǔ)表示
(2)下面關(guān)于線性表的敘述中,錯(cuò)誤的`是_____。
a.線性表采用順序存儲(chǔ),必須占用一片連續(xù)的存儲(chǔ)單元
b.線性表采用順序存儲(chǔ),便于進(jìn)行插入和刪除操作
c.線性表采用鏈接存儲(chǔ),不必占用一片連續(xù)的存儲(chǔ)單元
d.線性表采用鏈接存儲(chǔ),便于插入和刪除操作
(3) 某線性表中最常用的操作是在最后一個(gè)元素之后插入一個(gè)元素和刪除第一個(gè)元素,則采用_______存儲(chǔ)方式最節(jié)省時(shí)間。
a.順序表 b.雙鏈表 c.帶頭結(jié)點(diǎn)的雙循環(huán)鏈表 d.單循環(huán)鏈表
(4)靜態(tài)鏈表中指針表示的是______。
a.內(nèi)存地址 b.數(shù)組下標(biāo) c.下一元素地址 d.左、右孩子地址
(5)下面的敘述不正確的是_______。
a.線性表在鏈?zhǔn)酱鎯?chǔ)時(shí),查找第i個(gè)元素的時(shí)間同i的值成正比
b.線性表在鏈?zhǔn)酱鎯?chǔ)時(shí),查找第i個(gè)元素的時(shí)間同i的值無(wú)關(guān)
c.線性表在順序存儲(chǔ)時(shí),查找第i個(gè)元素的時(shí)間同i 的值成正比
d.線性表在順序存儲(chǔ)時(shí),查找第i個(gè)元素的時(shí)間同i的值無(wú)關(guān)
C語(yǔ)言測(cè)試題 5
(1)算法的時(shí)間復(fù)雜度是指_______。
A)執(zhí)行算法程序所需要的時(shí)間
B)算法程序的長(zhǎng)度
C)算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)
D)算法程序中的指令條數(shù)
答案:C
評(píng)析:所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。
(2)下列敘述中正確的是________。
A)線性表是線性結(jié)構(gòu)B)棧與隊(duì)列是非線性結(jié)構(gòu)
C)線性鏈表是非線性結(jié)構(gòu)D)二叉樹(shù)是線性結(jié)構(gòu)
答案:A
評(píng)析:一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。線性表、棧與隊(duì)列、線性鏈表都是線性結(jié)構(gòu),而二叉樹(shù)是非線性結(jié)構(gòu)。
(3)下面關(guān)于完全二叉樹(shù)的敘述中,錯(cuò)誤的是_________。
A)除了最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值
B)可能缺少若干個(gè)左右葉子結(jié)點(diǎn)
C)完全二叉樹(shù)一般不是滿二叉樹(shù)
D)具有結(jié)點(diǎn)的完全二叉樹(shù)的深度為[log2n]+1
答案:B
評(píng)析:滿二叉樹(shù)指除最后一層外每一層上所有結(jié)點(diǎn)都有兩個(gè)子結(jié)點(diǎn)的二叉樹(shù)。完全二叉樹(shù)指除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值,在最后一層上只缺少右邊的若干子結(jié)點(diǎn)(葉子結(jié)點(diǎn))的二叉樹(shù)。
C語(yǔ)言筆試題答案篇
(1)結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是_________。
A)程序的規(guī)模B)程序的易讀性
C)程序的執(zhí)行效率D)程序的可移植性
答案:B
評(píng)析:結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是結(jié)構(gòu)化程序清晰易讀,可理解性好,程序員能夠進(jìn)行逐步求精、程序證明和測(cè)試,以保證程序的正確性。
(2)在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是________。
A)概要設(shè)計(jì)B)詳細(xì)設(shè)計(jì)C)可行性分析D)需求分析
答案:D
評(píng)析:需求分析是對(duì)待開(kāi)發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)定義,即準(zhǔn)確地確定軟件系統(tǒng)的功能。編寫(xiě)軟件規(guī)格說(shuō)明書(shū)及初步的用戶手冊(cè),提交評(píng)審。
(3)數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是_________。
A)控制流B)加工C)數(shù)據(jù)存儲(chǔ)D)源和潭
答案:A
評(píng)析:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來(lái)刻畫(huà)數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過(guò)程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲(chǔ)文件(數(shù)據(jù)源)、源和潭。
(4)軟件需求分析一般應(yīng)確定的是用戶對(duì)軟件的__________。
A)功能需求B)非功能需求C)性能需求D)功能需求和非功能需求
答案:D
評(píng)析:軟件需求分析中需要構(gòu)造一個(gè)完全的系統(tǒng)邏輯模型,理解用戶提出的每一功能與性能要求,是用戶明確自己的任務(wù)。因此,需求分析應(yīng)確定用戶對(duì)軟件的功能需求和非功能需求。
C語(yǔ)言筆試題答案篇
(1)下述關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)的敘述中正確的是________。
A)數(shù)據(jù)庫(kù)系統(tǒng)減少了數(shù)據(jù)冗余
B)數(shù)據(jù)庫(kù)系統(tǒng)避免了一切冗余
C)數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型的一致
D)數(shù)據(jù)庫(kù)系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)
答案:A
評(píng)析:由數(shù)據(jù)的共享自身又可極大地減少數(shù)據(jù)冗余性,不僅減少了不必要的`存儲(chǔ)空間,更為重要的是可以避免數(shù)據(jù)的不一致性。所謂數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)的不同出現(xiàn)應(yīng)保持相同的值。
(2)關(guān)系表中的每一橫行稱為一個(gè)________。
A)元組B)字段C)屬性D)碼
答案:A
評(píng)析:在關(guān)系數(shù)據(jù)庫(kù)中,關(guān)系模型采用二維表來(lái)表示,簡(jiǎn)稱“表”。二維表是由表框架及表元組組成。在表框架中,按行可以存放數(shù)據(jù),每行數(shù)據(jù)稱為元組。
(3)數(shù)據(jù)庫(kù)設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是________。
A)概念設(shè)計(jì)和邏輯設(shè)計(jì)B)模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)
C)內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)D)結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)
答案:A
評(píng)析:數(shù)據(jù)庫(kù)設(shè)計(jì)可分為概念設(shè)計(jì)與邏輯設(shè)計(jì)。概念設(shè)計(jì)的目的是分析數(shù)據(jù)間內(nèi)在語(yǔ)義關(guān)聯(lián),在此基礎(chǔ)上建立一個(gè)數(shù)據(jù)的抽象模型。邏輯設(shè)計(jì)的主要工作是將ER圖轉(zhuǎn)換為指定的RDBMS中的關(guān)系模型。
(4)請(qǐng)讀程序:
#include
main
{
int a;float b,c;
scanf(“%2d%3P%4f’,&a,&b,&C);
printf(” a=%d,b=%ec。%f ”,a,b,C);
}
若運(yùn)行時(shí)從鍵盤(pán)上輸入9876543210l,則上面程序的輸出結(jié)果是________。
A)a=98,b=765,c=432 1
B)a=1 0,b=432,c=8765
C)a=98,b=765.000000,c=432 1.000000
D)a=98,b=765.0,c=432 1.0
答案:C
評(píng)析:scanf把用戶從鍵盤(pán)錄入的數(shù)字的第1、2位存入整型變量a;把第3、4、5位存入單精度實(shí)型變量b,把第6、7、8、9位存入單精度實(shí)型變量c,用戶錄入的第10位被scanf遺棄。這時(shí)變量a、b、c的值分別為:98、765.000000、4321.000000。
(5)一個(gè)良好的算法由下面的基本結(jié)構(gòu)組成,但不包括__________。
A)順序結(jié)構(gòu)B)選擇結(jié)構(gòu)C)循環(huán)結(jié)構(gòu)D)跳轉(zhuǎn)結(jié)構(gòu)
答案:D
評(píng)析:1966年,Bohra和Jacopini提出了以下三種基本結(jié)構(gòu),用這三種基本結(jié)構(gòu)作為表示一個(gè)良好算法的基本單元:1、順序結(jié)構(gòu);2、選擇結(jié)構(gòu);3、循環(huán)結(jié)構(gòu)。
(6)請(qǐng)選出以下程序的輸出結(jié)果________。
#include
sub(x,y,z)
int x,y,星符號(hào)z:
{星符號(hào)z變化,所以此次函數(shù)被調(diào)用后,a的值為y-x=-5,同理可知,在sub(7,a,&b)后,b的值發(fā)生變化,其值為-5-7=-12,在sub(a,b,&C)后,c的值發(fā)生變化,其值為-12-(-5)=-7。
(7)下面程序在屏幕上的輸出是________。
main
{
printf(”ab c”);
}
A)ab c B)a c C)abc D)ab c
答案:B
評(píng)析:c語(yǔ)言中允許使用一種特殊形式的字符常量,、就是以一個(gè)“”開(kāi)頭的字符序列,這樣的字符稱為“轉(zhuǎn)義字符”。常用的轉(zhuǎn)義字符有: ,換行;,水平制表;,退格;,回車(chē)。
(8)若x是整型變量,pb是基類型為整型的指針變量,則正確的賦值表達(dá)式是_______。
A)pb=&x; B)pb=x; C)星符號(hào)pb=星符號(hào)、/)還包括自增自減運(yùn)算符(++、–),在c語(yǔ)言解析表達(dá)式時(shí),它總是進(jìn)行貪婪咀嚼,這樣,該表達(dá)式就被解析為i++ ++ +i,顯然該表達(dá)式不合c語(yǔ)言語(yǔ)法。
(10)若要用下面的程序片段使指針變量p指向一個(gè)存儲(chǔ)整型變量的動(dòng)態(tài)存儲(chǔ)單元
int星符號(hào)int) D)(int星符號(hào))
答案:D
評(píng)析:不論p是指向什么類型的指針變量,都可以通過(guò)強(qiáng)制類型轉(zhuǎn)換的方法使之類型一致,強(qiáng)制類型轉(zhuǎn)換的格式為(數(shù)據(jù)類型+)。
(11)下面程序輸出的結(jié)果是__________。
main
{
int i=5,J=9,x;
x=(I==j?i:(j=7));
printf(” %d,%d”,I,J);
}
A)5,7 B)5,5 C)語(yǔ)法錯(cuò)誤D)7,5
答案:A
評(píng)析:條件表達(dá)式的一般形式為:表達(dá)式I?表達(dá)式2:表達(dá)式3;先求解表達(dá)式1,若為真則求解表達(dá)式2;若表達(dá)式l的值為假,則求解表達(dá)式3。本題中先判斷i==j,不等,執(zhí)行j=7;然后執(zhí)行x=7。故本題為A。
【C語(yǔ)言測(cè)試題】相關(guān)文章:
c語(yǔ)言練習(xí)試題11-14
c語(yǔ)言試題及答案02-25
c語(yǔ)言面試題及答案02-27
C語(yǔ)言實(shí)驗(yàn)報(bào)告11-08
c語(yǔ)言學(xué)習(xí)心得09-23
c語(yǔ)言心得體會(huì)05-12