2021-2022年吉林省白城市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)_第1頁
2021-2022年吉林省白城市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)_第2頁
2021-2022年吉林省白城市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)_第3頁
2021-2022年吉林省白城市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)_第4頁
2021-2022年吉林省白城市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2021-2022年吉林省白城市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.以下能正確定義字符串的語句是()。

A.charstr=“\x43”;

B.charstr[]=“\0”;

C.charstr=”;

D.charstr[]={‘\064’};

2.需要分配較大空間,插入和刪除不需要移動(dòng)元素的線性表,其存儲(chǔ)結(jié)構(gòu)是()。A.單鏈表B.靜態(tài)鏈表C.線性鏈表D.順序存儲(chǔ)結(jié)構(gòu)

3.若有定義int?x,y;并已正確給變量賦值,則以下選項(xiàng)中與表達(dá)式(x-y)?(x++):(y++)中的條件表達(dá)式(x-y)等價(jià)的是()。A.(x-y<0|x-y>0)B.(x-y<0)C.(x-y>0).D.(x-y==0)

4.同一個(gè)關(guān)系模型的任意兩個(gè)元組值()。

A.可以全相同B.不能全相同C.必須全相同D.以上都不對(duì)

5.以下能正確定義一維數(shù)組的選項(xiàng)是______。

A.inta[5]={0,1,2,3,4,5};

B.chara[]={0,1,2,3,4,5};

C.chara={'A','B','C'};

D.inta[5]="0123";

6.堆是一種有用的數(shù)據(jù)結(jié)構(gòu)。下列關(guān)鍵碼序列()是一個(gè)堆。

A.94,31,53,23,16,72

B.94,53,31,72,16,23

C.16,53,23,94,31,72

D.16,31,23,94,53,72

7.以下是根據(jù)文件大小分配存儲(chǔ)空間的一個(gè)算法偽代碼,請(qǐng)問其空間復(fù)雜度是多少()A.O(n)B.O(n^2)C.O(2^n)D.O(n*log(n))

8.下列4項(xiàng)說法中,不正確的是______。

A.數(shù)據(jù)庫減少了數(shù)據(jù)冗余B.數(shù)據(jù)庫中的數(shù)據(jù)可以共享C.數(shù)據(jù)庫避免了一切數(shù)據(jù)的重復(fù)D.數(shù)據(jù)庫具有較高的數(shù)據(jù)獨(dú)立性

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

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

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

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

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

10.串是一種特殊的線性表,其特殊性體現(xiàn)在()。

A.可以順序存儲(chǔ)B.數(shù)據(jù)元素是一個(gè)字符C.可以鏈?zhǔn)酱鎯?chǔ)D.數(shù)據(jù)元素可以是多個(gè)字符

11.

12.程序運(yùn)行后的輸出結(jié)果是()。#include<stdio.h>#include<stdlib.h>main(){int*a,*b,*c;a=b=c(int*)malloc(sizeof(int));*a=1;*b=2;*c=3;a=b;printf(“%d,%d,%d\n”,*a,*b,*c);}A.1.1.3B.2.2.3C.1.2.3D.3.3.3

13.下述關(guān)于C語言文件的操作的結(jié)論中,正確的是______。

A.對(duì)文件操作必須先關(guān)閉文件

B.對(duì)文件操作必須先打開文件

C.對(duì)文件操作順序無要求

D.對(duì)文件操作前必須先測(cè)文件是否存在,然后再打開文件

14.有以下程序:#include<stdio.h>main(){inta=2,b=2,C=2;print{("%d\n",a/b&c);}程序運(yùn)行后的輸出結(jié)果是()。A.0B.1C.2D.3

15.下列不屬于C語言關(guān)鍵字的是()。A.A.default

B.register

C.enum

D.external

16.有以下程序#include<stdio.h>voidfun(intx){if(x/2>1)fun(x/2);printf("%d",x);}main{fun(7);printf("\n");}程序運(yùn)行后的輸出結(jié)果是()。A.137B.731C.73D.37

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

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

18.以下敘述中正確的是()。

A.在switch語句中,不一定使用break語句

B.break語句只能用于switch語句

C.break語句必須與switch語句中的case配對(duì)使用

D.在switch語句中必須使用default

19.設(shè)有定義“doublea[10],*s=a;”,以下能夠代表數(shù)組元素a[3]的是()。

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

20.層次型、網(wǎng)狀型和關(guān)系型數(shù)據(jù)庫劃分原則是()。

A.記錄長度B.文件的大小C.聯(lián)系的復(fù)雜程度D.數(shù)據(jù)之間的聯(lián)系方式

二、2.填空題(20題)21.下面的程序?qū)崿F(xiàn)的是從指針p所指向的地址的n個(gè)數(shù)中,找出最大的和最小的數(shù)據(jù),請(qǐng)?zhí)羁铡?/p>

fun(int*p,intn)

{int*q;

intmax,min;

max=min=*p;

for(q=p;【】;q++)

if(*q>max)max=*q;

elseif(*q<min)min=*q;}

22.程序的運(yùn)行結(jié)果為【】。

main()

{intx,y,z;

x=24;

y=024;

z=0x24;

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

}

23.下列程序的運(yùn)行結(jié)果是______。

#include<stdio.h>

main()

{inta=10,b=3;

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

printf("%d,",(a-b,a+b));

printf("%d\n",a-b?a-b:a+b);

}

24.若有程序

main()

{inti,j;

scanf("i=%d,j=%d",&i,&j);

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

}

要求給i賦10,給j賦20,則應(yīng)該從鍵盤輸入【】。

25.以下函數(shù)把b字符串連接到a字符串的后面,并返回a中新字符串的長度。請(qǐng)?zhí)羁铡?/p>

strcen(chara[],charb[])

{intnum=0,n=0;

while(*(a+num)!=【】)num++;

while(b[n]){*(a+num)=b[n];num++;【】;}

return(num);

}

26.通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為【】。

27.以下程序的功能是:從鍵盤上輸入若干學(xué)生的成績,統(tǒng)計(jì)計(jì)算出平均成績,并輸出低于平均分的學(xué)生成績,用輸入負(fù)數(shù)結(jié)束輸入。填空。

main()

{floatx[1000],sum,=0.0,avea;

intn=0,i;

printf("Entermark:"\n");scanf("%f",&a);

while(a>=0.0&&n<1000)

{sum+=【】;x[n]=【】;

n++;scanf("%f",&a);

}

ave=【】;

printf("Output:"\n");

printf("ave=%f"\n",ave);

for(i=0,i<n;i++)

if(【】)frintf("%f\n",x[i]);

}

28.下面函數(shù)的功能是:找出一維數(shù)組元素中最大的值和它所在的下標(biāo),最大的值和它所在的下標(biāo)通過形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。主函數(shù)中x是數(shù)組名,n是x中的數(shù)據(jù)個(gè)數(shù),max存放最大值,index存放最大值所在元素的下標(biāo)。請(qǐng)?zhí)羁铡?/p>

#include<stdlib.h>

#include<stdio.h>

voidfun(inta[],intn,int*max,int*d)

{intI;

*max=a[0];

*d=0;

for(I=0;【】;I++)

if(*max<【】)

{*max=a[I];*d=i;}}

main()

{inti,x[20],max,index,n=10;

randomize();

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

{x[i]=rand()%50;printf("%4d",x[i]);}

printf("\n");

fun(x,n,&max,&index);

printf("Max=%5d,Index=%4d\n",max,index);}

29.有以下程序:

main()

{inta=7,b=8,*p,*q,*r;

p=&a;q=&b;

r=p;p=q;q=r;

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

}

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

30.在面向?qū)ο蠓椒▽W(xué)中,直接反映了用戶對(duì)目標(biāo)系統(tǒng)的要求的模型是【】。

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

main()

charc;intn=100;

floatf=10;doublex;

x=f*=n/=(c=50);

printf("%d%f\n",n,x);

32.軟件的【】設(shè)計(jì)又稱為總體結(jié)構(gòu)設(shè)計(jì),其主要任務(wù)是建立軟件系統(tǒng)的總體結(jié)構(gòu)。

33.在循環(huán)中,continue語句與break語句的區(qū)別是:______語句只是結(jié)束本次循環(huán),然后進(jìn)行循環(huán)的條件判定。

34.表達(dá)式pow(2.8,sqrt(float(x)))值的數(shù)據(jù)類型為______型。

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

#include<stdio.h>

fun()

{staticinta=0;

a+=2;printf("%d",a);}

main()

{intcc;

for(cc=1;CC<4;CC++)fun();

printf("\n");}

36.下面的函數(shù)strcat(str1,str2)實(shí)現(xiàn)將字符串str2拼接到字符串str1后面的功能。請(qǐng)?zhí)羁帐怪暾?/p>

char*strcat(str1,str2)

char*str1,*str2;

{char*t=str1;

while(【】)str1++;

while(【】);

return(t);}

37.下列程序的運(yùn)行結(jié)果是______。

#include<stdio.h>

main()

{intfun();

fun();

}

fun()

{staticinta[4]={1,2,3,4};

inti;

for(i=0;i<4;i++)a[i]+=a[i];

for(i=0;i<4;i++)printf("%d,",a[i]);

printf"\n");

}

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

voidreverse(inta[],intn)

{inti,t;

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

{t=a[i];a[i]=a[n+1+i];a[n-1-i]=t;}

}

main()

{intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;

reverse(b,8);

for(i=6;i<10;i++)s+=b[i];

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

}

39.在最壞情況下,冒泡排序的時(shí)間復(fù)雜度為【】。

40.在數(shù)據(jù)庫理論中,數(shù)據(jù)物理結(jié)構(gòu)的改變,如存儲(chǔ)設(shè)備的更換、物理存儲(chǔ)的更換、存取方式等都不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不引起應(yīng)用程序的變化,稱為【】。

三、1.選擇題(20題)41.有以下程序:#include<stdio.h>voidswap1(intc[]){intt;t=c[0];c[0]=c[1];c[1]=t;}voidswap2(intc0,intc1){intt;t=c0;c0=c1;c1=t;}main(){inta[2]={3,5},b[2]={3,5};swap1(a);swap2(b[0],b[1]);printf("%d%d%d%d\n",a[0],a[1],b[0],b[1]);}其輸出結(jié)果是()。

A.5353B.5335C.3535D.3553

42.設(shè)x、y、t均為int型變量,則執(zhí)行語句x=y=3;t=++x||++y;后,y的值為______。

A.不定值B.4C.3D.1

43.數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)流都是______,僅僅是所處的狀態(tài)不同。

A.分析結(jié)果B.事件C.動(dòng)作D.數(shù)據(jù)

44.以下程序的輸出結(jié)果是()main(){charss[16]="test\0\n\"";printf("%d,%d\n",strlen(ss),sizeof(ss)):}

A.4,16B.7,7C.16,16D.4,7

45.對(duì)存儲(chǔ)器按字節(jié)進(jìn)行編址,若某存儲(chǔ)器芯片共有10根地址線的引腳,則該存儲(chǔ)器芯片的存儲(chǔ)容量為()

A.512BB.1KBC.2KBD.4KB

46.若有運(yùn)算符:>、*=、<<、%、sizeof,則它們按優(yōu)先級(jí)(由低至高)的正確排列次序?yàn)?)。

A.*=<<>%sizeof

B.<<*=>%sizeof

C.%=><<sizeof%

D.*=><<%sizeof

47.有以下程序#include<stdio.h>main(){inta[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+5,*q=NULL;*q=*(p+5);printf("%d%d\n",*p,*q);}程序運(yùn)行后的輸出結(jié)果是______。

A.運(yùn)行后報(bào)錯(cuò)B.66C.611D.510

48.已知inta=1,b=3則a^b的值為

A.3B.1C.2D.4

49.在數(shù)據(jù)庫設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于()A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段

50.有以下程序:main(){chars[]="\n123\\";printf("%d,%d\n",strlen(s),sizeof(s));}執(zhí)行后輸出結(jié)果是()。

A.賦初值的字符串有錯(cuò)B.6,7C.5,6D.6,6

51.判斷char型變量cl是否為大寫字母的正確表達(dá)式是()。

A.'A'<=cl<='Z'

B.(cl>=A)&&(cl<=Z)

C.('A'>=cl)||('Z'<=cl)

D.(cl>='A')&&(cl<='Z')

52.有以下函數(shù)定義:voidfun(intn,doublex){…}若以下選項(xiàng)中的變量都已經(jīng)正確定義并賦值,則對(duì)函數(shù)fun的正確調(diào)用語句是______。

A.fun(inty,doublem);

B.k=fun(10,12.5);

C.fun(x,n);

D.voidfun(n,x);

53.在關(guān)系數(shù)據(jù)庫中,用來表示實(shí)體之間聯(lián)系的是

A.樹形結(jié)構(gòu)B.網(wǎng)狀結(jié)構(gòu)C.線性表D.二維表

54.設(shè)x=011050,則x=x&01252的值是()。

A.1000101000

B.1111110100011000

C.1011100010

D.1100000000101000

55.下列工具中為需求分析常用工具的是()。

A.PADB.PFDC.N-SD.DFD

56.若fp已正確定義并指向某個(gè)文件,當(dāng)未遇到該文件結(jié)束標(biāo)志時(shí)函數(shù)feof(fp)的值為()

A.0B.1C.-1D.一個(gè)非0值

57.有以下程序main(){chara[]={'a','b','c','d','e','f','g','h','\0'};inti,j;i=sizeof(a);j=strlen(a);printf("%d,%d\b",i,j);}程序運(yùn)行后的輸出結(jié)果是

A.9,9B.8,9C.1,8D.9,8

58.開發(fā)大型軟件時(shí),產(chǎn)生困難的根本原因是()

A.大系統(tǒng)的復(fù)雜性B.人員知識(shí)不足C.客觀世界千變?nèi)f化D.時(shí)間緊、任務(wù)重

59.有下列程序:main(){intk=5,n=0;do{switch(k){case1:case3:n+=1;k--;break;default:n=0;k--;case2:case4;n+=2;k--;break;}printf("%d",n);}while(k>O&&n<5);}程序運(yùn)行后的輸出結(jié)果是()。

A.235B.0235C.02356D.2356

60.執(zhí)行語句printf(“%ukn”,+12345)的輸出結(jié)果是()。

A.12345B.0C.-1D.非定值

四、選擇題(20題)61.有以下函數(shù)函數(shù)的功能是()。

A.統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)

B.查找x和y所指字符串中是否有’\0’

C.將y所指字符串賦給x所指存儲(chǔ)空間

D.統(tǒng)計(jì)x和y所指字符串中相同的字符個(gè)數(shù)

62.設(shè)文件指針fp已定義,執(zhí)行語句fp=fopen(”61e”,”W”);后,以下針對(duì)文本文件file操作敘述的選項(xiàng)中正確的是()。

A.只能寫不能讀B.寫操作結(jié)束后可以從頭開始讀C.可以在原有內(nèi)容后追加寫D.可以隨意讀和寫

63.有如下程序段

voidfun(int*a,int*b)

{int*k;

k=a;a=b;b=k;

}

main()

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

fun(x,y);

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

}

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

B.36

C.編譯出錯(cuò)

D.00

64.第

15

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

main()

{inta=21,b=11;

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

}

A.30B.31C.32D.33

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

A.1B.2C.4D.8

66.下列敘述中錯(cuò)誤的是()。

A.在C語言中,函數(shù)中的自動(dòng)變量可以賦初值,每調(diào)用一次賦一次初值

B.在C語言中,在調(diào)用函數(shù)時(shí),實(shí)參和對(duì)應(yīng)形參在類型上只需賦值兼容

C.在C語言中,外部變量的隱含類型是自動(dòng)存儲(chǔ)類別

D.在C語言中,函數(shù)形參的存儲(chǔ)類型是自動(dòng)(auto)類型的變量

67.以下選項(xiàng)中關(guān)于C語言常量的敘述錯(cuò)誤的是()。

A.經(jīng)常被陡用的變量可以定義成常量

B.常量分為整型常量、實(shí)型常量、字符常量和字符串常量

C.常量可分為數(shù)值型常量和非數(shù)值型常量

D.所謂常量,是指在程序運(yùn)行過程中,其值不能被改變的量

68.有以下程序:

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

A.y=一1B.Y=0C.y=1D.while構(gòu)成無限循環(huán)

69.

70.

71.以下敘述中正確的是()。

A.a是實(shí)型變量,C允許進(jìn)行賦值a=10,但不可以這樣說:實(shí)型變量中允許存放整型值

B.在賦值表達(dá)式中,賦值號(hào)左邊既可以是變量也可以是任意表達(dá)式

C.執(zhí)行表達(dá)式a=b后,在內(nèi)存中a和b存儲(chǔ)單元中的原有值都將被改變,a的值已由原值改變?yōu)閎的值,b的值由原值變?yōu)?

D.已有a=3,b=5,當(dāng)執(zhí)行了表達(dá)式a=b,b=a之后,使a中的值為5,b中的值為3

72.有以下程序:

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

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

73.

74.

75.有以下程序:

#include<stdio.h>

main()

{chara[20],b[20],c[20];

scanf("%s%s",a,b);

gets(c);

printf("%S%S%s\n",a,b,c);

}

程序運(yùn)行時(shí)從第一列開始輸入:

Thisisacat!<回車>

則輸出結(jié)果是()。

A.Thisisacat!

B.Thisisa

C.Thisisacat!

D.Thisisacat!

76.現(xiàn)有以下結(jié)構(gòu)體說明和變量定義,如圖所示,指針P、q、r分別指定一個(gè)鏈表中連續(xù)的3個(gè)結(jié)點(diǎn)。

structnode

{hardata;

structnode*next;)*P,*q,*r;

現(xiàn)要將q和r所指結(jié)點(diǎn)交換前后位置,同時(shí)要保持鏈表的結(jié)構(gòu),下列不能完成此操作的語句是()。A.q-:>next=r->next;p--:>next=r;rm:>next=q;

B.q-:>next=r;q->next=r->next;r->next=q;

C.q-:>next=r->next;r->next=q;p->next=r;

D.q-:>next=q;p->next=r;q->next=r->next;

77.下面的變量說明中__________是正確的。

A.char:a,b,c;

B.chara;b;c;

C.chara,b,c;

D.chara,b,c

78.下列程序的運(yùn)行結(jié)果是()。main(){intx=1,y=3,a=0;while(x++!=(y-=1)){a+=1;if(y<x)break;}printf("%d,%d,%d\n",x,y,a);}

A.2,3,2B.2,3,1C.1,3,3D.3,1,2

79.以下關(guān)于C語言的敘述中正確的是()。

A.C語言的數(shù)值常量中夾帶空格不影響常量值的正確表示

B.C語言中的變量可以在使用之前的任何位置進(jìn)行定義

C.在C語言算術(shù)表達(dá)式的書寫中,運(yùn)算符兩側(cè)的運(yùn)算數(shù)類型必須一致\

D.C語言中的注釋不可以夾在變量名或關(guān)鍵字的中間

80.在結(jié)構(gòu)化分析方法中,數(shù)據(jù)字典的作用是()。

A.存放所有需要處理的原始數(shù)據(jù)

B.存放所有處理的結(jié)果

C.存放所有程序文件

D.描述系統(tǒng)中所用到的全部數(shù)據(jù)和文件的有關(guān)信息

五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)proc()的功能是:將長整型數(shù)中為偶數(shù)的數(shù)依次逆向取出,構(gòu)成一個(gè)新數(shù)放在t中。高位在低位,低位在高位。例如,當(dāng)s中的數(shù)為12345678時(shí),則t中的數(shù)為8642。

請(qǐng)修改函數(shù)proc()中的錯(cuò)誤,使它能得出正確的結(jié)果。

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

試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫函數(shù)fun(),其功能是統(tǒng)計(jì)s所指字符串中的數(shù)字字符個(gè)數(shù),并將其作為函數(shù)值返回。例如,s所指字符串中的內(nèi)容是2def35adh253kjsdf7/kj8655x,函數(shù)fun()返回值為11注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語句。試題程序:

參考答案

1.BC語言中,字符串是用一對(duì)雙引號(hào)標(biāo)識(shí)的字符序列,并用字符型數(shù)組來存放。C選項(xiàng)和D選項(xiàng)不屬于字符串,A選項(xiàng)定義的是一個(gè)字符變量str,但賦值字符串,顯然也不正確。故本題答案為B選項(xiàng)。

2.B

3.A條件表達(dá)式:x=表達(dá)式1:表達(dá)式2:表達(dá)式3的含義是:先求解表達(dá)式1.若為非0(真),則求解表達(dá)式2.將表達(dá)式2的值賦給x。若表達(dá)式1的值為0(假),則求解表達(dá)式3.將表達(dá)式3的值賦給x。在本題中與表達(dá)式1:(x-y)等價(jià)的是(x-y<0|x-y>0)。

4.B關(guān)系具有以下7個(gè)性質(zhì)。①元組個(gè)數(shù)有限性:二維表中元組的個(gè)數(shù)是有限的。②元組的唯一性:二維表中任意兩個(gè)元組不能完全相同。③元組的次序無關(guān)性:二維表中元組的次序,即行的次序可以任意交換。④元組分量的原子性:二維表中元組的分量是不可分割的基本數(shù)據(jù)項(xiàng)。⑤屬性名唯一性:二維表中不同的屬性要有不同的屬性名。⑥屬性的次序無關(guān)性.二維表中屬性的次序可以任意交換。⑦分量值域的同一性:二維表屬性的分量具有與該屬性相同的值域,或者說列是同質(zhì)的。滿足以上7個(gè)性質(zhì)的二維表稱為關(guān)系,以二維表為基本結(jié)構(gòu)所建立的模型稱為關(guān)系模型。本題答案為B選項(xiàng)。

5.B解析:選項(xiàng)A)定義的是長度為5的數(shù)組元素,但初值有6個(gè)元素,所以錯(cuò)誤;選項(xiàng)C)不符合數(shù)組定義形式,數(shù)組名后應(yīng)加上“[];選項(xiàng)D)的類型說明符錯(cuò)誤,應(yīng)改為char;選項(xiàng)B)中的0,1,2,3,4,5分別表示對(duì)應(yīng)字符的ASCII碼,所以正確。

6.D

7.C

8.C解析:數(shù)據(jù)庫系統(tǒng)具有以下4個(gè)特點(diǎn):數(shù)據(jù)的集成性、數(shù)據(jù)的高共享性與低冗余性、數(shù)據(jù)的獨(dú)立性、數(shù)據(jù)統(tǒng)一管理與控制。

9.D解析:軟件需求規(guī)格說明書SRS,SoftwareRequirementSpecification)是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。它有以下幾個(gè)方面的作用,①便于用戶、開發(fā)人員進(jìn)行理解和交流;②反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù);③作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)。

10.B

11.D

12.D

13.B解析:在C中對(duì)文件操作必須先打開文件,待文件操作完畢后要關(guān)閉文件。對(duì)文件以讀的方式進(jìn)行打開操作時(shí),同時(shí)會(huì)執(zhí)行文件的檢查文件是否存在,不存在將會(huì)返回空的文件指針,如果對(duì)文件以寫的方式打開時(shí),文件不存在,將會(huì)自動(dòng)創(chuàng)建文件,因此在C中打開文件前不必對(duì)其檢查文件是否存在,故答案為B。

14.A根據(jù)C語言運(yùn)算符的優(yōu)先級(jí)與結(jié)合性,先計(jì)算a/b,結(jié)果為l,再將a/b的結(jié)果與C做按位與運(yùn)算,即l與2做按位與運(yùn)算,其結(jié)果為0。

15.Dregister聲明寄存器變量enum聲明枚舉類型default開關(guān)語句中的“其他”分支

16.D本程序主要考查遞歸函數(shù)。fun(7),首先將參數(shù)代入函數(shù),因?yàn)?7/2)>1,所以執(zhí)行f(3),依此類推直到f(1.5),(1.5/2)<1,所以執(zhí)行打印函數(shù),此時(shí)X值為3,然后退出f(1.5),返回f(3),打印x值即7。所以選D。

17.D

18.Aswitch語句中不一定使用break語句,選項(xiàng)A正確;break語句除了用于switch語句,還可以用于循環(huán)語句中,選項(xiàng)B、C錯(cuò)誤;switch語句不一定需要使用default語句,選項(xiàng)D錯(cuò)誤。本題答案為A選項(xiàng)。

19.B題中,首先定義了double型的數(shù)組a,并將數(shù)組首地址賦給指針s?!?*s)”表示“a[1]”,“s[3]”不是指針變量,不能使用間址運(yùn)算符“*”,故選項(xiàng)A、C不能表示“a[3]”;選項(xiàng)D的“*s+3”等于“a[0]+3”。故本題答案為B選項(xiàng)。

20.D層次模型的基本結(jié)構(gòu)是樹形結(jié)構(gòu),網(wǎng)狀模型是一個(gè)不加任何條件限制的無向圖,關(guān)系模型采用二維表來表示,所以三種數(shù)據(jù)庫的劃分原則是數(shù)據(jù)之間的聯(lián)系方式。

21.q<p+nq<p+n解析:考查對(duì)于函數(shù)的地址傳遞的掌握情況。通過地址傳遞可以在被調(diào)函數(shù)中對(duì)調(diào)用函數(shù)中的變量進(jìn)行引用。

22.242036

23.11371,13,7解析:本題考查3個(gè)知識(shí)點(diǎn):①余數(shù)的計(jì)算,題中的a=10,b=3,a%b=1;②(表達(dá)式1,表達(dá)式2)形式的結(jié)果為最后一個(gè)表達(dá)式的值,題中的a=10,b=3,(a-b,a+b)=a+b=13;③條件運(yùn)算符的使用,題中的a-b?a-b:a+b,判斷語句a-b=7不為0,所以執(zhí)行a-b,結(jié)果為7。

24.i=0j=20i=0,j=20解析:scanf()函數(shù)的使用,該函數(shù)的第一個(gè)參數(shù)是格式字符串,主要由兩類字符組成,一類是非格式符要求原樣輸入,一類是格式符對(duì)應(yīng)要輸入的變量,所以說本題中應(yīng)該原樣輸入i=,j=,后面分別給變量0和20,所以說空格處應(yīng)該填入i=0,j=20。

25.0'或0或NULLn++或++n或n=n+1或n+=10'或0或NULL\r\nn++或++n或n=n+1或n+=1

26.軟件生命周期軟件生命周期解析:軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、交付使用以及維護(hù)等活動(dòng)。

27.aasum/n或sum/(float)n或sum/(double)nx[i]<sve或!(x[i]>=sve)或sve>x[i]a\r\na\r\nsum/n或sum/(float)n或sum/(double)n\r\nx[i]<sve或!(x[i]>=sve)或sve>x[i]

28.I<na[I]I<n,a[I]解析:該程序直接使用形參max和d,由于它們都是指針變量,所以要引用它們所指向的變量時(shí),要對(duì)它們進(jìn)行指針運(yùn)算,即*號(hào)運(yùn)算。

29.87788,7,7,8解析:本題中執(zhí)行語句p=&a和q=&b后,*p=7,*q=8;執(zhí)行完語句r=p,p=q,q=r后,*p=8,*q=7,故答案為8,7,7,8。

30.功能模型功能模型

31.220.0或220或220.或220.000000220.0或220或220.或220.000000解析:所有的賦值運(yùn)算符的優(yōu)先級(jí)都相同,它們的結(jié)合性為從右至左,它們返回的表達(dá)式值為賦給變量的值.所以,語句x=f*=n/=(c=50):→x=f*=n/=50;→x=f*=2;(n的值變成2)→x=20;。故最終輸出的結(jié)果應(yīng)該是:220.000000

32.概要概要

33.continuecontinue解析:continue語句只是結(jié)束本次循環(huán),然后進(jìn)行循環(huán)的條件判定。break語句是終止整個(gè)循環(huán)的執(zhí)行,不再進(jìn)行條件判定。

34.floatfloat解析:在此表達(dá)式中x是float類型的變量,經(jīng)過開方所得到的結(jié)果仍是float類型,再和2.8進(jìn)行運(yùn)算時(shí),應(yīng)該先將2.8轉(zhuǎn)換成float類型再運(yùn)算,最后結(jié)果仍是float型。

35.246246解析:本題考查了for循環(huán)語句的使用,同時(shí)靜態(tài)局部變量的存儲(chǔ)和生存其特性也要注意。第一次執(zhí)行fun()函數(shù)時(shí),a=0,所以a+=2=2;第二次執(zhí)行fun()函數(shù)時(shí),a保留著上次制形式的結(jié)果2,所以a+=2=4;同理第三次執(zhí)行fun()函數(shù)時(shí),a=6,所以輸出結(jié)果為246。

36.*str1或*str1!='\0'或*str1!=0或*str1!=NUL*str1++=*str2++或*str1++=*str2*str2++*str1或*str1!='\\0'或*str1!=0或*str1!=NUL\r\n*str1++=*str2++或*str1++=*str2,*str2++解析:函數(shù)strcat(str1,str2)實(shí)現(xiàn)將字符串str2連接到字符串str1后面,所以首先要找到字符串str1的串尾,根據(jù)C語言的語法規(guī)定,一個(gè)串的串尾—定是—個(gè)隱含字符“\\0”,而在程序中,對(duì)字符串中字符的訪問是通過兩個(gè)指針變量來完成的,因此要找到字符串str1的串尾,要判斷:str1是否為“\\0”,要找到字符串str2的串尾,要判斷*str2是否為“\\0”,程序中必須以使字符串中字符逐—順序體現(xiàn),所以在題中我們應(yīng)填寫“*str1”和“*str1++=*str2++”。

37.24682,4,6,8解析:子函數(shù)fun()的功能是將數(shù)組a中的元素都自加一遍,然后仍然將結(jié)果存在原數(shù)組中,其實(shí)就是將數(shù)組a的每個(gè)元素都變?yōu)樵瓉淼?倍,然后輸出。在主程序中首先通過intfun()定義了子函數(shù)fun(),然后再調(diào)用fun()。

38.在main函數(shù)中,調(diào)用reverse函數(shù)將b數(shù)組中的前8個(gè)成員進(jìn)行互置,執(zhí)行完畢后,b數(shù)組中的成員為{8,7,6,5,4,3,2,1,9,10},然后再執(zhí)行for循環(huán)結(jié)構(gòu),將b[6],b[7]…b[9]的值相加,結(jié)果為盟。\r\n\r\n

39.

解析:冒泡排序法是通過相鄰數(shù)據(jù)元素的交換逐步將線性表變成有序。假設(shè)線性表的長度為n,則在最壞的情況下,冒泡排序需要經(jīng)過遍的從前往后的掃描和遍的從后往前的掃描,需要的比較次數(shù)為。

40.物理獨(dú)立性物理獨(dú)立性解析:數(shù)據(jù)的物理結(jié)構(gòu)改變,不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不引起應(yīng)用程序的變化,這種性質(zhì)叫做物理獨(dú)立性。

41.B解析:swap1函數(shù)傳遞的是變量的地址,可以實(shí)現(xiàn)兩個(gè)數(shù)的交換;而swap2函數(shù)傳遞的是值,執(zhí)行完swap2后,c0,c1的值互換了,但main函數(shù)中的b0和b1并未互換,即形參值的改變無法傳給實(shí)參。

42.C解析:++高于=和||,=的優(yōu)先級(jí)最低。而||為自左向右的結(jié)合性,因此先計(jì)算表達(dá)式++x的值,x的初值為3,3+1=4,4為非零值,不必再計(jì)算||右側(cè)表達(dá)式的值,即可得到整個(gè)邏輯表達(dá)式的值1,++y沒有做運(yùn)算,仍為原值3,所以,選項(xiàng)C正確。

43.D解析:數(shù)據(jù)流圖有4種成分:源點(diǎn)或終點(diǎn)、處理、數(shù)據(jù)存儲(chǔ)和哦數(shù)據(jù)流。數(shù)據(jù)存儲(chǔ)是處于靜止?fàn)顟B(tài)的數(shù)據(jù),數(shù)據(jù)流是處于運(yùn)動(dòng)中的數(shù)據(jù)。

44.A

45.B

46.D解析:本題主要考查算術(shù)運(yùn)算的優(yōu)先級(jí)。順序如下:

[*]

注:*=、>、<<、%、sizeof的優(yōu)先級(jí)依次遞增。

47.A解析:本題考核的知識(shí)點(diǎn)是通過指針引用數(shù)組的元素的方法.本題中首先定義了一個(gè)一維數(shù)組a并初始化,由于定義該數(shù)組的時(shí)候省略了長度,因此該數(shù)組的長度為初始化時(shí)候賦初值的個(gè)數(shù)即為12。數(shù)組名a代表數(shù)組的首地址,所以*p=a+5語句使得p指向數(shù)組的第6個(gè)元素,而在程序中定義了一個(gè)指針q并讓它指向空,實(shí)際上程序并沒有在內(nèi)存中為指針q開辟存儲(chǔ)空間,這樣給q賦值不允許的,故該程序運(yùn)行后報(bào)錯(cuò)。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。

48.C解析:^是按位異或運(yùn)算,如果對(duì)應(yīng)位不同則結(jié)果為1,相同則為0。

49.B數(shù)據(jù)庫應(yīng)用系統(tǒng)的邏輯設(shè)計(jì)包括數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫事務(wù)概要設(shè)計(jì)和應(yīng)用程序概要設(shè)計(jì)三方面。數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)的主要步驟為:將E—R圖轉(zhuǎn)換為初始關(guān)系模式,對(duì)初始關(guān)系模式進(jìn)行優(yōu)化,檢查關(guān)系表對(duì)數(shù)據(jù)庫事務(wù)的支持性,確定關(guān)系模式完整性約束,設(shè)計(jì)基于關(guān)系模式的用戶視圖。

50.C解析:本題在定義字符數(shù)組時(shí)沒有定義數(shù)組長度,但用字符常量給數(shù)組賦了初值,這時(shí)初值的個(gè)數(shù)即為數(shù)組的長度,故數(shù)組長度為6(包括'\\0')。字符串的長度為有效字符的個(gè)數(shù)5。strlen(s)返回值為串中字符的個(gè)數(shù)(不計(jì)最后的'\\0'),則輸出值為5。sizeof(s)計(jì)算數(shù)組所占的字節(jié)數(shù),包含'\\0',則輸出值為6。因此,C選項(xiàng)正確。

51.D解析:字符型數(shù)據(jù)在計(jì)算機(jī)內(nèi)部是以ASCII碼存儲(chǔ)的,英文大寫字母和小寫字母在ASCII碼表中都是連續(xù)的。大寫字母A到Z是從65到90,所以只要變量c1大于A并且小于Z就能保證其為大寫字母。A)、C)表示形式錯(cuò)誤,B)的字符A、Z沒有用單引號(hào)括起來。

52.C解析:若函數(shù)fun沒有返回值,選項(xiàng)B錯(cuò)誤;函數(shù)調(diào)用語句中沒有函數(shù)返回值,選項(xiàng)D錯(cuò)誤;函數(shù)凋用語句中只寫實(shí)參名稱,選項(xiàng)A錯(cuò)誤。

53.D解析:數(shù)據(jù)庫中的關(guān)系模型是采用二維表來表示實(shí)體與實(shí)體之間的聯(lián)系。

54.A解析:本題主要考查按位與運(yùn)算,x=011050的二進(jìn)制形式為000100100010t000,01252的二進(jìn)制形式為0000001010101010,兩者相與得0000001000101000。

55.D解析:需求分析常用的工具有數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定樹和判定表。PAD(問題分析圖)、PFD(程序流程圖)、N-S(盒式圖)都是詳細(xì)設(shè)計(jì)的常用工具,不是需求分析的工具。

56.A解析:文件尾測(cè)試函數(shù)feof()的應(yīng)用,讀取文件時(shí),當(dāng)文件中的數(shù)據(jù)全部讀完后,文件位置指針將位于文件的結(jié)尾。此時(shí)如果讀數(shù)據(jù),將會(huì)出現(xiàn)錯(cuò)誤。為了保證讀寫數(shù)據(jù)的正確性,需要進(jìn)行文件尾測(cè)試,文件尾測(cè)試使用函數(shù)feof(),它的功能是測(cè)試fp指向的文件是否到達(dá)文件尾。若到達(dá)文件尾,返回值為非0,否則返回值為0。在本題中fP指向的某文件還沒有到了文件尾,因此返回0。

57.D解析:本題首先定義了字符數(shù)組a,由于它的長度省略,所以其長度由初值個(gè)數(shù)確定,為9。接著將sizeof()函數(shù)返回的值賦給i(sizeof()函數(shù)的作用是返回運(yùn)算對(duì)象占用的字符數(shù)),所以i值為9。然后將strlen()函數(shù)的返回值賦給j(strlen()函數(shù)的作用是返回字符串的長度,不包括字符串的結(jié)束標(biāo)記'\\0'),所以j值為8,故最后輸出的i,j值為9,8。4個(gè)選項(xiàng)中D正確。

58.A開發(fā)大型軟件時(shí),產(chǎn)生困難的原因有很多,如需求難以捕捉、員工水平有限、工作安排不太合理、進(jìn)度控制難以把握、系統(tǒng)開發(fā)時(shí)間有限等元素,但這些都不是根本的原因,根本的原因是大系統(tǒng)的復(fù)雜性。

59.B解析:因?yàn)樽兞康某跏贾捣謩e為k=5,n=0,所以程序第1次進(jìn)入循環(huán)時(shí),執(zhí)行default語句,輸出0,k減1;這時(shí)n=0,k=4,程序進(jìn)行第2次循環(huán),執(zhí)行case4:這個(gè)分支,結(jié)果是n=2,k=3,打印出2;這時(shí)n=2,k=-3,程序進(jìn)行第3次循環(huán),執(zhí)行case3:這個(gè)分支,結(jié)果是n=3,k=2,打印出3;這時(shí)n=3,k=2,程序然后進(jìn)行第4次循環(huán),執(zhí)行case2:case4:這個(gè)分支,結(jié)果是n=5,k=1,打印出5,這時(shí)因?yàn)閚=5不滿足n<5的循環(huán)條件,因此退出循環(huán),程序運(yùn)行結(jié)束。所以在屏幕上打印

60.A解析:“%u”表示輸出無符號(hào)的整數(shù)(注意:如果輸出值前有符號(hào),將自動(dòng)轉(zhuǎn)化為相應(yīng)的無符號(hào)數(shù)輸出)。

61.A本題中由循環(huán)條件可知,當(dāng)遇到l\0”’或“x與y所指的字符的值不相等”中的一個(gè)條件時(shí)就結(jié)束循環(huán),因此本題函數(shù)的功能是統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)。

62.A考查文件操作函數(shù)fopen的基礎(chǔ)知識(shí),以”W”方式打開文件,只能寫不能讀。選項(xiàng)A正確。

63.B在本題中,程序首先定義了一個(gè)無返回值的函數(shù)fun,該函數(shù)帶有兩個(gè)整型的指針形參變量,在函數(shù)體中,首先定義一個(gè)整型指針變量k,然后試圖利用k來交換a和b的結(jié)果。但處理語句k=a;很明顯是對(duì)地址進(jìn)行賦值操作。在C語言中,指針變量作為函數(shù)參數(shù)時(shí),可以改變被指向的變量的值,但不能改變指針變量本身的值,即我們可以改變實(shí)參指向的變量的值,不能使實(shí)參指向其他的變量。因此,本函數(shù)并不能交換形參所指向變量的結(jié)果。

在主函數(shù)中,首先定義了兩個(gè)整型變量a和b,并分別被初始化為3和6,然后定義兩個(gè)指針變量x和y,分別指向a和b,接著調(diào)用fun函數(shù),傳遞的實(shí)參為指針變量x和y,

溫馨提示

  • 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)論