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

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

2022年安徽省馬鞍山市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.已知二叉樹(shù)后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是()

A.cedbAB.acbeDC.decaBD.deabC

2.關(guān)系R和關(guān)系S的并運(yùn)算是______。

A.由關(guān)系R和關(guān)系S的所有元組合并組成的集合,再刪去重復(fù)的元組

B.由屬于R而不屬于S的所有元組組成的集合

C.由既屬于R又屬于S的元組組成的集合

D.由R和S的元組連接組成的集合

3.下列程序的運(yùn)行結(jié)果是()。#include<stdio.h>#defineADD(x)x+xmain(){intm=1,n=2,k=3;ints=ADD(m+n)*k;printf("s=%d",s);}

A.sum=18B.sum=10C.sum=9D.sum=25

4.以下程序的主函數(shù)中調(diào)用了在其面前定義的fun函數(shù)#include<stdio.h>...main(){doublea[15],k;k=fun(a);...}則以下選項(xiàng)中錯(cuò)誤的fun函數(shù)首部是()。、A.doublefun(doublea[l5])

B.doublefun(double*a)

C.doublefun(doublea[])

D.doublefun(doublea)

5.以下針對(duì)相應(yīng)語(yǔ)句的注釋中,說(shuō)法錯(cuò)誤的是()。

A.int*pt[2];/*pt是一個(gè)指針數(shù)組名*/

B.int(*pt)[2];/*pt是一維數(shù)組名*/

C.int(*pt)();/*pt是指向函數(shù)的指針*/

D.int*pt();/*pt是一個(gè)函數(shù)名*/

6.已知廣義表L=((x,y,z),a,(u,t,w)),從L表中取出原子項(xiàng)t的運(yùn)算是()。

A.head(tail(tail(L)))

B.tail(head(head(tail(L))))

C.head(tail(head(tail(L))))

D.head(tail(head(tail(tail(L)))))

7.和順序棧相比,鏈棧有一個(gè)比較明顯的優(yōu)勢(shì)是()。

A.通常不會(huì)出現(xiàn)棧滿的情況B.通常不會(huì)出現(xiàn)??盏那闆rC.插入操作更容易實(shí)現(xiàn)D.刪除操作更容易實(shí)現(xiàn)

8.有以下程序:Voidf(inta[],ihti,intj){intt;if(i<j){t=a[i];a[i]=a[j];a[j]=t;f(a,i+1,i-1);}}main(){inti,aa[5]={1,2,3,4,5};f(aa,0,4);for(i=0;i<5;i++)printf("%d",aa[i]);printf("\n");}執(zhí)行后輸出結(jié)果是

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

9.有以下程序:#include<stdio.h>main(){char*s=“01234”;while(*(++s)!=‘\0’){switch(*s-‘0’){case0:case1:putchar(*s+1);break;case2:putchar(*s+1);break;case3:putchar(*s+1);default:putchar(*s+1);break;}}}程序運(yùn)行后的輸出結(jié)果是()。

A.22345B.2345C.12345D.23445

10.數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是______。

A.控制流B.加工C.數(shù)據(jù)存儲(chǔ)D.源和潭

11.若有以下定義和語(yǔ)句

chars1[10]="abcd!",*s2="\n123\\";

printf("%d%d\n",strlen(s1),strlen(s2));

則輸出結(jié)果是A.A.55B.105C.107D.58

12.設(shè)變量已正確定義并賦值,下列表達(dá)式中正確的是()。

A.x=y+z+5,++yB.int(15.8%5)C.x=y*5=x+zD.x=25%5.0

13.若有定義“inta=3,*p=&a,**q=&p;”,則以下敘述中錯(cuò)誤的是()。

A.q是指針變量,*q就是變量a

B.p是指針變量,p指向變量a

C.q指向變量p,所以*q指向變量a

D.*p與**q都代表變量a

14.程序設(shè)計(jì)的任務(wù)包括()。

A.編寫程序代碼并上機(jī)調(diào)試B.確定所用數(shù)據(jù)結(jié)構(gòu)C.確定所用算法D.以上選項(xiàng)均正確

15.以下編碼方法中,()屬于熵編碼。

A.哈夫曼編碼B.小波變換編碼C.線性預(yù)測(cè)編碼D.形成編碼

16.有以下程序:

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

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

17.在16位IBM-PC機(jī)上使用C語(yǔ)言,若有如下定義structdata{inti;charch;doublef;}b;則結(jié)構(gòu)變量b占用內(nèi)存的字節(jié)數(shù)是

A.1B.2C.7D.11

18.有以下程序:#include<string.h>main(intargc,char*argv[]){inti=1,n=0;while(i<argC){n=n+strlen(argv[i]);i++}printf("%d\n",n);}該程序生成的可執(zhí)行文件名為:proc.exe,若在運(yùn)行時(shí)輸入命令行:proc1234567則該程序的輸出結(jié)果是()。

A.3B.5C.7D.11

19.若文件指針fp已正確指向文件,ch為字符型變量,以下不能把字符輸出到文件中的語(yǔ)句是()。

A.fget(f0,ch);

B.foutc(ch,fo);

C.fprinff(fp,”%c”,ch);

D.fwrite(&ch,sizeof(ch),1,fp);

20.若有定義:inta,h;通過(guò)語(yǔ)句:scanf(”%d;%d”,&a,&B.;,能把整數(shù)3賦給變量a,5賦給變量b的輸入數(shù)據(jù)是()。

A.35B.3,5C.3;5D.35

二、2.填空題(20題)21.以下程序運(yùn)行后的輸出結(jié)果是()。#definePower2(x)x*xmain(){inti=6,j=8;printf("%d\n",Power2(i+j));}

22.設(shè)y為血型變量,請(qǐng)寫出描述“y是偶數(shù)”的表達(dá)式______。

23.設(shè)有以下程序,為使之正確運(yùn)行,請(qǐng)?jiān)跈M線中填入應(yīng)包含的命令行。(注:try_me()函數(shù)在a:\myfile.txt中有定義。)

______

main()

{printf("\n");

try_me();

printf("\n");}

24.數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的【】以及對(duì)數(shù)據(jù)的操作運(yùn)算。

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

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

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

intf(inta[],intn)

{if(n>1)returna[0]+f(&a[1],n-1);

elselreturna[0];

}

main()

{intaa[3]={1,2,3},s;

s=f(&aa[0],3);printf("%d\n",s);

}

27.防止軟盤感染病毒的最有效的方法是【】。

28.關(guān)系數(shù)據(jù)庫(kù)的關(guān)系演算語(yǔ)言是以【】為基礎(chǔ)的DML語(yǔ)言。

29.閱讀下面語(yǔ)句,則執(zhí)行后的輸出結(jié)果為【】。

#include"stdio.h"

main()

{chara,b;

for(a='0',b='9';a<b;a++,b--)

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

printf("\n");}

30.以下程序的運(yùn)行結(jié)果是()。#defineA4#defineB(x)A*x/2main(){floatc,a=8.0;c=B(A;printf("%f\n",C);}

31.棧中允許進(jìn)行插入和刪除的一端叫做______。

32.在程序設(shè)計(jì)階段應(yīng)該采取______和逐步求精的方法,把一個(gè)模塊的功能逐步分解,細(xì)化為一系列具體的步驟,繼而用某種程序設(shè)計(jì)語(yǔ)言寫成程序。

33.常見(jiàn)的拓?fù)浣Y(jié)構(gòu)有【】。

34.軟件危機(jī)出現(xiàn)于60年代末,為了解決軟件危機(jī),人們提出了【】的原理來(lái)設(shè)計(jì)軟件,這就是軟件工程誕生的基礎(chǔ)。

35.結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則可以概括為自頂向下、逐步求精、______和限制使用goto語(yǔ)句。

36.有以下程序

main()

{intt=1,i=5;

for(;i>=0;i--)t*=i;

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

}

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

37.以下程序的功能是從鍵盤輸入若干學(xué)生的成績(jī),并輸出最高成績(jī)和最低成績(jī),當(dāng)輸入負(fù)數(shù)時(shí)結(jié)束。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{floatx,amax,amin;

scanf("%f",&x);

amax=x;amin=x;

while(【】)

{if(x>amax)amax=x;

else

if(【】)amin=x;

scanf("%f",&x);

}

printf("\namax=%f\namin=%f\n",amax,amin);

}

38.在面向?qū)ο蟮姆椒ㄖ校琠_____描述的是具有相似屬性與操作的一組對(duì)象。

39.定義inta=5,b;,則執(zhí)行表達(dá)式b=++a*--a之后,變量b的值為【】。

40.排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,常見(jiàn)的排序方法有插入排序、______和選擇排序。

三、1.選擇題(20題)41.以下各選項(xiàng)企圖說(shuō)明一種新的類型名,其中正確的是______。

A.typedefv1int;

B.typedefv2=int;

C.typedefintv3;

D.typedefv4:int

42.以下選項(xiàng)中合法的C語(yǔ)言字符常量是

A.'\t'B.AC.67D.A

43.已有定義:chara[]="xyz",b[]=('x','y','z'};,下列敘述中正確的是()。

A.數(shù)組a和b的長(zhǎng)度相同B.a數(shù)組長(zhǎng)度小于b數(shù)組長(zhǎng)度C.a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度D.上述說(shuō)法都不對(duì)

44.以下程序的輸出結(jié)果是______。#include<sulio.h>#defmeSQR(x)x*xmain(){inta,k=3;a=++SQR(k+1);printf("%d\n",a);}

A.8B.9C.17D.20

45.有以下程序main(){intm=0256,n=256;printf("%o%o\n",m,n);}程序運(yùn)行后的輸出結(jié)果是

A.02560400B.0256256C.256400D.400400

46.以下程序段的輸出結(jié)果是______。main(){chars1[10],s2[10],s3[10];scanf("%s",s1);gets(s2);gets(s3);puts(s1);puts(s2);puts(s3);}輸入數(shù)據(jù)如下:(此處<CR>代表回車符)aaa<CR>bbb<CR>

A.aaabbbB.aaabbbC.aaa\0bbb\0D.aaabbb

47.如果一個(gè)算法顯式地調(diào)用自己則稱為()

A.直接遞歸B.自用遞歸C.間接遞歸D.外用遞歸

48.下列程序的輸出結(jié)果是()。#include<stdio.h>voidmain(){intb[6]={2,4,6,8,10,12};int*p--b,**q=&p;printf("%d",*(p++));printf("%d",**q);}

A.*p=&a;scanf("%1f",p);

B.*p=&a;scanf("%f",p);

C.p=&a;scanf("%1f",*p);

D.p=&a;scanf("%1f",p);

49.在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換為關(guān)系模式的過(guò)程屬于()。

A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段

50.若執(zhí)行下面的程序時(shí),從鍵盤輸入5和2,則輸出結(jié)果是

main()

{inta,b,k;

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

k=a;

if(a<b)k=a%b;

elsek=b%a;

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

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

51.有以下程序main(){chars[]="159",*p;p=s;printf("%c",*p++);pritnf("%c",*p++);}程序運(yùn)行后的輸出結(jié)果是

A.15B.16C.12D.59

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

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

53.以下不能定義為用戶標(biāo)識(shí)符的是()。

A.scanfB.VoidC.3comD.int

54.以下程序運(yùn)行后的輸出結(jié)果是______。main(){inta,b,c;a=10;b=20;c=(a%b<1)||(a/b>1);printf(“%d%d%d\n",a,b,c);}

A.10200B.20100C.10100D.20200

55.下列數(shù)據(jù)模型中,具有堅(jiān)實(shí)理論基礎(chǔ)的是()。

A.層次模型B.網(wǎng)狀模型C.關(guān)系模型D.以上3個(gè)都是

56.以下不正確的定義語(yǔ)句是

A.doublex[5]={2.0,4.0,6.0,8.0,10.0};

B.inty[5]={0,1,3,5,7,9};

C.charcl[]={'1','2','3','4','5'};

D.charc2[]={'\x10','\xa','\x8'};

57.設(shè)有以下說(shuō)明語(yǔ)句,則變量a______。chara='\72';

A.包含1個(gè)字符B.包含2個(gè)字符C.包含3個(gè)字符D.該說(shuō)明不合法

58.在c語(yǔ)言中,變量的隱含存儲(chǔ)類別是()。

A.autoB.staticC.externD.無(wú)存儲(chǔ)類別

59.以下不是面向?qū)ο笏枷胫械闹饕卣鞯氖?/p>

A.多態(tài)B.繼承C.封裝D.垃圾回收

60.設(shè)有變量說(shuō)明int(*p)[m],其中的標(biāo)識(shí)符p是()。

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

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

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

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

四、選擇題(20題)61.

有以下程序

#include<stdio.h>

#include<string.h>

voidfun(chars[][10],intn)

{

chart;inti,j;

for(i=0;i<n-1;j++)

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

/*比較字符串的首字符大小,并交換字符串的首字符*/

if(s[0])>s[i][c]{t=s[i][o];s[i][o]=s[j][o];s[j][0]=t;}

}

main

{charss[5][10]="bcc","bbcc","xy","aaaacc","aabcc"}

fun(ss,5);printf("%s,%s",ss[0],ss[4]);

}

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

A.xy,aaaaccB.aaaacc,xyC.xcc,aabccD.acc,xabcc

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

A.改變函數(shù)形參的值,不會(huì)改變對(duì)應(yīng)實(shí)參的值

B.函數(shù)可以返回地址值

C.可以給指針變量賦一個(gè)整數(shù)作為地址值

D.當(dāng)在程序的開(kāi)頭包含文件stdi0.h時(shí),可以給指針變量賦NULL

63.

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

A.21B.11C.6D.120

65.用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,則傳遞給形參的是()。

A.數(shù)組中所有元素的值B.數(shù)組的第一個(gè)數(shù)據(jù)C.數(shù)組的首地址D.數(shù)組元素的個(gè)數(shù)

66.有以下程序:

執(zhí)行程序時(shí),給變量x輸入l0,程序運(yùn)行后的輸出結(jié)果是()。

A.55B.54C.65D.45

67.有以下程序:

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

A.1234B.5678C.9101112D.1111

68.已知inta=1,b=-1;則語(yǔ)句printf("%d\n",(a--,++b));的輸出結(jié)果是

A.-1B.0C.1D.語(yǔ)句錯(cuò)誤

69.有以下程序:

#include<stdio.h>

main

{shortC=124;

C=C_;

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

}

若要使程序的運(yùn)行結(jié)果為248,應(yīng)在下劃線處填入的是()。

A.>>2

B.|248

C.&0248

D.<<1

70.(26)下面不屬于軟件工程的3個(gè)要素的是()

A.工具

B.過(guò)程

C.方法

D.環(huán)境

71.

程序運(yùn)行后的輸出結(jié)果是()。A.1002,ZhangDa,1202.0

B.1002,ChangRon9。1202.0

C.1001,ChangRon9,1098.0

D.1001,ZhangDa,1098.0

72.設(shè)fun函數(shù)的定義形式為

voidfun(charch,floatx){…}

則下列對(duì)函數(shù)fun的調(diào)用語(yǔ)句中,正確的是()。A.A.fun("abc",3.0);B.t=fun('D'.16.5);

C.fun('65',2.8);

D.fun(32,32);

73.若有定義語(yǔ)句:

74.若有定義:doublea=22;inti=0,k=18;,則不符合c語(yǔ)言規(guī)定的賦值語(yǔ)句是()。

A.i=(a+k)<=(i+k);B.i=a%11;C.a=a++,i++;D.i=!a;

75.

76.閱讀以下程序及對(duì)程序功能的描述,其中正確的描述是

#include<stdio.h>

main()

{

FILE*in,*out;

charch,infile[10],outfile[10];

printf("Entertheinfilename:\n");

scanf("%s",infile);

printf("Entertheoutfilename:\n");

scanf("%s",outfile);

if((in=fopen(infile,"r"))==NULL)

{

printf("cannotopeninfile\n");

exit(0);

}

if((out=fopen(outfile,"w"))==NULL)

{

printf("cannotopenoutfile\n");

exit(0);

}

while(!feof(in))fputc(fgetc(in),out);

fclose(in);

fclose(out);

}

A.程序完成將磁盤文件的信息在屏幕上顯示的功能

B.程序完成將兩個(gè)磁盤文件合二為一的功能

C.程序完成將一個(gè)磁盤文件復(fù)制到另一個(gè)磁盤文件中

D.程序完成將兩個(gè)磁盤文件合并后在屏幕上輸出

77.

78.以下關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)的敘述中正確的是()。

A.結(jié)構(gòu)化程序使用goto語(yǔ)句會(huì)很便捷

B.在c語(yǔ)言中,程序的模塊化是利用函數(shù)實(shí)現(xiàn)的

C.一個(gè)結(jié)構(gòu)化程序必須同時(shí)由順序、分支、循環(huán)三種結(jié)構(gòu)組成

D.由三種基本結(jié)構(gòu)構(gòu)成的程序只能解決小規(guī)模的問(wèn)題

79.

設(shè)變量均已正確定義,

值10和20,為變量cl和c2賦字符X和Y。以下所示的輸入形式中正確的是(注:口代表空格字符.()。

A.

B.

C.

D.

80.以下描述中正確的是()。

A.由于do-while循環(huán)中循環(huán)體語(yǔ)句只能是一條可執(zhí)行語(yǔ)句,所以循環(huán)體內(nèi)不能使用復(fù)合語(yǔ)句

B.do-while循環(huán)由do開(kāi)始,用while結(jié)束,在while(表達(dá)式.后面不能寫分號(hào)

C.在do-while循環(huán)體中,是先執(zhí)行一次循環(huán),再進(jìn)行判斷

D.do-while循環(huán)中,根據(jù)情況可以省略while

五、程序改錯(cuò)題(1題)81.下列給定程序是建立一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,并用隨機(jī)函數(shù)為各結(jié)點(diǎn)數(shù)據(jù)域賦值。函數(shù)proc()的作用是求出單向鏈表結(jié)點(diǎn)(不包括頭結(jié)點(diǎn))數(shù)據(jù)域中的最大值,并且作為函數(shù)值返回。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)proc(),它的功能是:將字符串尾部的*號(hào)全部刪除,前面和中間的*號(hào)不刪除。例如,若字符串中的內(nèi)容為****a*bc*def*g。***,刪除后,字符串中的內(nèi)容則應(yīng)當(dāng)是****a*bc*def*g。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:

參考答案

1.A

2.A

3.B解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算:S=m+n+m+n*k=1+2+1+2*3=10。

4.A由題可知fun的參數(shù)為變量,而a[15]為常量,所以答案為A。

5.B選項(xiàng)A定義了一個(gè)數(shù)組pt,它包含兩個(gè)整型指針元素,所以pt是一個(gè)指針數(shù)組名,正確;選項(xiàng)B定義了一個(gè)數(shù)組指針Pt,pt指向一個(gè)數(shù)組,該數(shù)組包含兩個(gè)整型元素,錯(cuò)誤;選項(xiàng)C定義了一個(gè)函數(shù),pt是函數(shù)指針,指向的函數(shù)沒(méi)有參數(shù),返回類型為整型,正確;選項(xiàng)D定義了一個(gè)函數(shù),函數(shù)名為pt,函數(shù)返回整型指針類型,正確。故本題答案為B選項(xiàng)。

6.D

7.A

8.A解析:在C語(yǔ)言中所謂函數(shù)的遞歸是在指在調(diào)用一個(gè)函數(shù)的過(guò)程中,又出現(xiàn)了直接或間接地調(diào)用該函數(shù)本身,直接調(diào)用該函數(shù)本身的稱為函數(shù)遞歸,而間接調(diào)用該函數(shù)稱為函數(shù)的間接遞歸調(diào)用.由程序可以看出函數(shù)f(a,i,j)為一遞歸函數(shù),其功能是i

9.D程序首先定義一個(gè)字符指針s,指向一個(gè)常量字符串“01234”;接著while循環(huán)的循環(huán)條件每次將s指向下一個(gè)字符,然后判斷s指向的字符是否為空字符“\\0”,若不是,則執(zhí)行循環(huán)體,將當(dāng)前字符與‘0’”的ASCII差值作為switch語(yǔ)句的常量表達(dá)式,執(zhí)行對(duì)應(yīng)的case語(yǔ)句。指針s指向空字符“\\0”時(shí),則終止循環(huán),程序結(jié)束。從常量字符串“01234”可知,循環(huán)過(guò)程中s指向的各個(gè)字符分別是1、2、3、4。當(dāng)*s是字符“1”時(shí),*s-‘0’的值為1,執(zhí)行case1語(yǔ)句,輸出*s+1,即字符“2”;當(dāng)*s是字符“2”時(shí),*s-‘0’的值為2,執(zhí)行case2語(yǔ)句,輸出*s+1,即字符“3”;當(dāng)*s是字符“3”時(shí),*s-‘0’的值為3,執(zhí)行case3和default語(yǔ)句,兩次輸出*s+1,即字符“4”;當(dāng)*s是字符“4”時(shí),*s-‘0’的值為4,執(zhí)行default語(yǔ)句,輸出*s+1,即字符“5”。綜上,程序輸出結(jié)果為23445。故本題答案為D選項(xiàng)。

10.A解析:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來(lái)刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過(guò)程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲(chǔ)文件(數(shù)據(jù)源)、源和潭。

11.A

12.A運(yùn)算符“%”的左右兩個(gè)操作數(shù)均應(yīng)為整數(shù),所以B選項(xiàng)與D選項(xiàng)錯(cuò)誤。C選項(xiàng)中不能將“x+z”的值賦給表達(dá)式“y*5”,所以C選項(xiàng)錯(cuò)誤。故本題答案為A選項(xiàng)。

13.A由題意可知:指針變量p指向變量a,p的值是a的地址;指針變量q指向變量p,q的值是P的地址。q是指針變量,q指向p,*q是變量P,選項(xiàng)A錯(cuò)誤;p是指針變量,p指向變量a,選項(xiàng)B正確;由于q指向P,因此*q指向a,選項(xiàng)C正確;*p和**q都代表變量a,選項(xiàng)D正確。故本題答案為A選項(xiàng)。

14.D程序設(shè)計(jì)是一門技術(shù),需要相應(yīng)的理論、技術(shù)、方法和工具來(lái)支持。程序設(shè)計(jì)的任務(wù)包括選項(xiàng)A)、B)、c)等方面。

15.A

16.D在程序中指針變量P初始指向a[3],執(zhí)行P減1后,P指向a[2],語(yǔ)句y=*P的作用是把a(bǔ)[2]的值賦給變量y,所以輸出為y=3。

17.D解析:結(jié)構(gòu)體變量所占用內(nèi)存的字節(jié)數(shù)是其所有成員所占用內(nèi)存字節(jié)數(shù)之和。本題中整型變量i所占用的內(nèi)存是2字節(jié),字符型變量ch所占用的內(nèi)存是1字節(jié),雙精度型變量f所占用的內(nèi)存是8字節(jié),三者相加即可。

18.C

19.A函數(shù)fgete()從文件讀入一個(gè)字符到指定變量。函數(shù)fputc()將指定字符寫入審文件中,函數(shù)fprinff(),fwrite()均是寫入文件操作函數(shù)。因此選項(xiàng)B,c。D錯(cuò)誤。答案為A選項(xiàng)。

20.C輸入數(shù)據(jù)的格式必須與seanf()的格式控制串完全匹配,所以輸入時(shí)必須在3和5之間輸入“;”。

21.6262解析:本題考查的是宏定義。帶參數(shù)的宏定義是按#indefine命令行中指定的字符串從左到右進(jìn)行轉(zhuǎn)換。本題中替換的式子為:6+8*6+8,代入i,j的值得到62。

22.(y%2)==0(y%2)==0解析:因符合偶數(shù)的條件是對(duì)2取余為0,所以要描述y是偶數(shù)的表達(dá)式是(y%2)==0。

23.#include<a:\myfile.txt>#include<a:\\myfile.txt>解析:本題考查了函數(shù)的存儲(chǔ)分類的概念。如果沒(méi)有特別說(shuō)明,函數(shù)的存儲(chǔ)范圍是從定義函數(shù)的位置到文件的結(jié)尾,如果其他文件想使用這個(gè)函數(shù),需要用ginclude文件包含命令將定義函數(shù)的文件包含進(jìn)來(lái)。

24.存儲(chǔ)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)包括3個(gè)方面,即數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)及對(duì)數(shù)據(jù)的操作運(yùn)算。

25.*(p+5)或p[5]*(p+5)或p[5]解析:本題的考查點(diǎn)是通過(guò)指針引用數(shù)組元素。98是數(shù)組w的第5個(gè)元素(最開(kāi)始的為第0個(gè)),而通過(guò)*p=w已經(jīng)將p指向了數(shù)組w,要想不移動(dòng)指針p而引用98,可以有以下兩種方法:p[5]、*(p+5)。

26.66解析:經(jīng)過(guò)分析將遞歸函數(shù)寫成其數(shù)學(xué)表達(dá)式如下:

f(&a,n)=a[0]+f(&a[1],n-1)n>1

f(&a,n)=a[0]n=1

本題中定義了一個(gè)長(zhǎng)度為3的數(shù)組aa并初始化。接著調(diào)用遞歸函數(shù)f,由上面的數(shù)學(xué)表達(dá)式以計(jì)算其返回值s=1+2+3=6。

27.進(jìn)行寫保護(hù)進(jìn)行寫保護(hù)

28.謂詞演算謂詞演算

29.918273645918273645解析:for是C語(yǔ)言的關(guān)鍵字,其后的一對(duì)圓括號(hào)中通常含有3個(gè)表達(dá)式,各個(gè)表達(dá)式之間用分號(hào)隔開(kāi),這3個(gè)表達(dá)式可以是任意形式的表達(dá)式,通常主要用于for循環(huán)控制。

30.16.0

31.棧頂棧頂解析:棧是限定在表的一端進(jìn)行插入和刪除操作的線性表。在表中,允許插入和刪除的一端叫做“棧頂”,不允許插入和刪除的一端叫做“棧底”。

32.自頂向下自頂向下解析:在程序設(shè)計(jì)時(shí),應(yīng)先考慮總體,后考慮細(xì)節(jié),逐步使問(wèn)題具體化,對(duì)復(fù)雜的問(wèn)題,應(yīng)該設(shè)計(jì)一些子目標(biāo)作為過(guò)渡,上述方法概括為:自頂向下,逐步細(xì)化。

33.星型、總線型和環(huán)型星型、總線型和環(huán)型

34.軟件工程學(xué)軟件工程學(xué)

35.模塊化模塊化

36.00解析:本題中的for循環(huán)共執(zhí)行了6次,每執(zhí)行一次將相應(yīng)i的值相乘,最后當(dāng)i=-1時(shí)停止循環(huán).該for循環(huán)執(zhí)行完后t的值為5*4*3*2*1*0=0,故最后輸出I的值為0。

37.x>=0x<aminx>=0x<amin解析:本題先從鍵盤接受數(shù)值,并分別賦給amax(用于保存最高成績(jī))和amin(用于保存最低成績(jī)),然后通過(guò)while循環(huán)控制是否結(jié)束輸入,并且通過(guò)if語(yǔ)句來(lái)給amax和amin賦值。

38.類類解析:在面向?qū)ο蟮姆椒ㄖ?,把具有相同屬性和方法的?duì)象稱為類,類是對(duì)象的抽象,對(duì)象是類的實(shí)例。

39.2525解析:#NAME?

40.交換排序交換排序解析:所謂排序是指將一個(gè)無(wú)序序列整理成按值非遞減順序排列成的有序序列,常用的排序方法有:交換排序、插入排序和選擇排序。其中交換排序包括冒泡排序和快速排序,插入排序包括簡(jiǎn)單插入排序和希爾排序,選擇排序包括直接選擇排序和堆排序。

41.C解析:C語(yǔ)言中可以使用typedef來(lái)重新定義已有的數(shù)據(jù)類型,相當(dāng)于為數(shù)據(jù)類型取個(gè)別名。

42.A解析:在C語(yǔ)言中,一個(gè)字符常量代表ASCII字符集中的一個(gè)小字符,在程序中用單引號(hào)把一個(gè)字符括起來(lái)作為字符常量,選項(xiàng)A)是一個(gè)轉(zhuǎn)義字符常量,表示橫向跳若干空格(代表“TAB”鍵);選項(xiàng)B)表示一個(gè)字符串;選項(xiàng)C)表示一個(gè)整型常量;選項(xiàng)D)表示一個(gè)標(biāo)識(shí)符(代表一個(gè)變量),故本題答案為A)。

43.A解析:字符數(shù)組a[]中用字符串常量“xyz”進(jìn)行初始化,字符數(shù)組a[]的長(zhǎng)度為字符的個(gè)數(shù),所以其值為3,并不包括字符串結(jié)束標(biāo)記'\\0';字符串?dāng)?shù)組b[]用3個(gè)字符'x'、'y'、'z'來(lái)初始化,所以其字符串的長(zhǎng)度等于3。

44.B解析:本題宏替換中遇到形參x以實(shí)參k+l代替,其他字符不變。SQR(k+1)展開(kāi)后應(yīng)為字符串k+l*k+l。

45.C解析:程序中定義了兩個(gè)整型變量,一個(gè)用八進(jìn)制表示,一個(gè)用十進(jìn)制表示,輸出語(yǔ)向中要求m,n都為八進(jìn)制輸出,顯然m原樣輸出為256,n的值轉(zhuǎn)換為八進(jìn)制輸出(256的八進(jìn)制為400),故輸出400.所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

46.B解析:scanf是標(biāo)準(zhǔn)輸入函數(shù),在輸入字符串a(chǎn)aa時(shí),實(shí)際的內(nèi)容為“aaa\\0”,“\\0”是由系統(tǒng)自動(dòng)加入的:gets的功能是從終端讀入一行字符,即一直讀到換行符為止,并由系統(tǒng)自動(dòng)以“/0”代替換行符。

47.A

48.D解析:double*p,a;語(yǔ)句表示定義了一個(gè)指向雙精度型的指針變量p和雙精度型變量a,而語(yǔ)句p=&a表示將變量a的地址賦給指針變量p;scanf('%1f',p)表示用鍵盤輸入的數(shù)賦給指針變量p所指向的地址單元中。scanf()函數(shù)要求在輸入double型數(shù)據(jù),格式控制符必須用%1f(或%1e)。否則,數(shù)據(jù)不能正確輸入。所以選項(xiàng)D)為正確答案。

49.BB?!窘馕觥繑?shù)據(jù)庫(kù)設(shè)計(jì)階段主要包括需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。其中邏輯設(shè)計(jì)的主要工作是將E-R圖轉(zhuǎn)換為關(guān)系模式。

50.C解析:本題考查簡(jiǎn)單的if…else語(yǔ)句。先執(zhí)行條件if(a<b),顯然不成立,在執(zhí)行else語(yǔ)句。

51.A解析:本題首先定義了一個(gè)字符數(shù)組并用字符串'159'初始化之,然后用一個(gè)字符型指針p指向該數(shù)組的第一個(gè)元素,最后兩次輸出表達(dá)式*p++的值,所以本題的關(guān)鍵在于求解表達(dá)式*p++的值。*和++的優(yōu)先級(jí)相同,但結(jié)合性是“從右至左”,即*P++相當(dāng)于*(P++),由于子表達(dá)式p++的值是p自增之前的值,所以第一次輸出的是數(shù)組的第一個(gè)元素的值\'1\',到第二條輸出語(yǔ)句時(shí)p已自增1次,所以第;次輸出的是第二個(gè)元素\'5\'。故應(yīng)該選擇選項(xiàng)A。

52.C解析:EOF是文本文件的文件結(jié)束標(biāo)志,NULL是打開(kāi)文件錯(cuò)誤的時(shí)候返回值。foef(fp)用來(lái)判斷文件位置指針是否在文件末尾,文本文件和二進(jìn)制文件均可以使用此函數(shù)。如果遇到文件結(jié)束就返回1,否則返回0。

53.D解析:標(biāo)識(shí)符是C語(yǔ)言中用來(lái)表示變量名、數(shù)組名、函數(shù)名、指針名、結(jié)構(gòu)名、聯(lián)合名、枚舉常數(shù)名、用戶定義的數(shù)據(jù)類型名、語(yǔ)句標(biāo)號(hào)等用途的字符序列。標(biāo)識(shí)符由1~32個(gè)字符組成,第一個(gè)字符必須是字母或下劃線,后面的字符可以是字母、數(shù)字或下劃線。標(biāo)識(shí)符不能與C關(guān)鍵字相同,并區(qū)分大小寫。選項(xiàng)D)錯(cuò)誤,因?yàn)閕nt是C語(yǔ)言中的關(guān)鍵字。

54.A解析:a%b=1<1不成立,根據(jù)“||”的性質(zhì),不需要看后面的表達(dá)式,就可以得出c=0。

55.C在數(shù)據(jù)庫(kù)設(shè)計(jì)中,目前常用的數(shù)據(jù)模型主要有三種,分別是層次模型、網(wǎng)狀模型和關(guān)系模型。

層次模型是數(shù)據(jù)庫(kù)系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型。我們通常把滿足以下兩個(gè)條件的數(shù)據(jù)模型稱為層次模型。

(1)有且僅有一個(gè)結(jié)點(diǎn)無(wú)雙親,這個(gè)結(jié)點(diǎn)稱為根結(jié)點(diǎn)。

(2)其他結(jié)點(diǎn)有且僅有一個(gè)雙親。

層次模型用樹(shù)形結(jié)構(gòu)來(lái)表示各實(shí)體與實(shí)體間的聯(lián)系。實(shí)體是數(shù)據(jù)庫(kù)中數(shù)據(jù)描述的對(duì)象,可以是一個(gè)人、一種商品等。在層次模型中,每個(gè)結(jié)點(diǎn)表示一個(gè)記錄類型,記錄之間的聯(lián)系用結(jié)點(diǎn)之間的連線表示,這種聯(lián)系是父子之間一對(duì)多的聯(lián)系。記錄就是描述實(shí)體的相關(guān)數(shù)據(jù)。

如果取消層次模型中的兩個(gè)限制,即允許一個(gè)以上的結(jié)點(diǎn)無(wú)雙親,則每一個(gè)結(jié)點(diǎn)可以有多個(gè)父結(jié)點(diǎn),便形成了網(wǎng)狀。我們把網(wǎng)狀表示實(shí)體之間聯(lián)系的模型稱為網(wǎng)狀模型。

關(guān)系模型用表格形式表示實(shí)體類型及其實(shí)體間的聯(lián)系。關(guān)系模型是目前最重要的一種模型,它是建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上的,具有最堅(jiān)實(shí)的理論基礎(chǔ)。關(guān)系模型的基本數(shù)據(jù)結(jié)構(gòu)是二維表,每一張二維表稱為一個(gè)關(guān)系。

56.B解析:在一維數(shù)組中要注意的是作為下標(biāo)表達(dá)式的常量表達(dá)式的值必須是大于等于0,選項(xiàng)B)中定義有5個(gè)元素,但賦初值時(shí)有6個(gè)元素,所以是錯(cuò)誤的。

57.A

58.A解析:auto變量:無(wú)static聲明的局部變量。用auto作存儲(chǔ)類別的聲明時(shí),可以不寫auto,存儲(chǔ)類別隱含確定為auto(自動(dòng)存儲(chǔ)類別),是動(dòng)態(tài)存儲(chǔ)方式。大多數(shù)變量是自動(dòng)變量。用static聲明的局部變量是靜態(tài)局部變量。函數(shù)調(diào)用結(jié)束后靜態(tài)局部變量占據(jù)的內(nèi)存存儲(chǔ)單元空間不釋放,局部變量保留原值,下次調(diào)用時(shí)可以繼續(xù)使用該值。用extern聲明外部變量,外部變量即全局變量,可以用extern聲明來(lái)改變?nèi)肿兞康淖饔糜?實(shí)際上,關(guān)鍵字'auto'可以省略,auto不寫則隱含確定為'自動(dòng)存儲(chǔ)類別',屬于動(dòng)態(tài)存儲(chǔ)方式。

59.D解析:面向?qū)ο笏枷胫械娜齻€(gè)主要特征是:封裝性、繼承性和多態(tài)性。

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

61.D

\n函數(shù)fun(chars[][10],intn)比較二維字符數(shù)組s[][10]的每個(gè)字符串的首字符大小,如果前一個(gè)字符串首字符大于后一個(gè)字符串的首字符,則交換這兩個(gè)字符串的首字符。

\n

62.C指針變量的值只能是存儲(chǔ)單元地址,而不能是一個(gè)整數(shù),故選項(xiàng)C錯(cuò)誤。

63.C

64.A循環(huán)調(diào)用fun函數(shù),依次返回值為23456,s原值為l,累加以上返回值,最終結(jié)果為21,所以答案選擇A)。

65.C數(shù)組名是一個(gè)指針常量,它的值就是數(shù)組的地址,也就是數(shù)組首元素地址。

66.A該程序考察

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論