2021年江蘇省泰州市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第1頁
2021年江蘇省泰州市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第2頁
2021年江蘇省泰州市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第3頁
2021年江蘇省泰州市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第4頁
2021年江蘇省泰州市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2021年江蘇省泰州市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________

一、單選題(20題)1.數(shù)據(jù)結(jié)構(gòu)主要研究的是數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的運(yùn)算和()。A.數(shù)據(jù)的方法B.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)C.數(shù)據(jù)的對象D.數(shù)據(jù)的邏輯存儲(chǔ)

2.

3.相對于數(shù)據(jù)庫系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和()。

A.可重用性差B.安全性差C.非持久性D.冗余性

4.以下選項(xiàng)中不屬于字符常量的是

A.′C′B.′′C′′C.′\xCC′D.′\072′

5.數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關(guān)系是()。

A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.沒有任何關(guān)系

6.以下程序的輸出結(jié)果是()。A.1010B.99C.910D.109

7.有以下程序:#include<stdio.h>main(){inta[3][3]={0,1,2,3,4,5,6,7,8},(*p)[3],i;p=a;for(i=0;i<3;i++){printf(“%d”,(*p)[i]);p++;}}程序的運(yùn)行結(jié)果是()。

A.036B.012C.048D.147

8.設(shè)有定義“intk=0;”,以下選項(xiàng)的4個(gè)表達(dá)式中與其他3個(gè)表達(dá)式的值不相同的是()。

A.++kB.k+=1C.k++D.k+1

9.下列關(guān)于標(biāo)識符的說法中錯(cuò)誤的是

A.合法的標(biāo)識符是由字母、數(shù)字和下劃線組成

B.C語言的標(biāo)識符中,大寫字母和小寫字母被認(rèn)為是兩個(gè)不同的字符

C.C語言的標(biāo)識符可以分為三類,即關(guān)鍵字、預(yù)定義標(biāo)識符和用戶標(biāo)識符

D.用戶標(biāo)識符與關(guān)鍵字不同時(shí),程序在執(zhí)行時(shí)將給出出錯(cuò)信息

10.以下敘述中錯(cuò)誤的是A.gets函數(shù)用于從終端讀入字符串

B.getchar函數(shù)用于從磁盤文件讀入字符

C.fputs函數(shù)用于把字符串輸出到文件

D.fwrite函數(shù)用于以二進(jìn)制形式輸出數(shù)據(jù)到文件

11.下列對隊(duì)列的敘述正確的是A.隊(duì)列屬于非線性表B.隊(duì)列按“先進(jìn)后出”原則組織數(shù)據(jù)C.隊(duì)列在隊(duì)尾刪除數(shù)據(jù)D.隊(duì)列按“先進(jìn)先出”原則組織數(shù)據(jù)

12.下列描述中正確的是()。

A.軟件工程只是解決軟件項(xiàng)目的管理問題

B.軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問題

C.軟件工程的主要思想是強(qiáng)調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則

D.軟件工程只是解決軟件開發(fā)中的技術(shù)問題

13.在線索化樹中,每個(gè)結(jié)點(diǎn)必須設(shè)置一個(gè)標(biāo)志來說明它的左、右鏈指向的是樹結(jié)構(gòu)信息,還是線索化信息,若0標(biāo)識樹結(jié)構(gòu)信息,1標(biāo)識線索,對應(yīng)葉結(jié)點(diǎn)的左右鏈域,應(yīng)標(biāo)識為()。

A.00B.01C.10D.11

14.有以下程序#include<stdio.h>voidfun(int*a,intn)/*fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序*/{intt,i,j;for(i=0;i<n-1;j++)for(j=i+l;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main{intc[10]={1,2,3,4,5,6,7,8,9,0),i;fun(c+4,6);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");}程序運(yùn)行的結(jié)果是()。A.1,2,3,4,5,6,7,8,9,0,

B.0,9,8,7,6,5,1,2,3,4,

C.0,9,8,7,6,5,4,3,2,1,

D.1,2,3,4,9,8,7,6,5,0,

15.以下選項(xiàng)中,合法的一組C語苦數(shù)值常量是()。

A.28.5e-3-0xf

B.12OXa234.5

C.1774c1.5Oabc

D.0x8A10,0003.e5

16.設(shè)有兩個(gè)串p和q,其中q是p的子串,求q在p中首次出現(xiàn)的位置的算法稱為()。

A.求子串B.聯(lián)接C.匹配D.求串長

17.下面程序的運(yùn)行結(jié)果是

#include<stdio.h>

main()

{inta=28,b;

chars[10],*p;

p=s;

do{b=a%16;

if(b<10)*p=b+48;

else*p=b+55;

p++;a=a/5;}while(a>0);

*p=′\0′;puts(s);}

A.10B.C2C.C51D.\0

18.

19.第

42

若有說明語句

chara[]="Itismine";

char*p="Itismine";

則以下不正確的敘述是

A.a+1表示的是字符t的地址

B.p指向另外的字符串時(shí),字符串的長度不受限制

C.p變量中存放的地址值可以改變

D.a中只能存放10個(gè)字符

20.二叉樹的后序排列DBEFCA,中序排列DBAECF,那么對其做先序線索化二叉樹,節(jié)點(diǎn)E的線索化指向節(jié)點(diǎn)()

A.BCB.ACC.DFD.CF

二、2.填空題(20題)21.以下程序運(yùn)行后的輸出結(jié)果是【】。

main()

{intx=15;

while(x>10&&x<50)

{x++;

if(x/3){x++;break;}

elsecontinue;

}

printf(“%d\n”,x);

}

22.結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)分別是順序、選擇和______。

23.程序的功能是將文件filel.c的內(nèi)容輸出到屏幕上并復(fù)制到文件file2.c中,請?zhí)羁铡?/p>

#include<stdio.h>

main()

{FILE【】;

fp1=fopen("filel.c","r");

fp2=fopen("file2.c","w");

while(!feof(fp1))putchar(getc(fp1));

rewind(fp1);

while(!feof(fp1))putc(【】);

fclose(fp1);

fclose(fp2);

}

24.算法的復(fù)雜度主要包括【】復(fù)雜度和空間復(fù)雜度。

25.若有以下定義,則不移動(dòng)指針p,且通過指針p引用值為98的數(shù)組元素的表達(dá)式是______。

intw[10]={23,54,10,33,47,98,72,80,61},*p=w;

26.函數(shù)compare的功能是比較兩個(gè)字符串是否相等,若相等則函數(shù)返回值0,否則返回值1,請?zhí)羁铡?/p>

compare(chars[],chart[])

{inti=0;

while(s[i]==t[i]||【】)i++;

return(【】?1:0);

}

27.下列軟件系統(tǒng)結(jié)構(gòu)圖的寬度為[]。

28.下列程序的輸出結(jié)果是______。

#defineP(A)printf("%d,",(int)(A))

#definePRINT(A)P(A);printf("theend")

main()

{inti,a=0;

for(i=1;i<5.i++)

PRINT(a+i);

printf("\n");

}

29.己定義charch='$';inti=l,j;,執(zhí)行j=!ch&&ii++以后,i的值為【】。

30.某二叉樹中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹中有【】個(gè)葉子結(jié)點(diǎn)。

31.下面程序的輸出結(jié)果是【】。

charb[]="ABCD";

main()

{char*chp;

for(chp=b;*chp;chp+=2)printf("%s",chp);

printf("\n");

}

32.數(shù)據(jù)的物理結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的【】。

33.若有以下程序:

main()

{int,p,a=5;

if(P=a!=0)

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

else

printf("%d\n",p+2);

}

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

34.下面程序的輸出是【】。

main()

{enumern{em1=3,em2=1,em3};

char*aa[]={"AA","BB","CC","DD"};

printf("%s%s%s\n",aa[em1],aa[em2],aa[em3]);

}

35.函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如下:

1

11

121

1331

14641

其構(gòu)成規(guī)律是:

①第0列元素和主對角線元素均為1;

②其余元素為其左上方和正上方元素之和;

③數(shù)據(jù)的個(gè)數(shù)每行遞增1。

請將程序補(bǔ)充完整。

#defineN6

voidYangHui(intx[N][N])

{inti,j;x[0][0]=1;

for(i=1;i<N;i++)

{x[i][0]=x[i][i]=1;

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

x[i][j]=【】;

}

}

36.下面程序的功能是求整數(shù)m、n的最大公約數(shù),請?zhí)羁铡?/p>

main()

{intm,n,r;

scanf("%d,%d",m,n);

if(【】){r=m;m=n;n=r;}

while(【】)

{r=m%n;m=n;n=r;}

printf("%d",m);

}

37.軟件工程的出現(xiàn)是由于【】。

38.若給fun函數(shù)的形參s傳送字符串“∪∪6354'abc"(其中∪表示空格字符),則函數(shù)的返回值是【】。

longfun(chars[])

{longn;intsign;

for(;isspace(*s);s++);

sign=(*s=='-')?-1:1;

if(*s=='+'||*s=='-')s++;

for(n=0;isdigit(*s);s++)

n=10*n+(*s-'0');

returnsign*n;

}

39.一個(gè)類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個(gè)方法提高了軟件的【】。

40.閱讀下列程序,則程序的輸出結(jié)果為______。

#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';}

三、1.選擇題(20題)41.設(shè)有變量說明int(*p)[m],其中的標(biāo)識符p是()。

A.m個(gè)指向整型變量的指針

B.指向m個(gè)整型變量的指針

C.一個(gè)指向具有m個(gè)整型元素的一維數(shù)組的指針

D.具有m個(gè)指針元素的一維指針數(shù)組,每個(gè)元素都指向整型變量

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

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

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

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

D.以上三種說法都不對

43.下面程序輸出的結(jié)果是______。main(){inti=5,j=9,x;x=(i==j?:(j=7));printf("\n%d,%d",i,j);}

A.5,7B.5,5C.語法錯(cuò)誤D.7,5

44.以下程序的輸出結(jié)果是______。#include<stdio.h>#defineSQR(x)x*xmain(){inta,k=3;a=++SQR(k+1);printf((“%d\n”,a);}A.8B.9C.17D.20

45.若x,i,j和k都是int型變量,則計(jì)算表達(dá)式x=(i=4,j=16,k=32)后,x的值為()。

A.4B.16C.32D.52

46.設(shè)有說明int(*ptr)[M];其中的標(biāo)識符ptr是______。

A.M個(gè)指向整型變量的指針

B.指向M個(gè)整型變量的函數(shù)指針

C.一個(gè)指向具有M個(gè)整型元素的一維數(shù)組的指針

D.具有M個(gè)指針元素的一維指針數(shù)組,每個(gè)元素都只能指向整型變量

47.若以“a+”方式打開一個(gè)已存在的文件,則下列敘述正確的是()。

A.文件打開時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件末尾,可以進(jìn)行添加或讀操作

B.文件打開時(shí),原有文件內(nèi)容不被刪除,只能進(jìn)行讀操作

C.文件打開時(shí),原有文件內(nèi)容被刪除,只能進(jìn)行寫操作

D.以上三種說法都不正確

48.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是()。

A.程序的規(guī)模B.程序的效率C.程序設(shè)計(jì)語言的先進(jìn)性D.程序的易讀性

49.軟件生命周期中花費(fèi)時(shí)間最多的階段是()

A.詳細(xì)設(shè)計(jì)B.軟件編碼C.軟件測試D.軟件維護(hù)

50.有以下程序main(){charst[20]="hello\0\t'\\";printf("%d%d\n",strlen(st),sizeof(st));}程序運(yùn)行后的輸出結(jié)果是()

A.99B.520C.1320D.2020

51.若有條件表達(dá)式(exp)?a++:b--,則以下表達(dá)式中能完全等價(jià)于表達(dá)式(exp)的是

A.(exp==0)B.(exp!=0)C.(exp==1)D.(exp!=1)

52.下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法的是()。

A.自頂向下B.逐步求精C.模塊化D.可復(fù)用

53.下列說法不正確的是()。

A.C程序是以函數(shù)為基本單位的,整個(gè)程序由函數(shù)組成

B.C語言程序的一條語句可以寫在不同的行上

C.C程序的注釋行對程序的運(yùn)行功能不起任何作用,所以注釋應(yīng)該盡可能少寫

D.C程序的每個(gè)語句都以分號結(jié)束

54.在下列四條敘述中,錯(cuò)誤的一條是()

A.內(nèi)存是主機(jī)的組成部分

B.對于種類不同的計(jì)算機(jī),其機(jī)器指令系統(tǒng)都是相同的

C.CPU由運(yùn)算器和控制器組成

D.十六進(jìn)制微型機(jī)的含義是:這種機(jī)器能同時(shí)處理十六位二進(jìn)制數(shù)

55.設(shè)a和b均為雙精度型變量,且a=5.5、b=2.5,則表達(dá)式(int)a+b/b的值是()。

A.6.5B.6C.5.5D.6

56.以下函數(shù)的功能是:通過鍵盤輸入數(shù)據(jù),為數(shù)組中的所有元素賦值。#defineN10voidarrin(intx[N]){inti=0;while(i<N)scanf("%d",______);}在下劃線處應(yīng)填入的是

A.x+iB.&x[i+1]C.x+(i++)D.&x[++i]

57.設(shè)x=2.5、a=7、y=4.7,算術(shù)表達(dá)式x+a%3*(int)(x+y)%2/4的值為______。

A.2.5B.7C.4.7D.2.75

58.執(zhí)行以下程序段后,m的值為______。inta[2][3]={{1,2,3},{4,5,6}};intm,*p;p=&a[0][0];m=(*p)*(*(p+2))*(*(p+4));

A.15B.14C.13D.12

59.為了提高測試的效率,應(yīng)該()。

A.隨機(jī)選取測試數(shù)據(jù)

B.取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)

C.在完成編碼以后制定軟件的測試計(jì)劃

D.集中對付那些錯(cuò)誤群集的程序

60.字長為16位的計(jì)算機(jī)是指______。

A.該計(jì)算機(jī)能夠處理的最大數(shù)不超過16

B.該計(jì)算機(jī)中的CPU可以同時(shí)處理16位的二進(jìn)制信息

C.該計(jì)算機(jī)的內(nèi)存量為16MB

D.該計(jì)算機(jī)每秒鐘所能執(zhí)行的指令條數(shù)為16MIPS

四、選擇題(20題)61.函數(shù)fseek的正確調(diào)用形式是()。

A.fseek(位移量,起始點(diǎn),文件類型指針);

B.fseek(文件類型指針,位移量,起始點(diǎn));

C.fseek(文件類型指針,起始點(diǎn),位移量);

D.fseek(起始點(diǎn),位移量,文件類型指針);

62.

63.某二叉樹共有7個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)只有l(wèi)個(gè),則該二叉樹的深度為(假設(shè)根結(jié)點(diǎn)在第1層)()。

A.3B.4C.6D.7

64.

65.若有定義intx'y;并已正確給變量賦值。則以下選項(xiàng)中與表達(dá)式(x-y)?(x++):(y++)中的條件表達(dá)式(x_y)等價(jià)的是()。

A.(x-y011x-y>0)B.(x-y<0)C.(x-y>0)D.(x-y=o)

66.以下程序的輸出結(jié)果是()。

#include<stdio.h>

voidmain()

{inta,b,d=241;

a=d/100%9;

b=(-1)&&(-1);

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

A.6,1B.2,1C.6,0D.2,0

67.

執(zhí)行下述程序后,輸出的結(jié)果是()。

#include<stdio.h>

#defineS(X)X*X

voidmain

{inta=9,k=3,m=2;

a/=S(k+m)/s(k+m);

printf("%d",a);

}

A.1B.4C.9D.0

68.

69.以下敘述中錯(cuò)誤的是()。A.使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡單問題

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

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

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

70.當(dāng)把以下四個(gè)表達(dá)式用做if語句的控制表達(dá)式時(shí),有一個(gè)選項(xiàng)與其他三個(gè)選項(xiàng)含義不同,這個(gè)選項(xiàng)是()。

A.k%2B.k%2==1C.(K%2)!=0D.!k%2==1

71.有以下程序:執(zhí)行時(shí)輸入:0<;回車>;后,則輸出結(jié)果是()。A.5,B.0,0,0,0,0,C.0,1,2,3,4,D.0,1.

72.

73.下列關(guān)于Internet和Web的說法中,正確的是()。

A.Web就是Internet的別稱

B.Web是基于Internet之上的一個(gè)應(yīng)用服務(wù)

C.Internet是基于Web之上的一個(gè)信息系統(tǒng)

D.Internet與Web沒有任何關(guān)系

74.有以下程序:

程序運(yùn)行后的輸出結(jié)果是()。

A.9.One*World

B.9.One*Dream!

C.10.One*Dream!

D.10.One*World

75.下面概念中,不屬于面向?qū)ο蠓椒ǖ氖?)。A.對象B.繼承C.類D.過程調(diào)用

76.以下選項(xiàng)中,能用作用戶標(biāo)識符的是()。A._0_B.8—8C.voidD.unsigned

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

A.EOFB.-1C.1D.NULL

78.若有定義和語句:

int*(*pp),*P,a=20,b=10;

pp=&p;p=&a;p=&b;printf("%d,%d\n",*P,**PP);

則輸出結(jié)果是()。A.A.20,10B.20,20C.10,20D.10,10

79.定義無符號整數(shù)類為UInt,下面可以作為類UInt實(shí)例化值的是()。

A.-369B.369C.0.369D.整數(shù)集合{1,2,3,4,5}

80.有以下程序:

程序執(zhí)行后的輸出結(jié)果是()。

A.321,cbaB.abc,123C.123,abcD.lbe,a23

五、程序改錯(cuò)題(1題)81.寫出下列程序的運(yùn)行結(jié)果。

#include“stdio.h”

Main

{inta[]={1,2,3,-4,5};

intm,n,*p;p=&a[0];m=*(p+1);n=*(p+4);

printf(“%d%d%d”,*p,m,n);}

六、程序設(shè)計(jì)題(1題)82.編寫一個(gè)函數(shù),該函數(shù)可以統(tǒng)計(jì)一個(gè)長度為2的字符串在另一個(gè)字符串中出現(xiàn)的次數(shù)。例如,假定輸入的字符串為abcdefabcdeabceabcdef,子字符串為cd,則應(yīng)當(dāng)輸出3。注意:部分源程序給出如下。請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號中填入所編寫的若干語句。試題程序:

參考答案

1.B詳細(xì)解答:

數(shù)據(jù)結(jié)構(gòu)是研究數(shù)據(jù)元素及其之間的相互關(guān)系和數(shù)據(jù)運(yùn)算的一門學(xué)科,它包含3個(gè)方面的內(nèi)容,即數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)和數(shù)據(jù)的運(yùn)算。

2.D

3.D解析:文件系統(tǒng)所管理的數(shù)據(jù)文件基本上是分散的、相互獨(dú)立的,因此相對于數(shù)據(jù)庫系統(tǒng),以此為基礎(chǔ)的數(shù)據(jù)處理存在3個(gè)缺點(diǎn),數(shù)據(jù)冗余大、數(shù)據(jù)的不一致性、程序與數(shù)據(jù)的相互依賴(簡稱為數(shù)據(jù)依賴)。注意:文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)各自的特點(diǎn),人工管理階段及數(shù)據(jù)庫系統(tǒng)三代的特點(diǎn)。

4.B解析:在C語言程序中,用單引號把一個(gè)字符或反斜線后跟一個(gè)特定的字符括起來表示一個(gè)字符常量。選項(xiàng)A)、C)和D)為正確的字符常量,而選項(xiàng)B)是用雙引號括起來的字符,表示一個(gè)字符串常量。

5.C(10)C)解析:DB即數(shù)據(jù)庫(Database),是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合;DBMS即數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問DB的方法;DBS即數(shù)據(jù)庫系統(tǒng)(DatabaseSystem)由如下5部分組成,數(shù)據(jù)庫(數(shù)據(jù))、數(shù)據(jù)庫管理系統(tǒng)(軟件)、數(shù)據(jù)庫管理員(人員)、系統(tǒng)平臺(tái)之一——硬件平臺(tái)(硬件)、系統(tǒng)平臺(tái)之二——軟件平臺(tái)(軟件)。

6.D

7.Cmain函數(shù)定義3行3列的整型二維數(shù)組a;定義數(shù)組指針P,P指向包含3個(gè)元素的數(shù)組。程序首先將a賦給p。for循環(huán)中,i=0時(shí),P指向a的第1個(gè)元素{0,1,2},輸出p[0]即0;i=1時(shí),p指向a的第2個(gè)元素{3,4,5},輸出P[1]即4;i=2時(shí),p指向a的第3個(gè)元素{6,7,8},輸出P[2]即8。所以程序輸出048。故本題答案為C選項(xiàng)。

8.C表達(dá)式“++k”是先使得k的值自增1后再使用。表達(dá)式“k++”是先取得k的值再將k的值自增1。所以C選項(xiàng)中表達(dá)式的值為0,而其他3個(gè)選項(xiàng)中表達(dá)式的值均為1。故本題答案為C選項(xiàng)。

9.D解析:用戶標(biāo)識符與關(guān)鍵字相同時(shí),程序在編譯過程中將給出出錯(cuò)信息。注意:選項(xiàng)D)應(yīng)該改為用戶標(biāo)識符與關(guān)鍵字相同,程序在編譯時(shí)將給出出錯(cuò)信息。注意:合法的標(biāo)識符第一個(gè)字符必須為字母或下劃線。

10.B其中B選項(xiàng)的getchar函數(shù)用于從終端讀入字符。故本題答案為B選項(xiàng)。

11.D解析:本題考查數(shù)據(jù)結(jié)構(gòu)中隊(duì)列的基本知識。隊(duì)列是一種限定性的線性表,它只允許在表的一端插入元素,而在另一端刪除元素,所以隊(duì)列具有先進(jìn)先出的特性。在隊(duì)列中,允許插入元素的一端叫做隊(duì)尾,允許刪除的一端則稱為隊(duì)頭。這與日常生活中的排隊(duì)是一致的,最早進(jìn)入隊(duì)列的人最早離開,新來的人總是加入到隊(duì)尾。因此,本題中只有選項(xiàng)D的說法是正確的。

12.C\r\n軟件工程是試圖用工程、科學(xué)和數(shù)學(xué)的原理與方法研制、維護(hù)計(jì)算機(jī)軟件的有關(guān)技術(shù)及管理方法。軟件工程的主要思想是強(qiáng)調(diào)在軟件開發(fā)工程中需要應(yīng)用工程化的原則。軟件工程用來解決以下問題:軟件需求的增長得不到滿足、軟件開發(fā)成本和進(jìn)度無法控制、軟件質(zhì)量難以保證、軟件不可維護(hù)或維護(hù)程度低、軟件得成本不斷提高、軟件開發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和應(yīng)用需求的增長。軟件項(xiàng)目的管理、軟件產(chǎn)品的生產(chǎn)率、軟件開發(fā)中的技術(shù)都是軟件工程需要解決的部分問題。因此選項(xiàng)C正確。

13.D

14.Dfun函數(shù)的功能是對數(shù)組a[]的元素從大到小進(jìn)行排序。

15.B

16.C

17.C解析:考查用字符指針處理字符串的方法。語句'p=s;'是使指針p指向字符數(shù)組s。*p則引用了p所指位置的數(shù)組元素。通過指針來引用一維數(shù)組元素。

18.D

19.D在C程序中,可以用字符數(shù)組存放一個(gè)字符串,然后輸出該字符串,也可以用字符指針指向一個(gè)字符串。

題目中用字符數(shù)組a[]來存放字符串'Itismine',a為數(shù)組名,表示首元素的地址,即字母I的地址。a+1表示數(shù)組中第二個(gè)元素t的地址,選項(xiàng)A正確。當(dāng)用字符串指針指向字符串時(shí),只是將字符串的第一個(gè)元素的地址賦給指針,當(dāng)該指針指向其他字符串時(shí),只需將該字符串的第一個(gè)元素地址賦給這個(gè)指針即可,和字符串的長度沒有關(guān)系,選項(xiàng)B也是正確的。指針變量的值為元素的地址,和元素具體的值沒有關(guān)系,當(dāng)指針指向不同的元素時(shí),存放的地址也會(huì)發(fā)生改變,故選項(xiàng)C是正確的。數(shù)組a初始化時(shí)沒有指定數(shù)組長度,系統(tǒng)自動(dòng)根據(jù)初值個(gè)數(shù)確定數(shù)組長度,題目中只是將10個(gè)有效字符存放到數(shù)組中,不能說明這個(gè)數(shù)組只能存放10個(gè)字符。

20.D

21.1717解析:bteak語句只能在循環(huán)體和switch語句體內(nèi)使用,當(dāng)break出現(xiàn)在循環(huán)體中的switch語句體內(nèi)時(shí),其作用只是跳出該switch語句體。當(dāng)break出現(xiàn)在循環(huán)體中,但不在switch語句體內(nèi)時(shí),則在執(zhí)行break后,跳出本層循環(huán)體。而continue語句的作用時(shí)結(jié)束本次循環(huán);即跳過本次循環(huán)中余下尚未執(zhí)行的語句,接著再一次進(jìn)行循環(huán)的條件判定。本題中首先定義了一個(gè)變量x并賦初值15,然后判斷循環(huán)條件“x>5&&x<50”,即“x>5&&x<50”,為真,執(zhí)行循環(huán)體。語句“x++;”執(zhí)行后,x的值變?yōu)?6,“x/3”的值為5為真,執(zhí)行其后的語句“x++;”,x的值變?yōu)?7,執(zhí)行語句“break”,退出循環(huán),輸出x的值為17。

22.重復(fù)(循環(huán))重復(fù)(循環(huán))解析:結(jié)構(gòu)化程序設(shè)計(jì)包括3種基本的結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和重復(fù)結(jié)構(gòu)(循環(huán)結(jié)構(gòu)),利用這3種結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計(jì)方法。其中利用循環(huán)結(jié)構(gòu),可以簡化大量的程序執(zhí)行。

23.*fp1*fp2getc(fp1)fp2*fp1,*fp2\r\ngetc(fp1),fp2解析:本題主要考查函數(shù)intputc(intch,FILE*fp)的功能,把ch中的字符輸出到fp所指文件,以及intgetc(FILE*fp),從fp所指文件中讀取一個(gè)字符。

24.時(shí)間時(shí)間解析:算法的復(fù)雜度主要指時(shí)間復(fù)雜度和空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度,一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。

25.*(p+5)或p[5]*(p+5)或p[5]

26.s[i]!='\0'||t[i]!='\0's[i]=='\0'&&t[i]=='\0's[i]!='\\0'||t[i]!='\\0'\r\ns[i]=='\\0'&&t[i]=='\\0'

27.33解析:軟件系統(tǒng)結(jié)構(gòu)圖的寬度:整體控制跨度(最大模塊數(shù)的層)的表示。

28.1234theend1,2,3,4,theend解析:本題考查帶參數(shù)的宏的定義。第1次循環(huán),i=1時(shí),調(diào)用PRINT(1),P(1)輸出1;第2次循環(huán),i=2時(shí),調(diào)用PRINT(2),P(2)輸出2:第3次循環(huán),i=3時(shí),調(diào)用PRINT(3),P(3)輸出3:第4次循環(huán),i=4時(shí),調(diào)用PRINT(4),P(4)輸出4,theend。

29.11解析:本題中的ch是一個(gè)字符變量,其初始值為'$'(非0值即為真),所以!ch的結(jié)果為假,此時(shí)&&右邊的i++被“短路”,即不會(huì)被計(jì)算。由此可見,i的值不會(huì)改變,故本題應(yīng)該填1。

30.1919解析:根據(jù)二叉樹的性質(zhì):在任意一棵二叉樹中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中度為2的結(jié)點(diǎn)數(shù)為18,故葉子結(jié)點(diǎn)數(shù)為18+1=19個(gè)。

31.ABCDCD

32.內(nèi)模式或物理模式或存儲(chǔ)模式內(nèi)模式或物理模式或存儲(chǔ)模式解析:一個(gè)數(shù)據(jù)庫只有一個(gè)內(nèi)模式,它是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(shù)據(jù)庫內(nèi)部的表示方法。例如,記錄的存儲(chǔ)方式是順序存儲(chǔ)、索引按照什么方式組織;數(shù)據(jù)是否壓縮存儲(chǔ),是否加密等。

33.11解析:首先計(jì)算if語句后面的表達(dá)式,根據(jù)運(yùn)算符的優(yōu)先級可知,先算“a!=0”,該值為1,再把1賦值給p,結(jié)果為1(真),執(zhí)行其后的printf語句,輸出的值為1。

34.DDBBCCDDBBCC解析:c語言對枚舉的定義規(guī)定定:在枚舉中聲明的各個(gè)枚舉元素,如果沒有明確指出某個(gè)枚舉元素的值,它的上一個(gè)元素存在并有明確值的情況下,這個(gè)枚舉元素的值為其上一個(gè)元素的值+1。在本題中,沒有明確說明枚舉元素em3的值,則em3=em2+1=1+1=2,進(jìn)而可知,在printf()打印函數(shù)中,要打印的數(shù)組元素是aa[3]、aa[1]、aa[2],因此最后的打印結(jié)果應(yīng)當(dāng)為“DDBBCC”。

35.x[i-1][j-1]+x[i-1][j]x[i-1][j-1]+x[i-1][j]解析:在程序外層i循環(huán)中先將數(shù)組的第0列元素和主對角線元素置1,內(nèi)層j循環(huán)的功能是給其余元素賦值,根據(jù)題意,空格內(nèi)應(yīng)填入x[i-1][j-1)+x[i-1][j]。

36.m<nn!=0

37.軟件危機(jī)的出現(xiàn)軟件危機(jī)的出現(xiàn)

38.63546354解析:函數(shù)fun的第一個(gè)for循環(huán)跳過字符串的前導(dǎo)空白符,接著判斷第一個(gè)非空白符是否是負(fù)號,若是,則置變量sign為-1;否則,置變量sign為1。接著的if語句在第一個(gè)非空白字符是負(fù)號或正號時(shí),跳過該字符。以后的for循環(huán)將后面的數(shù)字符當(dāng)作十進(jìn)制數(shù)的各位數(shù)字轉(zhuǎn)換為一個(gè)長整數(shù)n,當(dāng)遇字符a時(shí),結(jié)束循環(huán)。最后,函數(shù)返回sign與n的乘積。所以若調(diào)用函數(shù)時(shí)提供的實(shí)參是“∪∪6354abc”,則函數(shù)的返回值是6354。

39.可重用性繼承的優(yōu)點(diǎn):相似的對象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序中的冗余,提高軟件的可重用性。

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

41.C解析:本題考查指向數(shù)組的指針變量的聲明。這里的p表示一個(gè)指向數(shù)組的指針;*p表示指針p指向地址的內(nèi)容。

42.B解析:本題考查數(shù)據(jù)庫系統(tǒng)的基本概念和知識。

數(shù)據(jù)庫系統(tǒng)除了數(shù)據(jù)庫管理軟件之外,還心須有其他相關(guān)軟件的支持。這些軟件包括操作系統(tǒng)、編譯系統(tǒng)、應(yīng)用軟件開發(fā)工具等。對于大型的多用戶數(shù)據(jù)庫系統(tǒng)和網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng),還需要多用戶系統(tǒng)軟件和網(wǎng)絡(luò)系統(tǒng)軟件的支持。因此,選項(xiàng)A的說法是錯(cuò)誤的。

數(shù)據(jù)庫可以看成是長期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、大量的、有結(jié)構(gòu)的和可共享的數(shù)據(jù)集合。因此,數(shù)據(jù)庫具有為各種用戶所共享的特點(diǎn)。不同的用戶可以使用同一個(gè)數(shù)據(jù)庫,可以取出它們所需要的子集,而且容許子集任意重疊。數(shù)據(jù)庫的根本目標(biāo)是要解決數(shù)據(jù)的共享問題。因此,選項(xiàng)B的說法是正確的。

通常將引入數(shù)據(jù)庫技術(shù)的計(jì)算機(jī)系統(tǒng)稱為數(shù)據(jù)庫系統(tǒng)。一個(gè)數(shù)據(jù)庫系統(tǒng)通常由五個(gè)部分組成,包括相關(guān)計(jì)算機(jī)的硬件、數(shù)據(jù)庫集合、數(shù)據(jù)庫管理系統(tǒng)、相關(guān)軟件和人員。

因此,選項(xiàng)C的說法是錯(cuò)誤的。

因此,本題的正確答案是選項(xiàng)B。

43.A解析:條件表達(dá)式的一般形式為:表達(dá)式1?表達(dá)式2:表達(dá)式3;先求解表達(dá)式1,若為真則求解表達(dá)式2;若表達(dá)式1的值為假,則求解表達(dá)式3。本題中先判斷i=j,不等,執(zhí)行j=7;然后執(zhí)行x=7。故本題為A。

44.B

45.C本題主要考查逗號表達(dá)式。逗號是一個(gè)特殊的運(yùn)算符,它具有所有運(yùn)算符中最低的優(yōu)先級。在C語言中,用它可以將兩個(gè)表達(dá)式連接起來,逗號表達(dá)式的一般表現(xiàn)形式為:

表達(dá)式1,表達(dá)式2,…,表達(dá)式n

逗號表達(dá)式的求解過程是:先求解表達(dá)式1,再求解表達(dá)式2,依次往后計(jì)算,整個(gè)逗號表達(dá)式的值是最后一個(gè)表達(dá)式的值,如“3+5,5+6”的值是11。

在本題中,逗號表達(dá)式為i=4,j=16,k=32,根據(jù)上面的分析,計(jì)算逗號表達(dá)式得到的結(jié)果為k=32,最后將逗號表達(dá)式的結(jié)果賦值給變量x,那么變量x的值為32。因此,本題的正確答案選C。

46.C解析:(*pd)[M]中,由于一對圓括號的存在,所以*首先與prt結(jié)合,說明ptr是一個(gè)指針變量,然后與[M]結(jié)合,說明prt的基類型是一個(gè)包含M個(gè)int型元素的數(shù)組。

47.A解析:本題考查文件使用方式標(biāo)識符,以“a+”方式打開一個(gè)已存在的文件,則表示保留文件中原有的數(shù)據(jù),文件的位置指針在文件末尾,此時(shí),可以進(jìn)行追加或讀操作。

48.D解析:程序不僅是編寫完就結(jié)束了,為了測試和維護(hù)程序,往往還有其他人閱讀和跟蹤程序,因此程序設(shè)計(jì)的風(fēng)格應(yīng)該強(qiáng)調(diào)簡單和清晰,即程序的易讀性,“清晰第一,效率第二”。

49.D解析:軟件生命周期分為軟件定義、軟件開發(fā)及軟件運(yùn)行維護(hù)3個(gè)所段。本題中,詳細(xì)設(shè)計(jì)、軟什編碼和軟件測試都屬于軟件開發(fā)階段;維護(hù)是軟件生命周期的最后一個(gè)階段,也是持續(xù)時(shí)間最長,花費(fèi)代價(jià)最大的一個(gè)階段,軟件工程學(xué)的一個(gè)目的就是提高軟件的可維護(hù)性.降低維護(hù)的代價(jià)。

50.B

51.B解析:條件運(yùn)算符要求有3個(gè)操作對象,稱三目(元)運(yùn)算符,它是C語言中惟一的一個(gè)三目運(yùn)算符。條件表達(dá)式的一般形式為:表達(dá)式17表達(dá)式2:表達(dá)式3其求解順序是:先求解表達(dá)式1,若為非O(真)則求解表達(dá)式2,此時(shí)表達(dá)式2的值就作為整個(gè)條件表達(dá)式的值。若表達(dá)式1的值為0(假),則求解表達(dá)式3,表達(dá)式3的值就是整個(gè)條件表達(dá)式的值。并且注意++、--的用法。

52.D解析:20世紀(jì)70年代以來,提出了許多軟件設(shè)計(jì)方法,主要有①逐步求精:對復(fù)雜的問題,應(yīng)設(shè)計(jì)一些子目標(biāo)作過渡,逐步細(xì)化;②自頂向下:程序設(shè)計(jì)時(shí)應(yīng)先考慮總體,后考慮細(xì)節(jié);先考慮全局目標(biāo),后考慮局部目標(biāo)。不要一開始就過多追求眾多的細(xì)節(jié),先從最上層總目標(biāo)開始設(shè)計(jì),逐步使問題具體化;⑧模塊化:一個(gè)復(fù)雜問題,肯定是由若干稍簡單的問題構(gòu)成。模塊化是把程序要解決的總目標(biāo)分解為分目標(biāo),再進(jìn)一步分解為具體的小目標(biāo),把每個(gè)小目標(biāo)稱為一個(gè)模塊,而可復(fù)用是面向?qū)ο蟪绦蛟O(shè)計(jì)的一個(gè)優(yōu)點(diǎn)。

53.C解析:本題涉及C語言基本的3個(gè)知識點(diǎn):①C語言的源程序是由函數(shù)構(gòu)成的,函數(shù)是其基本單位,每一個(gè)函數(shù)完成相對獨(dú)立的功能,其中只能包括一個(gè)主函數(shù);②C語言規(guī)定每個(gè)語句以分號結(jié)束,其書寫格式是自由的,一條語句可以寫在不同的行上,或者一行也可以寫多條語句;③注釋行雖然對程序的運(yùn)行不起作用,但是它可以方便程序員閱讀,提高程序的可讀性和可移植性,所以書寫注釋行還是很有必要的。

54.B

55.D解析:在這個(gè)表達(dá)式中,優(yōu)先級最高的是(int)a,也就是對5.5取整,結(jié)果是5,其次是b/b,即2.5/2.5,結(jié)果是1.000000,最后相加結(jié)果為6.000000(表達(dá)式的最終結(jié)果為實(shí)型),所以4個(gè)選項(xiàng)中D正確。

56.C解析:本題考核的知識點(diǎn)是scarf()函數(shù)的輸入格式。在stallf()函數(shù)中有兩個(gè)參數(shù),其中第一個(gè)參數(shù)為輸入格式字符串,第二個(gè)參數(shù)是地址字符串.根據(jù)scanf()的定義,故應(yīng)該在空白處填入一地址,4個(gè)選項(xiàng)中只有B和D符合,又由題意要給數(shù)組的每個(gè)成員賦值,i表示數(shù)組的下標(biāo),那么i必須每循環(huán)一次加1,即指向下一個(gè)數(shù)組元素,當(dāng)i=7時(shí)循環(huán)體執(zhí)行了7次,數(shù)組的每個(gè)成員都被賦值了,退出循環(huán),因此選項(xiàng)B錯(cuò)誤。所以,C選項(xiàng)為所選。

57.A解析:取模運(yùn)算只能在整型數(shù)據(jù)之間進(jìn)行,a為整型變量。因?yàn)?、*、/這三個(gè)運(yùn)算符的優(yōu)先級別相同,而類型轉(zhuǎn)換符優(yōu)先于*和/運(yùn)算符。a的值為7,7%3=1,所以(int)(2.5+4.7)=7,1*7=7,7%2=1,1/4=0,所以表達(dá)式x+a%3*(int)(x+y)%2/4=x+0=2.5。

58.A

59.D本題主要考查軟件的測試。軟件測試的主要目的體現(xiàn)在下面幾個(gè)方面。

(1)軟件測試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。

(2)一個(gè)好的測試用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤。

(3)一個(gè)成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤的測試。

軟件測試的效率是指利用更少的成本創(chuàng)造更多的價(jià)值,提供軟件測試效率的方法有很多,如制定一個(gè)合理的詳細(xì)的測試計(jì)劃,了解測試項(xiàng)目的業(yè)務(wù)需求,集中對付那些錯(cuò)誤群集的程序等。而選項(xiàng)A所描述的隨機(jī)選取測試數(shù)據(jù)是不能保證提高測試效率的,選項(xiàng)B描述的取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)顯然不能提高測試效率,反而使工作量加大,降低測試效率。

60.B解析:字長是指CPU可以同時(shí)處理二進(jìn)制的位數(shù),是由CPU的型號和類型決定的。

61.B解析:改變文件位置的指針函數(shù)fseek()的調(diào)用形式為:fseek(fp,offset,position);。fseek函數(shù)參數(shù)說明:“fp”是指向該文件的文件型指針;“offset'’為位移量,指從起始點(diǎn)position.到要確定的新位置的字節(jié)數(shù)。也就是以起點(diǎn)為基準(zhǔn),向前移動(dòng)的字節(jié)數(shù)。ANSIC要求該參數(shù)為長整型量;“position”為起始點(diǎn),指出以文件的什么位置為基準(zhǔn)進(jìn)行移動(dòng),position的值用整型常數(shù)表示,“0”表示文件的開頭,“1”表示文件的當(dāng)前位置,“2”表示文件的末尾。

62.C

63.D根據(jù)二叉樹的基本性質(zhì)3:在任意一棵二叉樹中,度為0的葉子結(jié)點(diǎn)總比度為2的結(jié)點(diǎn)多一個(gè),因此本題中度為2的結(jié)點(diǎn)為l一1=0個(gè),據(jù)此可以知道本題目中的二叉樹的每一個(gè)結(jié)點(diǎn)都有一個(gè)分支,所以共7個(gè)結(jié)點(diǎn)共7層,即深度為7,選擇D)。

64.A

65

溫馨提示

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

評論

0/150

提交評論