2021年黑龍江省雙鴨山市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷一(含答案)_第1頁
2021年黑龍江省雙鴨山市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷一(含答案)_第2頁
2021年黑龍江省雙鴨山市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷一(含答案)_第3頁
2021年黑龍江省雙鴨山市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷一(含答案)_第4頁
2021年黑龍江省雙鴨山市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷一(含答案)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2021年黑龍江省雙鴨山市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.以下選項(xiàng)中表示空函數(shù)的是()。

A.intfun(){return0;}

B.intfun();

C.intfun(){}

D.intfun(inta,intB){return1;}

2.對(duì)一個(gè)滿二叉樹,m個(gè)葉子,n個(gè)結(jié)點(diǎn),深度為h,則()。

A.n=h+mB.h+m=2nC.m=h-1D.n=2h-1

3.在軟件開發(fā)過程中,軟件結(jié)構(gòu)設(shè)計(jì)是描述______。

A.數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)B.軟件體系結(jié)構(gòu)C.軟件結(jié)構(gòu)測(cè)試D.軟件控制過程

4.有下列程序:main{inty=10;do{y--;}while(--y);printf("%d\n",--y);)當(dāng)執(zhí)行程序時(shí),輸出的結(jié)果是()。A.-1B.1C.4D.0

5.對(duì)于n個(gè)結(jié)點(diǎn)的單向鏈表(無表頭結(jié)點(diǎn)),需要指針單元的個(gè)數(shù)至少為______。

A.n-1B.nC.n+1D.2n

6.

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

A.軟件測(cè)試應(yīng)該由程序開發(fā)者來完成

B.程序經(jīng)調(diào)試后一般不需要測(cè)試

C.軟件維護(hù)只包括對(duì)程序代碼的維護(hù)

D.以上三種說法都不對(duì)

8.下列二叉排序樹中查找效率最高的是()

A.平衡二叉樹B.二叉查找樹C.沒有左子樹的二叉排序樹D.沒有右子樹的二叉排序樹

9.以下敘述中錯(cuò)誤的是()。

A.C程序中的#include和#define行均不是C語句

B.除逗號(hào)運(yùn)算符外,賦值運(yùn)算符的優(yōu)先級(jí)最低

C.C程序中,j++;是賦值語句

D.C程序中,+、-、*、/、%是算術(shù)運(yùn)算符,可用于整型和實(shí)型數(shù)的運(yùn)算

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

A.均占4個(gè)字節(jié)B.根據(jù)數(shù)據(jù)的大小來決定所占內(nèi)存的字節(jié)數(shù)C.由用戶自己定義D.由C語言編譯系統(tǒng)決定

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

A.一個(gè)算法的空間復(fù)雜度打,則其時(shí)間復(fù)雜度也必定大

B.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定小

C.一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度也必定小

D.算法的時(shí)間復(fù)雜度與空間復(fù)雜度沒有直接相關(guān)

12.下面是有關(guān)C語言字符數(shù)組的描述,其中錯(cuò)誤的是()。

A.不可以用賦值語句給字符數(shù)組名賦字符串

B.可以用輸入語句把字符串整體輸入給字符數(shù)組

C.字符數(shù)組中的內(nèi)容不一定是字符串

D.字符數(shù)組只能存放字符串

13.

14.在循環(huán)隊(duì)列中,若front與rear分別表示對(duì)頭元素和隊(duì)尾元素的位置,則判斷循環(huán)隊(duì)列空的條件是()。

A.front==rear+1B.rear==front+1C.front==rearD.front==0

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

A.可以用關(guān)系運(yùn)算符比較字符串的大小

B.空字符串不占用內(nèi)存,其內(nèi)存空間大小是0

C.兩個(gè)連續(xù)的單引號(hào)是合法的字符常量

D.兩個(gè)連續(xù)的雙引號(hào)是合法的字符串常量

16.一個(gè)C語言程序總是從()開始執(zhí)行。

A.書寫順序的第一函數(shù)B.書寫順序的第一條執(zhí)行語句C.主函數(shù)main()D.不確定

17.在ASC算法team日常開發(fā)中,常常面臨一些數(shù)據(jù)結(jié)構(gòu)的抉擇,令人糾結(jié)。目前大家在策劃一個(gè)FBI項(xiàng)目(FastBinaryIndexing),其中用到的詞匯有6200條,詞匯長(zhǎng)度在10-15之間,詞匯字符是英文字母,區(qū)分大小寫。請(qǐng)?jiān)谙旅鎺讉€(gè)數(shù)據(jù)結(jié)構(gòu)中選擇一個(gè)使檢索速度最快的()

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

B.哈希表,hash算法開銷:10次運(yùn)算/每字符

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

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

18.當(dāng)接受用戶輸入的含有空格的字符串時(shí),應(yīng)使用()函數(shù)。

A.gets()B.getchar()C.scanf()D.printf()

19.算法分析的目的是()。

A.找出數(shù)據(jù)結(jié)構(gòu)的合理性B.找出算法中輸入和輸出之間的關(guān)系C.分析算法的易懂性和可靠性D.分析算法的效率以求改進(jìn)

20.有以下程序:#include<string.h>inta=4;intf(intn){intt=0;staticinta=5;if(n%2){inta=6;t++=a++;}else{inta=7;t+=a++;}returnt+a++;}main(){ints=a,i=0;for(;i<2;i++)s+=f(i);printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是()。

A.24B.28C.32D.36

二、2.填空題(20題)21.軟件是程序、數(shù)據(jù)和【】的集合。

22.函數(shù)delete(s,i,n)是作用是從字符串s中刪除從第i個(gè)字符開始的n個(gè)字符,請(qǐng)?zhí)羁铡?/p>

voiddelete(chars[],inti,intn)

{intj,k,length=0;

while(s[length])

【】;

-i;

j=i;

}

if(【】)

{k=i+n;

if(i+n<=length)

while(k<length)

s[j++]=s[k++];

s[j]\'\0';

}

23.設(shè)有定義:

struct{inta;floatb;charc;}abc;*p_abc=&abc;

則對(duì)結(jié)構(gòu)體成員a的引用方法可以是abc.a和p_abc【】a。

24.層次模型的典型代表是IBM公司的【】數(shù)據(jù)庫管理系統(tǒng)。

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

#defineMAX(x,y)(x)>(y)?(x)L:(y)

main()

{inta=5,b=2,C=3,d=3,t;

t=MAX(a+b,c+D)*10;

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

}

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

main()

{inta=0;

a+=(a=8);

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

}

27.下列程序執(zhí)行輸出的結(jié)果是______。

#include<stdio.h>

f(intA)

{intb=0;

staticc=7;

a=c++;b++;

return(a);

}

main()

{inta=2,i,k;

for(i=0;i<2;i++)

k=f(a++);

printf("%dh",k);

}

28.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。

29.以下函數(shù)sstrcat的功能是實(shí)現(xiàn)字符串的連接,即將t所指字符串復(fù)制到s所指字符串的尾部。例如:,所指字符串為abed,t所指字符串為efgh,調(diào)用函數(shù)sstrcat后s所指字符串為abcdefgh。請(qǐng)?zhí)羁铡?/p>

#inehde<stdio.h>

#include<string.h>

voidsstuat(char*9,char*t)

{intn;

n=strlen(s);

while(*(s+n)=【】){s++;t++;}

30.算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和______復(fù)雜度。

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

32.下面程序的運(yùn)行結(jié)果是:【】。

typedefunionstudent

{charname[10];

longsno;

charsex;

floatscore[4];

}STU;

main()

{STUa[5];

Printf(“%d\n”,sizeof(a));

}

33.以下程序運(yùn)行后的輸出結(jié)果是______。

main()

{

charc1,c2;

for{c1='0',c2='9';c1<c2;c1++,C2--)

printf("%c%c",c1,c2);

printf("\n");

}

34.執(zhí)行下面程序后,輸出結(jié)果是【】。

main()

{chars[12]="verygood!";

printf("%d",strlen(s));

}

35.在數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)中,不僅需要存儲(chǔ)各數(shù)據(jù)元素的信息,還要存放各元素之間______的信息。

36.設(shè)有下列程序:

#include<stdio.h>

#include<string.h>

main()

{inti;

chars[10],t[10];

gets(t);

for(i=0;i<2;i++)

{gets(s);

if(strcmp(t,s)<0)strcpy(t,s);

}

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

}

程序運(yùn)行后,從鍵盤上輸入(<CR>代表回車符):CDEF<CR>BADEF<CR>QTHRG<CR>,則程序的輸出結(jié)果是______。

37.下面程序有兩個(gè)printf語句,如果第一個(gè)printf語句輸出的是194,則第二個(gè)printf語句的輸出結(jié)果是【】。

main()

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

p=a;

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

printf("%\n",p+9);

}

38.設(shè)有下列的程序段;

charstr[]="Hello";

char*ptr;

ptr=str;

執(zhí)行上面的程序段后,*(ptr+5)的值為______。

39.一棵二叉樹第6層(根結(jié)點(diǎn)為第一層)的結(jié)點(diǎn)最多為______個(gè)。

40.在面向?qū)ο蠓椒ㄖ校畔㈦[蔽是通過對(duì)象的______性來實(shí)現(xiàn)的。

三、1.選擇題(20題)41.用C言編寫的代碼程序()。

A.可立即執(zhí)行B.是個(gè)源程序C.經(jīng)過編譯即可執(zhí)行D.經(jīng)過編譯解釋即可執(zhí)行

42.軟件危機(jī)是指______。

A.軟件開發(fā)和軟件維護(hù)中出現(xiàn)的一系列問題B.計(jì)算機(jī)出現(xiàn)病毒C.軟件的版權(quán)得不到法律應(yīng)有的保護(hù)D.以上都不正確

43.下面不屬于軟件設(shè)計(jì)原則的是

A.抽象B.模塊化C.自底向上D.信息隱藏

44.有以下程序

#include<stdio.h>

#include<string.h>

typedefstruct{charname[9];charsex;floatscore[2];}STU;

voidf(STUa)

{STUb={"Zhao",′m′,850,900};inti;

strcpy(,);

a.sex=b.sex;

for(i=0;i<2;i++)a.score[i]=b.score[i];

}

main()

{STUc={"Qian",′f′,95.0,92.0};

f(c);

printf("%s,%c,%2.0f,%2.0f\n",,c.sex,c.score[0],c.score[1]);

}

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

A.Qian,f,95,92B.Qian,m,85,90C.Zhao,f,95,92D.Zhao,m,85,90

45.以下不屬于對(duì)象的基本特點(diǎn)的是()

A.分類性B.多態(tài)性C.繼承性D.封裝性

46.以下非法的賦值語句是

A.n=(i=2,++i);B.j++;C.++(i+1);D.x=j>0;

47.若a為int類型,且其值為3,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是()。

A.-3B.9C.-12D.6

48.C語言提供的合法關(guān)鍵字是()

A.switchB.cherC.caseD.default

49.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指()。

A.數(shù)據(jù)所占的存儲(chǔ)空間

B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的存放形式

C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式

D.存儲(chǔ)在計(jì)算機(jī)外存中的數(shù)據(jù)

50.下列選項(xiàng)中,不屬于模塊間耦合的是()。A.數(shù)據(jù)耦合B.標(biāo)記耦合C.異構(gòu)耦合D.公共耦合

51.設(shè)有兩個(gè)串p和q,求q在p中首次出現(xiàn)位置的運(yùn)算稱作______。

A.連接B.模式匹配C.求子串D.求串長(zhǎng)

52.有下列程序:fun(intx){intp;if(x==0||x==1)return(3);p=x-fun(x-2);returnp;}main(){printf("%d\n",fun(7));}執(zhí)行后的輸出結(jié)果是()。

A.7B.3C.2D.0

53.X、Y、Z被定義為int型變量,若從鍵盤給X、Y、Z輸入數(shù)據(jù),正確的輸入語句是______。

A.INPUTX,Y,Z;

B.scanf("%d%d%d",&X,&Y,&Z);

C.scanf("%d%d%d",X,Y,Z);

D.read("%d%d%d",&X,&Y,&Z);

54.在下列敘述中,正確的一條是()

A.表達(dá)式1+2<<3和sizeof(3.8)的結(jié)果分別為24和8

B.函數(shù)fputc(c,stdout)與putchar(c)的結(jié)果相同

C.語句int*pt中的*pt是指針變量名

D.主函數(shù)和其他函數(shù)可以互相調(diào)用

55.有以下程序main(){inti=0,s=0;for(;;){if(i==3||i==5)continue;if(i==6)break;i++;s+=i;};printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是______。

A.10B.13C.21D.程序進(jìn)入死循環(huán)

56.在以下一組運(yùn)算中,優(yōu)先級(jí)最高的運(yùn)算符是()

A.<=B.=C.%D.&&

57.現(xiàn)有定義inta;doubleb;floatc;chark;,則表達(dá)式a/b+c-k值的類型為:

A.intB.doubleC.floatD.char

58.X、Y、Z被定義為mt型變量,若從鍵盤給X、Y、2輸入數(shù)據(jù),正確的輸入語句是______。

A.INPUTX,Y,Z;

B.scanf("%d%d%d",&X,&Y,&Z);

C.scanf("%d%d%d",X,Y,Z);

D.read("%d%d%d",&X,&Y,&Z);

59.有以下程序段intn=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345&&n<3);此處do-while循環(huán)的結(jié)束條件是

A.P的值不等于12345并且n的值小于3

B.P的值等于12345并且n的值大于等于3

C.P的值不等于12345或者n的值小于3

D.P的值等于12345或者n的值大于等于3

60.下列程序的輸出結(jié)果是()。#include<stdio.h>#include<string.h>main(){chara[]="\n123\\";printf("%d,%d\n",strlen(a),sizeof(a));}

A.5,6B.5,5C.6,6D.6,5

四、選擇題(20題)61.下面不屬于需求分析階段任務(wù)的是()。

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

62.

63.下列關(guān)于信息系統(tǒng)的敘述中,錯(cuò)誤的是()。

A.廣播電視是一種雙向的、點(diǎn)到多點(diǎn)的信息交互系自

B.網(wǎng)絡(luò)聊天是一種雙向的,以信息交互為主要目的系統(tǒng)

C.電話是一種雙向的、點(diǎn)對(duì)點(diǎn)的、以信息交互為主要的的系統(tǒng)

D.雷達(dá)是一種以感測(cè)和識(shí)別為主要目的的系統(tǒng)

64.

65.

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

A.軟件測(cè)試的目的是確定程序中錯(cuò)誤的位置

B.軟件測(cè)試的目的是發(fā)現(xiàn)程序中的錯(cuò)誤

C.軟件調(diào)試的目的是發(fā)現(xiàn)程序中的錯(cuò)誤

D.軟件調(diào)試后一般不需要再測(cè)試

67.有下列程序

voidfunc1(inti);

voidfunc2(inti);

charst[]="hello,friend!";

voidfunc1(inti)

{printf("%c",st[i]);

if(i<3){i+=2;func2(i);}

}

voidfunc2(inti)

{printf("%c",st[i]);

if(i<3){i+=2;func1(i);}

}

main()

{inti=0;func1(i);

printf("\n");

}

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

A.helloB.hel

C.hloD.hlm

68.(57)下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是______。

A.便于用戶、開發(fā)人員進(jìn)行理解和交流

B.反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)

C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)

D.便于開發(fā)人員進(jìn)行需求分析

69.

70.C語言用_______表示邏輯“真”值。

A.trueB.t或yC.非零整型值D.整型值0

71.以下選項(xiàng)中,能用作用戶標(biāo)識(shí)符的是()。

A.-0-B.8-;8C.voidD.unsigned

72.

73.有以下程序:

#definef(x)(x*x)main

{

inti1,i2;

i1=f(8)/(4);i2=f(4+4)/f(2+2);

printf("%d,%d\n",i1,i2);

}

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

A.64,28B.4,4C.4,3D.64,64

74.有以下程序程序運(yùn)行后的輸出結(jié)果是()。

75.在軟件開發(fā)中,需求分析階段可以使用的工具是()。A.N—s圖B.DFD圖C.PAD圖D.程序流程圖

76.有如下程序

#include"stdio.h"

voidfun(int*a,int*b)

{intm;

m=(*a+*b)*(*a+*b);

m+=(*a-*b)*(*a-*b);

printf("%d\n",m);}

main()

{inta=5,b=6,*x=&a,*y=&b;

fun(x,y);}

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

A.120B.121

C.122D.123

77.一名教師可講授多門課程,一門課程可由多名教師講授。則實(shí)體教師和課程間的聯(lián)系是()。

A.1:l聯(lián)系B.1:m聯(lián)系C.m:l聯(lián)系D.m:n聯(lián)系

78.設(shè)有定義:

doublea[10],*s=a;

以下能夠代表數(shù)組元素a[3]的是()。

A.($s)[3]B.}(s+3)C.*s[3]D.}s+3

79.當(dāng)用戶要求輸入的字符串中含有空格時(shí),應(yīng)使用的輸入函數(shù)是()。

A.seanf

B.getchar

C.gets

D.getc

80.面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的面向過程的方法有本質(zhì)不同,它的基本原理是()。

A.模擬現(xiàn)實(shí)世界中不同事物之間的聯(lián)系

B.強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而不強(qiáng)調(diào)概念

C.使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題

D.不強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而強(qiáng)調(diào)概念

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:根據(jù)整型形參n,計(jì)算如下公式的值。

例如,若n=12,則應(yīng)輸出0.618026。

請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。

注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。

試題程序:

六、程序設(shè)計(jì)題(1題)82.編程計(jì)算下列表達(dá)式:s=n!(n從鍵盤上輸入)

參考答案

1.C空函數(shù)是函數(shù)體沒有執(zhí)行語句的函數(shù)。選項(xiàng)A、D不是空函數(shù);選項(xiàng)B是函數(shù)的聲明;只有選項(xiàng)C是空函數(shù)。故本題答案為C選項(xiàng)。

2.D

3.B解析:從工程管理解度來看,軟件設(shè)計(jì)分兩步完成:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)(又稱結(jié)構(gòu)設(shè)計(jì))將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)、確定系統(tǒng)級(jí)接口、全局?jǐn)?shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫模式。

4.A本題考查do-while循環(huán)。當(dāng)--y是0(即y是o)時(shí)結(jié)束循環(huán),輸出--y,先將y的值減1再輸出Y的值。

5.C解析:在n個(gè)結(jié)點(diǎn)的單向鏈表(無表頭結(jié)點(diǎn))中,每個(gè)結(jié)點(diǎn)都有一個(gè)指針單元(即指針域),加上頭指針,至少需要n+1個(gè)指針單元。

6.C

7.D程序調(diào)試是由程序開發(fā)者完成診斷和改正程序中的錯(cuò)誤的過程;軟件測(cè)試是由專門的測(cè)試人員完成,是發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程;軟件維護(hù)是指軟件系統(tǒng)交付使用以后,為了改正錯(cuò)誤或滿足新的需要而修改軟件的過程,是軟件生存周期中非常重要的一個(gè)階段。

8.A

9.D解析:“%”是求余運(yùn)算符,其兩側(cè)的數(shù)值只能為整型,不能用于實(shí)型數(shù)據(jù)的運(yùn)算。

10.D解析:在C語言的標(biāo)準(zhǔn)中,short占2個(gè)字節(jié)、long占4個(gè)字節(jié),但int的大小和編譯系統(tǒng)相關(guān)。例如在Turbo\u3000C\u30002.0中,int占2個(gè)字節(jié),但在VisualC++6.0(VC6可以用做C語言編譯器)中占4個(gè)字節(jié)。故本題應(yīng)該選擇D。

11.D

12.D\n用來存放字符量的數(shù)組稱為字符數(shù)組。字符數(shù)組也可以是二維或多維數(shù)組,對(duì)一個(gè)字符數(shù)組,如果不作初始化賦值,則必須說明數(shù)組長(zhǎng)度,還可用printf函數(shù)和scarlf函數(shù)一次性輸出/輸入一個(gè)字符數(shù)組中的字符串,而不必使用循環(huán)語句逐個(gè)地輸入/輸出每個(gè)字符。通常用一個(gè)字符數(shù)組來存放一個(gè)字符串。所以D選項(xiàng)不正確。

\n

13.D

14.C

15.D比較兩個(gè)字符串大小用函數(shù)strcomp(S,t),空字符串有結(jié)束符,所以也要占用字節(jié),兩個(gè)雙引號(hào)表示的是空字符串。

16.C

17.D

18.A

19.D解析:算法分析是指對(duì)一個(gè)算法的運(yùn)行時(shí)間和占用空間做定量的分析,一般計(jì)算出相應(yīng)的數(shù)量級(jí),常用時(shí)間復(fù)雜度和空間復(fù)雜度表示。分析算法的目的就是要降低算法的時(shí)間復(fù)雜度和空間復(fù)雜度;提高算法的執(zhí)行效。率。

20.B解析:本題考查的是外部變量的應(yīng)用。因?yàn)槌绦虻某跏糹nta=4;語句定義了外部變量a,在以后的執(zhí)行過程中,當(dāng)i=0時(shí),調(diào)用f(0)函數(shù),執(zhí)行的語句是else{inta=7;t+=a++;},此處程序中又定義了變量a,所以原來定義的外部變量在此不起作用,得到t=7,返回值語句returnt+a++;處,外部變量a起作用,返回值為7+5=12:當(dāng)i=1時(shí),調(diào)用f(1)函數(shù),執(zhí)行的是語句else{inta=6:t+=a++;},此處程序中又定義了變量a,所以原來定義的外部變量在此不起作用,得到t=6,返回值語句

21.文檔文檔解析:計(jì)算機(jī)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關(guān)文檔的完整集合。

22.length++i<lengthlength++\r\ni<length解析:第一個(gè)循環(huán)極有可能是計(jì)算串的長(zhǎng)度,在i<=length時(shí)字符才被刪除,被刪除的是第i個(gè)到第i+n或最后一個(gè)間的所有字符。刪除前,應(yīng)判斷i<=length。由于已經(jīng)進(jìn)行了-i運(yùn)算,故實(shí)際應(yīng)填入i<length。

23.->->解析:結(jié)構(gòu)變量abc有成員a,并有指針pabc指向結(jié)構(gòu)變量abc,則引用變量abc成員a的形式有abc.a和p_abc->a。

24.IMS(informationManagementSystem)

25.77解析:在C語言中,宏定義是直接替換的,所以在對(duì)表達(dá)式MAX(a+b,c+d)*10進(jìn)行替換后,表達(dá)式變?yōu)?a+b)>(c+d)?(a+b):(c+d)*10。

在這個(gè)條件表達(dá)式中,(a+b)>(c+d)為真,所以用(a+b)的值為整個(gè)表達(dá)式的值(否則用(c+d)*10的值作為整個(gè)表達(dá)式的值),而(a+b)的值為7。所以整個(gè)表達(dá)式的值為7。

26.1616解析:在程序中首先將8賦值給變量a,然后在進(jìn)行復(fù)合賦值運(yùn)算。即a=a+a=8+8=16,所以該空格處應(yīng)該填16。

27.88解析:第1次for循環(huán),i=0,調(diào)用函數(shù)f(2),然后將a的值加1,在f()函數(shù)中,變量c為static類型,所以c=8:第2次for循環(huán),i=1,調(diào)用函數(shù)f(3),然后將a的值加1,調(diào)用函數(shù)f(3)時(shí),a=c++8,所以k=8。

28.軟件開發(fā)

29.*t*t解析:程序中,(a+n)代表字符串s最后一個(gè)字符后的,'\\0',根據(jù)題意,'\\0'所在位置應(yīng)該賦值為字符串t的第一個(gè)字符,字符中t的其他字符根據(jù)循環(huán),依次賦值到,所指字符串的尾部,所以[14]應(yīng)填:*t。

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

31.typedefintArrInt[4][10];

32.8080解析:數(shù)組a是共用體變量,共用體類型變量所占的內(nèi)存長(zhǎng)度為最大成員的長(zhǎng)度,即單精度數(shù)組的長(zhǎng)度,為4×4=16,因此,數(shù)組a所占的內(nèi)存長(zhǎng)度為5×16=80,所以最后輸出的s的值為80。

33.918273645918273645解析:題目中為for循環(huán)定義了兩個(gè)字符型循環(huán)變量c1和c2,循環(huán)開始時(shí)分別初始化為字符'0'和'9',然后每次循環(huán)結(jié)束給c1增1、c2減1,循環(huán)條件為c1<c2,即讓c1的值依次為'0'、'1'、'2'…,c2的值依次為'9'、'8'、'7'…,直到兩個(gè)數(shù)相遇時(shí)結(jié)束循環(huán)。又因?yàn)樵撗h(huán)的循環(huán)體每次按字符形式輸出c1和c2的值.所以最終的輸出結(jié)果為:0918273645。

34.1010解析:strlen(s)函數(shù)的返回值為字符串s包含的字符個(gè)數(shù)<不計(jì)最后的'\\0')。

35.前后件關(guān)系前后件關(guān)系解析:在數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)中,除了要存儲(chǔ)數(shù)據(jù),還要存儲(chǔ)數(shù)據(jù)的前后件關(guān)系,對(duì)于順序存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu),前后件之間的關(guān)系,是通過存儲(chǔ)空間的位置來實(shí)現(xiàn)的,而對(duì)于鏈?zhǔn)酱鎯?chǔ)來說,數(shù)據(jù)元素之間的前后件關(guān)系是通過指針來實(shí)現(xiàn)的。

36.QTHRGQTHRG解析:strcmp(t,s)函數(shù)用來比較t和s所指字符串的大小,若t>s,則函數(shù)值大于0;若t=s,則函數(shù)值等于0:若t<s,則函數(shù)值小于0。strcpy(t,s)函數(shù)的功能是把字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指的存儲(chǔ)空間中。本題中,t[10]='CDEF'。第一次循環(huán),s[10]='BADEF',if語句的控制條件strcmp(t,s)<0不成立,接著執(zhí)行第二次循環(huán).s='QTHRG',if語句的控制條件strcmp(t,s)<0成立,執(zhí)行下列的語句,將字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指的存儲(chǔ)空間中,然后輸出字符數(shù)組t。

37.1a61a6解析:對(duì)于指針變量的運(yùn)算,就是對(duì)地址的運(yùn)算。本題中由于指針指向的是整型變量,所以,使指針變量移動(dòng)9個(gè)位置也就是移動(dòng)18個(gè)字節(jié)。注意,本題是以十六進(jìn)制輸出的。

38.'\0''\\0'解析:本題涉及字符數(shù)組和指針的兩個(gè)知識(shí)點(diǎn):①在C語言中,字符型數(shù)組在存放字符串時(shí)會(huì)自動(dòng)在末尾加上字符串結(jié)束標(biāo)識(shí)符'\\0'所以題中數(shù)組str有6個(gè)元素。②ptr指向數(shù)組str的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。

39.3232解析:二叉樹第k層上,最多有2k-1(k≥1)個(gè)結(jié)點(diǎn)。第6層的結(jié)點(diǎn)數(shù)最多是26-1=32。注意區(qū)別“二叉樹的結(jié)點(diǎn)最多數(shù)”和“某一層的結(jié)點(diǎn)最多數(shù)”。前者的計(jì)算是深度為m的二叉樹最多有2m-1個(gè)結(jié)點(diǎn)。

40.封裝封裝

41.B解析:C語言一種高級(jí)語言,C語言源程序經(jīng)過C語言編譯程序編譯之后,生成一個(gè)后綴為.obj的二進(jìn)制文件(稱為目標(biāo)文件),最后還要由稱為“連接程序”(Link)的軟件,把此.obj文件與C語言提供的各種庫函數(shù)連接在一起,生成一個(gè)后綴.exe的可執(zhí)行文件。顯然C語言不能立即執(zhí)行,故選項(xiàng)A錯(cuò)誤;根據(jù)以上定義,選項(xiàng)C和選項(xiàng)D錯(cuò)誤,所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。

42.A解析:在計(jì)算機(jī)技術(shù)及其應(yīng)用發(fā)展過程中,存在著錯(cuò)誤的概念和方法,使得在軟件產(chǎn)品開發(fā)過程中沒有制定相應(yīng)的質(zhì)量標(biāo)準(zhǔn),導(dǎo)致開發(fā)出來的軟件的可用性和可維護(hù)性差,這種情況稱為軟件危機(jī)。因此軟件危機(jī)是指在軟件開發(fā)和維護(hù)中出現(xiàn)的一系列問題。

43.C解析:軟件設(shè)計(jì)的原則包括:抽象、模塊化,信息隱蔽和模塊獨(dú)立性。所以自底向上不是軟件設(shè)計(jì)原則。答案為C。

44.A解析:本題考查的是函數(shù)調(diào)用時(shí)的參數(shù)傳遞問題。程序在調(diào)用函數(shù)f時(shí),傳給函數(shù)f的參數(shù)只是結(jié)構(gòu)變量c在棧中的一個(gè)拷貝,函數(shù)f的所有操作只是針對(duì)這個(gè)數(shù)據(jù)拷貝進(jìn)行的修改,這些都不會(huì)影響變量c的值。

45.C解析:對(duì)象的基本特點(diǎn)包括;標(biāo)識(shí)惟一性、分類性、多態(tài)性、封裝性和獨(dú)立性等。繼承性不屬于對(duì)象的基本特點(diǎn)。

46.C解析:本題考查的知識(shí)點(diǎn)是賦值語句的基本知識(shí)。在表達(dá)式的運(yùn)算中,雙目賦值運(yùn)算符的格式為“變量二表達(dá)式”,單目運(yùn)算符一般形式為“運(yùn)算符表達(dá)式”或“表達(dá)式運(yùn)算符”。常量和表達(dá)式是不能被賦值的。選項(xiàng)A為復(fù)合表達(dá)式,首先計(jì)算(i=2,++i)的值,然后賦值給n,故選項(xiàng)A正確;選項(xiàng)B為簡(jiǎn)單自加運(yùn)算,故選項(xiàng)B正確;選項(xiàng)C在表達(dá)式++(i+1);中,(i+1)不是變量,該表達(dá)式的值為常量,而在++運(yùn)算中,其運(yùn)算對(duì)象必須為變量,故選項(xiàng)C錯(cuò)誤;選項(xiàng)D中為復(fù)合賦值表達(dá)式,正確.所以應(yīng)當(dāng)選擇C。

47.C解析:本題中首先定義一個(gè)整型變量a并給它賦初值為3,在表達(dá)式中,從右開始執(zhí)行,即先執(zhí)行“a-=a*a;”等價(jià)于a=a-a*a即a=3-3*3=-6,此時(shí)a的值為-6,接著執(zhí)行“a+=a-;”相當(dāng)于執(zhí)行a=a+a即a=-6+(-6)=-12,此時(shí)a的值為-12。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

48.C

49.B解析:數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),又稱為數(shù)據(jù)的物理結(jié)構(gòu),是數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的存放形式,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有順序結(jié)構(gòu)、鏈?zhǔn)浇Y(jié)構(gòu)、散列結(jié)構(gòu)和索引結(jié)構(gòu)等。

50.C解析:模塊之間的耦合程度反映了模塊的獨(dú)立性,也反映了系統(tǒng)分解后的復(fù)雜程度。按照耦合程度從弱到強(qiáng),可以將其分成5級(jí),分別是:數(shù)據(jù)耦合、同構(gòu)耦合、控制耦合、公用耦合和內(nèi)容耦合。選項(xiàng)C),沒有這種耦合方式。注意:評(píng)價(jià)模塊獨(dú)立性的主要標(biāo)準(zhǔn),以及對(duì)它們的定義和分類。

51.B解析:子串的定位操作通常稱作串的模式匹配,是各種串處理系統(tǒng)中最重要的操作之一,算法的基本思想是:從主串的開始字符起,與模式的第一個(gè)字符比較,若相等,則繼續(xù)比較后續(xù)字符,否則從主串的下一個(gè)字符起再重新與模式的字符比較,依次類推,直至模式中的每一個(gè)字符依次和主串中的一個(gè)連續(xù)的字符序列相等,稱匹配成功,否則稱匹配不成功。

52.C解析:因?yàn)樵诤瘮?shù)fun(intx)中,如果參數(shù)x等于0或1時(shí),返回值3。否則p=x-fun(x-2)這是一個(gè)遞歸函數(shù),所以在主函數(shù)調(diào)用fun(7)時(shí),其過程為:fun(7)=7-fun(5)=7-(5-fun(3))-7-(5-(3-fun(1)))=7-(5-(3-3))=7-5=2,所以最后的輸出結(jié)果為2。

53.B解析:scanf()函數(shù)要求將輸入的數(shù)據(jù)存入變量所在的地址。選項(xiàng)A不是C語言中的輸入語句,故選項(xiàng)A不正確;選項(xiàng)C中輸入的是變量字符串而不是地址字符串,不滿足scanf()函數(shù)要求將輸入的數(shù)據(jù)存入變量所在的地址,故選項(xiàng)C不正確;選項(xiàng)D不是C語言中的輸入語句,故選項(xiàng)D不正確:所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。

54.C

55.D解析:本題程序中的for循環(huán)省略了for語句的3個(gè)表達(dá)式,如果循環(huán)體中沒有break語句的話則為死循環(huán)。循環(huán)中每次i被增1,當(dāng)i到6時(shí)才能執(zhí)行到break語句跳出循環(huán),但是當(dāng)i自增到3的時(shí)候會(huì)執(zhí)行continue語句重新循環(huán),此時(shí)后面的“i++;”語句執(zhí)行不到,i的值為3一直沒有改變,所以continue語句始終要執(zhí)行,因此for循環(huán)將一直循環(huán)下去,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

56.C

57.B解析:雙目運(yùn)算中兩邊運(yùn)算量類型轉(zhuǎn)換規(guī)律:

運(yùn)算數(shù)1運(yùn)算數(shù)2轉(zhuǎn)換結(jié)果類型

短整型長(zhǎng)整型短整型->長(zhǎng)整型

整型長(zhǎng)整型整型->長(zhǎng)整型

字符型整型字符型->整型

有符號(hào)整型無符號(hào)整型有符號(hào)整型->無符號(hào)整型

整型浮點(diǎn)型整型->浮點(diǎn)型

在a/b的時(shí)候,a、b的類型不一致,根據(jù)類型轉(zhuǎn)換規(guī)則,把整型轉(zhuǎn)換成double類型,之后的加、減類似。轉(zhuǎn)化規(guī)則為char,short->int->unsigned->long->double←float。

58.B解析:C語言中沒有輸入輸出語句,它是通過C語言提供的函數(shù)來實(shí)現(xiàn)的,本題C中,應(yīng)為變量地址。

59.D解析:本題考查的知識(shí)點(diǎn)是do-while循環(huán)結(jié)構(gòu)循環(huán)執(zhí)行條件的判斷.使用do-while語句必須注意以下幾點(diǎn):

先執(zhí)行語句,后判斷表達(dá)式。所以,無論一開始表達(dá)式的值為“真”還是“假”,循環(huán)體中的語句至少執(zhí)行一次,這一點(diǎn)與while不同,

如果do-while語句循環(huán)體部分是由多個(gè)語句組成,則必須用花括號(hào)括起來,使其形成復(fù)合語句。

C語言中的do—while語句是在表達(dá)式“真”時(shí)重復(fù)執(zhí)行循環(huán)體。

在本題中,循環(huán)執(zhí)行判斷條件為while后面括號(hào)里的表達(dá)式即p!=12345&&n<3(意思為p不等于12345且n小于3)是否為“真”,由此可得循環(huán)結(jié)束的條件為:p大于12345或者p小于12345又或者n大于等于3。選項(xiàng)A的意思是:p的值不等于12345并且n的小于3和while后面括號(hào)里的表達(dá)式等價(jià)是循環(huán)執(zhí)行的條件而不是循環(huán)結(jié)束的條件,所以選項(xiàng)A不正確;選項(xiàng)B的意思是:p的值等于12345并且n的值大于3,不是循環(huán)結(jié)束的條件一個(gè)子集,所以選項(xiàng)B不正確;選項(xiàng)C的意思是:p的值不等于12345或者n的值小于3前一半是結(jié)束條件的子集,后一部分不是結(jié)束條件,所以選項(xiàng)C不正確;選項(xiàng)D描述的意思是:p的值等于12345或者你的大于等于3是結(jié)束條件的子集,所以選項(xiàng)D滿足題意。所以4個(gè)選項(xiàng)中D正確。

60.A解析:轉(zhuǎn)義字符'\\n'表示換行,'\\\\'表示反斜杠,函數(shù)strlen()是計(jì)算字符串的長(zhǎng)度,不包括文件結(jié)束標(biāo)志('\\0'),函數(shù)sizeof()統(tǒng)計(jì)字符串所占的字節(jié)數(shù)。

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

62.B

63.A廣播/電視是一種單向的、點(diǎn)對(duì)多點(diǎn)(面)的以信息傳遞為主要目的的系統(tǒng)。

64.C

65.C

66.B軟件測(cè)試的目的是為了發(fā)現(xiàn)程序中的錯(cuò)誤,而軟件調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤,改正以后還需要再測(cè)試。

67.C根據(jù)變量作用域與其定義語句在程序中出現(xiàn)位置之間的關(guān)系,可把變量分為局部變量和全局變量?jī)煞N。其中,在函數(shù)外部定義的變量叫做全局變量,又稱為外部變量;在函數(shù)體內(nèi)定義的變量是局部變量,又稱為內(nèi)部變量。全局變量的作用域是整個(gè)程序,而局部變量的作用域是定義它的函數(shù)或者程序段。

在本題中,程序首先聲明兩個(gè)無返回值函數(shù)func1和func2,然后定義一個(gè)全局?jǐn)?shù)組st。做這類除主函數(shù)外,有其他函數(shù)的試題時(shí),首先需要分析其他函數(shù)來得知函數(shù)的作用,然后再看主函數(shù)。

func1函數(shù)帶有一個(gè)整型變量的形參,在函數(shù)體中,首先輸出以形參作為下標(biāo)的數(shù)組元素值,然后執(zhí)行if條件判斷語句,其條件為形參變量i<3。如果結(jié)果為真,則將變量i加2后保存,然后調(diào)用func2函數(shù);如果條件結(jié)果為假,則結(jié)束該函數(shù)。

從程序中不難看出,func2函數(shù)與func1函數(shù)基本類似,只是最后它對(duì)函數(shù)func1進(jìn)行調(diào)用,與前者不同,兩個(gè)函數(shù)是互相調(diào)用的。

在主函數(shù)中定義一個(gè)變量i并賦值為0,然后調(diào)用函數(shù)func1,根據(jù)我們對(duì)函數(shù)func1的分析可知,輸出st[

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論