版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021-2022年江西省新余市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.下列程序的輸出結(jié)果是()。#include<stdio.h>main{inti;for(i=1;i<=10,i++){if((i*i>=20)&&(i*i<=100))break;}printf("%d\n",i*i;}A.49B.36C.25D.64
2.若在線性表中采用折半查找法查找元素,該線性表應(yīng)該()A.元素按值有序B.構(gòu)采用順序存儲結(jié)C.元素按值有序且采用順序存儲結(jié)構(gòu)D.元素按值有序且采用鏈?zhǔn)酱鎯Y(jié)構(gòu)
3.以下程序的輸出結(jié)果是().A.A.2222B.2468C.222D.246
4.設(shè)x為int型變量,則執(zhí)行以下語句后,x的值為()。x=10;x=x-=x-x;
A.10B.20C.40D.30
5.有以下程序:#include<stdlo.h>main(){FILE*fp;inti,k,n;fp=fopen("data.dat","w+")for(i=1;i<6;i++){fprintf(fp."%d",i);if(i%3==0)fprintf(fp,"\n");}rewind(fp);fscanf(fp."%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);
A.00B.12345C.14D.1
6.數(shù)組A[5][6]的每個(gè)元素占五個(gè)字節(jié),將其按列優(yōu)先次序存儲在起始地址為1000的內(nèi)存單元中,下標(biāo)從1開始,則元素A[5][5]的地址是()。
A.1175B.1180C.1205D.1120
7.有下列程序:main(){char*P[]={"3697","2584");inti,j;longnum=0;for(i=0;i<2;i++){j=0;while(p[i][j]!=\0){if((p[i][j]-t\0)%2)num=10*num+p[j][j]-0;j+=2;}}printf("%d\n",num);}程序執(zhí)行后的輸出結(jié)果是()。A.35B.37C.39D.3975
8.以下正確的敘述是()。
A.在C程序中,每行中只能寫一條語句
B.若a是實(shí)型變量,C程序中允許賦值a=10,因此實(shí)型變量中允許存放整型數(shù)
C.在C程序中,無論是整數(shù)還是實(shí)數(shù),都能被準(zhǔn)確無誤地表示
D.在C程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符
9.算法是指為解決某個(gè)特定問題而采取的確定且有限的步驟,下面不屬于算法的五個(gè)特性的是A.A.有零個(gè)輸入或多個(gè)輸入B.高效性C.有窮性D.確定性
10.有以下程序:fun(intx){intP;if(x==0||x==l)return(3);p=x-fun(x-2);returnp;}main{printf("%d\n",fun(7));}程序執(zhí)行后的輸出結(jié)果是()。A.7B.3C.2D.0
11.以下數(shù)據(jù)結(jié)構(gòu)中,()是線性結(jié)構(gòu)。
A.有向圖B.棧C.線索二叉樹D.B樹
12.以下敘述錯(cuò)誤的是()。
A.算術(shù)運(yùn)算符中不包含“=”運(yùn)算符
B.模運(yùn)算符“%”是c語言基本的算術(shù)運(yùn)算符
C.算術(shù)運(yùn)算符中只有“*”、“/”優(yōu)先級高于關(guān)系運(yùn)算符
D.自加和自減運(yùn)算符只能用于變量,而不能用于常量或表達(dá)式
13.下列選項(xiàng)中,不是一個(gè)算法的基本特征的是()。
A.完整性B.可行性C.有窮性D.擁有足夠的情報(bào)
14.if語句的基本形式是“if(表達(dá)式)語句”,以下關(guān)于“表達(dá)式”值的敘述中正確的是()。
A.必須是邏輯值B.必須是整數(shù)值C.必須是正數(shù)D.可以是任意合法的數(shù)值
15.串是一種特殊的線性表,其特殊性體現(xiàn)在()。
A.可以順序存儲B.數(shù)據(jù)元素是一個(gè)字符C.可以鏈接存儲D.數(shù)據(jù)元素可以是多個(gè)字符
16.用樹形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型的是
A.關(guān)系模型B.網(wǎng)狀模型C.層次模型D.以上三個(gè)都是
17.對于長度為n的線性表,在最壞情況下,下列各種排序法所對應(yīng)的比較次數(shù)中正確的是(
A.冒泡排序?yàn)閚/2B.冒泡排序?yàn)閚C.快速排序?yàn)閚D.快速排序?yàn)閚(n-1)/2
18.
19.以下敘述中錯(cuò)誤的是()。
A.一個(gè)C程序中可以包含多個(gè)不同名的函數(shù)
B.一個(gè)C程序只能有一個(gè)主函數(shù)
C.C程序在書寫時(shí),有嚴(yán)格的縮進(jìn)要求,否則不能編譯通過
D.C程序的主函數(shù)必須用main作為函數(shù)名
20.
二、2.填空題(20題)21.下面的程序?qū)崿F(xiàn)的是從指針p所指向的地址的n個(gè)數(shù)中,找出最大的和最小的數(shù)據(jù),請?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.語句:x++;++x;x=1+x;執(zhí)行后都使變量x中的值增1,請寫出一條同一功能的賦值語句______。
23.以下程序運(yùn)行后的輸出結(jié)果是______。
main
{
inna=b=c=5:
if(c=a+b)
printf("yes\n);
else
printf("no\n);
}
24.以下程序的功能是根據(jù)輸入的"y"("Y")與"n"("N"),在屏幕上分別顯示出"ThisisYES."與"ThisisNO."??瞻滋幮枰钊氲膬?nèi)容是
#include<stdio.h>
voidYesNo(charch)
{switch(ch)
{case′y′:
case′Y′:printf("\nThisisYES.\n");
case′n′:
case′N′:printf("\nThisisNO.\n");}
main()
{charch;
printf("\nEnterachary,Yorn,N:");
ch=【】;
printf("ch;%c",ch);
YesNo(ch);}
25.以下條件表達(dá)式可計(jì)算:1+|a|的值,請?zhí)羁铡?/p>
a>=0?【】:【】
26.在宏定義#definePI3.14159中,用宏名PI代替一個(gè)______。
27.用指針法求出數(shù)組元素中最大者和最小者。
intmax,min;
voidmax_min_value(array,n)
intarray[],n;
{【】;
max=min=*array;
for(【】;p<array+n;p++)
if(*p>max)max=*p;
elseif(*p<min)min=*p;
}
main()
{inti,number[20],*p;
p=number;
printf("輸入20個(gè)數(shù)據(jù):\n");
for(i=0;i<20;i++,p++)scanf("%d",p);
【】;
max_min_value(p,10);
printf("max=%-10dmin=%d\n",max,rain);
}
28.在關(guān)系模型中,二維表的行稱為______。
29.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體"項(xiàng)目主管"與實(shí)體"項(xiàng)目"的聯(lián)系屬于【】的聯(lián)系。
30.以下程序的定義語句中,x[1]的初值是(),程序運(yùn)行后輸出的內(nèi)容是()。#include<stdio.h>main(){intx[]={1,2,3,4,5,6,7,8,9,10,1l,12,13,14,15,16},*p[4],i;for(i=0;i<4;i++){p[i]=&x[2*i+1],printf("q%d”,p[i][0]);}printf("\n");}
31.下列程序的運(yùn)行結(jié)果為【】。
main()
{
intx,y,z;
X=12;
y=012;
z=0l2;
printf("%d,%d,%d\n",x,y,z);
}
32.C語言用于結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)是______、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。
33.執(zhí)行下列語句段后,x的值是______。
int*p,x;
x=100;
p=&x;
x=*p+50;
34.實(shí)現(xiàn)程序可將磁盤中的一個(gè)文件復(fù)制到另一個(gè)文件中,兩個(gè)文件的文件名在可執(zhí)行命令的命令行中(相當(dāng)于copy命令),假定文件在當(dāng)前目錄下。請補(bǔ)全程序。
#include<stdio.h>
voidmain(intargc,char*argv[])
{FILE*f1,*f2;
if(argc<【】)
{printf("parametererror!\n");exit(0);}
f1=fopen(argv[1],"r");
f2=fopen(argv[2],"w");
while(【】)fputc(fgetc(f1),f2);
fclose(f1);
fclose(f2);
}
35.設(shè)函數(shù)findbig已定義為求3個(gè)數(shù)中的最大值。以下程序?qū)⒗煤瘮?shù)指針調(diào)用findbig函數(shù)。請?zhí)羁铡?/p>
main()
{
intfindbig(int,int,int);
int(*f)(),x,yz,z,big;
f=【】;
scanf("%d%d%d",&X,&y,&z);
big=(*f)(x,y,z);
printf("big=%d\n",big);
}
36.以下程序從終端輸入一行字符放在s數(shù)組中,輸入以回車符作為結(jié)束,函數(shù)fun統(tǒng)計(jì)存放在s數(shù)組中每個(gè)數(shù)字字符的個(gè)數(shù)。形參ch指向s數(shù)組,形參n給出了s數(shù)組中字符的個(gè)數(shù)。在acc數(shù)組中用下標(biāo)為0的元素統(tǒng)計(jì)字符“0”的個(gè)數(shù),下標(biāo)為1的元素統(tǒng)計(jì)字符“1”的個(gè)數(shù),…。請?zhí)羁铡?/p>
#include<stdio.h>
voidfun(int*,char*,int);
main()
{chars[80],c;intacc[10],i=0;
printf("Entercharacters:\n");
while((c=getchar())!='\n')s[【】]=c;
fun(【】);
for(i=0;i<10;i++)printf("%c:%d\n",'0'+i,acc[i]);
printf("\n\n");
}
voidfun(int*a,char*ch,intn)
{inti,d;
for(i=0;i<10;i++)a[i]=【】;
for(i=0;i<n;i++)
{d=【】;a[d]++;}
}
37.有以下程序:
#include<stdio.h>
main()
{intt=1,i=5;
for(;i>=0;i--)t*=i;
printf("%d\n",t);
}
執(zhí)行后的輸出結(jié)果是【】。
38.下面程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
#defineSIZE12
main()
{chars[SIZE];inti;for(i=0;i<SIZE;i++)s[i]='A'+i+321;
sub(s,7,SIZE-1);
for(i=0;i<SIZE;i++)printf("%c",s[i]);
printf("\n");}
sub(char*a,inttl,intt2)
{charch;
while(t1<t2)
{ch=*(a+t1);
*(a+t1)=*(a+t2);
*(a+t2)=ch;
t1++;t2--;}}
39.若有程序:
main()
{inti,j;
scanf('i=%d,j=%d";&i,&j);
printf("i=%d,j=%d\n",i,j);
}
要求給i賦10,給j賦20,則應(yīng)該從鍵盤輸入上【】。
40.算法的執(zhí)行過程中,所需要的存儲空間稱為算法的【】。
三、1.選擇題(20題)41.在具有n(n>1)個(gè)結(jié)點(diǎn)的完全二叉樹中,結(jié)點(diǎn)i(2i>n)的左孩子結(jié)點(diǎn)是______。
A.2iB.2i+1C.不存在D.2i-1
42.若有如下程序段,其中s、a、b、c均已定義為整型變量,且a、c均已賦值(c大于0)s=a;for(b=1;b<=c;b++)s=s+1;則與上述程序段功能等價(jià)的賦值語句是()。
A.s=a+b;B.s=a+c;C.s=s+c;D.s=b+c;
43.在下列給出的表達(dá)式中,與while(E)中的(E)不等價(jià)的表達(dá)式是()。
A.(!E==0)B.(E>0‖E<0)C.(E==0)D.(E!=0)
44.以下選項(xiàng)中,能用作數(shù)據(jù)常量的是()。
A.18B.11C.0.800.5D.25L
45.現(xiàn)有如下程序段#include"stdio.h"#include"string.h"main(){chara[]="acfijk";/*這里是有序的字符序列*/charb[]="befijklqswz";/*這里是有序的字符序列*/charc[80],*p;inti=0,j=0,k=0;while(a[i]!='\0'&&b[j]!='\0'){if(a[i]<b[j])c[k++]=a[i++];elseif(a[i]>b[j])c[k++]=b[j++];else{c[k++]=b[j++];i++;}}while(a[i]=='\0'&&b[j]!='\0')c[k++]=b[j++];while(a[i]!=,'\0'&&b[j]=='\0')c[k++]=a[i++];c[k]='\0';puts(c);}則輸出結(jié)果是
A.acfijkbefijklqswz
B.abceffiijjkklqswz
C.befijklqswzacfijk
D.abcefijklqswz
46.下列有關(guān)數(shù)據(jù)庫的描述,正確的是______。
A.數(shù)據(jù)庫是一個(gè)DBF文件B.數(shù)據(jù)庫是一個(gè)關(guān)系C.數(shù)據(jù)庫是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)集合D.數(shù)據(jù)庫是一組文件
47.下列數(shù)據(jù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是()。
A.循環(huán)隊(duì)列B.棧C.順序表D.循環(huán)鏈表
48.以下程序的輸出結(jié)果是______。main(){inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=0;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("%d\n",s);}
A.18B.19C.20D.21
49.數(shù)據(jù)庫設(shè)計(jì)的根本目標(biāo)是要解決()。
A.數(shù)據(jù)共享問題B.數(shù)據(jù)安全問題C.大量數(shù)據(jù)存儲問題D.簡化數(shù)據(jù)維護(hù)
50.下面程序的輸出結(jié)果是#include<stdio.h>main(){inta[]={1,2,3,4,5,6,7,8,9,0},*p;p=a;printf("%d\n",*p+9);}
A.0B.1C.10D.9
51.下列選項(xiàng)中,不是一個(gè)算法的基本特征的是()。
A.完整性B.可行性C.有窮性D.擁有足夠的情報(bào)
52.有以下程序段:intk=0,a=1,b=2,c=3;k=a<b?b:a;k=k>c?c:k;執(zhí)行該程序段后,k的值是______。A.3B.2C.1D.0
53.數(shù)據(jù)的存儲結(jié)構(gòu)是指______。
A.數(shù)據(jù)所占的存儲空間量B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲方式D.存儲在外存中的數(shù)據(jù)
54.設(shè)有下面的程序段:chars[]="china";char*p;p=s;則下列敘述正確的是
A.s和p完全相同
B.數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相同
C.s數(shù)組長度和p所指向的字符串長度相等
D.*p與s[0]相等
55.下列選項(xiàng)中,不屬于模塊間耦合的是()
A.內(nèi)容耦合B.異構(gòu)耦合C.控制耦合D.數(shù)據(jù)耦合
56.已知char**S,下面正確的語句是()。
A.s="ABCDEF";B.*s="ABCDEF";C.**s="ABCDEF";D.*s='A';
57.下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是()。
A.順序存儲的有序線性表B.線性鏈表C.二叉鏈表D.有序線性鏈表
58.在單鏈表中,增加頭結(jié)點(diǎn)的目的是______。
A.方便運(yùn)算的實(shí)現(xiàn)B.使單鏈表至少有一個(gè)結(jié)點(diǎn)C.標(biāo)識表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置D.說明單鏈表是線性表的鏈?zhǔn)酱鎯?shí)現(xiàn)
59.若變量已正確定義并賦值,以下符合C++語言語法的表達(dá)式是()。
A.a:=b+1B.a=b=c+2C.int18.5%3D.a=a+7=c+b
60.數(shù)據(jù)的存儲結(jié)構(gòu)是指()。
A.數(shù)據(jù)所占的存儲空間
B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的存放形式
C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲方式
D.存儲在計(jì)算機(jī)外存中的數(shù)據(jù)
四、選擇題(20題)61.
62.最初的計(jì)算機(jī)編程語言是()。
A.機(jī)器語言B.匯編語言C.高級語言D.低級語言
63.若變量已正確定義并賦值,以下符合C++語言語法的表達(dá)式是()。
A.a:=b+1B.a=b=c+2C.int18.5%3D.a=a+7=c+b
64.下列判斷正確的是()。
A.chara="ABCD":等價(jià)于char*a;*a="ABCD":
B.charstr[10]={"ABCD"}:等價(jià)于charstr[10];str[]={"ABCD"};
C.char*s="ABCD":等價(jià)于chars;*s="ABCD";
D.charc[5]="ABCD",d[5]="ABCD":等價(jià)于charc[5]-d[5]="ABCD";
65.設(shè)“intx=2,y=1;”,則表達(dá)式(!x||Y--)的值是()。
A.0B.1C.2D.-1
66.有以下程序語句,正確的是()。
chara,b,c*d;
A)a=′56′;B)b=′\xbc′;
C)c=′\0xab′;D)d=′\0127′;
67.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
A.143B.197C.33D.28
68.下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是A.循環(huán)隊(duì)列B.帶鏈隊(duì)列C.二叉樹D.帶鏈棧
69.有下列程序:main{chars[]="abcde";s+=2:printf("%d\n",s[0]);}執(zhí)行后的結(jié)果是()。
A.輸出字符a的ASCII碼B.輸出字符c的ASCII碼C.輸出字符cD.程序出錯(cuò)
70.下列關(guān)于棧的敘述中正確的是()。
A.在棧中只能插入數(shù)據(jù),不能刪除數(shù)據(jù)
B.在棧中只能刪除數(shù)據(jù),不能插入數(shù)據(jù)
C.棧是先進(jìn)后出(FILO.的線性表
D.棧是先進(jìn)先出(FIFO.的線性表
71.
72.有以下程序
#include<stdio.h>
voidprt(int*x,int*y,int*z)
{printf("%d,%d,%d\n",++*x,++*y,*z++);}
main()
{inta=10,b=40,c=20;
prt(&a,&b,&c);
prt(&a,&b,&c);
}
程序的輸出結(jié)果是
73.
74.有以下程序:
#include<stdio.h>
intfun
{staticintx=1;
x+=1;returnX;
}
main
{inti,S=1;
for(i=1;i<=S;i++)s+=fun;
printf("%d\n",s);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.11B.21C.6D.120
75.有如下程序:main(){intx=23;do{printf(”%d”,x--);}while(!x);}該程序的執(zhí)行結(jié)果是()。A.321B.23C.不輸出任何內(nèi)容D.陷入死循環(huán)
76.
有下列程序:
#include<stdio.h>
main
{intx=0;
inty=0;
while(x<7&&++v)
{y--;
x++;}
printf("%d,%d",y,x);
}
程序的輸出結(jié)果是()。
A.0,7B.7,7C.0,6D.1,6
77.
78.對于一個(gè)正常運(yùn)行的C程序,以下敘述中正確的是()。A.程序的執(zhí)行總是從main函數(shù)開始
B.程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開始,在main函數(shù)結(jié)束
C.程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個(gè)函數(shù)中結(jié)束
D.程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開始,在程序的最后一個(gè)函數(shù)中結(jié)束
79.
80.以下敘述中錯(cuò)誤的是()。
A.C程序?qū)︻A(yù)處理命令行的處理是在程序執(zhí)行的過程中進(jìn)行的
B.預(yù)處理命令行的最后不能以分號表示結(jié)束
C.#defineMAX是合法的宏定義命令行
D.在程序中凡是以“#”開始的語句行都是預(yù)處理命令行
五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun的功能是:將tt所指字符串中的小寫字母全部改為對應(yīng)的大寫字母,其他字符不變。
例如,若輸入“Ab,cD”,則輸出“AB,CD”。
請改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:部分源程序在文件MODIl.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
六、程序設(shè)計(jì)題(1題)82.請編寫一個(gè)函數(shù),用來刪除字符串中的所有*。例如,輸入abc*de*f*gh,則輸出為abcdefgh。注意:部分源程序給出如下。請勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。試題程序:
參考答案
1.C本題考查for循環(huán)及if語句。當(dāng)執(zhí)行到第一個(gè)滿足(i*i>一20)&&(i*i<=100)這個(gè)條件的i出現(xiàn)時(shí),break跳出循環(huán),執(zhí)行下列的printf語句。
2.C
3.D
4.A執(zhí)行x=x-=x-x語句可寫成x=x-(x-x),可看出結(jié)果為10,故八選項(xiàng)正確。
5.D解析:在for循環(huán)中用fpfinff(fp,'%d',i);將循環(huán)變量的值1~5輸出到fp指向的文件data.dat中,輸出3個(gè)數(shù)后換行。執(zhí)行rewind(fP)使文件指針重新返回到文件的開頭,再執(zhí)行fscanf(fp,'%d%d',&k,&n)將磁盤文件中的前兩個(gè)數(shù)輸入給變量k,n,并將其輸出到屏幕上。
6.D
7.D執(zhí)行第一次for循環(huán)時(shí),用表達(dá)式p[i][J]!=\o來判斷字符串?dāng)?shù)組指針P是否到達(dá)字符串的結(jié)尾,如果沒有到達(dá),繼續(xù)執(zhí)行while中的語句。if語句表示(p[i][j]-\o)除2的余數(shù)不為0時(shí),即字符串所有奇數(shù),執(zhí)行后面的語句。所以退出第1次for的循環(huán)體時(shí),輸出為397,執(zhí)行第2次循環(huán)體。對字符串“2584”進(jìn)行處理,輸出結(jié)果為5,因而最后輸出結(jié)果為3975。
8.D
9.B
10.C在函數(shù)funlintx)中,有個(gè)if語句判斷,如果參數(shù)x等于0或1時(shí),返回值,否則進(jìn)入下面的p=x-fun(x-2)遞歸函數(shù)。當(dāng)在主函勢中調(diào)用fun(7)時(shí),其過程為:“fun(7)=7-fun(5)=7-(5一fun(3))=7-(5-(3-fun(1)))=7-(5-(3—3))=7-5=2”,所以最后的輸出結(jié)果為2。
11.B
12.C
13.A解析:作為一個(gè)算法,一般應(yīng)該具有下列4個(gè)特征:(1)可行性,即考慮到實(shí)際的條件能夠達(dá)到一個(gè)滿意的結(jié)果;(2)確定性,算法中的每一個(gè)步驟都必須是有明確定義的,(3)有窮性,一個(gè)算法必須在有限的時(shí)間內(nèi)做完;(4)擁有足夠的情報(bào)。
14.Dif語句中的表達(dá)式可以是任意合法的數(shù)值,如常量、變量表達(dá)式。故本題答案為D選項(xiàng)。
15.B
16.C解析:在數(shù)據(jù)庫系統(tǒng)中,由于采用的數(shù)據(jù)模型不同,相應(yīng)的數(shù)據(jù)庫管理系統(tǒng)(DBMS)也不同。目前常用的數(shù)據(jù)模型有三種:層次模型、網(wǎng)狀模型和關(guān)系模型。在層次模型中,實(shí)體之間的聯(lián)系是用樹結(jié)構(gòu)來表示的,其中實(shí)體集(記錄型)是樹中的結(jié)點(diǎn),而樹中各結(jié)點(diǎn)之間的連線表示它們之間的關(guān)系。因此,本題的正確答案是C。
17.D在最壞情況下,冒泡排序和快速排序的比較次數(shù)都是n(n一1)/2。【知識拓展】所謂冒泡排序,就是將相鄰的兩個(gè)數(shù)據(jù)比較,如前面的數(shù)據(jù)大于后面的,則位置互換。這樣不停地比較、互換,其實(shí)就是把大的數(shù)往后排,小的數(shù)往前排(就像冒泡一樣冒出來了)。
18.D
19.C【答案】C
【知識點(diǎn)】C程序的函數(shù)
【解析】C程序必須有且只有一個(gè)主函數(shù)main()。一個(gè)C程序可以包含多個(gè)不重名的子函數(shù)。C程序在書寫時(shí)沒有嚴(yán)格的縮進(jìn)要求,語句前的縮進(jìn)隨意。
20.D
21.
22.x+=1x+=1解析:本題考查“++”,“--”運(yùn)算符?!?+”、“--”只能作用于變量,不能用于表達(dá)式或常量;前綴形式是在使用變量之前先將其值增1或減1,后綴形式是先使用變量原來的值,使用完后再使其增1或減1。
23.yesyes解析:if...else構(gòu)造了一種二路分支選擇,是一種最基本的選擇結(jié)構(gòu)。本題中,if后面括號里的表達(dá)式為c=a+b為真(即c=1+3=4為真);所以,執(zhí)行s1,即執(zhí)行prinff('yes\\'),最后輸出yes。
24.getchargetchar解析:考查了字符可以作為整型變量來對待,參與操作。題中要求根據(jù)輸入的字符調(diào)用函數(shù)YesNo來判斷輸入的字符是y(Y)還是n(N),字符的輸入可用字符輸入函數(shù)getchar。函數(shù)YesNo用來判斷一個(gè)字符是y(Y)還是n(N),主要用了一個(gè)switch多分支結(jié)構(gòu)來比較輸入字符與字符\ue008'y',\ue009'Y'、,'n','N'是否相等來實(shí)現(xiàn)的。
25.1+a1-a1+a\r\n1-a解析:因?yàn)轭}目中求的是1+|a|的值,即1和a的絕對值之和。所以根據(jù)數(shù)學(xué)中求絕對值的規(guī)則,當(dāng)a>=0時(shí),絕對值取本身,當(dāng)a<0時(shí),絕對值取相反數(shù),再結(jié)合條件運(yùn)算符的計(jì)算規(guī)則可得到本題的答案為a>=0。注意:逗號表達(dá)式的求值規(guī)則。
26.字符串字符串解析:本題考查字符替換格式:#define標(biāo)識符字符串。
27.int*pp=array+1p=numberint*p\r\np=array+1\r\np=number解析:函數(shù)max_min_value()中用到了指針變量p,顯然應(yīng)在第一個(gè)空格處填int*p。函數(shù)max_min_value()中的for循環(huán)逐一把數(shù)組中的元素與max和min的當(dāng)前值進(jìn)行比較。max和rain的初值是數(shù)組的第1個(gè)元素值,第1次比較應(yīng)與第2個(gè)元素比較,即array+1。第二個(gè)空格處應(yīng)填p=array+1。主函數(shù)main()中的指針變量p首先指向數(shù)組number的第1個(gè)元素,當(dāng)?shù)?個(gè)for循環(huán)結(jié)束時(shí),它指向數(shù)組的最后一個(gè)元素。若這時(shí)將p作為實(shí)參傳給被調(diào)用函數(shù),形參array[]數(shù)組的首址將是number口數(shù)組的最后元素的地址,而number[]數(shù)組的前n-1個(gè)元素不能參加比較,這將引起計(jì)算出錯(cuò)。因此,在調(diào)用max_min_value()函數(shù)之前,應(yīng)將指針p指向number[]數(shù)組首址,即在第三個(gè)空格應(yīng)填寫p=umber。
28.元組元組解析:在關(guān)系型數(shù)據(jù)庫中,用二維表來表示關(guān)系,二維表的表名即關(guān)系名,二維表的行稱為關(guān)系的元組,二維表的列,稱為關(guān)系的屬性。
29.一對多(或1∶N)一對多(或1∶N)解析:兩個(gè)實(shí)體集間的聯(lián)系實(shí)際上是實(shí)體集間的函數(shù)關(guān)系,這種函數(shù)關(guān)系可以有3種,即一對一(1∶1)的聯(lián)系、一對多(1∶N)或多對一(N∶1)的聯(lián)系和多對多(N∶N)的聯(lián)系。
30.2246822468解析:p為指向數(shù)組的指針變量,數(shù)組x[1]為數(shù)組x[]的第二個(gè)元素,值為2;進(jìn)入for循環(huán)i=0時(shí),p[0]=&x[1]…直到循環(huán)完畢,指針分別指向數(shù)組x[]中的第2、4、6、8個(gè)元素,所以第二個(gè)空白處應(yīng)填2468。
31.12101812,10,18解析:本題定義了3個(gè)整型變量x、y、z,并分別用十進(jìn)制數(shù)、八進(jìn)制數(shù)、十六進(jìn)制數(shù)為它們賦值。然后以十進(jìn)制整型輸出這3個(gè)變量。八進(jìn)制數(shù)012的十進(jìn)制表示為10,十六進(jìn)制數(shù)0x12的十進(jìn)制表示為18。此外輸出函數(shù)格式控制中的“,”原樣輸出。
32.順序結(jié)構(gòu)順序結(jié)構(gòu)解析:結(jié)構(gòu)化程序有3種摹本結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)(包括if語句和switch語句)和循環(huán)結(jié)構(gòu)(包括for語句、while語句、do…while語句)。
33.150150解析:本題先給變量x賦初始值100,然后將指針p指向變量x,*p是取指針p所指地址的內(nèi)容,即100,所以x=100+50=150。
34.3!feof(f1)3\r\n!feof(f1)解析:要實(shí)現(xiàn)文件復(fù)制,需要指定源文件及目的文件,因此在命令行下執(zhí)行程序時(shí)至少要指定兩個(gè)參數(shù),加上程序名本身,故argc的值至少為3,因此第一空應(yīng)填3。while循環(huán)中語句fputc(fgetc(f1),f2);的目的是將f1中的字符依次讀出并寫入到f2對應(yīng)的文件中去,直至文件f1結(jié)束為止,因此第二空為!feof(f1)。
35.findbigfindbig解析:本題首先定義了一個(gè)指向函數(shù)的指針變量f,如果希望讓它指向某個(gè)函數(shù),只需把函數(shù)名賦給該指針變量即可。所以本題的空白處應(yīng)該填入函數(shù)名findbig。
36.i++accsi0ch[i]-'0'
37.00解析:本題是計(jì)算5*4*3*2*1*0的值,結(jié)果為0。
38.abcdefglkjihabcdefglkjih解析:本題主要考查了字符變量可參與的運(yùn)算。因?yàn)樽址谟?jì)算機(jī)中是以ASCII碼的形式存放的,所以字符變量可看作整型變量來處理,如參與算術(shù)運(yùn)算等,某字符的大寫字母的ASCII碼值比它對應(yīng)的小寫字母ASCII碼值小32。
39.i=10j=20i=10,j=20解析:該函數(shù)的第一個(gè)參數(shù)是格式字符串,主要由兩類字符組成,一類是非格式符要求原樣輸入,一類是格式符對應(yīng)要輸入的變量,所以本題中應(yīng)該原樣輸入i=,j=,后面分別給變量10和20,故空格處應(yīng)該填入i=10,j=20。
40.空間復(fù)雜度空間復(fù)雜度解析:算法執(zhí)行時(shí)所需要的存儲空間,稱為算法的空間復(fù)雜度。
41.C解析:完全二叉樹中葉子結(jié)點(diǎn)一定在最后一層或兩層。n個(gè)結(jié)點(diǎn)的完全二叉樹中,其層數(shù)最多為log2n+1。結(jié)點(diǎn)i與雙親的關(guān)系是i≠1時(shí),i的雙親是trunc(i/2)。結(jié)點(diǎn)i與子女的關(guān)系是:若2i≤n,則i的左孩子是標(biāo)號2i的結(jié)點(diǎn),若2i>n,則不存在左孩子;若2i+1≤n,則i的右孩子是標(biāo)號2i+1的結(jié)點(diǎn),若2i+1>n,則該結(jié)點(diǎn)不存在右孩子。
42.B解析:本題考核的知識點(diǎn)是for循環(huán)次數(shù)的計(jì)算.本程序中for循環(huán)的次數(shù)為c-1+1共循環(huán)了c次,而每循環(huán)一次s的值加1,所以s的值為s+c.而最開始s的值為a,故4個(gè)選項(xiàng)中選項(xiàng)B符合題意.
43.B解析:在while(E)中,表達(dá)式E可以是C語言中任意合法的條件表達(dá)式,但不能為空,由它來控制循環(huán)體是否執(zhí)行。在選項(xiàng)B)中表達(dá)式E>0‖E<0是一個(gè)邏輯表達(dá)式。
44.D
45.D解析:這個(gè)題目的功能是實(shí)現(xiàn)兩個(gè)有序字符串的合并,合并成一個(gè)新的有序的字符串。
46.C解析:數(shù)據(jù)庫(Database,簡稱DB)是數(shù)據(jù)的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲介質(zhì)內(nèi),是多種應(yīng)用數(shù)據(jù)的集成,并可被各個(gè)應(yīng)用程序所共享。數(shù)據(jù)庫中的數(shù)據(jù)具有“集成”、“共事”之特點(diǎn)。
47.B解析:循環(huán)隊(duì)列是隊(duì)列的一種順序存儲結(jié)構(gòu),隊(duì)列是以先進(jìn)先出為原則組織數(shù)據(jù)的一種特殊線性表,選項(xiàng)A錯(cuò)誤;棧是以先進(jìn)后出為原則組織數(shù)據(jù)的一種特殊線性表,選項(xiàng)B正確;順序表是線性表的順序存儲結(jié)構(gòu),選項(xiàng)C錯(cuò)誤;循環(huán)鏈表是一般線性表的一種鏈?zhǔn)酱鎯Y(jié)構(gòu),選項(xiàng)D錯(cuò)誤。
48.B解析:本題函數(shù)的功能是計(jì)算并輸出一個(gè)二維數(shù)組對角線及對角線下面的元素之和。
49.A解析:由于數(shù)據(jù)的集成性使得數(shù)據(jù)可為多個(gè)應(yīng)用所共享,特別是在網(wǎng)絡(luò)發(fā)達(dá)的今天,數(shù)據(jù)庫與網(wǎng)絡(luò)的結(jié)合擴(kuò)大了數(shù)據(jù)關(guān)系的應(yīng)用范圍。數(shù)據(jù)的共享本身又可極大地減少數(shù)據(jù)冗余性,不僅減少了不必要的存儲空間,更為重要的是可以避免數(shù)據(jù)的不一致性。因此,數(shù)據(jù)庫設(shè)計(jì)的根本目標(biāo)是要解決數(shù)據(jù)共享問題。
50.C解析:此題考查了指針引用一維數(shù)組元素的方法。*p+9因?yàn)檫\(yùn)算符“*”的優(yōu)先級高于“+”,所以輸出結(jié)果為p指向的元素1,然后加9,值為10。
51.A解析:作為一個(gè)算法,一般應(yīng)該具有下列4個(gè)特征:(1)可行性,即考慮到實(shí)際的條件能夠達(dá)到一個(gè)滿意的結(jié)果;(2)確定性,算法中的每一個(gè)步驟都必須是有明確定義的,(3)有窮性,一個(gè)算法必須在有限的時(shí)間內(nèi)做完;(4)擁有足夠的情報(bào)。
52.B解析:本題考查的知識點(diǎn)是條件表達(dá)式.條件運(yùn)算符?:是C語言中唯一的三目運(yùn)算符,它的規(guī)則是先計(jì)算左邊運(yùn)算分量,如果為“真”(非0),則返回中間運(yùn)算分量的值,否則返回右邊運(yùn)算分量的值。本題中因?yàn)閍<b為“真”,所以第1個(gè)條件表達(dá)式的值為b的值2,所以k=2。然后又因?yàn)閗>c為“假’,所以第2個(gè)表達(dá)式的值為k的值2。所以本題應(yīng)該選擇B。
53.B解析:數(shù)據(jù)元素在計(jì)算機(jī)存儲空間中的位置關(guān)系與它們的邏輯關(guān)系不一定是相同的,而且一般不可能相同。數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲空間中的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu),也稱數(shù)據(jù)的物理結(jié)構(gòu)。
54.D解析:考查的是字符指針和字符數(shù)組的區(qū)別。選項(xiàng)A)中,s為數(shù)組名,是一個(gè)常量地址,而指針p為一個(gè)字符變量,不能說兩者完全相同,所以選項(xiàng)A)錯(cuò)誤。選項(xiàng)B)和C)的說法都不嚴(yán)謹(jǐn),只有選項(xiàng)D)的說法正確。
55.B\nB)【解析】耦合可以分為下列幾種,它們之間的耦合度由高到低排列:
\n內(nèi)容耦合——若一個(gè)模塊直接訪問另一模塊的內(nèi)容,則這兩個(gè)模塊稱為內(nèi)容耦合。
\n公共耦合——若一組模塊都訪問同一全局?jǐn)?shù)據(jù)結(jié)構(gòu),則稱為公共耦合。
\n外部耦合——若一組模塊都訪問同一全局?jǐn)?shù)據(jù)項(xiàng),則稱為外部耦合
\n控制耦合——若一模塊明顯地把開關(guān)量、名字等信息送入另一模塊控制另一模塊的功能,則稱為控制耦合。
\n標(biāo)記耦合——若兩個(gè)以上的模塊都需要其余某一數(shù)據(jù)結(jié)構(gòu)的子結(jié)構(gòu)時(shí),不使用其余全局變量的方式而全使用記錄傳遞的方式,這樣的耦合稱為標(biāo)記耦合。
\n數(shù)據(jù)耦合——若一個(gè)模塊訪問另一個(gè)模塊,被訪問模塊的輸入和輸出都是數(shù)據(jù)項(xiàng)參數(shù),則這兩個(gè)模塊為數(shù)據(jù)耦合。
\n直接耦合——若兩個(gè)模塊沒有直接關(guān)系,它們之間的聯(lián)系完全是通過程序的控制和調(diào)用來實(shí)現(xiàn)的,則稱這兩個(gè)模塊為非直接耦合,這樣的耦合獨(dú)立性最強(qiáng)。
\n
56.C解析:“s”是代表數(shù)組首地址的地址常量,不是變量,“=”左邊不能出現(xiàn)常量,因此s='ABCDEF'語法錯(cuò)誤?!?*s”和“s”一樣;“*s”是指變量地址,不能給其賦字符串。
57.A\r\n二分法又叫折半(對分)查找法,只適合于順序存儲的有序表(是指線性表中的元素按值非遞減排列)。二分法的基本思想是:設(shè)有序線性表的長度為n,被查元素為X,則二分查找的方法如下:
將X與線性表的中間項(xiàng)進(jìn)行比較:若中間項(xiàng)的值等于x,則說明找到,查找結(jié)束;若x小于中間項(xiàng)的值,則在線性表的前半部分(即中間項(xiàng)以前的部分)以相同的方法進(jìn)行查找;若X大于中間項(xiàng)的值,則在線性表的后半部分(即中間項(xiàng)以后的部分)以相同的方法進(jìn)行查找、這個(gè)過程-直進(jìn)行到查找成功或于表長度為0,(說明線性表中沒有這個(gè)元素為止)順序存儲的線性袁在計(jì)算機(jī)中-般用一個(gè)-維數(shù)組來表示,在數(shù)組中我們可以通過數(shù)組名和下標(biāo)來對數(shù)組中的任意一個(gè)元素進(jìn)行訪問,而在鏈表(不管是有序還是無序)中,要對元素進(jìn)行訪問必須從表頭結(jié)點(diǎn)開始,順著鏈條一個(gè)一個(gè)結(jié)點(diǎn)進(jìn)行搜索,因此選項(xiàng)A正確
58.A\nA?!窘馕觥款^結(jié)點(diǎn)不僅標(biāo)識了表中首結(jié)點(diǎn)的位置,而且根據(jù)單鏈表(包含頭結(jié)點(diǎn))的結(jié)構(gòu),只要掌握了表頭,就能夠訪問整個(gè)鏈表,因此增加頭結(jié)點(diǎn)的目的是為了便于運(yùn)算的實(shí)現(xiàn)。
\n
59.B解析:a=b=c+2實(shí)際上相當(dāng)于a=(b=c+2),進(jìn)而可分解為兩個(gè)表達(dá)式:b=c+2和a=b。注意:選項(xiàng)A)中包含一個(gè)不合法的運(yùn)算符“:=”;選項(xiàng)C)應(yīng)改為(int)18.5%3;選項(xiàng)D)可理解為兩個(gè)表達(dá)式:a+7=c+b和a=a+7,其中第一個(gè)是錯(cuò)的,因?yàn)镃++語言規(guī)定賦值號的左邊只能是單個(gè)變量,不能是表達(dá)式或常量等。注意:C++語言賦值語句的運(yùn)用,
60.B解析:數(shù)據(jù)的存儲結(jié)構(gòu),又稱為數(shù)據(jù)的物理結(jié)構(gòu),是數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的存放形式,數(shù)據(jù)的存儲結(jié)構(gòu)有順序結(jié)構(gòu)、鏈?zhǔn)浇Y(jié)構(gòu)、散列結(jié)構(gòu)和索引結(jié)構(gòu)等。
61.D
62.A計(jì)算機(jī)編程語言有三類,機(jī)器語言,匯編語言,高級語言。最初的編程語言是機(jī)器語言。
63.B解析:a=b=c+2實(shí)際上相當(dāng)于a=(b=c+2),進(jìn)而可分解為兩個(gè)表達(dá)式:b=c+2和a=b。注意:選項(xiàng)A)中包含一個(gè)不合法的運(yùn)算符“:=”;選項(xiàng)C)應(yīng)改為(int)18.5%3;選項(xiàng)D)可理解為兩個(gè)表達(dá)式:a+
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州城市職業(yè)學(xué)院《數(shù)字圖像處理及應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴陽職業(yè)技術(shù)學(xué)院《中學(xué)英語教學(xué)研究方法》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025廣東省安全員《B證》考試題庫
- 2025年重慶市安全員-A證考試題庫附答案
- 廣州珠江職業(yè)技術(shù)學(xué)院《惡意代碼調(diào)查技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年江西省安全員B證(項(xiàng)目經(jīng)理)考試題庫
- 廣州應(yīng)用科技學(xué)院《手機(jī)多媒體開發(fā)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025青海建筑安全員A證考試題庫
- 廣州衛(wèi)生職業(yè)技術(shù)學(xué)院《多媒體信息處理與傳輸》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州鐵路職業(yè)技術(shù)學(xué)院《動(dòng)畫設(shè)計(jì)原理》2023-2024學(xué)年第一學(xué)期期末試卷
- 網(wǎng)球技術(shù)與戰(zhàn)術(shù)-華東師范大學(xué)中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
- 現(xiàn)代科學(xué)技術(shù)概論知到章節(jié)答案智慧樹2023年成都師范學(xué)院
- HLB值的實(shí)驗(yàn)測定方法
- 2023年《病歷書寫基本規(guī)范》年度版
- 代理記賬機(jī)構(gòu)代理記賬業(yè)務(wù)規(guī)范
- GB/T 31227-2014原子力顯微鏡測量濺射薄膜表面粗糙度的方法
- GB/T 18209.2-2010機(jī)械電氣安全指示、標(biāo)志和操作第2部分:標(biāo)志要求
- 煤礦水害事故防治
- GA/T 1217-2015光纖振動(dòng)入侵探測器技術(shù)要求
- 建設(shè)工程竣工驗(yàn)收消防設(shè)計(jì)質(zhì)量檢查報(bào)告(填寫范本)
- 編程貓-教學(xué)設(shè)計(jì)
評論
0/150
提交評論