2022年甘肅省平?jīng)鍪腥珖嬎銠C等級考試C語言程序設(shè)計真題(含答案)_第1頁
2022年甘肅省平?jīng)鍪腥珖嬎銠C等級考試C語言程序設(shè)計真題(含答案)_第2頁
2022年甘肅省平?jīng)鍪腥珖嬎銠C等級考試C語言程序設(shè)計真題(含答案)_第3頁
2022年甘肅省平?jīng)鍪腥珖嬎銠C等級考試C語言程序設(shè)計真題(含答案)_第4頁
2022年甘肅省平?jīng)鍪腥珖嬎銠C等級考試C語言程序設(shè)計真題(含答案)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2022年甘肅省平?jīng)鍪腥珖嬎銠C等級考試C語言程序設(shè)計真題(含答案)學(xué)校:________班級:________姓名:________考號:________

一、單選題(20題)1.下列哪個算法是對一個list排序的最快方法()

A.快速排序B.冒泡排序C.二分插入排序D.線性排序

2.以下程序段運行后x的值為()。inti,j,x=0;for(i=3;i>=1;i--)for(j=1;j<=i;j++)x=x+2A.8B.14C.10D.12

3.數(shù)據(jù)庫系統(tǒng)的核心是()。

A.數(shù)據(jù)模型B.數(shù)據(jù)庫管理系統(tǒng)C.數(shù)據(jù)庫D.數(shù)據(jù)庫管理員

4.

5.

6.設(shè)有如下類型說明語句:typedefstruct{intnum;struct{inty,m,d;}date;}PER;則以下定義結(jié)構(gòu)體數(shù)組并賦初值的語句中錯誤的是()。

A.PERst[2]={{1001},2008,8,1,{1002},2006,5,20};

B.PERst[2]={1001,{2008,8,1},1002,{2006,5,20}};

C.PERst[2]={{1001,2008,8,1},{1002,2006,5,20}};

D.PERst[2]={1001,2008,8,1,1002,2006,5,20};

7.設(shè)有定義:inta,*pa=&a;以下scanf語句中能正確為變量a讀入數(shù)據(jù)的是()

A.scanf(“%d”,pa);

B.scanf(“%d”,a);

C.scanf(“%d”,&pa);

D.scanf(“%d”,*pa);

8.設(shè)已包含頭文件<string.h>,下列程序段的運行結(jié)果是()。chars1[]={"ACDEF"};chars2[]="ABC";strcpy(s1,s2);printf("%d",strlen(s1));

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

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

A.當(dāng)對文件的讀(寫)操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失

B.打開一個已存在的文件并進行寫操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋

C.在一個程序中對文件進行寫操作后,必須先關(guān)閉該文件然后再打開才能讀到第1個數(shù)據(jù)

D.C語言中的文件是流式文件,因此只能順序存取數(shù)據(jù)

10.采用鄰接表存儲的圖的廣度優(yōu)先遍歷算法類似于二叉樹的()。A.A.先序遍歷B.中序遍歷C.后序遍歷D.按層遍歷

11.合法的數(shù)組初始化語句是()。

A.chara="string";

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

C.inta[]="string"

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

12.若以下選項中的變量全部為整型變量,且已正確定義并賦值,則語法正確的switch語句是()。

A.switch(a+9){casecl:y=a-b;casec2:y=a+b;}

B.switcha*b{casel0:x=a+b;default:y=a-b;}

C.switch(a+b){casel:case3:y=a+b;break;case0:case4:y=a-b;}

D.switch(a*a+b*b){default:break;case3:y=a+b;break;case2:y=a-b;break;}

13.設(shè)fun函數(shù)的定義形式為voidfun(charch,floatx){…}則下列對函數(shù)fun的調(diào)用語句中,正確的是()。

A.fun("abc",3.0);

B.t=fun(D.16.5);

C.fun(65,2.8);

D.fun(32,32);

14.以下是正確的C語言實型常量的是()。

A..8e+8.B.e+8C.+8e.8D.+8.8e+8

15.對初始狀態(tài)為遞增序列的數(shù)組按遞增順序排序,最省時間的是插入排序算法,最費時間的算法是()

A.堆排序B.快速排序C.插入排序D.歸并排序

16.程序流程圖中帶有箭頭的線段表示的是()。

A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系

17.數(shù)據(jù)庫設(shè)計包括兩個方面的設(shè)計內(nèi)容,它們是()。

A.概念設(shè)計和邏輯設(shè)計B.模式設(shè)計和內(nèi)模式設(shè)計C.內(nèi)模式設(shè)計和物理設(shè)計D.結(jié)構(gòu)特性設(shè)計和行為特性設(shè)計

18.設(shè)二叉排序樹中有n個結(jié)點,則二叉排序樹的平均查找長度為()。A.O(1)

B.O(log2n)

C.O(n)

D.(n2)

19.第

24

下面程序段的運行結(jié)果是

char*p="abcdefgh";

p+=3;

printf("%d\n",strlen(strcpy(p,"ABCD")));

A.8B.12C.4D.7

20.有以下程序#include<stdio.h>intfun(intx;inty){if(x=y(tǒng))reurn(x);elsereturn((x+y)/2);}main(){inta=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,c)));}程序運行后的輸出結(jié)果是______。A.3B.6C.8D.12

二、2.填空題(20題)21.設(shè)有下列宏定義:

#defineA2

#defineB(A+3)

則執(zhí)行賦值語句“k=B*20;”(k為int型變量)后,k的值是______。

22.請在以下程序第一行的下劃線處填寫適當(dāng)內(nèi)容,使程序能正確運行。

【】(double,double);

main()

{doublex,y;

scanf("%1f%1f",&x,&y);

printf("%1f\n",max(x,y));

}

doublemax(doublea,doubleB)

{return(a>b?a:b);}

23.軟件定義時期主要包括______和需求分析兩個階段。

24.有以下程序:

#include<stdio.h>

main()

{

charc;

while((c=getchar())!='?')putchar(--c);

}

程序運行時,如查從鍵盤輸入:Y?N?<回車>,則輸出的結(jié)果為______。

25.函數(shù)my_cmp()的功能是比較字符串s和t的大小,當(dāng)s等于t時返回0,否則返回s和t的第一個不同字符的ASCII碼差值,即s>t時返回正值,s<t時返回負值。請?zhí)羁铡?/p>

My_cmp(char*s,char*t)

{while(*s==*t)

{if(*s==′\0)return0;

++s;++t;

}return【】;

}

26.數(shù)據(jù)庫三級模式體系結(jié)構(gòu)的劃分,有利于保持數(shù)據(jù)庫的【】。

27.有以下程序:

#include<stdio.h>

intsub(intn)

{return(n/10+n%10);}

main()

{intx,y;

seanf("%d",&x);y=sub(sub(sub(x)));

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

}

若運行時輸入:1234<回車>,程序的輸出結(jié)果是【】。

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

#include<stdio.h>

intt(intx,inty,intcp,intdp)

{cp=x*x+y*y;

如:dp=x*-y*y;

}

main()

{inta=1,b=8,c=7,d=9;

t(a,b,c,D);

printf("%d%d\n",c,D);

}

29.度為10的線性表進行冒泡排序,最壞情況下需要比較的次數(shù)為______。

30.按照邏輯結(jié)構(gòu)分類,結(jié)構(gòu)可以分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),棧屬于______。

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

longfun5(intn)

(longs;

if((n==l)‖(n==2))

s=2;

else

s=n+fun5(n-1);

return(s);

}

main()

{longx;

x=fun5(4);

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

32.條件“20<x<30或x<-100”的C語言表達式是【】。

33.x和y都是double型變量,x的初值為4.0,y的初值為2.0,則表達式pow(y,fabs(x))的值為______。

34.下面函數(shù)的功能是:找出一維數(shù)組元素中最大的值和它所在的下標,最大的值和它所在的下標通過形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。主函數(shù)中x是數(shù)組名,n是x中的數(shù)據(jù)個數(shù),max存放最大值,index存放最大值所在元素的下標。請?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);}

35.以上程序運行后的輸出結(jié)果是【】。

main()

{inti=10,j=0;

do

{j=j+i;i-;}

while(i>2);

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

}

36.以下說明語句中,【】是結(jié)構(gòu)體類型名。

typedefstruct

{intn;

charch[8];

}PER;

37.設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語句,且函數(shù)fun為void型,請寫出函數(shù)fun的首部【】。要求形參名為b。

main()

}doubles[10][22];

intn;

fun(s);

}

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

intt(intx,inty,intcp,intdp)

{cp=x*x+y*y;

dp=x*x-y*y;

}

main()

{inta=4,b=3,c=5,d=6;

t(a,b,c,d);

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

}

39.閱讀下面程序,則程序的執(zhí)行結(jié)果為【】。

#include"stdio.h"

main()

{inta=30,b=20,z;

z=fun(a+b,a-b);

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

fun(inta,intb)

{intz;

z=a/b;

returnz;}

40.以下程序的輸出結(jié)果是12.00,請將空白處填寫完整。

main()

{inta=9,b=2;

floatx=【】,y=1.1,z;

z=a/2+b*x/y+1*2;

printf("%52f\n",z);

}

三、1.選擇題(20題)41.以下合法的字符型常量是

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

42.標準庫函數(shù)fgets(s,n,file)的功能是()。

A.從文件file中讀取長度為n的字符串存入字符數(shù)組s中

B.從文件file中讀取長度不超過n-1個字符的字符串放到字符數(shù)組s中

C.從文件file中讀取n個字符串存入字符數(shù)組s中

D.從文件file中讀取長度為n-1個字符的字符串存入字符數(shù)組s中

43.有以下程序:main(){inta[3][3],*P,i;p=&a[0][0];for(i=0;i<9;i++)p[i]=i;for(i=0;i<3;i++)printf("%d",a[1][i]);}程序運行后的輸出結(jié)果是()。

A.012B.123C.234D.345

44.對以下說明語句的正確理解是inta[10]={6,7,8,9,10};

A.將5個初值依次賦給a[1]至a[5]

B.將5個初值依次賦給a[0]至a[4]

C.將5個初值依次賦給a[6]至a[10]

D.因為數(shù)組長度與初值的個數(shù)不相同,所以此語句不正確

45.函數(shù)rewind的作用是

A.使文件位置指針重新返回文件的開始位置

B.將文件位置指針指向文件中所要求的特定位置

C.使文件位置指針指向文件的末尾

D.使文件位置指針自動移至下一個字符位置

46.有以下程序

#include<stdio.h>

main()

{intc;

while((c=getchar())!=′\n)

{switch(c-′2′)

{case0:

case1:putchar(c+4);

case2:putchar(c+4);break;

case3:putchar(c+3);

case4:putchar(c+3);break;}}

printf("\n")}

從第一列開始輸入以下數(shù)據(jù)<CR>代表一個回車符。

2743<CR>

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

A.66877B.668966C.6677877D.6688766

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

A.數(shù)據(jù)庫包括數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)

B.數(shù)據(jù)庫系統(tǒng)包括數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)

C.數(shù)據(jù)庫管理系統(tǒng)包括數(shù)據(jù)庫和數(shù)據(jù)庫系統(tǒng)

D.三者沒有明顯的包含關(guān)系

48.算法一般都可以用______控制結(jié)構(gòu)組合而成。

A.循環(huán)、分支、遞歸B.順序、循環(huán)、嵌套C.循環(huán)、遞歸、選擇D.順序、選擇、循環(huán)

49.數(shù)據(jù)結(jié)構(gòu)中,與所使用的計算機無關(guān)的是數(shù)據(jù)的()。A.存儲結(jié)構(gòu)B.物理結(jié)構(gòu)C.邏輯結(jié)構(gòu)D.物理和存儲結(jié)構(gòu)

50.軟件工程的出現(xiàn)是由于()。A.A.程序設(shè)計方法學(xué)的影響B(tài).軟件產(chǎn)業(yè)化的需要C.軟件危機的出現(xiàn)D.計算機的發(fā)展

51.以下數(shù)組定義中錯誤的是()。

A.intx[][3]={0};

B.intx[2][3]={{1,2},{3,4},{5,6}};

C.intx[][3]={{1,2,3},{4,5,6}};

D.intx[2][3]=(1,2,3,4,5,6};

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

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

53.c語言規(guī)定,在一個源程序中,main函數(shù)的位置()。

A.必須在最開始B.必須在系統(tǒng)調(diào)用的庫函數(shù)的后面C.可以任意D.必須在最后

54.以下4組用戶定義標識符中,全部合法的一組是()A._mainencludesin

B.If-maxturbo

C.txtREAL3COM

D.intk_2_001

55.有如下程序:#include<stdio.h>main(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf("%f\n",y);}該程序的輸出結(jié)果是()。

A.0B.0.25C.0.5D.1

56.下列程序的輸出結(jié)果是_____。intfunc(inta,intb){return(a+b);}main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);printf("%\d\n",r);}

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

57.若有以下定義和語句:ihtw[2][3],(*pw)[3];pw=w;則對w數(shù)組元素的非法引用是()

A.*(w[0]+2)B.*(pw+1)[2]C.pw[0][0]D.*(pw[1]+2)

58.閱讀下面程序,則執(zhí)行后的結(jié)果是#include"stdio.h"main(){charstr[]="tomeetme",*p;for(p=str;p<str+7;p+=2)putchar(*p);printf("\n");}.

A.tomeetmeB.tmemC.oeteD.tome

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

60.以下正確的說法是______。

A.實參和與其對應(yīng)的形參各占用獨立的存儲單元

B.實參和與其對應(yīng)的形參共用一個存儲單元

C.只有當(dāng)實參和與其對應(yīng)的形參同名時才共用存儲單元

D.型參是虛擬的,函數(shù)在沒有被調(diào)用時,不占用存儲單元

四、選擇題(20題)61.若有定義語句:doublea,*p=&a;,以下敘述中錯誤的是()。

A.定義語句中的*號是一個間址運算符

B.定義語句中的*號只是一個說明符

C.定義語句中的P只能存放double類型變量的地址

D.定義語句中,*p=&n把變量a的地址作為初值賦給指針變量P

62.若變量X、y已正確定義并賦值,以下符合c語言語法的表達式是()。

A.++x,y=x-一B.x+l=yC.x=x+10--x+yD.double(x)/lO

63.以下程序的輸出結(jié)果是______。#definef(x)x*xmain(){inta=6,b=2,c;c=f(a)/f(b);printf("%d\n",c);}

A.9B.6C.36D.18

64.以下選項中敘述錯誤的是()。

A.C程序函數(shù)中定義的自動變量,系統(tǒng)不自動賦確定的初值

B.在C程序的同一函數(shù)中,各復(fù)合語句內(nèi)可以定義變量,其作用域僅限本復(fù)合語句內(nèi)

C.C程序函數(shù)中定義的賦有初值的靜態(tài)變量,每調(diào)用一次函數(shù),賦一次初值

D.C程序函數(shù)的形參不可以說明為static型變量

65.若變量a,b已正確定義,且b已正確賦值,則合法的語句是()。

A.b=double(b);B.(int)a=(int)b;C.a=a++=5;D.a=double(b);

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

A.算法是指對解題方案的準確而完整的描述

B.算法的有窮性是指算法程序的長度是有限的

C.算法是否有效與擁有的情報無關(guān)

D.算法的基本特征有可行性、確定性和有窮性

67.

68.以下程序的輸出結(jié)果是______。#defineM(x,y,z)x*y+zmain(){inta=1,b=2,c=3;printf("%d\n",M(a+b,b+c,c+a));}

A.19B.17C.15D.12

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

A.10,l4B.8,11C.7,llD.9,l8

70.

71.數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標識的圖符不屬于數(shù)據(jù)流圖內(nèi)容的是

A.控制流B.加工C.?dāng)?shù)據(jù)存儲D.?dāng)?shù)據(jù)流

72.下列排序方法中,最壞情況下比較次數(shù)最少的是()。

A.冒泡排序B.簡單選擇排序C.直接插入排序D.堆排序

73.數(shù)據(jù)庫系統(tǒng)的三級模式不包括()。

A.概念模式B.內(nèi)模式C.外模式D.數(shù)據(jù)模式

74.下列描述中,不符合結(jié)構(gòu)化程序設(shè)計風(fēng)格的是

A.使用順序、選擇和重復(fù)(循環(huán))三種基本控制結(jié)構(gòu)表示程序的控制邏輯

B.注重提高程序的執(zhí)行效率

C.自頂向下

D.限制使用goto語句

75.

76.計算機能直接執(zhí)行的程序是()。A.可執(zhí)行程序B.目標程序C.匯編程序D.源程序

77.

有以下程序:

main

{inti,n=0:

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

{do

{if(i%3)continue:

n++:

}while(!i);

n++:

}

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

}

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

A.n=5B.n=2C.n=3D.n=4

78.

79.有以下程序:

#include<stdio.h>

#defineS(x)4*(x)*x+1

main()

{intk=5,j=2;

printf("%d\n",S(k+j));

}

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

A.197B.143C.33D.28

80.支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是()。A.棧B.樹C.隊列D.--X樹

五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc的功能是:根據(jù)輸入的:個邊長(整型值),判斷能否構(gòu)成三角形:若能構(gòu)成等邊三角形,則返回3;若是等腰三角形,則返回2;若能構(gòu)成三角形則返回l;若不能,則返回0。

例如,輸入3個邊長為3,4,5,實際輸入時,數(shù)與數(shù)之間以Enter鍵分隔而不是逗號。

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

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

試題程序:

#include<stdio.h>

#include<math.h>

intproc(inta,intb,intc)

{

if(a+b>c&&b-c>a&&a+c>b)

{

if(a==b&&b==c)

//****found****

return1;

elseif(a==b||b==C||a==c)

return2;

//****found****

elsereturn3;

}

elsereturn0;

}

voidmain

{

inta,b,c,shape;

printf("\nInputa,b,c:");

scanf("%d%d%d",&a,&b,&c);

printf("\na=%d.b=%d,c=%d\n",a,b,c);

shape=proc(a,b.c):

printf("\n\nTheshape:%d\n",shape);

}

六、程序設(shè)計題(1題)82.請編寫函數(shù)proc(),該函數(shù)的功能是:將兩個兩位數(shù)的正整數(shù)num1,num2合并形成一個整數(shù)放在num中。合并的方式是:將num1數(shù)的十位和個位數(shù)依次放在num數(shù)的十位和千位上,num2數(shù)的十位和個位數(shù)依次放在c數(shù)的百位和個位上。

例如,當(dāng)num1=64,num2=18時,調(diào)用到該函數(shù)后,num=4168。

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

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

試題程序:

參考答案

1.A

2.D

3.B解析:數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心,是負責(zé)數(shù)據(jù)庫的建立、使用和維護的軟件。數(shù)據(jù)庫管理系統(tǒng)建立在操作系統(tǒng)之上,實施對數(shù)據(jù)庫的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫命令以及應(yīng)用程序的執(zhí)行,最終都必須通過數(shù)據(jù)庫管理系統(tǒng)。另外,數(shù)據(jù)庫管理系統(tǒng)還承擔(dān)著數(shù)據(jù)庫的安全保護工作,按照數(shù)據(jù)庫管理員所規(guī)定的要求,保證數(shù)據(jù)庫的完整性和安全性。

4.B

5.C

6.A結(jié)構(gòu)體PER類型定義了兩個成員:num為整型,date為嵌套的結(jié)構(gòu)體類型。初始化時,成員值的順序必須與成員定義的順序相同,num必須是整數(shù),date必須是用花括號標注的嵌套的3個整數(shù)。選項A中,{1001}和{1002}都不是整數(shù),所以選項A錯誤。故本題答案為A選項。

7.A

8.A解析:頭文件<string.h>是字符串處理函數(shù)對應(yīng)的頭文件,要想調(diào)用C語言的庫函數(shù)時,都要在程序中嵌入該函數(shù)對應(yīng)的頭文件,否則無法使用庫函數(shù)。

strcpy(s1,s2)把s2中的字符串復(fù)制到s1中,所以結(jié)果就為s2的長度。

9.AB選項中,打開一個已存在的文件并進行寫操作后,原有文件中的全部數(shù)據(jù)不一定被覆蓋,也可以對源文件進行追加操作等。C選項中,在一個程序中對文件進行寫操作后,不是先關(guān)閉該文件然后再打開才能讀到第1個數(shù)據(jù),用fseek函數(shù)進行重新定位即可。D選項中,C語言中的文件可以進行隨機讀寫。故本題答案為A選項。

10.D

11.D

12.D選項A,當(dāng)cl和c2相等時,不成立;選項B,a*b要用括號括起來;選項C,case與后面的數(shù)字用空格隔開。

13.C由題目的已知條件函數(shù)fun的定義形式voidfun(charch,floatx){…)可知第一個形參為字符型,所以A不符合,第二個形參為精度型,所以D不符合,函數(shù)fun定義為void型(無論返回值型),故其沒有返回值,所以選項B錯誤。選項C的第一個實參的類型為字符型,第二個實參的類型為單精度型,與函數(shù)fun的形式參數(shù)的類型相符合,所以選項C為正確答案。

14.DC語言中,實型常量有兩種表示形式:小數(shù)形式和指數(shù)形式。其中指數(shù)形式的一般形式為:尾數(shù)E(或e)整型指數(shù)。C語言規(guī)定,字母E或e之前必須要有數(shù)字,且E或e后面的指數(shù)必須是整數(shù),所以選項A、B、C錯誤,選項D正確。故本題答案為D選項。

15.B

16.C解析:程序流程圖是人們對解決問題的方法、思路或算法的一種描述。其中,圖框表示各種操作的類型,圖框中的文字和符號表示操作的內(nèi)容,流程線表示操作的先后次序。帶箭頭的線段在數(shù)據(jù)流程圖中表示數(shù)據(jù)流。帶箭頭的線段在程序流程圖中表示控制流。題中給出的選項中,在圖元之間用帶有箭頭的線段表示圖元關(guān)系。在模塊之間用帶有箭頭的線段表示調(diào)用關(guān)系。構(gòu)成程序流程圖的基本圖符及含義:→或↓表示控制流;□表示加工步驟;

表示邏輯條件。

17.A解析:模式設(shè)計和內(nèi)模式設(shè)計是概念設(shè)計的兩種方法。物理設(shè)計是根據(jù)特定的計算機系統(tǒng),對數(shù)據(jù)的存儲結(jié)構(gòu)和存取方法進行設(shè)計,從而實現(xiàn)從邏輯結(jié)構(gòu)到物理結(jié)構(gòu)的轉(zhuǎn)換。從系統(tǒng)開發(fā)的角度來看,結(jié)構(gòu)特性設(shè)計和行為特性-設(shè)計是數(shù)據(jù)庫應(yīng)用系統(tǒng)所具有的兩個特性。結(jié)構(gòu)特性的設(shè)計,設(shè)計各級數(shù)據(jù)庫模式(靜態(tài)特性):行為特性的設(shè)計,改變實體及其特性,決定數(shù)據(jù)庫系統(tǒng)的功能(動態(tài)特性)。

18.B

19.C在本題中,程序段首先定義了字符型指針變量p,并使其指向一個字符串,然后將指針變量p加3,即使其指向字符串的第四個元素。然后執(zhí)行輸出語句,通過輸出語句的輸出格式我們可以知道,最后輸出的是一個十進制數(shù)的整型數(shù)值,其輸出列表為strlen(strcpy(P,″ABCD″))。這就要求我們了解strlen函數(shù)和strcpy函數(shù)的作用。

strcpy的調(diào)用格式是:strcpy(目的地址,源地址),其功能是把源地址的字符串復(fù)制到目的地址中,這種復(fù)制將覆蓋原來的字符串。strcat函數(shù)的功能是將源地址的字符串復(fù)制到目的地址字符串的后面。

strlen的調(diào)用格式是:strlen(字符串地址),其功能是返回字符串中字符的個數(shù)。

那么程序中執(zhí)行strcpy(P,″ABCD″)后指針變量p所指向的字符串為“ABCD”,該字符串中字符的個數(shù)為4,那么執(zhí)行strlen后,程序最終輸出的結(jié)果是4。因此本題正確的答案是C。

20.B解析:在主函數(shù)中,第—次調(diào)用fun函數(shù),將變量b,c的值傳給形參x,y,在fun()函數(shù)中執(zhí)行if語句,判斷b和c的值是否相等,由于在主函數(shù)中賦初值b=5,c=6,所以判斷條件不滿足,執(zhí)行else語句,返回表達式(x+y)/2的值,即:(5+6)/2,因為參數(shù)的類型都為int型,所以結(jié)果也為整型:5,第二次調(diào)用時8和5也不相等,所以返回值為6,因此,選項B是正確的。

21.100100解析:本題考查帶參數(shù)的宏定義及相關(guān)運算。運算過程為:k=B*20=(A+3)*20=(2+3)*20=100。

22.doublemax或externdoublemaxdoublemax或externdoublemax解析:本題中main()函數(shù)需要調(diào)用max()函數(shù),在main()之前就需要聲明函數(shù)max(),并且可以用extern說明符使變量的作用域擴充到需要用到它的函數(shù),所以,填寫doublemax(或externdoublemax)。

23.可行性研究可行性研究解析:軟件生命周期一般包括可行性研究與需求分析、設(shè)計、實現(xiàn)、測試、交付使用及維護等,還可以將軟件生命周期分為三個階段:①軟件定義階段:可行性研究和需求分析;②軟件開發(fā)階段:設(shè)計、實現(xiàn)和測試;③軟件運行維護階段:交付使用和維護。

24.xx解析:本題考查的知識點是while循環(huán)的程序分析;主函數(shù)中首先定義了一個字符型變量C,接著執(zhí)行下面while語句,在while循環(huán)中,首先從鍵盤上讀入一個字符Y并給賦給字符變量C,賦值表達式的值不為'?',執(zhí)行輸出語句,輸出字符x。接著判斷while中的循環(huán)條件,讀入一個字符'?',并賦值給c,賦值表達式的值為'?',循環(huán)條件不再滿足,退出循環(huán)。

25.*s-*t*s-*t解析:兩字符串大小比較必須從它們的首字符開始,在對應(yīng)字符相等情況下循環(huán),直至不相等結(jié)束。相等時,若字符串已到了字符串的結(jié)束標記符,則兩字符串相同,函數(shù)返回0值;如還有后繼字符,則準備比較下一對字符。對應(yīng)字符不相同,循環(huán)結(jié)束。循環(huán)結(jié)束時,就以兩個當(dāng)前字符的差返回,所以在空框處應(yīng)填入*s-*t,保證在s>t時,返回正值,當(dāng)s<t時,返回負值。

26.數(shù)據(jù)獨立性數(shù)據(jù)獨立性解析:數(shù)據(jù)庫的三級模式體系結(jié)構(gòu)把數(shù)據(jù)的組織管理工作進行了劃分,把數(shù)據(jù)的具體組織留給DBMS管理,使用戶能邏輯地、抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計算機中的具體表示方式與存儲方式,保證了數(shù)據(jù)的獨立性。

27.1010解析:函數(shù)sub遞歸調(diào)用的返回值被作為再次調(diào)用sub函數(shù)的實參傳給函數(shù)sub的形參,共進行3次遞歸調(diào)用。第1次調(diào)用sub(1234)的返回值為1234/10+1234%10=127;第2次調(diào)用sub(127)的返回值為127/10+127%10=19;第3次調(diào)用sub(19)的返回值為19/10+19%10=10。所以程序的輸出為10。

28.7979解析:因為在調(diào)用子函數(shù)時進行的是數(shù)值傳遞,調(diào)用子函數(shù)并不能改變實參的值,所以經(jīng)過調(diào)用子函數(shù),c、d的值并沒有發(fā)生變化還是原來的值。

29.4545解析:對于長度為N的線性表,在最壞情況下(即線性表中元素現(xiàn)在的順序與目標順序正好相反),冒泡排序需要經(jīng)過N/2遍的從前往后的掃描和N/2遍的從后往前的掃描,需要的比較次數(shù)為N(N-1)/2。

30.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系,分為線性結(jié)構(gòu)和非線性結(jié)構(gòu)。常見的線性結(jié)構(gòu)有線性表、棧和隊列等,常見的非線性結(jié)構(gòu)有樹、二叉樹等。

31.99解析:考查ifelse語句,n==4不滿足條件,所以fun5(4)=4+fun5(3),n==3也不滿足條件,fun5(3)=3+fun5(2),n==2滿足條件fun5(2)=2,故x=4+3+2=9。

32.(20<x)&&(x<30)||(x<-100)或20<x&&x<30||x<-100(20<x)&&(x<30)||(x<-100)或20<x&&x<30||x<-100

33.1616解析:函數(shù)運算不改變數(shù)據(jù)類型,所以結(jié)果也是double型,fabs(x)是對x取絕對值,pow(y,fabs(x))是y的labs(x)次冪,即2.04。0=16.000000(注意;結(jié)果為double型)。

34.I<na[I]I<n,a[I]解析:該程序直接使用形參max和d,由于它們都是指針變量,所以要引用它們所指向的變量時,要對它們進行指針運算,即*號運算。

35.5252解析:do...while語句的形式為:

do

{

語句;

}while(條件表達式)

當(dāng)條件表達式為非零時,繼續(xù)執(zhí)行循環(huán)體,直到條件表達式為零時退出循環(huán)。

36.PERPER解析:本題中,typedef聲明新的類型名PER來代替已有的類型名,PER代表上面指定的一個結(jié)構(gòu)體類型,此時,也可以用PER來定義變量。

37.voidfun(double*b)或voidfun(doubleb[10][12])voidfun(double*b)或voidfun(doubleb[10][12])解析:本題考查數(shù)組名作函數(shù)參數(shù)。程序中被調(diào)用函數(shù)fun(s)的實參s是數(shù)組名,而s為double型數(shù)組名,所以函數(shù)fun的形參類型為double*。

38.5656解析:本題中a,b,c,d足實參,x,y,cp,dp是形參。C語言規(guī)定,實參變量對形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實參傳給形參,而不能由形參傳回來給實參。在內(nèi)存中,實參單元與形參單元是不同的單元。在調(diào)用函數(shù)時,給形參分配存儲單元,并將實參對應(yīng)的值傳遞給形參,調(diào)用結(jié)束后,形參單元被釋放,實參單元仍保留并維持原值。因此,程序的輸出結(jié)果是56。

39.55解析:函數(shù)調(diào)用的時候,函數(shù)名字必須與所調(diào)用的函數(shù)名完全一致,形參與實參類型要一致,在沒有給出函數(shù)返回值類型的情況下,默認為整形,當(dāng)返回值為整型的函數(shù)放到主函數(shù)后面時,可以不需要事先說明就調(diào)用這個函數(shù)。return既可以返回一個普通常量,也可以返回一個指針變量。

解析:a/2=9/2=4,1/2=0,于是根據(jù)輸出結(jié)果就有下列等式:z=4+2*x/1.1=12.0,化簡后,為x/1.1=4,x=4.4。

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

42.B解析:字符串輸入函數(shù)fgets()的調(diào)用形式為:fgets(s,n,fp)。fgets函數(shù)參數(shù)說明:“s”可以是一個字符數(shù)組名,也可以是指向字符串的指針;“n”為要讀取的最多的字符個數(shù);“fp”是指向該文件的文件型指針。fgets函數(shù)的功能是:從fp所指向的文件中讀取長度不超過n-1個字符的字符串,并將該字符串放到字符數(shù)組s中;讀入字符串后會自動在字符串末尾加入“'\\0'”結(jié)束符,表示字符串結(jié)束。

43.D解析:本題的考點是C語言的指針。p指向二維數(shù)組a的首地址,而二維數(shù)組是按行存放的。因此“。for(i=0;i<9;i++)p[i]=i;”的結(jié)果是等價于a[3][3]={0,1,2,3,4,5,6,7,8},也就是a[3][3]={{0,1,2),{3,4,5),{6,7,8}}。因此a[1][i](i=0,1,2)的結(jié)果是3、4、5。輸出結(jié)果應(yīng)該是:345。

44.B解析:本題中,表達式將5個初值分別賦給a[0]至a[4],系統(tǒng)自動給后面的元素a[5]至a[9]賦0。

45.A解析:函數(shù)rewind的功能是將文件指針重新指向一個流的開頭。用法如下:

intrewind(FILE*stream);并且無返值。

46.A解析:本題主要考查了字符輸入輸出函數(shù)getchar和putchar的使用。getchar函數(shù)用來從標準輸入設(shè)備上讀入一個字符,putchar(c)函數(shù)是將字符變量c中的字符輸出到標準輸出設(shè)備上,并且字符可以看作整數(shù)參與運算。

47.B數(shù)據(jù)庫可以看成是長期存儲在計算機內(nèi)的、大量的、有結(jié)構(gòu)的和可共享的數(shù)據(jù)集合。數(shù)據(jù)庫可以被直觀地理解為存放數(shù)據(jù)的倉庫,只不過這個倉庫在計算機的大容量存儲器上,例如,硬盤就是一種最常見的計算機大容量存儲設(shè)備。數(shù)據(jù)必須按一定的格式存放,因為它不僅需要存放,而且還要便于查找和使用。

數(shù)據(jù)庫管理系統(tǒng)(DBMS)是位于用戶與操作系統(tǒng)之間的完成數(shù)據(jù)管理的系統(tǒng)軟件。它是用戶與數(shù)據(jù)庫的接口。應(yīng)用程序一般要通過DBMS才能訪問數(shù)據(jù)庫。在數(shù)據(jù)庫建立、運用和維護時對數(shù)據(jù)庫進行統(tǒng)一控制。

數(shù)據(jù)庫系統(tǒng)是指在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng),一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成。數(shù)據(jù)庫是整個數(shù)據(jù)庫系統(tǒng)最基本的成分。數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心。數(shù)據(jù)庫管理員是數(shù)據(jù)庫系統(tǒng)的責(zé)任維護者,負責(zé)對數(shù)據(jù)庫系統(tǒng)的整體維護。

綜上所述,本題中只有B選項的描述是正確的。

48.D解析:算法的控制結(jié)構(gòu)給出了算法的基本框架,不僅決定了算法中各操作的執(zhí)行順序,也直接反映了算法的設(shè)計是否符合結(jié)構(gòu)化原則。一個算法一般都可以用順序、選擇、循環(huán)三種基本控制結(jié)構(gòu)組合而成。

49.C數(shù)據(jù)結(jié)構(gòu)概念一般包括3個方面的內(nèi)容,數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)(物理結(jié)構(gòu))及數(shù)據(jù)上的運算集合。數(shù)據(jù)的邏輯結(jié)構(gòu)只抽象地反映數(shù)據(jù)元素之間的邏輯關(guān)系,即數(shù)據(jù)元素之間的前后件關(guān)系,而不管它在計算機中的存儲表示形式。

50.C解析:軟件工程的基本概念。軟件工程概念的出現(xiàn)源自于軟件危機。為了消除軟件危機,通過認真研究解決軟件危機的方法,認識到軟件工程是使計算機軟件走向工程科學(xué)的途徑,逐步形成了軟件工程的概念。

51.B解析:選項B的第1維長度為2,而初始化列表外花括號中包含了3個內(nèi)花括號,所以該選項的定義錯誤,故應(yīng)該選擇B。

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

53.C解析:不論main函數(shù)在整個過程中的位置如何,一個C程序總是從main函數(shù)開始執(zhí)行的。

54.A解析:標識符是以字母或下劃線開頭,由字母、數(shù)字或下劃線組成的字符序列(例如,-max含非法字符-),并且用戶標識符不能與C語言中的32個關(guān)鍵字同名(例如,int是關(guān)鍵字,不是合法的用戶標識符)。選項B中-max不是字母、數(shù)字或下劃線組成的字符序列,故選項B不正確;選項C中3COM不是由字母或下劃線開頭,故選項C不正確;選項D中int為C語言中的關(guān)鍵字,故選項D不正確;選項A中全部為合法的標識符,所以,4個選項中選項A符合題意。

55.C解析:該題目考查對if-elseif結(jié)構(gòu)的理解。由于x的值滿足x<10.0的關(guān)系,所以程序執(zhí)行y=1.0/x;語句,y的值等于0.5。用printf函數(shù)按%f格式輸出時,結(jié)果為小數(shù)點后保留6位。

56.D

57.A

58.B解析:存放字符串的字符數(shù)組的名字就是這個字符串的首地址。本題的功能是對于字符串“tomeetme”進行選擇式輸出,從第一個字母開始,每輸出一

溫馨提示

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

評論

0/150

提交評論