版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021-2022年浙江省金華市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.下列關(guān)于線性鏈表的敘述中,正確的是()A.各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)空間可以不連續(xù),但它們的存儲(chǔ)順序與邏輯順序必須一致
B.各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)順序與邏輯順序可以不一致,但它們的存儲(chǔ)空間必須連續(xù)
C.進(jìn)行出入與刪除時(shí),不需要移動(dòng)表中的元素
D.以上三種說(shuō)法都不催
2.鏈表不具備的特點(diǎn)是()
A.所需空間與其長(zhǎng)度成正比B.不必事先估計(jì)存儲(chǔ)空間C.插入刪除不需要移動(dòng)元素D.可隨機(jī)訪問任一節(jié)點(diǎn)
3.
4.下列程序的輸出結(jié)果是
#include"stdio.h"
#defineN3
#defineM3
voidfun(inta[M][N])
{printf("%d\n",*(a[1]+2));}
main()
{inta[M][N];
inti,j;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
a[i][j]=i+j-(i-j);
fun(a);}A.A.3B.4C.5D.6
5.以下選項(xiàng)中合法的C語(yǔ)言常量是()。
A.2.0KbB.”C++’C.”\2.0D.1.01
6.以下敘述中正確的是()。
A.用C語(yǔ)言編寫的程序只能放在一個(gè)程序文件中
B.C語(yǔ)言程序書寫格式嚴(yán)格,要求一行內(nèi)只能寫一個(gè)語(yǔ)句
C.C語(yǔ)言程序中的注釋只能出現(xiàn)在程序的開始位置和語(yǔ)句的后面
D.C語(yǔ)言程序書寫格式自由,一個(gè)語(yǔ)句可以寫在多行上
7.有三個(gè)關(guān)系R,S和T如下:
其中關(guān)系T由關(guān)系R和s通過(guò)某種操作得到,該操作為()。
A.選擇B.交C.投影D.并
8.實(shí)體聯(lián)系模型中實(shí)體與實(shí)體之間的聯(lián)系不可能是
A.一對(duì)一B.多對(duì)多C.一對(duì)多D.對(duì)零
9.有以下程序:#include<stdio.h>intfun(intx){intp;if(x==0||x==1)return(3);p=x-fun(x-2);returnp;}main(){printf(“%d\n”,fun(7));}程序的運(yùn)行結(jié)果是()。A.2B.3C.7D.0
10.以下選項(xiàng)中可作為C語(yǔ)言合法常量的是_____。A.-80B.-080C.-8e1.0D.-80.Oe
11.結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括()。
A.順序結(jié)構(gòu)B.GOT0跳轉(zhuǎn)C.選擇(分支)結(jié)構(gòu)D.重復(fù)(循環(huán))結(jié)構(gòu)
12.
13.若有定義“intx=12,y=8,z;”,在其后執(zhí)行語(yǔ)句“z=0.9+x/y;”,則z的值為()。
A.1B.1.9C.2D.2.4
14.若有定義“inta,b;”,通過(guò)語(yǔ)句“scanf(“%d;%d,”&a,&b)能把整數(shù)3賦給變量a、5賦給變量b的輸入數(shù)據(jù)是()。
A.35B.3,5C.3;5D.35
15.若查找每個(gè)記錄的概率均等,則在具有n個(gè)記錄的連續(xù)順序文件中采用順序查找法查找一個(gè)記錄,其平均查找長(zhǎng)度ASL為()
A.(n-1)/2B.n/2C.(n+1)/2D.n
16.一個(gè)序列中有10000個(gè)元素,若只想得到其中前10個(gè)最小元素,最好采用_______方法
A.快速排序B.堆排序C.插入排序D.二路歸并排序
17.有以下程序:#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
18.有以下程序
intfun1(doublea){returna*=a;}
intfun2(doublex,doubley)
{doublea=0,b=0;
a=fun1(x);b=fun1(y);return(int)(a+b);
}
main()
{doublew;w=fun2(1.1,2.0);……}
程序執(zhí)行后變量w中的值是A.5.21B.5C.5.0D.0.0
19.以下敘述中錯(cuò)誤的是()。
A.由3種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡(jiǎn)單問題
B.結(jié)構(gòu)化程序由順序、分支、循環(huán)3種基本結(jié)構(gòu)組成
C.C語(yǔ)言是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言
D.結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法
20.以下程序的輸出結(jié)果是_______。main(){inti,a[10];for(i=9;i>=0;i-)a[i]=10-i;print("%d%d%d,a[2],a[5],a[8]);}
A.258B.741C.852D.369
二、2.填空題(20題)21.若a的值為1,則表達(dá)式!a‖++a的值是______。
22.以下涵數(shù)rotate的功能是:將a所指N行N列的二維數(shù)組中的最后一行放到b所指二維數(shù)組的第0列中,把a(bǔ)所指二維數(shù)組中的第0行放到b所指二維數(shù)組的最后一列中,b所指二維數(shù)組中其他數(shù)據(jù)不變。
#defineN4
voidrotade(inta[][N],intb[][N])
{inti,j;
for(i=0;i<N;i++)
{b[i][N-1]=【】;【】=a[N-1][i];}}
23.以下程序段的輸出結(jié)果是【】。
inti=9;
printf("%o\n",i);
24.以下程序的輸出結(jié)果是【】。
inta=1234;
printf("%2d\n",a);
25.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機(jī)制稱為______。
26.以下程序用來(lái)統(tǒng)計(jì)文件中字符個(gè)數(shù)。請(qǐng)?zhí)羁铡?/p>
#include"stdio.h"
main()
{FILE*fp;longnum=OL;
if((fp=fopen("fname.dat","r")==NULL)
{Pirntf("Openerror\n");exit(0);}
while(【】)
{fgetc(fp);num++;}
printf("num=%1d\n",num-1);
fclose(fp);
}
27.數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。
28.若a=10,b=20,則表達(dá)式!(a<b)的值是【】。
29.在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種;前序遍歷、【】遍歷和后序遍歷。
30.以下程序的功能是:刪去一維數(shù)組中所有相同的數(shù),使相同的數(shù)只剩一個(gè)。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)fun返回刪除后數(shù)組中數(shù)據(jù)的個(gè)數(shù)。
例如,若一維數(shù)組中的數(shù)據(jù)是:
2223445666677899101010
刪除后,數(shù)組中的內(nèi)容應(yīng)該是:2345678910。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
#defineN80
intfun(inta[],intn)
{inti,j=1;
for(i=1;i<n;i++)
if(a[j-1]【】a[i])a[j++]=a[i];
【】;
}
main()
{inta[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10},i,n=19;
printf("Theoriginaldata:\n");
for(i=0;i<n;i++)printf("%3d",a[i]);
n=fun(a,n);
printf("\nThedataafterdeleted:\n");
for(i=0;i<n;i++)printf("%3d",a[i]);printf("\n\n");
}
31.mystrlen函數(shù)的功能是計(jì)算str所指字符串的長(zhǎng)度,并作為函數(shù)值返回。請(qǐng)?zhí)羁铡?/p>
intmystrlen(char*str)
{inti;
for(i=0;【】!='\0';i++);
return(i);}
32.測(cè)試用例包括輸入值集和【】值集。
33.下列語(yǔ)句的輸出結(jié)果是______。
chars[20]="aaaa",*sp=s;
puts(strcat(sp,"AAAAA"));
34.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu),循環(huán)隊(duì)列屬于______結(jié)構(gòu)。
35.在樹形結(jié)構(gòu)中,樹根結(jié)點(diǎn)沒有______。
36.算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和______復(fù)雜度。
37.若有定義:inta[4][4]={{1,2,3,4},{0},{4,6,8,10},<1,3,5,7}},則初始化后,a[2][2]得到的初值是______。
38.若用0至9之間不同的三個(gè)數(shù)構(gòu)成一個(gè)三位數(shù),下面程序?qū)⒔y(tǒng)計(jì)出共有多少種方法。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{inti,j,k,count=0;
for(i=0;i<=9;i++)
for(j=0;i<=9;j++)
if(【】)continue;
elsefor(k=0;k<=9;k++)
if(【】)count++;
printf("%d",count);}
39.下列程序的輸出結(jié)果是______。
#include<stdio.h>
fun()
{staticinta=0;
a+=3;printf("%d",A);
}
main()
{intcc;
for(cc=1;cc<5;cc++)fun();
printf("\n");
}
40.若有下列定義和語(yǔ)句:
char*s1="12345",*s2="1234";
printf("%d\n",strlen(strcpy(s1,s2)));
則輸出結(jié)果為______。
三、1.選擇題(20題)41.下面函數(shù)調(diào)用語(yǔ)句含有實(shí)參的個(gè)數(shù)為func((exp1,exp2),(exp3,exp4,exp5));
A.1B.2C.4D.5
42.下列選項(xiàng)中,不屬于模塊間耦合的是()
A.數(shù)據(jù)耦合B.同構(gòu)耦合C.異構(gòu)耦合D.公用耦合
43.以下數(shù)組定義中不正確的是_______。
A.inta[2][3];
B.intb[][3]={0,1,2};
C.intc[100][100={0};
D.intd[3][]={{1,2},{1,2,3},{1,2,3,4}};
44.若有如下定義:intx=3,y=2,Z;則表達(dá)式Z=X/y*3.0的值是()。
A.2B.2C.3D.3
45.C語(yǔ)言規(guī)定,調(diào)用一個(gè)函數(shù)時(shí),實(shí)參變量和形參變量之間的數(shù)據(jù)傳遞是()。
A.地址傳遞B.值傳遞C.由實(shí)參傳給形參,并由形參傳回給實(shí)參D.由用戶指定傳遞方式
46.下列說(shuō)法不正確的是()。
A.C程序是以函數(shù)為基本單位的,整個(gè)程序由函數(shù)組成
B.C語(yǔ)言程序的一條語(yǔ)句可以寫在不同的行上
C.C程序的注釋行對(duì)程序的運(yùn)行功能不起任何作用,所以注釋應(yīng)該盡可能少寫
D.C程序的每個(gè)語(yǔ)句都以分號(hào)結(jié)束
47.若有定義:inta[2][3];則才a數(shù)組的第i行第j列(假調(diào)i,j已正確說(shuō)明并賦值)元素值的正確引用為
A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j
48.以下程序的輸出結(jié)果是______。inta,b;voidfun(){a=100;b=200;}main(){inta=5,b=7;fun();printf("%d%d\n",a,b);}
A.100200B.57C.200100D.75
49.設(shè)a、b、c、d、m、n均為int型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達(dá)式(m=a>b)&&(n=c>d)運(yùn)算后,n的值為______。
A.0B.1C.2D.3
50.下列敘述中正確的是()。
A.算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無(wú)關(guān)
B.算法的空間復(fù)雜度是指算法程序中指令(或語(yǔ)句)的條數(shù)
C.算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止
D.以上三種描述都不對(duì)
51.如果文件1包含文件2,文件2中要用到文件3的內(nèi)容,而文件3中要用到文件4的內(nèi)容,則可在文件1中用三個(gè)#include命令分別包含文件2、文件3和文件4。在下列關(guān)于這幾個(gè)文件包含順序的敘述中,正確的一條是()
A.文件4應(yīng)出現(xiàn)在文件3之前,文件3應(yīng)出現(xiàn)在文件2之前
B.文件2應(yīng)出現(xiàn)在文件3之前,文件3應(yīng)出現(xiàn)在文件4之前
C.文件3應(yīng)出現(xiàn)在文件2之前,文件2應(yīng)出現(xiàn)在文件4之前
D.出現(xiàn)的先后順序可以任意
52.有以下程序
intadd(inta,intb){return(a+b);}
main()
{intk,(*f)(),a=5,b=10;
f=add;
…
}
則以下函數(shù)調(diào)用語(yǔ)句錯(cuò)誤的是A.k=(*f)(a,b);B.k=add(a,b);C.k=*f(a,b);D.k=f(a,b);
53.有以下程序main(){inta[3][2]={0},(*ptr)[2],i,j;for(i=0;i<2;i++){ptr=a+i;scanf("%d",ptr);ptr++;}for(i=0;i<3;i++){for(j=0;j<2;j++)printf("%2d",a[i][j]);printf("\n");}}若運(yùn)行時(shí)輸入:123<回車>,則輸出結(jié)果是
A.產(chǎn)生錯(cuò)誤信息B.102000C.123000D.102030
54.若進(jìn)棧序列為1,2,3,4,進(jìn)棧過(guò)程中可以出棧,則下列不可能的一個(gè)出棧序列是______。
A.1,4,3,2B.2,3,4,1C.3,1,4,2D.3,4,2,1
55.下列關(guān)于線性鏈表的描述中正確的是()。
A.存儲(chǔ)空間不一定連續(xù),且各元素的存儲(chǔ)順序是任意的
B.存儲(chǔ)空間不一定連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面
C.存儲(chǔ)空間必須連續(xù),且各前件元素一定存儲(chǔ)在后件元素的前面
D.存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的
56.若程序中已包含頭文件stdio.h,以下選項(xiàng)中,正確運(yùn)用指針變量的程序段是______。
A.int*i=NULL;scanf("%d",i);
B.float*f=NULL*f=19.5;
C.chart='m',*c=&t;*c=&t;
D.long*L;L='\0';
57.有以下程序#include<stdio.h>main(){FILE*fp;inti=20,j=30,k,n;fp=fopen("d1.dat","w");fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);fclose(fp);fp=fopen("d1.dat","r");fp=fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);}程序運(yùn)行后的輸出結(jié)果是
A.2030B.2050C.3050D.3020
58.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){chara[]={'a','b','c','d','e','f,'\0'};inti,j;i=sizeof(a);j=strlen(a);printf("%d,%d",i,j);}
A.7,7B.7,6C.6,6D.6,7
59.若有以下結(jié)構(gòu)體定義,則______是正確的引用或定義。structexample{intx;inty;}v1;
A.example.x=10
B.examplev2.x=10
C.structv2;v2.x=10
D.structexamplev2={10};
60.若fp是指向某文件的指針,且已讀到文件末尾,則庫(kù)函數(shù)feof(fp)的返回值是
A.EOFB.-1C.1D.NULL
四、選擇題(20題)61.以下函數(shù)的功能是:通過(guò)鍵盤輸入數(shù)據(jù),為數(shù)組中的所有元素賦值。
#defineN10
voidmain(int__________)
{inti=0;
while(i<N)
scanf("%d",x+(i++));
}
A.*xB.x[N]C.xD.&x
62.以下正確的字符串常量是()。A.A."\\\"
B.'abc'
C.OlympicGames
D.""
63.設(shè)有定義:
則以下賦值語(yǔ)句中錯(cuò)誤的是()。
A.data2=(2,6);
B.data2=datal;
C.data;real=datal.real;
D.data2.real=datal.unreal;
64.
65.若有定義語(yǔ)句:“charS[3][10],(*k)[3],*p;”,則以下賦值語(yǔ)句正確的是()。
A.p=S;B.p=k;C.p=s[0];D.k=s;
66.若有定義和語(yǔ)句:
int*(*pp),*P,a=20,b=10;
pp=&p;p=&a;p=&b;printf("%d,%d\n",*P,**PP);
則輸出結(jié)果是()。A.A.20,10B.20,20C.10,20D.10,10
67.
68.
69.
70.有下列二叉樹.對(duì)此二叉樹前序遍歷的結(jié)果為()。
A.ACFXDBEYZB.ABEFXYZCDC.ABCDEFXY7D.ABDYECFXZ
71.有以下結(jié)構(gòu)體說(shuō)明和變量定義,如圖所示,指針p、q、r分別指向此鏈表中的3個(gè)連續(xù)結(jié)點(diǎn)。structnode{
int
data;structnode
*next;
}*p,*q,*r;現(xiàn)要將這個(gè)鏈表構(gòu)成一個(gè)環(huán),以下(
)操作是正確的。A.p->next=q->nextB.r->next=pC.p->next=rD.r->next=q->next->next
72.
73.
74.
75.
76.下列數(shù)據(jù)模型中,具有堅(jiān)實(shí)理論基礎(chǔ)的是()。A.層次模型B.網(wǎng)狀模型C.關(guān)系模型D.以上三個(gè)都是
77.有以下程序段#include<stdio.h>main(){...while(getchar()!=\n);...}以下敘述中正確的是()。A.此while語(yǔ)句將無(wú)限循環(huán)
B.getchar()不可以出現(xiàn)在while語(yǔ)句的條件表達(dá)式中
C.當(dāng)執(zhí)行此while語(yǔ)句時(shí),只有按回車鍵程序才能繼續(xù)執(zhí)行
D.當(dāng)執(zhí)行此while語(yǔ)句時(shí),按任意鍵程序就能繼續(xù)執(zhí)行
78.
79.閱讀下面程序段,則執(zhí)行后的結(jié)果為()。
A.64B.8C.56D.0
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc的功能是:首先把b所指字符串中的字符按逆序存放,然后將str1所指字符串中的字符和Str2所指字符串中的字符,按排列的順序交叉合并到str所指數(shù)組中,過(guò)長(zhǎng)的剩余字符接在str所指數(shù)組的尾部。例如,當(dāng)str1所指字符串中的內(nèi)容為ABCDEFG,str2所指字符串中的內(nèi)容為1234時(shí),str所指數(shù)組中的內(nèi)容應(yīng)該為A483C2D1EFG;而當(dāng)str1所指字符串中的內(nèi)容為1234,str2所指字符串中的內(nèi)容為ABCEDFG時(shí),str所指數(shù)組中的內(nèi)容應(yīng)該為1G2F31:4DCBA。
請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio。h>
#include<string.h>
voidproc(char*strl,char*str2,char*str){
inti,j;charch;
i=0;j=strleu(str2)-1;
//****found****
while(i>j)
{
ch=str2[i];str2[i]=str2[j];str2[j]=ch;
i++;j--;
}
while(*str1||*str2)
{
if(*str1){*str=*str1;str++;str1++;)
if(*str2){*str=*str2;str++;str2++;)
}
//****found****
*str=0:
}
voidmain
{
chars1[100],s2[100],t[200];
system("CLS");
printf("\nEnters1string:");
scanf("%s",sl);
printf("\nEnters2string:");
scanf("%s",s2);
proc(s1,s2,t);
printf("\nTheresultis:%s\n",t);
}
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫一個(gè)函數(shù)proc(),它的功能是:找出一維數(shù)組元素中最大的值和它所在的下標(biāo),最大值和它所在的下標(biāo)通過(guò)形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。
主函數(shù)中arr是數(shù)組名,n是arr中的數(shù)據(jù)個(gè)數(shù),max存放最大值,index存放最大值所在元素的下標(biāo)。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。
試題程序:
參考答案
1.C
試題2分析
結(jié)點(diǎn)的存儲(chǔ)順序和邏輯順序不一定一致,存儲(chǔ)空間也不一定連續(xù)。插入和刪除元素的時(shí)候,不需要移動(dòng)表中的元素。
試題2答案
C
2.D
3.B
4.B
5.DC語(yǔ)言中,常量有整型常量、實(shí)型常量、字符常量和字符串常量等。整型常量和實(shí)型常量又稱為數(shù)值型常量。其中整型常量只能用數(shù)字表示,不帶小數(shù)點(diǎn)。實(shí)型常量必須用帶小數(shù)點(diǎn)的數(shù)表示,所以選項(xiàng)A錯(cuò)誤,選項(xiàng)D正確;字符型常量是用單引號(hào)標(biāo)注的單個(gè)字符,字符串常量是用雙引號(hào)標(biāo)注的若干個(gè)字符,選項(xiàng)B、C錯(cuò)誤。故本題答案為D選項(xiàng)。
6.D用C語(yǔ)言編寫的程序可以放置于多個(gè)程序文件中,所以A選項(xiàng)錯(cuò)誤。C語(yǔ)言程序中的一行可以有多條語(yǔ)句,所以B選項(xiàng)錯(cuò)誤。C語(yǔ)言中的注釋語(yǔ)句可以與原語(yǔ)句放在一行,也可以不放在一行,所以C選項(xiàng)錯(cuò)誤。故本題答案為D選項(xiàng)。
7.D\n兩個(gè)相同結(jié)構(gòu)關(guān)系的并是由屬于這兩個(gè)關(guān)系的元組組成的集合。
\n
8.D解析:實(shí)體聯(lián)系模型中實(shí)體與實(shí)體之間的聯(lián)系有一對(duì)一(1:1),一對(duì)多戌多對(duì)一(1:m或m:1),多對(duì)多(m:n)其中一對(duì)一是最常用的關(guān)系。
9.A因?yàn)閒un(intx)是一個(gè)遞歸函數(shù)。在主函數(shù)中fun(7)經(jīng)過(guò)3次遞歸調(diào)用。其過(guò)程可以描述為fun(7)=7-fun(5)=7-(5*fun(3))=7*(5*(3*fun(1)))=7-(5-(3-3))=7-5=2。最后的輸出結(jié)果為2。故本題答案為A選項(xiàng)。
10.A解析:C語(yǔ)言的常量分為整型常量、實(shí)型常量和字符型常量。選項(xiàng)A屬于實(shí)型常量中的十進(jìn)制小數(shù)形式的表示法,是合法的。
11.B1966年Boehm和Jacopini證明了程序設(shè)計(jì)語(yǔ)言僅僅使用順序、選擇和重復(fù)三種基本控制結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計(jì)方法。
12.D
13.A在表達(dá)式“z=0.9+x/y”中,先計(jì)算“3.6-2”,結(jié)果為1;再計(jì)算“0.9+1”,結(jié)果為1.9。因?yàn)樽兞縵為整型,所以z的值為1。故本題答案為A選項(xiàng)。
14.C輸入數(shù)據(jù)的格式必須與scanf的格式控制字符串完全匹配。函數(shù)中非格式字符需要原樣輸入,所以輸入時(shí)必須在3和5之間輸入“;”。故本題答案為C選項(xiàng)。
15.C
16.B
17.B解析:本題考查的是外部變量的應(yīng)用。因?yàn)槌绦虻某跏糹nta=4;語(yǔ)句定義了外部變量a,在以后的執(zhí)行過(guò)程中,當(dāng)i=0時(shí),調(diào)用f(0)函數(shù),執(zhí)行的語(yǔ)句是else{inta=7;t+=a++;},此處程序中又定義了變量a,所以原來(lái)定義的外部變量在此不起作用,得到t=7,返回值語(yǔ)句returnt+a++;處,外部變量a起作用,返回值為7+5=12:當(dāng)i=1時(shí),調(diào)用f(1)函數(shù),執(zhí)行的是語(yǔ)句else{inta=6:t+=a++;},此處程序中又定義了變量a,所以原來(lái)定義的外部變量在此不起作用,得到t=6,返回值語(yǔ)句
18.C(33)C)解析:題中變量w的定義為double型,函數(shù)fun2()的定義為int型,按照各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算,整型數(shù)據(jù)被轉(zhuǎn)換為實(shí)型數(shù)據(jù)。
19.A由順序、選擇(分支)、循環(huán)3種基本結(jié)構(gòu)構(gòu)成的程序可以解決所有問題,而不只是解決簡(jiǎn)單問題,所以A選項(xiàng)錯(cuò)誤。故本題答案為A選項(xiàng)。
20.C解析:在本題運(yùn)行時(shí)主要注意的是當(dāng)i=9時(shí),a[i]=10-9=1:i=8時(shí),a[i]=10-8=2;i=7時(shí),a[i]=10-7=3;……依此類推,直到i=0時(shí),a[i]=10-0=10:此時(shí),i的值已變?yōu)?1,判斷for的循環(huán)條件,不成立,然后輸出a[2],a[5],a[8]分別為8,5,2。
21.11解析:邏輯運(yùn)算中,非1即0,非0即1,!a=0,++a為邏輯1,所以0和1相或結(jié)果為1。
22.a[0][i]b[i][o]a[0][i]\r\nb[i][o]解析:b[i][N-1]=a[0][i]實(shí)現(xiàn)把a(bǔ)所指二維數(shù)組中的第0行放到b所指二維數(shù)組的最后一列中,b[i][0]=a[N-1][i]實(shí)現(xiàn)將a所指N行N列的二維數(shù)組中的最后一行放到b所指二維數(shù)組的第0列中。
23.1111解析:本題考核的知識(shí)點(diǎn)是printf()函數(shù)的輸出格式。本題中定義了一個(gè)整型變量i并賦初值為9,然后要求以八進(jìn)制輸出i的值,9的八進(jìn)制數(shù)的表示為11。
24.12341234解析:在%與格式符之間插入一個(gè)整形數(shù)來(lái)指這輸出寬度,并不影響數(shù)據(jù)的完整性,當(dāng)插入的寬度小于實(shí)際的寬度時(shí),則實(shí)際的寬度輸出。
25.繼承繼承
26.!feof(fp)!feof(fp)解析:本題中統(tǒng)計(jì)文件中字符個(gè)數(shù)的算法可描述為;首先判斷文件位置指針是否指向了文件尾,如果不是則讀出一個(gè)字符,同時(shí)字符的個(gè)數(shù)加1,再判斷文件位置指針是否位于文件尾,如此循環(huán),直到文件位置指針位于文件尾為止。本題首先以讀文件的方式打開了文件“fname.dat”,如果打開成功則把返回的文件型指針賦值給fp,然后通過(guò)循環(huán)求文件中的字符數(shù)。首先判斷文件位置指針是否位于文件尾,如果不是則循環(huán)讀取字符,每次字符數(shù)加l。所以下劃處應(yīng)填循環(huán)條件,文件位置指針不是指向文件尾,即“!feof(fp)”。
27.概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)
28.00解析:已知a=10,b=20,所以邏輯表達(dá)式a<b的值為true,即為1,在這個(gè)表達(dá)式前面有一個(gè)邏輯運(yùn)算符!,表示反操作,所以整個(gè)語(yǔ)句的值應(yīng)當(dāng)為false,即為0。
29.中序中序解析:在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷.前序遍歷是指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時(shí),仍然先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。中序遍歷指在訪問根結(jié)點(diǎn)、遍歷左了樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹:并且遍歷左、右子樹時(shí),仍然先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹。后序遍歷指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷右子樹,然后訪問根結(jié)點(diǎn),最后遍歷左子樹;并且遍歷左、右子樹時(shí),仍然光遍歷右子樹,然后訪問根結(jié)點(diǎn),最后遍歷左子樹。
30.!=returnj!=returnj解析:函數(shù)fun中,變量j用于控制刪除后剩下的數(shù)中的下標(biāo),i用于搜索原數(shù)組中的元素。j始終是新數(shù)組已有元素中最后一個(gè)元素的下一個(gè)元素的下標(biāo),所以訂語(yǔ)句中的條件是a[j-1]!=a[i],其中a[j-1]就是新數(shù)組中的最后一個(gè)元素,若條件成立則表示出現(xiàn)了不同的值,a[i]要添加到新數(shù)組中。該算法只能用于數(shù)組已排序的題目中。
31.*(str+i)或str[i]*(str+i)或str[i]解析:str是指針變量,它指向字符型數(shù)據(jù),在循環(huán)過(guò)程中,可以用*(str+i)來(lái)訪問字符串中的第i個(gè)元素,判斷是否是結(jié)束標(biāo)志,如果不是,i=i+1,繼續(xù)取下一個(gè)元素進(jìn)行判斷,直到*(str+i)的值為'\\0'為止,也可以用下標(biāo)的方式引用字符,如*(str+i)相當(dāng)于str[i]。
32.輸出輸出解析:測(cè)試用例曲測(cè)試輸入數(shù)據(jù)(輸入值集)和與之對(duì)應(yīng)的預(yù)期輸出結(jié)果(輸出值集)兩部分組成。
33.aaaaAAAAAaaaaAAAAA解析:函數(shù)strcat(sp,'AAAAA')的作用是將字符中“AAAAA”連接到字符串sp的末尾,并自動(dòng)覆蓋字符數(shù)組sp末尾的\'\\0\'。
34.存儲(chǔ)或物理或存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)存儲(chǔ)或物理或存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)(也稱數(shù)據(jù)的物理結(jié)構(gòu))。所謂循環(huán)隊(duì)列,就是將隊(duì)列存儲(chǔ)空間的最后一個(gè)位置繞到第一個(gè)位置,形成邏輯上的環(huán)狀空間。供隊(duì)列循環(huán)使用??芍h(huán)隊(duì)列應(yīng)當(dāng)是物理結(jié)構(gòu)。
35.前件前件
36.空間空間解析:算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。一個(gè)算法的空間復(fù)雜度,一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。
37.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[0][2]、a[0][3]
38.i==jk!i&&k!ji==j\r\nk!i&&k!j解析:本題用雙重for循環(huán)寫了一段0~9之間不同的3個(gè)數(shù)構(gòu)成一個(gè)三位數(shù)的程序,因?yàn)橐笕粩?shù)各個(gè)位數(shù)的數(shù)不能相同,所以第一個(gè)空if語(yǔ)句的條件應(yīng)為i==j,即當(dāng)兩個(gè)位數(shù)上的數(shù)相同的時(shí)候,不再執(zhí)行下面的操作,轉(zhuǎn)去執(zhí)行for循環(huán)的下一次循環(huán)。第二個(gè)空,需要判斷第三位上的數(shù)不能與其他兩位的數(shù)相同。
39.3691236912解析:本題考查最基本的for循環(huán):for(cc=1;cc<5;cc++)規(guī)定循環(huán)次數(shù)為4次,每次a+=3即每次a的值增3,但因?yàn)閒un函數(shù)中變量a為static類型,所以每次調(diào)用完于函數(shù)之后,變量a所做的改變都要保存。
40.44解析:strcpy(s1,s2)函數(shù)的作用是將字符串s2中的內(nèi)容拷貝到字符串s1中的內(nèi)容覆蓋。strlen()函數(shù)是求字符串的長(zhǎng)度。本題實(shí)際上是要求s2字符串的長(zhǎng)度,即是4。
41.B解析:函數(shù)調(diào)用的一般形式為:函數(shù)名(形參表)若函數(shù)無(wú)形參,調(diào)用形式為:函數(shù)名(),當(dāng)所調(diào)用的函數(shù)用于求出某個(gè)值時(shí),函數(shù)的調(diào)用可作為表達(dá)式出現(xiàn)在允許表達(dá)式出現(xiàn)的任何地方,本題中調(diào)用語(yǔ)句的參數(shù)個(gè)數(shù)為2個(gè)。
42.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ì)它們的定義和分類。
43.D解析:一維數(shù)組的定義方式為:
類型說(shuō)明符數(shù)組名[常量表達(dá)式];
選項(xiàng)A符合此定義形式,正確;C語(yǔ)言中多維數(shù)組賦初值時(shí)可以部分賦值,也可以不指定除第一維以外的其他維的大小,故選項(xiàng)C正確;另外,如果對(duì)全部數(shù)組元素都賦初值,則定義數(shù)組時(shí)對(duì)第一維的長(zhǎng)度可以不指定,但第二維的長(zhǎng)度不能省,所以選項(xiàng)B正確,而選項(xiàng)D是錯(cuò)誤的。
44.C解析:變量z被定義為整型,所以選項(xiàng)B和D不符合題意,首先被排除。變量x和y也被定義為整型,所以表達(dá)式x/y的值為整數(shù)1,最后z被賦值為3,選項(xiàng)C正確。
45.B解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。在函數(shù)調(diào)用時(shí),實(shí)參和其所對(duì)應(yīng)的形參分別占用不同的存儲(chǔ)單元,彼此之間只是實(shí)參將值傳遞給形參.
46.C解析:本題涉及C語(yǔ)言基本的3個(gè)知識(shí)點(diǎn):①C語(yǔ)言的源程序是由函數(shù)構(gòu)成的,函數(shù)是其基本單位,每一個(gè)函數(shù)完成相對(duì)獨(dú)立的功能,其中只能包括一個(gè)主函數(shù);②C語(yǔ)言規(guī)定每個(gè)語(yǔ)句以分號(hào)結(jié)束,其書寫格式是自由的,一條語(yǔ)句可以寫在不同的行上,或者一行也可以寫多條語(yǔ)句;③注釋行雖然對(duì)程序的運(yùn)行不起作用,但是它可以方便程序員閱讀,提高程序的可讀性和可移植性,所以書寫注釋行還是很有必要的。
47.A解析:本題考查了二維數(shù)組元素的引用方法。選項(xiàng)A中a引指向了數(shù)組a的第i+1行,*(a+i)則是第i+1行第0列的地址值,*(a+i)+j指向了數(shù)組a第i+1行,j+1列,*(*(a+i)+j)取到的是數(shù)組a的a[i][j]的元素。
48.B解析:函數(shù)fun中的a和b是全局變量,在main函數(shù)中全局變量a和b不起作用。因此調(diào)用函數(shù)fun后main中a和b的值不變,a=5、b=7。
49.A解析:C語(yǔ)言中比較表達(dá)式的運(yùn)算結(jié)果為0或1。0代表不成立,1表示成立。
50.C解析:算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)。算法的空間復(fù)雜度是指算法執(zhí)行過(guò)程中所需的存儲(chǔ)空間。
51.A
52.C答案C
解析:在語(yǔ)句“k=*f(a,b)”中,由于“()”的優(yōu)先級(jí)高于“*”,所以“*f(a,b);”表示其返回類型為指針的帶有兩個(gè)整型參數(shù)的函數(shù)。
53.B解析:二維數(shù)組指針第一個(gè)for循環(huán)中,第一次循環(huán)ptr指向a[0][0]的首地址,所以經(jīng)過(guò)輸入語(yǔ)句,a[0][0]=1;第二次循環(huán)ptr指向a[1][0]的首地址,所以經(jīng)過(guò)輸入語(yǔ)句,a[1][0]=2。此時(shí),除了這兩個(gè)元素,其他元素沒有改變,等于初值0。
54.C解析:棧是一種后進(jìn)先出表,選項(xiàng)C中,先出棧的是3,說(shuō)明此時(shí)棧內(nèi)必然有1,2,由于1先于2進(jìn)淺,所以1不可能在2之前出棧,故選項(xiàng)C這種出棧序列是不可能的。
55.A解析:線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的結(jié)點(diǎn)空間是動(dòng)態(tài)生成的,它們?cè)趦?nèi)存中的地址可能是連續(xù)的,也可能是不連續(xù)的。
56.A解析:選項(xiàng)C中語(yǔ)句'*C=&t;'錯(cuò)誤;選項(xiàng)D中指針'L=\'\\0\''不正確,L應(yīng)指向確定的地址單元,而不是特定的值;選項(xiàng)B中語(yǔ)句'float*f=NU
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)控車間安全生產(chǎn)制度
- 生產(chǎn)線中午值班制度
- 商業(yè)安全生產(chǎn)例檢制度
- 電站安全生產(chǎn)制度范本
- 新產(chǎn)品生產(chǎn)計(jì)劃管理制度
- 2026山東臨沂市莒南縣部分事業(yè)單位招聘綜合類崗位工作人員29人備考考試題庫(kù)附答案解析
- 鋁材生產(chǎn)訂單管理制度
- 規(guī)劃局安全生產(chǎn)制度
- 艾滋病孕婦生產(chǎn)制度
- 化工生產(chǎn)車間制度
- 2026年河南農(nóng)業(yè)職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性考試參考題庫(kù)含答案解析
- 2024–2025學(xué)年度第一學(xué)期期末卷 八年級(jí)歷史(試題)
- 城市軌道交通服務(wù)員(城市軌道交通站務(wù)員)考核要素細(xì)目表與考核內(nèi)容結(jié)構(gòu)表
- JBT 12530.4-2015 塑料焊縫無(wú)損檢測(cè)方法 第4部分:超聲檢測(cè)
- 江西省吉安市初中生物七年級(jí)期末下冊(cè)高分預(yù)測(cè)題詳細(xì)答案和解析
- 《中國(guó)心力衰竭診斷和治療指南2024》解讀(總)
- DZ∕T 0033-2020 固體礦產(chǎn)地質(zhì)勘查報(bào)告編寫規(guī)范(正式版)
- 瀝青拌合站方案
- (汪曉贊)運(yùn)動(dòng)教育課程模型
- GB/T 42677-2023鋼管無(wú)損檢測(cè)無(wú)縫和焊接鋼管表面缺欠的液體滲透檢測(cè)
- 輪機(jī)英語(yǔ)題庫(kù)
評(píng)論
0/150
提交評(píng)論