2022-2023年安徽省安慶市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第1頁(yè)
2022-2023年安徽省安慶市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第2頁(yè)
2022-2023年安徽省安慶市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第3頁(yè)
2022-2023年安徽省安慶市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第4頁(yè)
2022-2023年安徽省安慶市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2022-2023年安徽省安慶市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.若有定義“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;

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

A.列表框和組合框都有List屬性

B.列表框有Selected屬性,而組合框沒(méi)有

C.列表框和組合框都有Style屬性

D.組合框有Text屬性,而列表框沒(méi)有

3.下列說(shuō)法錯(cuò)誤的是______。

A.關(guān)系中每一個(gè)屬性對(duì)應(yīng)一個(gè)值域

B.關(guān)系中不同的屬性可對(duì)應(yīng)同一值域

C.對(duì)應(yīng)同一值域的屬性為不同的屬性

D.DOM(A)表示屬性A的取值范圍

4.設(shè)a、b和c都是int型變量,且a=3、b=4、c=5,則下面的表達(dá)式中,值為0的表達(dá)式是______。

A.'a'&&'b'

B.a<=b

C.a||+c&&b-c

D.!((a<b)&&!c||1)

5.若有說(shuō)明:inta[][3]={1,2,3,4,5,6,7};則a數(shù)組第一維的大小是

A.2B.3C.4D.無(wú)確定值

6.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。A.1,0B.1,1C.1,4D.4,4

7.

8.

9.設(shè)有定義:int?x=2,以下表達(dá)式中,值不為6的是()。

A.2*<.x+=2B.x++.2*xC.x=x*(1+x)D.x*=x+1

10.一個(gè)棧的入棧序列是a,b,c,d,e,f,則棧的不可能的輸出序列為()

A.fedcbB.defbcC.defcbD.abcdef

11.有以下程序:main(){char*p[10]={"abc","aabdfg","dcdbe","abbcf',"cd"};printf("%d\n",strlen(p[4]));}執(zhí)行后的輸出結(jié)果是______。

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

12.設(shè)有一個(gè)棧,元素依次進(jìn)棧的順序?yàn)锳、B、C、D、E。下列()是不可能的出棧序列。

A.A,B,C,D,EB.B,C,D,E,AC.E,A,B,C,DD.E,D,C,B,A

13.在inta=3,int*p=&a;中,*p的值是()

A.變量a的地址值B.無(wú)意義C.變量p的地址值D.3

14.設(shè)有程序段:intk=12:while(k=1)k=k-1:則下列描述中正確的是()。

A.while循環(huán)執(zhí)行10次B.循環(huán)是無(wú)限循環(huán)C.循環(huán)體語(yǔ)句一次也不執(zhí)行D.循環(huán)體語(yǔ)句執(zhí)行一次

15.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){structst{inty,x,z;};union{longi;intj;chark;}un;printf("%d,%d\n",sizeof(structst),sizeof(un));}

A.6,2B.6,4C.8,4D.8,6

16.對(duì)于靜態(tài)表的順序查找法,若在表頭設(shè)置監(jiān)視哨,則正確的查找方式為()A.從第0個(gè)元素往后查找該數(shù)據(jù)元素

B.從第1個(gè)元素往后查找該數(shù)據(jù)元素

C.從第n個(gè)元素往開(kāi)始前查找該數(shù)據(jù)元素

D.與查找順序無(wú)關(guān)

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

A.BCB.ACC.DFD.CF

18.線(xiàn)處應(yīng)填入().A.b[i++]B.b[i]++C.b[i+=2]D.b[i]+=2

19.在學(xué)生管理的關(guān)系數(shù)據(jù)庫(kù)中,存取一個(gè)學(xué)生信息的數(shù)據(jù)單位是()。

A.文件B.數(shù)據(jù)庫(kù)C.字段D.記錄

20.輸出語(yǔ)句“printf(“%d\n”,11+011);”的輸出結(jié)果是()。

A.20B.22C.022D.021

二、2.填空題(20題)21.若有定義:inta[4][4]={{l,2,3,4},{0},{4,6,8,10},{1,3,5,7}},則初始化后,a[2][2]得到的初值是______。

22.下面程序把從終端讀入的文本(用@作為文本結(jié)束標(biāo)志)輸出到一個(gè)名為bi.dat的新文件中,請(qǐng)?zhí)羁铡?/p>

#include"stdio.h"

FILE*fp;

main()

{charch;

if((fp=fopen(【】))==NULL)exit(0);

while((ch=getchar())!='@')fputc(ch,fp);

fclose(fp);

}

23.如果輸入'1'、'2'、'3'、'4',則以下程序的運(yùn)行結(jié)果為【】。

#include<stdio.h>

main()

{charc;

inti,k;

k=0;

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

{while(1)

{c=getchar();

if(c>='0'&&c<='9')break;

}

k=k*10+c-'0';

}

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

}

24.與結(jié)構(gòu)化需求分析方法相對(duì)應(yīng)的是【】方法。

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

#include<stdio.h>

main()

{inti;

for(i='a';i<'f';i++,i++)printf("%c",i-'a'+'A');

printf("\n");

}

26.一棵二叉樹(shù)第6層(根結(jié)點(diǎn)為第一層)的結(jié)點(diǎn)最多為_(kāi)_____個(gè)。

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

main()

{ints=0,i=1;

while(s<=10)

{s=s+i*i;

i++;

}

printf("%d",--i);

}

28.以下函數(shù)把b字符串連接到a字符串的后面,并返回a中新字符串的長(zhǎng)度。請(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);

}

29.下面程序的功能是:計(jì)算1~20之間的奇數(shù)之和與偶數(shù)之和,請(qǐng)?zhí)羁帐钩绦蚬δ芡暾?/p>

#include<stdio.h>

main()

{inta=0,b=0,c=0,i;

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

{a+=i;

();

c+=b;

}

printf("偶數(shù)之和=%d\n",A);

printf("奇數(shù)之和=%d\n",c-21);

}

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

main()

{floatx[1000],sum=0,ave,a;

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(【】)printf("%t\n",x[i]);

}

31.下列程序執(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);

}

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

#include<stdio.h>

main()

{inta=10,b=3;

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

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

printf("%dLn",a-b?a-b:a+B);

}

33.軟件維護(hù)活動(dòng)包括以下幾類(lèi):改正性維護(hù)、適應(yīng)性維護(hù)、【】維護(hù)和預(yù)防性維護(hù)。

34.以下程序運(yùn)行時(shí)若從鍵盤(pán)輸入:102030<回車(chē)>。輸出結(jié)果是【】。

#include<stdio.h>

main()

{

inti=0,j=0,k=0;

scanf("%d%*d%d",&i,&j,&k);

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

}

35.對(duì)數(shù)據(jù)元素之間的邏輯關(guān)系的描述是()。

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

main()

{char*p[]={"BOOL","OPK","H","SP"};

inti;

for(i=3;i>0;i--,i--)printf("%c",*p[i]);

printf("\n");}

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

#include<stdio.h>

main()

{inta,b,c;

a=3;b=4;c=5;

if(a>b)

if(a>c)

printf("%d",a);

elseprintf("%d",b);

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

}

38.下面程序的功能是輸出數(shù)組s中最大元素的下標(biāo),請(qǐng)?zhí)羁铡?/p>

main()

{intk,p,s[]={1,-9,7,2,-10,3};

for(p=0,k=p;p<6;p++)

if(s[p]>s[k])【】

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

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

voidfun(int*n)

{while((*n))

printf("%d",(*n)--);

}

main()

{inta=10;

fun(&a);

}

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

main()

{chars[]="ABCD",*p;

for(p=s+1;p<s+4;p++)printf("%s\n",p);}

三、1.選擇題(20題)41.有以下程序:voidswap(char*x,char*y){chart;t=*x,*x=*y;*y=t;}main(){char*s1="abc",*s2="123";swap(s1,s2);printf("%s,%s\n",s1,s2);}程序執(zhí)行后的輸出結(jié)果是()。

A.123,abcB.abc,123C.1bc,a23D.321,cba

42.若有程序片段:inta[12]={0},*p[3],**pp,ifor(i=0;i<3;i++)p[i]=&a[i*4];pp=p;則對(duì)數(shù)組元素的錯(cuò)誤引用是()

A.pp[0][1]B.a[10]C.p[3][1]D.*(*(p+2)+2)

43.某二叉樹(shù)共有60個(gè)葉子結(jié)點(diǎn)與50個(gè)度為1的結(jié)點(diǎn),則該二叉樹(shù)中的總結(jié)點(diǎn)數(shù)為()。

A.148B.169C.182D.198

44.一個(gè)源文件中的外部變量的作用域?yàn)?)。

A.本文件的全部范圍B.本程序的全部范圍C.本函數(shù)的全部范圍D.從定義該變量的位置開(kāi)始到本文件結(jié)束

45.設(shè)樹(shù)T的度為4,其中度為1,2,3,4的結(jié)點(diǎn)個(gè)數(shù)分別為4,2,1,1,則T中的葉子結(jié)點(diǎn)數(shù)為()。

A.5B.6C.7D.8

46.若w、x、y、z、m均為int型變量,則執(zhí)行下列的語(yǔ)句后m的值是()。w=2,x=3,y=4,z=5;m=(w<x)?w:x;m=(m<z)?m:z;m=(m<y)?m:y;

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

47.下列程序段的輸出結(jié)果是______。voidfun(int*x,int*y){pnntf("%d%d",*x,*y);*x=3;*y=4;}main(){intx=1,y=2;fun(&y,&x);printf("%d%d",x,y);}

A.2143B.1212C.1234D.2112

48.設(shè)有定義:intn1=0,n2,*P=&n2,*q=&n1;,以下賦值語(yǔ)句中與n2=n1;語(yǔ)句等價(jià)的是()。

A.*p=*q;B.p=q;C.*p=&n1;D.p=*q;

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

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

50.有以下程序:#include<string.h>main(){charp[20]={'a','b','c','d'},q[]="abc",r[]="abcde";strcpy(p+strlen(q),r);strcat(p,q);printf("%d%d\n",sizeof(p),strlen(p));}程序運(yùn)行后的輸出結(jié)果是()。

A.209B.99C.2011D.1111

51.下列數(shù)據(jù)中,不能存放在動(dòng)態(tài)存儲(chǔ)區(qū)中的是______。

A.函數(shù)形參變量B.局部自動(dòng)變量C.函數(shù)調(diào)用時(shí)的現(xiàn)場(chǎng)保護(hù)和返回地址D.局部靜態(tài)變量

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

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

53.軟磁盤(pán)最外邊的磁道數(shù)是()

A.0B.1C.39D.79

54.有以下程序

#include<stdio.h>

#include<string.h>

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

voidf(STUa)

{STUb={"Zhao",'m',85.0,90.0};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

55.若有以下說(shuō)明和定義typedefint*INTEGER;INTEGERp,*q;以下敘述正確的是A.p是int型變量

B.p是基類(lèi)型為int的指針變量

C.q是基類(lèi)型為int的指針變量

D.程序中可用INTEGER代替int類(lèi)型名

56.有以下程序main()inta[10]={1,2,3,4,5,6,7,8,9,10},*p=.&a[3],*q=p+2;printf("%d\n",*p+*q);程序運(yùn)行后輸出結(jié)查是

A.16B.10C.8D.6

57.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){inta=3,b=2,c=1;if(a<b)if(b<O)c=0;elsec++;printf("%d\n",c);}

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

58.下列程序的執(zhí)行結(jié)果是______。#include<stdio.h>union{inti;charc[2];};voidmain(){unionunx;x.c[0]=10;x.c[1]=1;printf("\n%d",x.i);}

A.266B.11C.265D.138

59.在計(jì)算機(jī)中,算法是指()

A.加工方法B.解題方案的準(zhǔn)確而完整的描述C.排序方法D.查詢(xún)方法

60.閱讀下列程序,當(dāng)運(yùn)行函數(shù)時(shí),輸入asdafaaz67,則輸出為

#include<stdio.h>

#include<ctype.h>

#include<string.h>

intfun(char*str)

{inti,j=0;

for(i=0;str[i]!=′\0′;i++)

if(str[i]!=′′)str[j++]=str[i];

str[j]=′\0′;

}

main()

{

charstr[81];

intn;

printf("Inputastring:");

gets(str);

puts(str);

fun(str);

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

}

A.asdafaaz67B.asdafaaz67C.asdD.z67

四、選擇題(20題)61.以下敘述中錯(cuò)誤的是()。

A.使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡(jiǎn)單問(wèn)題

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

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

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

62.

63.下面敘述正確的是_______。

A.算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無(wú)關(guān)

B.算法的空間復(fù)雜度是指算法程序中指令(或語(yǔ)句)的條數(shù)

C.算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止

D.算法的時(shí)間復(fù)雜度是指執(zhí)行算法程序所需要的時(shí)間

64.

65.

66.

67.有以下程序:

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

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

68.

69.數(shù)據(jù)庫(kù)設(shè)計(jì)中反映用戶(hù)對(duì)數(shù)據(jù)要求的模式是()。

A.內(nèi)模式B.概念模式C.外模式D.設(shè)計(jì)模式

70.鏈表不具有的特點(diǎn)是A.A.不必事先估計(jì)存儲(chǔ)空間

B.可隨機(jī)訪(fǎng)問(wèn)任一元素

C.插入和刪除不需要移動(dòng)元素

D.所需空間與線(xiàn)性表長(zhǎng)度成正比

71.

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

#inelude<stdio.h>

voiddel(char*s)

{inti,j;

char*a;

a=s:

for(i=0,j=0;a[i]!=\0;i++)

{if(a[i]>=0&&a[i]<=9)

{s[j]=a[i];

j++;

}

s[j]=\0;

}

}

main

{char*s="aa89gggh";

del(s):

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

}

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

72.設(shè)有以下語(yǔ)句:

TypedefstructTT

{charc;inta[4];}CIN;

則下面敘述中錯(cuò)誤的是()。

A.不可以用TT定義結(jié)構(gòu)體變量

B.TT是結(jié)構(gòu)體標(biāo)識(shí)名

C.可以用CIN定義結(jié)構(gòu)體變量

D.CIN是structTT類(lèi)型的變量

73.下面不屬于需求分析階段任務(wù)的是()。

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

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

A.循環(huán)隊(duì)列是隊(duì)列的一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)

B.循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu)

C.循環(huán)隊(duì)列是非線(xiàn)性結(jié)構(gòu)

D.循環(huán)隊(duì)列是一種邏輯結(jié)構(gòu)

75.

76.有兩個(gè)關(guān)系R,S如下:

由關(guān)系R通過(guò)運(yùn)算得到關(guān)系s,則所使用的運(yùn)算為()。

A.選擇B.插入C.投影D.連接

77.

78.

79.

設(shè)有定義:“inta;floatb;”,執(zhí)行“scanf("%2d%f",&a,&b);”語(yǔ)句時(shí),若從鍵盤(pán)輸入876543.0<回車(chē)>,a和b的值分別是()。

A.876和543.000000

B.87和6.000000

C.87和543.000000

D.76和543.000000

80.有以下程序:

程序運(yùn)行時(shí),輸入的值在哪個(gè)范圍才會(huì)有輸出結(jié)果()。

A.小于3的整數(shù)B.不等于10的整數(shù)C.大于3或等于10的整數(shù)D.大于3且不等10的整數(shù)

五、程序改錯(cuò)題(1題)81.在主函數(shù)中從鍵盤(pán)輸入若干個(gè)數(shù)放人數(shù)組中,用0結(jié)束輸入并放在最后一個(gè)元素中。下列給定程序中,函數(shù)proc()的功能是計(jì)算數(shù)組元素中值為負(fù)數(shù)的平均值(不包括0)。例如,數(shù)組中元素的值為78、-65、-15、35、-45、0,則程序的運(yùn)行結(jié)果為-41.666667。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫(xiě)函數(shù)fun(),該函數(shù)的功能是判斷字符串是否為回文,若是,則函數(shù)返回1,在主函數(shù)中輸出“YES”,否則返回0,在主函數(shù)中輸出“NO”?;匚淖址侵疙樧x和倒讀都一樣的字符串。例如,字符串LEVEL是回文,而字符串123312就不是回文。注意:部分源程序在文件prog1.c中。第3部分無(wú)紙化考武題庠請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:1#include2#defineN803intfun(char*str)4{56}7main()8{9chars[n];10FILE*out;11char*test[]={"1234321","123421","123321","abcdCBA"};12inti;13printf("Enterastring:");14gets(s);15printf("\n\n");16puts(s);17if(fun(s))18printf("YES\n");19else20printf("NO\n");21/******************/22out=fopen("out.dat","w");23for(i=0;i<4/i++)24if(fun(test[i]))25fprintf(out,"YES\n");26else27fprintf(out,"NO\n");28fclose(out);29/******************/30}

參考答案

1.B運(yùn)算符“%”為二元運(yùn)算符,具有左結(jié)合性,參與運(yùn)算的量均為整型。B選項(xiàng)中的變量a是double型,不符合規(guī)定。故本題答案為B選項(xiàng)。

2.BB?!窘馕觥拷M合框和列表框都沒(méi)有selected屬性。

3.C解析:關(guān)系中每一個(gè)屬性都有一個(gè)取值范圍,稱(chēng)為屬性的值域。每—個(gè)屬性對(duì)應(yīng)一個(gè)值域,不同屬性可對(duì)應(yīng)同一個(gè)值域。對(duì)應(yīng)同一值域的卻不一定是不同的屬性。屬性的值域用DOM(A)表示,A表示屬性的名稱(chēng)。

4.D解析:選項(xiàng)A:'a'&&'b'是字符a與b的相與,不為0:選項(xiàng)B:a<=b,由題中變量賦值可知,結(jié)果為1。選項(xiàng)C:a||+c&&b-c,結(jié)果為1;選項(xiàng)D:!((a<B)&&!c||1),運(yùn)算結(jié)果為0。

5.B解析:本題考查二維數(shù)組的定義方式。第一維的大小由以下方法判斷:①當(dāng)初值的個(gè)數(shù)能被第二維的常量表達(dá)式的值除盡時(shí),所得商數(shù)就是第一維的大??;2)當(dāng)初值的個(gè)數(shù)不能被第二維的常量表達(dá)式的值除盡時(shí),則第一維的劃、:所得的商數(shù)+1。

6.A&&是邏輯與運(yùn)算符,x、y的取值為4、2,兩個(gè)都是非零值,所以x&&y的結(jié)果為真,值為1;&是位運(yùn)算符,x的二進(jìn)制為0100,y的二進(jìn)制為0010,0100&0010的結(jié)果為0。本題答案為A選項(xiàng)。

7.D

8.B

9.A?A)選項(xiàng)中逗號(hào)表達(dá)式先計(jì)算第一表達(dá)式2*x,然后計(jì)算表達(dá)式x+=2的值,即x=x+2即4,整個(gè)逗號(hào)表達(dá)式為第二個(gè)表達(dá)式的值4,所以選A)。B)選項(xiàng)中首先計(jì)算逗號(hào)表達(dá)式中第一一個(gè)表達(dá)式x++,此時(shí)x為3,再執(zhí)行第二個(gè)表達(dá)式2*x=2*3=6,所以逗號(hào)表達(dá)式為第二個(gè)表達(dá)式的值6。C)選項(xiàng)的賦值表達(dá)式可以表示為x=x*(1+x)=2*(1+2)=6。D)選項(xiàng)中的表達(dá)式可以表示為x=x*(x+1)=2*3=6。

10.B

11.A解析:本題中p[4]='cd',所以strlen(p[4])=2。

12.C

13.D

14.C本題考查while,while循環(huán)表達(dá)式k-1是個(gè)賦值表達(dá)式而不是邏輯表達(dá)式,k的初值為l2不符合循環(huán)條件,所以循環(huán)體語(yǔ)句一次也不執(zhí)行。

15.B解析:本題主要考查結(jié)構(gòu)體和聯(lián)合內(nèi)存使用的區(qū)別:結(jié)構(gòu)中不同的成員分別使用不同的內(nèi)存空間,一個(gè)結(jié)構(gòu)所占內(nèi)存空間的大小是結(jié)構(gòu)中每個(gè)成員所占內(nèi)存空間大小的總和,結(jié)構(gòu)中每個(gè)成員相互獨(dú)立;聯(lián)合所占用的內(nèi)存空間為最長(zhǎng)的成員所占用的空間。

16.C

17.D

18.D

19.D解析:在關(guān)系數(shù)據(jù)表中,行稱(chēng)為元組,對(duì)應(yīng)存儲(chǔ)文件中的記錄,列稱(chēng)為屬性,對(duì)應(yīng)存儲(chǔ)文件中的字段,所以本題答案為D。

20.A“printf(“%d\\n”,11+011);”中,“11”為十進(jìn)制數(shù),“011”為八進(jìn)制數(shù),%d表示以十進(jìn)制格式輸出。因此,先將八進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù),即(011)8=81×1+1×80=(9)10,相當(dāng)于“printf(“%d\\n”,11+9)”,輸出結(jié)果為20。故本題答案為A選項(xiàng)。

21.88解析:二維數(shù)組可以看成是按矩陣形式排列的,題目中給二維數(shù)組賦初值是按行分段賦值的,a[4][4]可以分解為4個(gè)一維數(shù)組,其數(shù)組名分別為a[0]、a[1]、a[2]、a[3],這4個(gè)一維數(shù)組都有,4個(gè)元素,a[0]的元素為a[0][0]、a[0][1]、a[O][2]、a[0][3]。

22.dat""w"或"bi.dat""w+"或"bi.dat""r+"dat','w'或'bi.dat','w+'或'bi.dat','r+'解析:本題的考點(diǎn)是fopen()函數(shù),此函數(shù)的格式是fopen(文件名,使用文件方式),題目的要求是將從鍵盤(pán)讀入的文本寫(xiě)到文件中,因此選擇的打開(kāi)方式應(yīng)該是'w'(只寫(xiě))?;蛘呤亲x寫(xiě)“r+”或“w+”。

23.k=1234

24.結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)解析:與結(jié)構(gòu)化需求分析方法相對(duì)應(yīng)的是結(jié)構(gòu)化設(shè)計(jì)方法。結(jié)構(gòu)化設(shè)計(jì)就是采用最佳的可能方法設(shè)計(jì)系統(tǒng)的各個(gè)組成部分以及各個(gè)成分之間的內(nèi)部聯(lián)系的技術(shù)。

25.ACEACE解析:在本題中,for循環(huán)體每執(zhí)行完一次,變量i的值自加兩次。i的初值為“a”,執(zhí)行一次循環(huán)后變?yōu)椤癱”,之后再變成“e”,當(dāng)其變?yōu)椤癵”時(shí),循環(huán)條件若不滿(mǎn)足,循環(huán)終止,故本題共輸出3個(gè)字符。表達(dá)式“i-'a'+'A'”即表示輸出i對(duì)應(yīng)的大寫(xiě)字母,結(jié)果為ACE。

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

27.33解析:分析程序運(yùn)行過(guò)程,第1次循環(huán):s=s+i*i=0+1*1=1,i=2;第2次循環(huán):s=s+i*i=1+2*2=5,i=3;第3次循環(huán):s=s+i*i=5+3*3=14,i=4;循環(huán)條件不成立輸出i,--i使i的值減1,輸出結(jié)果為3。

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

29.b=i+1b=i+1解析:分析for循環(huán)條件,i=0說(shuō)明循環(huán)從0開(kāi)始判斷,i+=2是間隔為2的數(shù),i<=20就是控制數(shù)是20之內(nèi)的a+=i,就是所有偶數(shù)的和,如果從1開(kāi)始(b=i+1)間隔為2的數(shù)(1,3,5,7,9,11,13,15,17,19)相加就是所有奇數(shù)的和。

30.=aasum/nx[i]<ave=a\r\na\r\nsum/n\r\nx[i]<ave解析:sum是用來(lái)存放學(xué)生成績(jī)總和的,a是輸入的成績(jī),ave存放平均成績(jī),n既是循環(huán)變量,又表示學(xué)生人數(shù),x[n]保存第n個(gè)學(xué)生的成績(jī)。sum用來(lái)累加每個(gè)同學(xué)的成績(jī),因此有sum+=a;把新輸入的學(xué)生成績(jī)保存在數(shù)組中,因此有x[n]=a;ave是所有同學(xué)的平均成績(jī),因此有ave=sum/n;逐個(gè)把學(xué)生成績(jī)和平均成績(jī)比較,因此有if(x[i]<ave)。

31.88解析:第1次for循環(huán),i=0,調(diào)用函數(shù)f(2),然后將a的值加1,在f()函數(shù)中,變量c為static類(lèi)型,所以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。

32.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,判斷語(yǔ)句a-b=7不為0,所以執(zhí)行a-b,結(jié)果為7。

33.完善性軟件維護(hù)活動(dòng)包括以下幾類(lèi):改正性維護(hù),適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù),完善性維護(hù)是指為了滿(mǎn)足用戶(hù)對(duì)軟件提出的新功能與性能要求,需要修改或再開(kāi)發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。

34.1030010300解析:本題的scanf()函數(shù)要求用戶(hù)輸入三個(gè)十進(jìn)制整數(shù),但只接受第一和第三個(gè)到函數(shù)的第二和第三個(gè)參數(shù)所指的內(nèi)存地址中。所以本題的輸出為:10300。

35.數(shù)據(jù)的邏輯結(jié)構(gòu)數(shù)據(jù)的邏輯結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是對(duì)數(shù)據(jù)元素之間的邏輯關(guān)系的描述,它可以用一個(gè)數(shù)據(jù)元素的集合和定義在此集合中的若干關(guān)系來(lái)表示。

36.SOSO解析:考查用指針引用字符串?dāng)?shù)組中元素的方法。題中需要注意兩個(gè)問(wèn)題:一是for循環(huán)的修正表達(dá)式共執(zhí)行兩次'i--'操作;二是*p[i]是對(duì)某個(gè)字符的引用。

37.55解析:分析程序,當(dāng)a=3;b=4;c=5時(shí),判斷語(yǔ)句a>b不成立,所以不執(zhí)行后面的語(yǔ)句,直接執(zhí)行“printf('%d\\n',c);”語(yǔ)句,輸出c的值,輸出結(jié)果為5。

38.k=p;k=p;解析:為要尋找數(shù)組中的最大元素的下標(biāo),需先預(yù)設(shè)1個(gè)臨時(shí)最大元素的下標(biāo),并順序逐一考查數(shù)組的元素,當(dāng)發(fā)現(xiàn)當(dāng)前元素比臨時(shí)最大元素更大時(shí),就用當(dāng)前元素的下標(biāo)更新臨時(shí)最大元素下標(biāo)。直至考查了數(shù)組的全部元素后,這臨時(shí)最大元素下標(biāo)就是數(shù)組的最大元素下標(biāo)。通常預(yù)設(shè)的最大元素下標(biāo)是數(shù)組的首元素下標(biāo),考查是從首元素開(kāi)始順序向后繼元素考查。程序中,存儲(chǔ)臨時(shí)最大元素下標(biāo)的變量是k,變量p控制順序考查的循環(huán)控制變量。當(dāng)發(fā)現(xiàn)當(dāng)前元素s[p]比臨時(shí)最大元素s[k)更大時(shí),應(yīng)該用p更新k。所以在空框處應(yīng)填入代碼“k=p;”。

39.1.09877e+010

40.BCDCDDBCD\r\nCD\r\nD解析:本題考查指向字符串的指針的運(yùn)算方法。指針變量p首先指向字符串中的第一個(gè)字符A,執(zhí)行p=s+1后,p指向字符串中的第二個(gè)字符B,然后輸出值'BCD'并換行,依次執(zhí)行循環(huán)語(yǔ)句。

41.C解析:首先看swap()函數(shù),函數(shù)中定義了一個(gè)臨時(shí)字符變量t,然后將形參指針x所指內(nèi)容存入t,再將形參指針y所指內(nèi)容存入到x所指內(nèi)容中,最后將臨時(shí)變量t的內(nèi)容存入到y(tǒng)所指內(nèi)容中。所以該函數(shù)實(shí)現(xiàn)的是:交換兩個(gè)字符指針?biāo)赶虻膬?nèi)容。在主函數(shù)中,首先定義了兩個(gè)字符指針s1和s2,同時(shí)用字符串'abc'和'123”來(lái)初始化它們,此時(shí)它們指向的是兩個(gè)字符串的第1個(gè)字符。所以,在調(diào)用完swap()函數(shù)后,彼此交換了兩個(gè)字符串的第1個(gè)字符,最后輸出結(jié)果為1bc,a23。故應(yīng)該選擇C。

42.C

43.B解析:本題考查二叉樹(shù)的性質(zhì)。葉子結(jié)點(diǎn)即度為0的結(jié)點(diǎn),它總是比度為2的結(jié)點(diǎn)多一個(gè),所以,具有60個(gè)葉子結(jié)點(diǎn)的二叉樹(shù)有59個(gè)度為2的結(jié)點(diǎn)??偨Y(jié)點(diǎn)數(shù)等于個(gè)葉子結(jié)點(diǎn)加上59個(gè)度為2的結(jié)點(diǎn)再加上50個(gè)度為1的結(jié)點(diǎn)的和,一共為169個(gè)結(jié)點(diǎn)。

44.D解析:一個(gè)源文件中的外部變量的作用域是從定義該變量的位置開(kāi)始到本文件結(jié)束。

45.D解析:根據(jù)給定的條件,在樹(shù)中,各結(jié)點(diǎn)的分支總數(shù)為:4×1+2×2+1×3+4×1=15:樹(shù)中的總結(jié)點(diǎn)數(shù)為:15(各結(jié)點(diǎn)的分支總數(shù))+1(根結(jié)點(diǎn))=16:非葉子結(jié)點(diǎn)總數(shù)為:4+2+1+1=8。因此,葉子結(jié)點(diǎn)數(shù)為16(總結(jié)點(diǎn)數(shù))-8(非葉子結(jié)點(diǎn)總數(shù))=8。因此,本題的正確答案為D。

46.A解析:條件表達(dá)式“a?b:c”的含義是:當(dāng)a為真時(shí),其值等于表達(dá)式b的值;當(dāng)a為假時(shí),其值等于表達(dá)式c的值。

表達(dá)式運(yùn)算過(guò)程:第1個(gè)表達(dá)式:w=2<x=3為真,所以返回w的值,即m=w=2;第2個(gè)表達(dá)式:m=2<z=5為真,所以返回m的值,即m=2;第3個(gè)表達(dá)式:w=2<y=4為真,所以返回m的值,即m=2。

47.A解析:本題中函數(shù)傳遞的是變量的地址,如果形參在函數(shù)中發(fā)生改變,相劉應(yīng)的實(shí)參也就有了改變。

48.A解析:根據(jù)題意,p和q為整型指針,分別指向整型變量n2和n1,選項(xiàng)B是將q賦給p,即p指向n1,選項(xiàng)C是將n1的地址賦給n2,選項(xiàng)D是將n2的值賦給p,均與n2=n1不等價(jià)。只有選項(xiàng)A中,*p即n2,*q即n1,*p=*q即等價(jià)于n2=n1。

49.A解析:auto變量:無(wú)static聲明的局部變量。用auto作存儲(chǔ)類(lèi)別的聲明時(shí),可以不寫(xiě)auto,存儲(chǔ)類(lèi)別隱含確定為auto(自動(dòng)存儲(chǔ)類(lèi)別),是動(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不寫(xiě)則隱含確定為'自動(dòng)存儲(chǔ)類(lèi)別',屬于動(dòng)態(tài)存儲(chǔ)方式。

50.C解析:題目中p+strlen(q)的作用是在數(shù)組元素p[0]地址的基礎(chǔ)上向后移動(dòng)三位,然后再將r所指字符串內(nèi)容復(fù)制到p所指的存儲(chǔ)空間中,字符d被覆蓋,p[20]={'a','b','c','a','b','c','d','e')。然后通過(guò)“strcat(p,q);”將q所指的字符串內(nèi)容連接到p所指的字符串后面,p[20]={'a','b','c','a','b','c','d','e',a','b','c',}。在輸出語(yǔ)句中strlen(p)是求字符串的長(zhǎng)度,值為ll;sizeof(p)用來(lái)求數(shù)組p占多少字節(jié),值為20。

51.D

52.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”代替換行符。

53.A

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

55.B解析:語(yǔ)句typedef\u3000int\u3000*\u3000INTEGER;定義了一個(gè)新類(lèi)型名INTEGER,因此語(yǔ)句INTEGERp,*\u3000q;就相當(dāng)于int\u3000*\u3000p,*\u3000*\u3000q;。

56.B解析:本題考查的是指針的簡(jiǎn)單應(yīng)用。題目中首先定義了一個(gè)int型數(shù)組a并初始化了,然后定義了兩個(gè)指針變量p和q,并分別初始化p為指向數(shù)組元素a[3]、q指向p后面的第2個(gè)元素即指向a[5]。所以最終輸出的值為a[3]+a[5]的值10。應(yīng)該選B。

57.C解析:本題考查if語(yǔ)句。第一個(gè)if語(yǔ)句,先判斷條件,發(fā)現(xiàn)a<b不成立,不再執(zhí)行下列的語(yǔ)句,直接執(zhí)行最后的printf輸出語(yǔ)句,然后結(jié)束程序,整個(gè)過(guò)程c的值沒(méi)有發(fā)生變化。

58.A解析:由于本題定義的是共用體,所以成員表列中的整型變量x與字符數(shù)組c共占用同—個(gè)存儲(chǔ)單元,且此存儲(chǔ)單元為2個(gè)字節(jié),通常c[0]位于低字節(jié),c[1]位于高字節(jié),所以兄i的值為266。

59.B在計(jì)算機(jī)中,算法被定義為對(duì)一個(gè)問(wèn)題求解步驟的一種描述,是求解問(wèn)題的方法,它是指令的有限序列,其中每條指令表示一個(gè)或者多個(gè)操作。算法具有有窮性、確定性、可行性、輸入和輸出五大特點(diǎn)。

在本題中,選項(xiàng)A、C、D的說(shuō)法明顯偏離了算法的定義,因此正確答案選B。

60.A解析:本題題意要求刪除所有空格,即除了空格以外的其他所有字符都要留下。由于C語(yǔ)言中沒(méi)有直接刪除字符的操作,所以我們對(duì)于刪除字符的操作都是采用'留下'字符的算法,以前的題目亦是如此。用str[i]從串頭到串尾逐一走動(dòng),每走到一個(gè)字符都判斷其是否為空格,若不是空格(注意在if()的單引號(hào)之間有一個(gè)空格),則將其保存

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論