2021-2022年河南省駐馬店市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)_第1頁
2021-2022年河南省駐馬店市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)_第2頁
2021-2022年河南省駐馬店市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)_第3頁
2021-2022年河南省駐馬店市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)_第4頁
2021-2022年河南省駐馬店市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2021-2022年河南省駐馬店市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)學校:________班級:________姓名:________考號:________

一、單選題(20題)1.若用一個大小為6的數(shù)組來實現(xiàn)循環(huán)隊列,且當前rear和front的值分別為0和3,當從隊列中刪除一個元素,再加入兩個元素后,rear和front的值分別為()

A.2和4B.1和5C.4和2D.5和1

2.某二叉樹的先序序列和后序序列正好相同,則該二叉樹可能是______的二叉樹。

A.高度大于1的左單支B.高度大于1的右單支C.最多只有一個結點D.既有左孩子又有右孩子

3.以下選項中能表示合法常量的是()。

A.1,200B.1.5E2.0C.‘\’D.“\007”

4.設x=011050,則x=x&01252的值是()。A.0000001000101000

B.1111110100011001

C.0000001011100010

D.1100000000101000

5.設整型數(shù)i=5,則printf("%d",i+++++i);的輸出為______。

A.10B.11C.12D.語法錯誤

6.

7.在存儲數(shù)據(jù)時,通常不僅要存儲各數(shù)據(jù)元素的值,而且還要存儲()。

A.數(shù)據(jù)的處理方法B.數(shù)據(jù)元素的類型C.數(shù)據(jù)元素之間的關系D.數(shù)據(jù)的存儲方法

8.以下說法錯誤的是A.A.高級語言都是用接近人們習慣的自然語言和數(shù)學語言作為語言的表達形式

B.計算機只能處理由0和1的代碼構成的二進制指令或數(shù)據(jù)

C.C語言源程序經(jīng)過C語言編譯程序編譯之后生成一個后綴為.EXE的二進制文件

D.每一種高級語言都有它對應的編譯程序

9.下列鏈表中,其邏輯結構屬于非線性結構的是()

A.雙向鏈表B.帶鏈的棧C.二叉鏈表D.循環(huán)鏈表

10.算法的時間復雜度是指______。

A.執(zhí)行算法程序所需要的時間B.算法程序的長度C.算法執(zhí)行過程中所需要的基本運算次數(shù)D.算法程序中的指令條數(shù)

11.下列敘述中正確的是()。

A.數(shù)據(jù)庫系統(tǒng)是一個獨立的系統(tǒng),不需要操作系統(tǒng)的支持

B.數(shù)據(jù)庫技術的根本目標是要解決數(shù)據(jù)的共享問題

C.數(shù)據(jù)庫管理系統(tǒng)就是數(shù)據(jù)庫系統(tǒng)

D.以上3種說法都不對

12.

13.該程序試圖通過指針p為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯誤,以下語句正確的是()A.intn,*p=NULL;

B.*p=&n;.

C.scanf("%d",&p)

D.printf("%d\n",p);

14.有以下程序:#include<stdio.h>voidfun(char*C,intd){*c=*c+1,d=d+1;printf(%"c%,c",*c,d);}main(){charb=aa=A;fun(&b,a);printf(%"c,%c\n",b,a);)程序運行后的輸出結果是()。A.b,B,b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B

15.設二維數(shù)組A[1...m,1...n]按行存儲在數(shù)組B中,則二維數(shù)組元素A[i,j]在一維數(shù)組B中的下標為()。A.A.n*(i-1)+jB.n*(i-1)+j-1C.i*(j-1)D.j*m+i-1

16.有以下程序

#include<stdio.h>

main()

{inta=1,b=0;

if(--a)b++;

elseif(a==0)b+=2;

elseb+=3:

printf("%d\n",b);

}

程序運行后的輸出結果是A.A.0B.1C.2D.3

17.有下列程序:程序執(zhí)行后的輸出結果是()。A.11B.43C.57D.53

18.對于哈希表,如果將裝填因子α定義為表中裝入的記錄數(shù)與表的長度之比,那么向表中加入新紀錄時,()

A.α的值隨時沖突次數(shù)的增加而遞減

B.α越大發(fā)生沖突的可能性越大

C.α等于1時不會再發(fā)生沖突

D.α低于0.5時不會發(fā)生沖突

19.在ASC算法team日常開發(fā)中,常常面臨一些數(shù)據(jù)結構的抉擇,令人糾結。目前大家在策劃一個FBI項目(FastBinaryIndexing),其中用到的詞匯有6200條,詞匯長度在10-15之間,詞匯字符是英文字母,區(qū)分大小寫。請在下面幾個數(shù)據(jù)結構中選擇一個使檢索速度最快的()

A.二叉搜索樹,比較函數(shù)開銷:1次運算/每字符

B.哈希表,hash算法開銷:10次運算/每字符

C.鏈表,比較函數(shù)開銷:1次運算/每字符

D.TRIE樹,尋找子節(jié)點開銷:1次運算/每字符

20.if語句基本形式是:if(表達式)語句,以下關于“表達式”值的敘述中正確的是()。

A.必須是邏輯值B.必須是整數(shù)值C.必須是正數(shù)D.可以是任意合法的數(shù)值

二、2.填空題(20題)21.在軟件生命周期中,【】階段是花費最多、持續(xù)時間最長的階段。

22.設有定義語句:inta[][3]={{0},{1},{2}};,則數(shù)組元素a[1][2]的值為()。

23.下列程序的輸出結果是【】。

main()

{

inta[]={2,4,6},*ptr=&a[0],x=8,y,z;

for(y=0;y<3;y++)

z=(*(ptr+y)<x)?*(ptr+y):x;

printf("%d\n",z);

}

24.十進制數(shù)53轉換為十六進制數(shù)為【】。

25.數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個部分,即數(shù)據(jù)項、數(shù)據(jù)結構、數(shù)據(jù)流、______和處理過程。

26.若要說明一個新類型名ArrInt,使得定義語句ArrIntx;等價于定義語句Intx[4][10];,正確的說明語句形式為【】。

27.若有以下程序

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;

pfintf("%d%d%d\n",a,b,c);

}

執(zhí)行后輸出結果是【】。

28.下列程序的運行結果是______。

#include<stdio.h>

main()

{inta,b,c,n;

a=2;b=0;c=1;n=1;

while(n<=3)

{c=c*a;b=b+c;++n;}

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

}

29.函數(shù)調用語句:“fgets(buf,n,fp);”從中指向的文件中讀入n個字符放到buf字符數(shù)組中,函數(shù)返回值為______。

30.以下程序的輸出結果是______。

#include<stdio.h>

main()

{inta[5]={2,4,6,8,10},*p;

p=a;p++;

printf("%d",*p);

}

31.以下程序的輸出是【】。

main()

{

charstr1[]="Howdoyoudo",*p1=str1;

strcpy(str1+strlen(str1)/2,"esshe");

printf("%s\n",p1);

}

32.以下定義的結構體類型包含兩個成員,其中成員變量info用來存放整型數(shù)據(jù);成員變量link是指向自身結構體的指針。請將定義補充完整。

structnode

{intinfo;

【】Link;

};

33.以下程序的輸出結果是【】。

main()

{inta=0;

a+=(a=8);

printf("%d\n",A);

}

34.閱讀下列程序,則程序的輸出結果為______。

#include"stdio.h"

struetty

{intdata;

charc;};

main()

{streettya={30,'x'};

fun(a);

printf("%d%c",a.data,a.c);}

fun(structtyb)

{b.data=20;

b.c='y';}

35.沒有char,a,b;,若要通過a&d運算屏蔽掉a中的其他位,只保留第2位和第8位(右起為第1位),則b的二進制是【】。

36.長度為n的順序存儲線性表中,當在任何位置上插入一個元素概率都相等時,插入一個元素所需移動元素的平均個數(shù)為【】。

37.以下程序的輸出結果是【】。

#include<stdio.h>

main()

{inta[5]={2,4,6,8,10},*p;

p=a;p++;

printf("%d",*p);

}

38.mystrlen函數(shù)的功能是計算str所指字符串的長度,并作為函數(shù)值返回。請?zhí)羁铡?/p>

intmystrlen(char*str)

{inti;

for(i=0;【】!='\0';i++);

return(【】);

}

39.設函數(shù)findbig已定義為求3個數(shù)中的最大值。以下程序將利用函數(shù)指針調用findbig函數(shù)。請?zhí)羁铡?/p>

main()

{intfindbig(int,int,int);

int(*f)(),x,y,z,big;

f=【】;

seanf("%d%d%d",&x,&y,&z);

big=(*f)(x,y,2);

printf("big=%d\n",big);

}

40.按照“先進先出”的原則組織數(shù)據(jù)的結構是______。

三、1.選擇題(20題)41.

若有下列定義(設int類型變量占2個字節(jié)):

inti=8,j=9;

則下列語句:

printf("i=%%d,j=%%d\n",i,j);

輸出的結果是()。

A.i=8,j=9B.i=%d,j=%dC.i=%8,j=%9D.8,9

42.下列合法的字符型常量是()。

A.'\x13'B.'\081'C.'65'D.\n

43.下列有關格式輸入函數(shù)scanf的敘述中正確的是()

A.輸入項可以是C語言中規(guī)定的任何變量,并且在任何變量前必須加地址符號“&”

B.可以只有格式控制項,沒有地址列表項

C.在輸入數(shù)據(jù)時,必須規(guī)定精度。如:scanf("%4.2f",&d);

D.當輸入數(shù)據(jù)時,必須指明變量地址

44.以下程序輸出的結果是

#include<stdio.h>

#include<string.h>

main()

{charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;

for(k=1;k<3;k++)printf("%s\n",&w[k][k]);}

A.ABCDFGHKLB.ABCEFGIJMC.EFGJK0D.FGHKL

45.以下程序段中,能夠通過調用函數(shù)fun,使main函數(shù)中的指針變量p指向一個合法的整型單元的是

A.main(){int*p;fun(p);┇}intfun(int*p){ints;p=&s;}

B.main(){int*p;fun(&p);┇}intfun(int**p){ints;*p=&s;}

C.#include<stdlib.h>main(){int*p;fun(&p);┇}intfun(int**p){*p=(int*)malloc(2);}

D.#include<stdlib.h>main(){int*P;fun(p);┇}intfun(int*p){p=(int*)malloc(sizeof(int));}

46.下列句子中,正確的C語言賦值語句是()

A.n++;B.a=b=88C.t=int(x+y);D.a=100,b=200

47.設有定義語句int(*f)(int);,則以下敘述正確的是()。

A.f是基類型為int的指針變量

B.f是指向函數(shù)的指針變量,該函數(shù)具有一個int類型的形參

C.f是指向int類型一維數(shù)組的指針變量

D.f是函數(shù)名,該函數(shù)的返回值是基類型為int類型的地址

48.有以下程序main(){intm,n;printf("Enterm,n:");scanf("%d%d",&m,&n);while(m!=n){while(m>n)m-=n;while(n>m)n-=m;}printf("m=%d\n",m);}如果從鍵盤上輸入6514<回車>,則輸出結果為()

A.m=3B.m=2C.m=1D.m=0

49.若變量c為char類型,能正確判斷出c為小寫字母的表達式是

A.'a'<=c<='2'

B.(c>='a')||(c<='2')

C.('a'<=c)and('2'>=c)

D.(c>='a')&&(c<='z')

50.有以下程序:main(){intm[][3]={1,4,7,2,5,8,3,6,9);inti,j,k=2;for(i=0;i<3;i++){printf("%d",m[k][i]);}}執(zhí)行后輸出結果是______。

A.456B.258C.369D.789

51.若有以下定義和語句:inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;則值為3的表達式是______。

A.p+=2,*(p++)B.P+=2,*++pC.P+=3,*p++D.P+=2,++*p

52.若fp是指向某文件的指針,已讀到此文件末尾,則庫函數(shù)feof(fp)的返回值是______。

A.EOFB.0C.非零值D.NULL

53.若x是int型變量,且有下面的程序段:for(x=3;x<6;x++)printf((x%2)?("**%d"):("##%d\n"),x);此程序段的輸出結果是()。

A.**3##4**5B.##3**4##5C.##3**4##5D.**3##4**5

54.若函數(shù)調用時的實參為變量時,以下關于函數(shù)形參和實參的敘述中正確的是()。

A.函數(shù)的實參和其對應的形參共占同一存儲單元

B.形參只是形式上的存在,不占用具體存儲單元

C.同名的實參和形參占同一存儲單元

D.函數(shù)的形參和實參分別占用不同的存儲單元

55.以下對結構體類型變量的定義中,不正確的是______。

A.typedefstructaa{intn;floatm;}AA;AAtd1;

B.#defineAAstructaaAA{intn;floatm;}td1;

C.struct{intn;floatm;}aa;srtuctaatd1:

D.struct{intn;floatm;}tdl;

56.設有如下說明typedefstructST{longa;intb;charc[2];}NEW;則下面敘述中正確的是______。A.以上的說明形式非法B.ST是一個結構體類型C.NEW是一個結構體類型D.NEW是一個結構體變量

57.在關系代數(shù)運算中,有5種基本運算,它們是()。

A.并(∪)、差(-)、交(∩)、除(÷)和笛卡兒積(×)

B.并(∪)、差(-)、交(∩)、投影(π)和選擇(σ)

C.并(∪)、交(∩)、投影(π)、選擇(σ)和笛卡兒積(×)

D.并(∪)、差(-)、投影(π)、選擇(σ)和笛卡兒積(×)

58.為了提高軟件模塊的獨立性,模塊之間最好是()。

A.控制耦合B.公共耦合C.內容耦合D.數(shù)據(jù)耦合

59.下列關于軟件測試的目的和準則的敘述中,正確的是()

A.軟件測試是證明軟件沒有錯誤

B.主要目的是發(fā)現(xiàn)程序中的錯誤

C.主要目的是確定程序中錯誤的位置

D.測試最好由程序員自己來檢查自己的程序

60.C語言中最簡單的數(shù)據(jù)類型包括()。

A.整型、實型、邏輯型B.整型、實型、字符型C.整型、字符型、邏輯型D.整型、實型、邏輯型、字符型

四、選擇題(20題)61.

62.設變量X和y均已正確定義并賦值。以下if語句中,在編譯時將產(chǎn)生錯誤信息的是()。A.if(x++);

B.if(x>y&&y!=0);

C.if(x>y)x--elsey++;

D.if(y<0){;}elsex++;

63.下面不屬于需求分析階段任務的是()。

A.確定軟件系統(tǒng)的功能需求B.確定軟件系統(tǒng)的性能需求C.需求規(guī)格說明書評審D.制定軟件集成測試計劃

64.

65.針對簡單程序設計,以下敘述的實施步驟順序正確的是()。

A.確定算法和數(shù)據(jù)結構、編碼、調試、整理文檔

B.編碼、確定算法和數(shù)據(jù)結構、調試、整理文檔

C.整理文檔、確定算法和數(shù)據(jù)結構、編碼、調試

D.確定算法和數(shù)據(jù)結構、調試、編碼、整理文檔

66.若有以下定義:

intx[10],*pt=x;

則對x數(shù)組元素的正確引用是()。

A.pt+3B.}&x[10]C.*(pt+10)D.*(x+3)

67.有以下程序:

point(char*p){*p=’d’;}

main()

{charb[4]={’a’,’b’,’c’,’d’},*p=b;

Point(p);printf("%c\n",*p);

}

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

A.a(chǎn)B.bC.cD.d

68.若有以下定義和語句:

則輸出結果是()。

A.107B.105C.55D.58

69.

70.用數(shù)據(jù)流圖(DFD.作為描述工具的軟件開發(fā)階段是()。

A.可行性分析B.需求分析C.概要設計D.詳細設計

71.下列定義變量的語句中正確的是()。

A)int_int;B)double3int_;

C)charfor;D)floatUS&;

72.

已有定義:charc;,程序前面已在命令行中包含ctype.h文件,不能用于判斷c中的字符是否為大寫字堪的表達式是()。

A.isupper(c)

B.A<=c<=Z

C.A<=c&&c<=Z

D.c<=(z-32)&&(a-32)<=c

73.現(xiàn)有定義inta;doubleb;floatc;chark;,則表達式a/b+C—k值的類型為:()。

A.intB.doubleC.floatD.char

74.為了使模塊盡可能獨立,要求()。A.模塊的內聚程度要盡量高,且各模塊間的耦合程度要盡量強

B.模塊的內聚程度要盡量高,且各模塊間的耦合程度要盡量弱

C.模塊的內聚程度要盡量低,且各模塊間的偶合程度要盡量弱

D.模塊的內聚程度要盡量低,且各模塊間的耦合程度要盡量強

75.

76.在數(shù)據(jù)管理技術發(fā)展的三個階段中,數(shù)據(jù)共享最好的是()。

A.人工管理階段B.文件系統(tǒng)階段C.數(shù)據(jù)庫系統(tǒng)階段D.三個階段相同

77.

78.

79.有以下程序:

#include<stdio.h>

main

{inta=1,b=2;

while(a<6){b+=a;a4+=2;b%=10;)

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

}

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

A.5,11B.7,1C.7,11D.6,1

80.

五、程序改錯題(1題)81.下列給定程序中函數(shù)fun的功能是:從整數(shù)10到55之間,查找能被3整除且有一位上的數(shù)值是5的數(shù),把這些數(shù)放在b所指的數(shù)組中,這些數(shù)的個數(shù)作為函數(shù)值返回。規(guī)定函數(shù)中al放個位數(shù),a2放十位數(shù)。

請改正程序中的錯誤,使它能得出正確的結果。

注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結構!

六、程序設計題(1題)82.請編寫函數(shù)proc(),該函數(shù)的功能是:實現(xiàn)B=A+A',即把矩陣A加上A的轉置,存放在矩陣B中。計算結果在main()函數(shù)中輸出。

注意:部分源程序給出如下。

請勿改動main()函數(shù)和其他函數(shù)中的任何內容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。

試題程序:

參考答案

1.A

2.C

3.DA選項中整型常量應表示為1200,數(shù)字中不能包含逗號。B選項中E后面的指數(shù)必須為整數(shù)。C選項中轉義字符以“\\”開始,若要表示字符“\\”,應寫為“\\\\”。故本題答案為D選項。

4.A本題考查按位與運算,按位與就是相同為1,不同為0,把x=011050化成二進制為0001001000101000,把01252化成二進制為0000001010101010,兩者相與得0000001000101000。

5.D解析:C語言中有基本的算術運算符(+、-、*、/)還包括自增自減運算符(++、-),在C語言解析表達式時,它總是進行貪婪咀嚼,這佯,該表達式就被解析為i+++++i,顯然該表達式不合C語言語法。

6.C

7.C

8.C本題主要考查我們對C語言一些基礎知識的掌握情況。下面分別分析本題的四個選項。

由于高級程序設計語言具有可讀寫、可理解性好等特點,這就要求高級程序設計語言用接近人們習慣的自然語言和數(shù)學語言作為語言的表達形式,選項A的說法正確。

在計算機中,機器可以接受和處理的只能是由0和1組成的二進制代碼,用高級語言編寫的程序都需要經(jīng)過編譯和連接,使其轉化為二進制代碼才能被機器執(zhí)行。因此,選項B的說法正確。

C語言源程序經(jīng)過C語言編譯程序編譯之后生成一個后綴為.OBJ的二進制文件(稱為目標文件);最后要由“連接程序”把此.OBJ文件與C語言提供的各種庫函數(shù)連接起來生成一個后綴為.EXE的可執(zhí)行文件。因此,選項C的說法不正確。

由于高級語言編寫的程序都需要經(jīng)過編譯和連接,才能被計算機執(zhí)行,因此,每一種高級語言都有它對應的編譯程序,D選項的說法正確。

9.C數(shù)據(jù)的邏輯結構是描述數(shù)據(jù)之間的關系,分兩大類:線性結構和非線性結構。線性結構是n個數(shù)據(jù)元素的有序(次序)集合,指的是數(shù)據(jù)元素之間存在著“一對一”的線性關系的數(shù)據(jù)結構。常用的線性結構有:線性表,棧,隊列,雙隊列,數(shù)組,串。非線性結構的邏輯特征是一個結點元素可能對應多個直接前驅和多個后驅。常見的非線性結構有:樹(二叉樹等),圖(網(wǎng)等),廣義表。

10.C解析:算法的時間復雜度實際上就是執(zhí)行算法程序所需要的計算工作量。為了客觀地反映算法性能,在度量算法的時間復雜度時,應該與編寫算法程序所使用的程序設計語言、執(zhí)行算法程序時所使用的計算的工具以及程序員的水平無關。選項A錯誤,因為同一算法程序在運行速度不同的計算機上運行時,其計算時間是不同的。選項B錯誤,因為算法所編寫的程序長度往往與程序設計語言以及程序員的水平有關,同一個算法,用不同的程序設計語言或者不同的程序員所編寫出的程序其長度可能會大不相同。選項D錯誤,因為根據(jù)一個算法所編制出的程序之中,其指令條數(shù)往往與程序設計語言以及程序員的水平有關,不能用算法程序中的指令條數(shù)來度量算法的時間復雜度。所以,本題正確答案為C。

11.B解析:數(shù)據(jù)庫系統(tǒng)除了數(shù)據(jù)庫管理軟件之外,還必須有其他相關軟件的支持。這些軟件包括操作系統(tǒng)、編譯系統(tǒng)、應用軟件開發(fā)工具等,選項A的說法是錯誤的。數(shù)據(jù)庫具有為各種用戶所共享的特點,選項B的說法是正確的。通常將引入數(shù)據(jù)庫技術的計算機系統(tǒng)稱為數(shù)據(jù)庫系統(tǒng)。一個數(shù)據(jù)庫系統(tǒng)通常由5個部分組成,包括相關計算機的硬件、數(shù)據(jù)庫集合、數(shù)據(jù)庫管理系統(tǒng)、相關軟件和人員。因此,選項C的說法是錯誤的。

12.A

13.A[解析]選項B)的正確寫法應為p=&n;選項C)的正確寫法應為scanf("%d",p);選項D)的正確寫法應為printf("%d\\n",*p)。

14.A本題考查了函數(shù)的調用。首先主函數(shù)定義了兩個字符型數(shù)據(jù)b和a,給b賦值為字母a.a(chǎn)賦值為字母A,調用fun(&.b,a)函數(shù),*C=*c十1,a的ASCIl碼值加1后為b,A的ASCIl碼值加1后為B。輸出第一組值,排除C、D選項。B選項的值此時為小b,排除B選項,所以本題答案為A。

15.A

16.C解析:本題考察運算符和選擇語句,執(zhí)行到if語句時,--a為0,所以不會執(zhí)行后面的語句,但是會執(zhí)行elseif后面的語句,所以執(zhí)行后,b=2,選項C)正確。

17.D函數(shù)f是一個遞歸函數(shù)。當x>=2時,遞歸調用自身,返回值為x*f(x-l)+(x-l)*f(x-2);3x<2時,返回值為1。main函數(shù)中,調用函數(shù)f傳入4,所以y的值是f(4)。f(4)等價于4*f(3)+3*f(2);f(3)等價于3*f(2)+2*f(1);f(2)等價于2*f(1)+1*f(0);f(0)、f(1)等價于1。綜上:f(2)等于3,f(3)等于11,f(4)等于53。本題答案為D選項。

18.B

19.D

20.D考查if循環(huán)語句。if(表達式),其中表達式是一個條件,條件中可以是任意的合法的數(shù)值。

21.維護維護

22.00解析:二維數(shù)組中當某行一對花括號內的初值個數(shù)小于該行中元素的個數(shù)時,系統(tǒng)將自動給該行后面的元素補初值0,由此可見數(shù)組a[1][2]=0。

23.66解析:條件運算符的優(yōu)先級高于賦值運算符,因此本題先計算關系表達式(*ptr+y)<x)?*(ptr+y):x的值,再賦給變量z。當y=0時,*(ptr+y)=2,而x=8,(*(ptr+y)<x)條件為真,則整個條件表達式的值為*(ptr+y)=2,所以z=2;當y-1時,*(ptr+y)=4,(*(ptr+y)<x)條件為真,則整個條件表達式的值為*(ptr+y)=4,所以z=4;當y=2時,*(ptr+y)=6,(*(ptr+y)<x)條件為真,則整個條件表達式的值為*(ptr+y)=6,所以z=6;循環(huán)結束。因此輸出z的結果為6。

24.35

25.數(shù)據(jù)存儲數(shù)據(jù)存儲

26.typedefintArrInt[4][10];

27.503503解析:如果if后面的條件為真,只執(zhí)行其后的一條語句或一條復合語句,如果if后面的條件為假,只執(zhí)行else后面的一條語句或一條復合語句。先判斷表達式“a<b”為假,不執(zhí)行“t=a”,但執(zhí)行“a=b;b=t;”,a的值為3,b的值為0。在判斷表達式“a<c”,值為真,所以執(zhí)行后面的3條語句“t=a;a=c;c=t”,結果a的值為5,c的值為3,所以最后輸出的結果為5、0和3。

28.b=14b=14解析:分析程序可知,n的初始值為1,因此,while(n<=3)循環(huán)3次。第1次:c=c*a=2:b=b+c=2;n=2。第2次:c=c*a=4;b=-b+c=6;n=3。第3次;c=c*a=8:b=b+c=14。當n=4時,判斷條件不滿足,退出循環(huán)。

29.buf的首地址buf的首地址解析:考查fsets()函數(shù)的功能,f8ets()函數(shù)用來從文件中讀入字符串。調用格式為:f8ets(buf,n,fp)。此處,fp是文件指針,buf是存放字符串的起始地址,n是一個int型變量。調用函數(shù)fsets()時,最多能讀入n-1個字符,系統(tǒng)自動在最后加字符串結束標志,并以buf作為函數(shù)值返回。

30.指針P指向數(shù)組a的首地址,執(zhí)行語句p++;后p指向數(shù)組a的第2個元素的地址,即a[1]的地址,因此*p=a[1]=4。\r\n\r\n

31.HowdoessheHowdoesshe解析:strcpy(str1,s1);字符串拷貝函數(shù),作用是將字符串s1拷貝到字符數(shù)組strl中去。strlen(str):測試字符串str的長度,函數(shù)的值為字符串中實際長度,不包括\'\\0\'在內。本題中strlen(str1)的值為13,則strcpy(strl+strlen(strl)/2,'esshe');相當于strcpy(strl+6,'esshe');,因此可得答案為Howdoesshe

32.structnode*structnode*解析:link是指向結構體自身的指針,因此link是指針,指向strictnode類型的數(shù)據(jù),可定義成“stmctnode*link”。

33.1616解析:在程序中首先將8賦值給變量a,然后在進行復合賦值運算。即a=a+a=8+8=16,所以該空格處應該填16。

34.30x30x解析:本題的參數(shù)傳遞屬于值傳遞,所以被調用函數(shù)內不能改變調用函數(shù)中的數(shù)據(jù)。

35.1000001010000010解析:運算“&”的規(guī)則是只有當兩個相應的二進制位都為1時,該位的結果才為1。要保留第2、8位,只要將其與二進制數(shù)10000010相與。

36.n/2性表的任何位置插入一個元素的概率相等,即概率為p=1/(n+1),則插入一個元素時所需移動元素的平均次數(shù)為E=1/(n+1)(n-i+1)=n/2。

37.44解析:在主函數(shù)中,語句p=a;p++使用指針p指向數(shù)組a[1],所以輸出結果為4。

38.str[i]或str+iistr[i]或str+i\r\ni

39.findbigfindbig解析:本題首先定義了一個指向函數(shù)的指針變量f,如果希望讓它指向某個函數(shù),只需把函數(shù)名賦給該指針變量即可。所以說本題的空格處應該填入函數(shù)名findbig。

40.隊列隊列解析:隊列是一種特殊的線性表,只允許在表的一端插入元素,在表的另一端刪除元素,插入元素的一端叫做“隊尾”,刪除元素的一端叫做“隊頭”,先插入的元素先被刪除,是按先進先出的原則組織數(shù)據(jù)的。

41.B解析:本題考查printf函數(shù)的格式。在printf函數(shù)中,如果格式說明符中有兩個%說明,則將第1個%后面的字符原樣輸出,并不輸出其對應的變量值。

42.A解析:C語言的字符常量是用單引號(\')括起來的一個字符,也可以用以一個“\\”開頭的字符序列來表示字符常量。其中形式\\ddd表示1到3位8進制數(shù)所代表的字符;形式\\xhh表示1到2位16進制數(shù)所代表的字符。在本題中\(zhòng)'\\x13\'表示回車符,是一個字符常量;而\'\\081\'用8進制數(shù)所代表的字符形式不正確,因為8進制數(shù)所表示的字符中不會出現(xiàn)數(shù)字“8”;\'65\'單引號(即撇號)括起來的不是一個字符,而是一個十進制數(shù)字;'\\n'是用雙引號括起來的一個字符,表示一個字符串,而不是字符常量。

43.D解析:如果是指針型變量或數(shù)組名,則變量前不加地址符號&,所以選項A的說法有誤。必須有地址列表項才能實現(xiàn)正確輸入,所以選項B的說法有誤。在輸入數(shù)據(jù)時,不可以指定實型數(shù)據(jù)的精度,所以選項C的說法有誤。只有選項D的說法正確。

44.D解析:考查二維數(shù)組的定義及其元素引用的方法。當k=1時,引用的是二維數(shù)組元素w[1][1],值為字符串'FGH';當k=2時,引用的是數(shù)組元素w[2][2],即字符串'KL';當k=3時,結束程序的執(zhí)行。

45.C解析:在選項A中,main()函數(shù)中定義了一個指針變量P,調用fun()函數(shù)時把p傳給形參P,在函數(shù)中讓p指向局部變量s,由于函數(shù)調用返回后,局部變量s將被釋放,因此無法實現(xiàn)讓實參p指向一個整型單元。選項B中實現(xiàn)的也是讓實參p指向一個在函數(shù)fun()定義的局部變量s;選項C在函數(shù)fun()中分配了兩個字節(jié)的內存單元并把首地址賦值給形參p指向的變量,即main()函數(shù)的指針變量p中,由于整型變量占兩個字節(jié);選項D在主函數(shù)中定義了一個指針地址變量p,并把指針變量的值傳給形參變量p,在fun()函數(shù)分配了一個整型單元并把首地址賦值給形參指針變量P,由于C語言中變量作為參數(shù)是傳值的,所以并沒有改變對應實參指針變量的值。

46.A

47.B本題考查的是指向函數(shù)的指針。語句“int(*f)(int);”是對一個函數(shù)的聲明,其中f是指向該函數(shù)的指針,該函數(shù)有一個整型的參數(shù),函數(shù)返回值類型為整型。故答案選B)。

48.C

49.D解析:字符型數(shù)據(jù)在計算機內部是以ASCII存儲的,英文大寫字母和小寫字母在ASCII碼表中都是連續(xù)的,大寫字母A到Z是從65到90,小寫字母a到z是97到122。所以只要變量c大于a并且小于z就能保證其為小寫字母。

50.C解析:數(shù)組m初始化后結果為:m[0][0]=1、m[0][1]=4、m[0][2]=7、m[1][0]=2、m[1][1]=5、m[1][2]=8、m[2][0]=3、m[2][1]=6、m[2][2]=9。for循環(huán)語句的作用是輸出數(shù)組元素m[2][0]、m[2][1]和m[2][2],所以輸出結果為:369。

51.A解析:引用一個數(shù)組元素,可以用:(1)下標法,如a[i]形式;(2)指針法,如*(a+i)或*(p+i)。數(shù)組的下標從0開始,值為3的數(shù)組元素是a[2]。B、C的內容為a[3],D將a[2]前自加,結果為4。

52.C解析:由函數(shù)feof的定義得知,如果返回的是0,則表示沒有到文件末尾;如果返回為非0,則表示到文件末尾。

53.D解析:本題考查條件運算符。如果x%2非0,輸出**和循環(huán)變量的值;如果x%2為0,輸出##和循環(huán)變量的值。當循環(huán)變量為3和5時,分別輸出**3和**5,當循環(huán)變量為4時,輸出##4后換行。

54.D解析:在定義函數(shù)時函數(shù)名后面括弧中的變量名稱為“形式參數(shù)”(簡稱形參),在主調函數(shù)中調用一個函數(shù)時,函數(shù)名后面括弧中的參數(shù)(可以是一個表達式)稱為“實際參數(shù)”(簡稱實參)。C語言規(guī)定,實參變量對形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實參傳給形參,而不能由形參傳回來給實參。在內存中,實參單元與形參單元是不同的單元。故本題應該選擇D。

55.C解析:選項A是先定義一個結構體類型,然后再定義結構體變量。選項B是通過宏替換來定義結構變量的。選項D則是直接定義結構變量。

56.C解析:將題目中的定義語句去掉前面的typedef和后面的NEW(分號保留),就是一條完整的結構體定義語句,其中struct是說明符,ST是結構體名,大括號里面的是結構體成員的定義。此時要聲明該結構體變量時需要使用struct加結構體名一起來聲明,struetST一起構成一個結構體類型,就好像字符類型char.若只去掉前面的typedef,就是一條結構體定義同時聲明一個結構體變量NEW的語句,因為NEW的前面部分是structST的完整寫法??梢钥醋魇莝tructST.C語言允許用typedef說明一種新類型名,其語法格式為:

typedef類型名標識符;

以后就可以用該標識符來代替被說明的類型名了。因此,當前面存在typedef時,該語句就變成了給stmctST的完整寫法定義一個新的名稱NEW。所以,此時的NEW是一個結構體類型,它相當于structST,即可以和char一樣單獨用來聲明該結構體變量,而ST只是一個結構體名,不能單獨用來聲明變量。所以,4個選項中C符合題意。

57.D解析:關系代數(shù)運算的基本運算符有4類:集合運算符、專門的關系運算符、算術運算符和邏輯運算符。并、差、笛卡兒積、投影、選擇是5種基本的運算,其他運算可以通過基本的運算導出。

58.D解析:耦合性與內聚性是模塊獨立性的兩個定性標準,是互相關聯(lián)的。在程序設計中,各模塊間的內聚性越強,則耦合性越弱。一般較優(yōu)秀的軟件設計,應盡量做到高內聚、低耦合,有利于提高模塊的獨立性。

59.BB)【解析】軟件側試的目的:

\n①軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;

\n②一個好的測試用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤;

\n⑧一個成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤。

\n軟件側試的準則:

\n①所有測試都應追溯到需求;

\n②嚴格執(zhí)行測試計劃,排除測試的隨意性;

\n③充分注意測試中的群集現(xiàn)象:

\n④程序員應避免檢查自己的程序;

\n⑤窮舉測試不可能;

\n⑥妥善保存測試計劃、測試用例、出錯統(tǒng)計和最終分析報告,為維護提供方便。

60.B

61.C

62.C本題考查的是if語句。if是c語言關鍵字,表達式兩側的圓括號不可少,最后是一條語句或是用花括號括起來的一組語句。選項A)和B)是在表達式后跟了一條空語句,選項D)是在表達式后跟了一組空語句,選項C)中x一一是表達式而不是語句,所以在編譯時會出現(xiàn)錯誤信息,在X一一后面加上”;”號就對了。

63.D在軟件開發(fā)的過程中,應該盡早的制定測試計劃,其中在需求分析階段制定系統(tǒng)測試計劃

64.A

65.A\nC語言中程序中的步驟實現(xiàn)為:先確定程序中的算法和數(shù)據(jù)結構,然后進行程序的編碼,再進行對程序的調試,最后進行文檔的整理和記錄。使用這種步驟可以方便程序的編寫以及在完成后提高代碼的重用性。

\n

66.D沒有A選項的引用形式。+與&放在一起作用抵消,所以B選項錯誤,最大只能引用到X[9]。+(pt+i)表示引用指針pt所指元素后的第i個元素,所以c選項錯誤,最大只能為+(pt+9)。因

溫馨提示

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

評論

0/150

提交評論