




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2021年吉林省白山市全國計算機(jī)等級考試C語言程序設(shè)計測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.以下()不是隊列的基本運(yùn)算
A.從隊尾插入一個新元素B.從隊列中刪除第i個元素C.判斷一個隊列是否為空D.讀取隊頭元素的值
2.有如下程序#include<stdio.h>main(){FILE*fpl;fpl=fopen("f1.txt","w");fprintf(fp1,"abc");fclose(fp1);}若文本文件f1.txt中原有內(nèi)容為:good,則運(yùn)行以上程序后文件f1.txt中的內(nèi)容為
A.goodabcB.abcdC.abcD.abcgood
3.有定義語句:“int*p[4];”,以下選項中與此語句等價的是()。
A.intp[4];B.int**P;C.int*(p[4]);D.int(*p)[4];
4.有以下程序:#include<stdio.b>voidfun(charc){if(c>X)fun(c-1):printf("%C",c);}traia(){fun(z);}程序運(yùn)行后的輸出結(jié)果是()A.xyzB.wxyzC.xzyD.zvx
5.棧和隊列的共同點是()。
A.都是先進(jìn)先出B.都是先進(jìn)后出C.只允許在端點處插入和刪除元素D.沒有共同特點
6.表達(dá)式9!=10的值為()。
A.非零值B.trueC.0D.1
7.
8.設(shè)某無向圖中有n個頂點e條邊,則建立該圖鄰接表的時間復(fù)雜度為()。
A.O(n+e)B.O(n^2)C.O(ne)D.O(n^3)
9.
10.有以下定義和語句:structworkers{intnum;charname[20];charC;struct{intday;intmonth;intyear;)S;};structworkersw,*pw;pw=&w;能給w中year成員賦1980的語句是()。A.*pw.year=1980;
B.w.year=1980;
C.pw->year=1980
D.w.S.year=1980;
11.
12.若i和k都是int類型變量,有以下for語句:for(i=0,k=-1;k=1;k++)printf("*****\n");下面關(guān)于語句執(zhí)行情況的敘述中正確的是()。
A.循環(huán)體執(zhí)行兩次B.循環(huán)體執(zhí)行一次C.循環(huán)體一次也不執(zhí)行D.構(gòu)成無限循環(huán)
13.若有定義:“inta,b,c,*p=&c;”,接著執(zhí)行以下選項中的語句,則能正確執(zhí)行的語句是()。
A.scanf(“%d”,a,b,c);
B.scanf(“%d%d%d”,a,b,c);
C.scanf(“%d”,p);
D.scanf(“%d”,&p);
14.下列排序方法中,()方法的比較次數(shù)與記錄的初始排列狀態(tài)無關(guān)。
A.直接插入排序B.冒泡排序C.快速排序D.直接選擇排序
15.若有以下程序段
intm=0xabc,n=0xabc;
m-=n;
printf("%x\n",m);
執(zhí)行后的輸出結(jié)果是A.A.0X0
B.0x0
C.0
D.0xABC
16.設(shè)某文件內(nèi)排序后得到100個初始?xì)w并段(初始順串),若使用多路歸并排序算法,且要求三趟歸并完成排序,問歸并路數(shù)最少為()
A.5B.6C.7D.8
17.有下列程序:main{inty=10;do{y--;}while(--y);printf("%d\n",--y);)當(dāng)執(zhí)行程序時,輸出的結(jié)果是()。A.-1B.1C.4D.0
18.有如下定義:structperson{charname[9];intage;}structpersonclass[10]={"John",17,"Paul",19,"Mary",18,"Adam",16};能輸出字母M的是()
A.printf("%c\n",class[3].name);
B.printf("%c\n",class[3].name[1]);
C.printf("%c\n",class[2].name[1]);
D.printf("%c\n",class[2].name[0]);
19.有如下程序:main{intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++.b++;}printf("a=%d,b=%d\n",a,b);}該程序的輸出結(jié)果是()。A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2
20.程序中若有如下說明和定義語句charfun(char*);main(){char*s="one",a[5]={0},(*f1)()=fun,ch;.....}以下選項中對函數(shù)Fun的正確調(diào)用語句是______。A.(*f1)(a);B.*f1(*s);C.fun(&a);D.ch=*f1(s);
二、2.填空題(20題)21.以下程序中函數(shù)fun的功能是求出能整除x且不是偶數(shù)的務(wù)正整數(shù),并按從小到大的順序放在pp所指的數(shù)組中,這些除數(shù)的個數(shù)通過形參n返回。
例如,若x中的值為30,則有4個數(shù)符合要求,它們是1,3,5,15。
請按題意,完成填空。
試題程序:
#include<stdio.h>
voidfun(intx,intpp[],int*n)
{inti,j=0;
【】;
if(x%i==0)pp[j++]=i;
【】;
}
main()
{intx,aa[1000],n,i;
printf("\nPleaseenteranintegernumber:\n");
scanf("%d",&x);
fun(x,aa,&n);
for(i=0;i<n;i++)printf("%d",aa[i]);
printf("\n");
}
22.排序是計算機(jī)程序設(shè)計中的一種重要操作,常見的排序方法有插入排序、______和選擇排序。
23.以下函數(shù)的功能是求x的y次方,請?zhí)羁铡?/p>
doublefun(doublex,inty)
{inti;
doublez;
for(i=1,z=x;i<y;i++)z=z*【】;
returnz;
}
24.數(shù)據(jù)庫系統(tǒng)其內(nèi)部分為三級模式,即概念模式、內(nèi)模式和外模式。其中,______是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式。
25.以下程序的功能是輸出如下形式的方陣:
13141516
9101112
5678
1234
請?zhí)羁铡?/p>
#include<stdio.h>
main()
{inti,j,x;
for(j=4;j【】;j--)
{for(i=1;i<=4;i++)
[x=(j-1)*4+【】;
printf("%4d",x);
}
printf("\n");
}
26.下面程序運(yùn)行后的輸出結(jié)果是()。
#include<stdio.h>
main()
{inta[]={1,2,3,4,5,6},*k[3],i=1;
while(i<4)
{k[i-1]=&a[2*i-1];
printf("%d",*k[i-1]);
i++;
}
}
27.以下定義的結(jié)構(gòu)體類型擬包括兩個成員,其中成員變量info用來存入整形數(shù)據(jù);成員變量link是指向自身結(jié)構(gòu)體的指針,請將定義比沖完整
structnode
{intinfo;
______link;};
28.軟件是程序、數(shù)據(jù)和【】的集合。
29.有以下程序
intf(intn)
{if(n==1)return1;
elsereturnf(n-1)+1;}
main()
{inti,j=0;
for(i=1;i<3;i++)j+=f(i);
printf("%d\n"j);}
程序運(yùn)行后的輸出結(jié)果是______。
30.數(shù)據(jù)管理技術(shù)的發(fā)展過程經(jīng)過人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)三個階段,其中數(shù)據(jù)獨立性最高的階段是【】。
31.設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語句,且fun函數(shù)為void類型;請寫出fun函數(shù)的首部【】(要求形參名為b)。main(){doubles[10][22];intn;……fun(s);……}
32.下面的程序可對指定字符串中的字符串進(jìn)行從大到小排序,請將程序完整。(注:程序采用了冒泡排序算法)
#include<stdio.h>
#include<string.h>
main()
{char*str="ABCDabcd",temp;
intn,i;
n=strlen(str);
while(n->1)
for(i=0;i<n;i++)
if(str[i]<str[i+1])
{temp=【】;
str[i]=str[i+1];
【】=temp;
}
printf(【】);
}
33.若有定義inta[4][4]={1,2,3,4},{0},{4,6,8,10},{1,3,5,7}},則初始化后,a[1][1]得到的初值是______。
34.算法的復(fù)雜度主要包括【】復(fù)雜度和空間復(fù)雜度。
35.下列程序執(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);
}
36.軟件測試是保證軟件質(zhì)量的重要手段,而軟件測試的主要和重要的測試方法是通過測試數(shù)據(jù)和【】的設(shè)計來實現(xiàn)。
37.有以下程序#include<stdio.h>typedefstruct{intnum;doubles;}REC;voidfunl(REC*x){x->num=23;x->s=88.5;}voidmain(){RECa={16,90.0};fun1(&A);printf("%d\n",a.num);}程序運(yùn)行后的輸出結(jié)果是()。
38.數(shù)據(jù)庫系統(tǒng)中實現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為【】。
39.有以下程序:
voidswap1(intc[])
{intt;
t=c[0];c[0]=c[1];c[1]=t;
}
voidswap2(intc0,intc1)
{intt;
t=c0;c0=c1;c1=t;
}
main()
{inta[2]={3,5},b[2]={3,5};
swaplA);swap2(b[0],b[1]);
printf("%d,%d,%d,%d\n",a[0],a[1],b[0],b[1]);
}
其輸出結(jié)果是【】。
40.媒體在計算機(jī)領(lǐng)域中的含義,是指存儲信息的實體和【】。
三、1.選擇題(20題)41.以下程序段中,能夠通過調(diào)用函數(shù)fun,使main函數(shù)中的指針變量p指向一個合法的整型單元的是
A.main(){int*p;fun(p);…}intfun(int*p){ints;p=&s;}
B.main{int*p;fun(&p);…}intfun(int**p){ints;*p=&s;}
C.#include<stdlib.h>main(){int*p;fun(&p);…}intfun(int**p){*p=(int*)malloc(2);}
D.#include<stdlib.h>main(){int*p;fun(p);…}intfun(int*p){p=(int*)malloc(sizeof(int));}
42.八位二進(jìn)制補(bǔ)碼01000100用十進(jìn)制數(shù)表示為()
A.68B.-68C.-36D.60
43.結(jié)構(gòu)化程序設(shè)計的核心和基礎(chǔ)是()。
A.結(jié)構(gòu)化分析方法B.結(jié)構(gòu)化設(shè)計方法C.結(jié)構(gòu)化設(shè)計理論D.結(jié)構(gòu)化編程方法
44.算法執(zhí)行過程中所需要的存儲空間稱為算法的
A.時間復(fù)雜度B.計算工作量C.空間復(fù)雜度D.工作空間
45.有以下程序main(){union{unsignedintn;unsignedcharC;}ul;u1.C='A';printf("%c\n",u1.n);}執(zhí)行后輸出結(jié)果是
A.產(chǎn)生語法錯B.隨機(jī)值C.AD.65
46.下面程序執(zhí)行后的輸出結(jié)果是(小數(shù)點后只寫一位)______。main(){doubled;floatf;long1;inti;i=f=1=d=20/3;printf("%d%ld%f%f\n",i,l,f,d);}
A.666.06.0B.666.76.7C.666.06.7D.666.76.0
47.下列選項中不屬于結(jié)構(gòu)化程序設(shè)計方法的是()。
A.自頂向下B.逐步求精C.模塊化D.可復(fù)用
48.以下程序的輸出結(jié)果是()。inta=7,b,C;b=++a;C=a++;printf("%d,%d,%d",a,b,C);
A.7,8,9B.7,9,9C.9,8,8D.8,7,8
49.已知各變量的類型說明如下:intk,a,b;unsignedlongw=5;doublex=1.42;則以下不符合C語言語法的表達(dá)式是():
A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a-=(b=4)*(a=3)
50.下列說法不正確的是()。
A.C語言程序是以函數(shù)為基本單位的,整個程序由函數(shù)組成
B.C語言程序的一條語句可以寫在不同的行上
C.C語言程序的注釋行對程序的運(yùn)行功能不起任何作用,所以注釋應(yīng)該盡可能少寫
D.C語言程序的每個語句都以分號結(jié)束
51.下列程序的輸出結(jié)果是______。main(){inti;for(i=1;i+1;i++){if(i>4){printf("%d",i++);break;}}printf("%d",i++);}
A.55B.56C.程序錯誤,沒有輸出D.循環(huán)條件永遠(yuǎn)為真,死循環(huán)
52.以下關(guān)于字符串的敘述中正確的是()。
A.C語言中有字符串類型的常量和變量
B.兩個字符串中的字符個數(shù)相同時才能進(jìn)行串符串大小的比較
C.可以用關(guān)系運(yùn)算符對字符串的大小進(jìn)行比較
D.空串一定比空格打頭的字符串小
53.下列敘述中錯誤的是()。
A.一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲結(jié)構(gòu)
B.數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)的處理效率無關(guān)
C.數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)
D.數(shù)據(jù)的存儲結(jié)構(gòu)在計算機(jī)中所占的空間不一定是連續(xù)的
54.已知二叉樹BT的后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是______。
A.cedbaB.acbedC.dccabD.deabc
55.在關(guān)系數(shù)據(jù)模型中,通常可以把()稱為屬性,其值稱為屬性值。
A.記錄B.基本表C.模式D.字段
56.設(shè)有定義:intn=0,*p=&n,**q=&p;則下列選項中正確的賦值語句是()。
A.p=1;B.*q=2;C.q=p;D.*p=5;
57.若說明int*p,n;則通過語句scanf能夠正確讀入數(shù)據(jù)的程序段是
A.p=&n;scanf("%d",&p);
B.p=&n;scanf("%d",*p);
C.scanf("%d",n);
D.p=&n;scanf("%d",p);
58.可以在C語言程序中用做用戶標(biāo)識符的一組標(biāo)識符是()。
A.void123BBNB.aaabccasC.as+b3-123IfD.6fDoSIG
59.設(shè)有以下定義:strucksk{inta;floatb;}data;int*p;若要使p指向data中的a域,正確的賦值語句是()。
A.p=&a;B.p=data.a;C.p=&data.a;D.*p=data.a;
60.有以下程序:#include<stdio.h>main(){inti,s=0;for(i=1;i<10;i+=2)s+=i+1;printf("%d\n",s);}程序執(zhí)行后的輸出結(jié)果是()。
A.正整數(shù)1~9的累加和B.正整數(shù)1~10的累加和C.正整數(shù)1~9中奇數(shù)之和D.正整數(shù)1~10中偶數(shù)之和
四、選擇題(20題)61.已有定義intx=3,y=4,z=5;則表達(dá)式“!(x+y)+z-1y+z/2”的值是________。
A.6B.0C.2D.1
62.以下程序的輸出結(jié)果是()。main{inta[3][3]=“l(fā),2),{3,4),{5,6)},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf(”%d\n”,s);}A.18B.19C.20D.21
63.有以下程序段:
以下敘述中正確的是()。
A.以上的說明形式非法
B.NODE是一個結(jié)構(gòu)體類型
C.OLD是一個結(jié)構(gòu)體類型
D.OLD是一個結(jié)構(gòu)體變量
64.有以下程序
prt(int*m,intn)
{
inti;
for(i=0;i<n;i++)
m[i]++;
}
main()
{
inta[]={1,2,3,4,5},i;
prt(a,5);
for(i=0;i<5;i++)
printf("%d,",a[i]);
}
程序運(yùn)行后的輸出結(jié)果是A.A.1,2,3,4,5,
B.3,4,5,6,7,
C.2,3,4,5,6,
D.2,3,4,5,1,
65.若有定義語句:doublea,*p=&a;,以下敘述中錯誤的是()。
A.定義語句中的*號是一個間址運(yùn)算符
B.定義語句中的*號只是一個說明符
C.定義語句中的P只能存放double類型變量的地址
D.定義語句中,*p=&n把變量a的地址作為初值賦給指針變量P
66.若要求從鍵盤讀人含有空格字符的字符串,應(yīng)使用函數(shù)()。
A.getc()B.gets()C.getchar()D.scanf()
67.
68.對表達(dá)式for(表達(dá)式1;;表達(dá)式3)可理解為()。
A.for(表達(dá)式1;0;表達(dá)式3)
B.for(表達(dá)式1;1;表達(dá)式3)
C.for(表達(dá)式1;表達(dá)式1;表達(dá)式3)
D.for(表達(dá)式1;表達(dá)式3;表達(dá)式3)
69.有下列程序:main{inty=10;do{y--;}while(--y);printf("%d\n",--y);)當(dāng)執(zhí)行程序時,輸出的結(jié)果是()。A.-1B.1C.4D.0
70.
對兩個數(shù)組a和b進(jìn)行下列初始化:
charm[]="1234567";
charn[]={1,2,3,4,5,6,7};
則下列敘述正確的是()。
A.數(shù)組m與數(shù)組n完全相同B.數(shù)組m與數(shù)組n長度相同C.數(shù)組m比數(shù)組n長1D.數(shù)組m與數(shù)組n中都存放字符串
71.
72.以下定義數(shù)組的語句錯誤的是()。
A.intnum[]={1,2,3,4,5,6};
B.intnum[][3]={{1,2},3,4,5,6};
C.intnum[2][4]={{1,2},{3,4},{5,6}};
D.intnum[][4]={1,2,3,4,5,6};
73.URI的全稱是()。A.標(biāo)準(zhǔn)資源描述符B.標(biāo)準(zhǔn)資源標(biāo)識符C.通用資源描述符D.統(tǒng)一資源標(biāo)識符
74.若有定義:“inta[2][3];”,則對a數(shù)組的第i行第j列元素的正確引用為()。
A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j
75.若有定義語句:inta[21[3],*P[3];則以下語句中正確的是()。
A.p:a;B.p[0]=a;C.p[O]=&a[1][2];D.1a[1]=&a;
76.有如下程序
#include"stdio.h"
main()
{inta,b,m;
for(a=5;a>=1;a--)
{m=0;
for(b=a;b<=5;b++)
m=m+a*b;
}
printf("%d\n",m);
}
上述程序的運(yùn)行結(jié)果是
A.30B.15
C.20D.10
77.
78.(39)在關(guān)系數(shù)據(jù)庫中,用來表示實體之間聯(lián)系的是()
A.樹結(jié)構(gòu)
B.網(wǎng)結(jié)構(gòu)
C.線性表
D.二維表
79.
80.設(shè)有定義:char*C;以下選項中能夠使C正確指向一個字符串的是()。
A.charstr()=”string”;C=str;
B.scanf(”%s”,C.;
C.c=getchar();
D.*c=”strin9”;
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:根據(jù)整型參數(shù)m,計算如下公式的值:y=1/(100100)+1/(200200)+1/(300300)+…+1/(mm)例如,若m=4000,則應(yīng)輸出0.000162。請修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計題(1題)82.請編一個函數(shù)voidproc(intttEM][N],intpp[N]),tt指向一個M行N列的二維數(shù)組,求出二維數(shù)組每行中最大元素,并依次放入pp所指的一維數(shù)組中。二維數(shù)組中的數(shù)已在主函數(shù)中給出。
注意:部分源程序給出如下。
請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號中填入所編寫的若干語句。
試題程序:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#defineM3
#defineN4
voidproc(intttrM3rN]。intpp[N])
{}
voidmain
{
intstr[M][N]={{34,56,84,78},
{23,84,93,12),
{28,38,39,93}};
intp[N],i,j,k;
system("CLS");
printf("Theriginaldatais:\n");
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
printf("%6d",str[i][j]);
printf("\n");
}
proc(str,p);
printf("\nTheresultis:\n");for(k=0:k<M;k++)
printf("%4d",p[k]);
printf("n");}
參考答案
1.B
2.C解析:主函數(shù)中定義了一個文件指針fp1,然后通過fopen()函數(shù),以寫的方式打開文件“fl.txt”,并讓指針fp1指向它,接著調(diào)用fpfintf()函數(shù)將“abc”寫到文件fp1所指的文件里,由于開始fp1指向文件的“fl.txt”的開始位置,因此“abc”將把文件“fl.txt”里原來的內(nèi)容“good”覆蓋掉,故文件“fl.txt”里最后的內(nèi)容為“abc”。
3.D本題int*p[4]的作用是聲明一個指針數(shù)組,每個元素都是int*型指針。
4.A本題考查簡單的遞歸函數(shù),當(dāng)c>X則會產(chǎn)生遞歸,依次類推,答案選擇A.
5.C解析:棧和隊列都是操作受限制的線性表,只允許在端點插入和刪除。不同點是:棧只允許在表的一端進(jìn)行插入和刪除操作,而隊列允許在表的一端進(jìn)行插入操作,而在另一端進(jìn)行刪除操作。
6.D
7.C
8.A
9.A
10.D結(jié)構(gòu)workers中的成員s是一個嵌套的結(jié)構(gòu)類型定義,因此在給year賦值時,要用“.”運(yùn)算在深入一層訪問到最基本的成員year,只有D項反映出了這一點。
11.A
12.D此題考查的是基本的循環(huán),答案為D。
13.Cscanf函數(shù)要求為:輸入的變量為地址形式。4個選項中,C選項符合要求。故本題答案為C選項。
14.D
15.C本題考查C語言中的數(shù)據(jù)輸出格式。
題目中定義了兩個整型變量m、n,對這兩個變量賦值,輸入的數(shù)值為十六進(jìn)制整數(shù),并且有m=n。進(jìn)行m-n運(yùn)算后,將減法所得到的值賦給m,并將m值輸出。其中printf的格式字符選用的格式字符為x,即以十六進(jìn)制形式輸出整數(shù)。注意,0x是表示該數(shù)為十六進(jìn)制的標(biāo)志,輸出數(shù)據(jù)時,數(shù)據(jù)前面不會自動加上進(jìn)制的標(biāo)志。
16.A
17.A本題考查do-while循環(huán)。當(dāng)--y是0(即y是o)時結(jié)束循環(huán),輸出--y,先將y的值減1再輸出Y的值。
18.D
19.A當(dāng)x為1時,執(zhí)行case1,a自加等于1,因為case1后沒有break,接著執(zhí)行case2,此時a的值為2,b自加為1,故選擇A選項。
20.A解析:題中將函數(shù)fun的入口地址賦給了指針變量f1,這時f1和fun都指向函數(shù)的開頭,調(diào)用*f1就是調(diào)用函數(shù)fun。
21.for(i=1;i<=x;i+=2)*n=jfor(i=1;i<=x;i+=2)*n=j解析:本題題干信息是求能整除x且不是偶數(shù)的所有正整數(shù)。循環(huán)語句中i從1開始且每次增2,所以i始終是奇數(shù),語句,n=j;是記錄符合題意的整數(shù)的個數(shù)。
22.交換排序交換排序解析:所謂排序是指將一個無序序列整理成按值非遞減順序排列成的有序序列,常用的排序方法有:交換排序、插入排序和選擇排序。其中交換排序包括冒泡排序和快速排序,插入排序包括簡單插入排序和希爾排序,選擇排序包括直接選擇排序和堆排序。
23.xx解析:函數(shù)的定義形式為;
函數(shù)類型函數(shù)名(形參表)
{
類型說明語句;
執(zhí)行語句;
}
本題中函數(shù)的功能是:累積變量以求得變量的Y次方。
24.外模式外模式解析:數(shù)據(jù)庫系統(tǒng)的三級模式分別是內(nèi)模式、概念模式和外模式。其中,物理模式給出了數(shù)據(jù)庫的物理存儲結(jié)構(gòu)和存取方法;概念模式是數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述;外模式是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式。
25.>=1或>0i>=1或>0\r\ni解析:程序的外層for循環(huán)控制輸出數(shù)據(jù)的行數(shù),故第一處填“>=1”或“>0”;內(nèi)層循環(huán)控制每行輸出的個數(shù)。在內(nèi)層for循環(huán)中,語句x=(j-1)*4+______;用于控制輸出方陣中的具體數(shù)據(jù),由于這些數(shù)據(jù)與其所在的行、列(j,i)具有x=(j-1)*4+i的關(guān)系,故第二處填i。
26.246
27.解析:本題中的結(jié)構(gòu)類型名為structnode,所以空白處應(yīng)填:structnode*,即定義一個指向自身的結(jié)構(gòu)體指針。
28.文檔文檔解析:計算機(jī)軟件是計算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關(guān)文檔的完整集合。
29.3
30.數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段解析:在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段,其中數(shù)據(jù)獨立性最高的階段是數(shù)據(jù)庫系統(tǒng)階段。
31.
32.str[i]str[i+1]"%s"strstr[i]\r\nstr[i+1]\r\n'%s',str解析:本題要求將字符串str中的字符用冒泡排序算法從大到小排列,其實現(xiàn)過程是將相鄰兩個字符進(jìn)行比較,如果當(dāng)前字符小于下一個字符;則通過中間變量temp將字符兩兩交換,所以第一空應(yīng)填:str[i],第二空應(yīng)填:str[i+1]。最終打印輸出得到的字符串str,所以第三空應(yīng)填;'%s',str。
33.二維數(shù)組可以看成是按矩陣形式排列的,題目中給二維數(shù)組賦初值是按行分段賦值的,a[4][4]可以分解為4個一維數(shù)組,其數(shù)組名分別為a[O]、a[1]、a[2]、a[3],這4個一維數(shù)組都有4個元素,a[0]的元素為a[0][0]、a[0][1]、a[0][2]、a[0][3]。\r\n\r\n
34.時間時間解析:算法的復(fù)雜度主要指時間復(fù)雜度和空間復(fù)雜度。所謂算法的時間復(fù)雜度,是指執(zhí)行算法所需要的計算工作量;算法的空間復(fù)雜度,一般是指執(zhí)行這個算法所需要的內(nèi)存空間。
35.88解析:第1次for循環(huán),i=0,調(diào)用函數(shù)f(2),然后將a的值加1,在f()函數(shù)中,變量c為static類型,所以c=8:第2次for循環(huán),i=1,調(diào)用函數(shù)f(3),然后將a的值加1,調(diào)用函數(shù)f(3)時,a=c++8,所以k=8。
36.測試實例測試實例解析:進(jìn)行軟件測試時,應(yīng)精心設(shè)計測試實例和選擇測試數(shù)據(jù),以對系統(tǒng)進(jìn)行全面測試。
37.23
38.數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DBMS)
39.53355335解析:函數(shù)swap1的形參是數(shù)組,故形參的改變能夠影響實參,所以執(zhí)行完swap1(a)后,a[0]=5、a[1]=3;函數(shù)swap2的形參是簡單變量,故形參的改變不能夠影響實參,所以執(zhí)行完swap2(b)后,b[0]=3、b[1]=5;正確答案為5335。
40.載體載體
41.C解析:選項A和B中p指向局部變量s的地址,退出函數(shù)fun后,該局部變量也被釋放,不能使p指向一個整型單元地址;選項D中通過malloc函數(shù)分配一個整型地址,但不能被返回到main函數(shù)中,因為指針參數(shù)指向的地址不能被改變;選項C中,p是指向指針的指針,函數(shù)fun改變的是其指向的內(nèi)容,而不是其地址。
42.A
43.CC?!窘馕觥拷Y(jié)構(gòu)化程序設(shè)計的核心和基礎(chǔ)是結(jié)構(gòu)化設(shè)計理論,其中包括:結(jié)構(gòu)化分析方法、結(jié)構(gòu)化設(shè)計方法和結(jié)構(gòu)化編程方法。
44.C算法執(zhí)行時所需要的存儲空間,包括算法程序所占的空間、輸入的初始數(shù)據(jù)所占的存儲空間以及算法執(zhí)行過程中所需要的額外空間,其中額外空間還包括算法程序執(zhí)行過程的工作單元以及某種數(shù)據(jù)結(jié)構(gòu)所需要的附加存儲空間。這些存儲空間共稱為算法的空間復(fù)雜度。
45.C解析:在定義共用體的同時,定義了一個共用體型變量u1,共占兩個字節(jié),有兩個成員n和c,兩個成員的首地址是相同的.因此給u1.c賦一個“A”,其實就是給無符號整型成員u1.n的低字節(jié)賦一個“A”,輸出u1.n的時候是以字符型的形式輸出,只輸出它的低地址的一個字節(jié),因此為“A”。所以,C選項為所選。
46.A
47.D解析:20世紀(jì)70年代以來,提出了許多軟件設(shè)計方法,主要有①逐步求精:對復(fù)雜的問題,應(yīng)設(shè)計一些子目標(biāo)作過渡,逐步細(xì)化;②自頂向下:程序設(shè)計時應(yīng)先考慮總體,后考慮細(xì)節(jié);先考慮全局目標(biāo),后考慮局部目標(biāo)。不要一開始就過多追求眾多的細(xì)節(jié),先從最上層總目標(biāo)開始設(shè)計,逐步使問題具體化;⑧模塊化:一個復(fù)雜問題,肯定是由若干稍簡單的問題構(gòu)成。模塊化是把程序要解決的總目標(biāo)分解為分目標(biāo),再進(jìn)一步分解為具體的小目標(biāo),把每個小目標(biāo)稱為一個模塊,而可復(fù)用是面向?qū)ο蟪绦蛟O(shè)計的一個優(yōu)點。
48.C解析:語句“b=++a:”是先執(zhí)行a加1,a值為8,再賦值給b,b值為8。語句“b=a++;”是先使用a的值,即對c賦值,c的值為8,再執(zhí)行a加1,a值為9。所以,選項C正確。
49.A解析:“%”是求余運(yùn)算符或模運(yùn)算符,“%”兩側(cè)均應(yīng)為整型數(shù)據(jù),選項A)中的x是double型數(shù)據(jù)。
50.C解析:本題涉及C語言的3個基本知識點:①C語言的源程序是由函數(shù)構(gòu)成的,函數(shù)是其基本單位,每一個函數(shù)完成相對獨立的功能,其中只能包括一個主函數(shù);②C語言規(guī)定每個語句以分號結(jié)束,其書寫格式是自由的,一條語句可以寫在不同的行上,或者一行也可以寫多條語句;⑧注釋行雖然對程序的運(yùn)行不起作用,但是它可以方便程序員閱讀,提高程序的可讀性和可移植性,所以書寫注釋行還是很有必要的。
51.B解析:本程序中有個for循環(huán),但注意到for循環(huán)的條件是“i+1”,也就是只要i+1的值為真(非零值均為真),就執(zhí)行循環(huán)。當(dāng)i=1的時候,i+1的值為真,判斷if條件不成立,執(zhí)行i++,輸出i的值為5。
52.D解析:C語言中只有字符串常量而沒有字符串變量,故選項A不正確:字符串比較大小是以第1個不相同字符的大小為標(biāo)準(zhǔn)的,跟長度沒有關(guān)系,故選項B不正確:字符串比較大小除了使用庫函數(shù)stremp()以外,就只能靠自己寫代碼來實現(xiàn)了,而不能通過關(guān)系運(yùn)算符來比較大小,因為字符串在表達(dá)式中相當(dāng)于coostchar*,即常字符指針,代表的是字符串的首地址,關(guān)系運(yùn)算符會將兩個字符串的首地址值比較大小,這是毫無意義的。所以選項C也不正確??沾拈L度為0,而以空格打頭的字符串的長度至少為1,故選項D正確,本題應(yīng)該選擇D。
53.BB。【解析】數(shù)據(jù)的存儲結(jié)構(gòu)分為順序結(jié)構(gòu)和鏈?zhǔn)浇Y(jié)構(gòu),一個數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲結(jié)構(gòu)。順序結(jié)構(gòu)中數(shù)據(jù)元素所占的存儲空間是連續(xù)的,而鏈?zhǔn)酱鎯Y(jié)構(gòu)中,數(shù)據(jù)元素所占的存儲空間不一定是連續(xù)的。數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)。
54.A解析:二叉樹BT的后序遍歷序列為dabec,故BT的根結(jié)點為c;而BT的中序遍歷序列是debac,即遍歷序列中最后—個結(jié)點為跟結(jié)點,說明BT的右子樹為空。由BT的的后序遍歷序列和中序遍歷序列可知BT的左子樹(LST)的后序遍歷序列和中序遍歷序列分別為dabe和deba(樹是遞歸定義的):故LST的根結(jié)點是e,在由LST的中序遍歷序列可知其左子樹為d。因此BT的前序遍歷序列為cedba。
55.D解析:數(shù)據(jù)庫表中字段轉(zhuǎn)化為屬性,把記錄的類型轉(zhuǎn)化為關(guān)系模式。
56.D解析:選項A),B),C)的指針賦值表達(dá)方式都不正確,*p=5表達(dá)整數(shù)5放到指針p所指向的存儲單元中。注意:通過指針引用一個存儲單。
57.D解析:函數(shù)scanf的地址列表應(yīng)由變量的地址組成。選項A中雖然&p也為地址,但它是指針變量p的地址,該地址的存儲單元中只能存放地址值,不能存放整型數(shù)據(jù)。選項B中*p相當(dāng)于變量n,所以不能正確讀入數(shù)據(jù);選項C不正確,因為n為變量名;選項D中p為指針變量,并且值為變量n的地址,所以選項D能夠正確讀入數(shù)據(jù)。D為所選。
58.B解析:C語言規(guī)定,標(biāo)識符是由字母、數(shù)字或下畫線組成,并且它的第一個字符必須是字母或者下畫線。
59.C解析:p定義為指針變量。選項A中對結(jié)構(gòu)體分量a的引用錯誤,應(yīng)為data.a。選項B中data.a是取分量的值,它是一個整型數(shù)據(jù),而p的值應(yīng)為地址,所以不能將data.a賦值給p。&為取地址符,取分量data.a的地址賦值給p,是正確的賦值語句。*是間接訪問運(yùn)算符,選項D中的浯句是將分量data.a的值賦值給p所指存儲單元,*p相當(dāng)于一個變量,而不能實現(xiàn)使p指向data中的a域。
60.D解析:通過for(i=1;i<10;i+=2)可知,i取值為1~10的奇數(shù),即1,3,5,7,9,i+1即為2,4,6,8,10。因此,程序的功能是計算并輸出1~10中的偶數(shù)之和,s+=i+1就是累加這些偶數(shù)。
61.D
62.A循環(huán)的作用是求行下標(biāo)從1到2列下標(biāo)從0到i的元素之和,即s=a[1][0]+a[1][1]+a[2][0]+a[2][1]+a[2][2]=3+4+5+6+0=18。
63.C本題考查的是結(jié)構(gòu)體的定義。typedef關(guān)鍵字用于聲明一個新的類型名代替已有的類型名。本題中如果沒有用typedef進(jìn)行定義,則struetNODE為結(jié)構(gòu)體類型,現(xiàn)在用typedef定義后,相當(dāng)于用0LD代表了struetNODE這一結(jié)構(gòu)體類型,故0LD為結(jié)構(gòu)體類型。
64.C用數(shù)組名作為函數(shù)實參時,不是把數(shù)組的值傳遞給形參,而是把實參數(shù)組的起始地址傳遞給形參數(shù)組,這樣兩個數(shù)組就共同占用同一段內(nèi)存單元。本題通過“prt(a,5);”將數(shù)組a的首地址傳遞給了指針變量m,使指針變量m指向數(shù)組a的首地址,那么,對指針變量所指向的存儲單元的內(nèi)容的改變就是對數(shù)組a中的元素的改變。題中函數(shù)prt的作用是將指針變量m所指向的存儲單元中的元素值各加上1,故數(shù)組a中的值也隨之變化,所以。輸出的數(shù)組元素的值為2,3,4,5,6,。
65.C\ndoublea,*p=&a語句的意思是將a的值存放到指針變量P中,P是指針可以隨意指向任何地址,所以答案C錯誤。
\n
66.Bscanf語句用”空格”區(qū)別不同的字符串,遇到空格結(jié)束,所以不能讀人空格;getc與getchar語句不能用于字符串的讀入。
67.D
68.B在本題中,for循環(huán)結(jié)構(gòu)缺省了表達(dá)式2,而表達(dá)式2的作用是用來判斷循環(huán)是否結(jié)束,在缺省該語句的情況下,循環(huán)將無法結(jié)束,從題目給出的四個循環(huán)結(jié)構(gòu)我們可以看出,能構(gòu)成死循環(huán)的是選項B,該選項中for結(jié)構(gòu)的表達(dá)式2一直為1,即真,這樣循環(huán)就無法結(jié)束。因此,本題正確的答案選B。
69.A本題考查do-while循環(huán)。當(dāng)--y是0(即y是o)時結(jié)束循環(huán),輸出--y,先將y的值減1再輸出Y的值。
70.C解析:本題考查字符數(shù)組和字符串賦值給數(shù)組的一些區(qū)別。語句“charm[]='1234567';”定義了一個字符型數(shù)組并進(jìn)行了初始化,C語言規(guī)定,在字符串的末尾自動加上串結(jié)束標(biāo)記\'\\0\',因此數(shù)組m的長度是8;而數(shù)組n是按照字符方式對數(shù)組進(jìn)行初始化,系統(tǒng)不會自動加上串結(jié)束標(biāo)記\'\\0\',因此數(shù)組n的長度是7。
71.C
72.B二維數(shù)組的定義有3種形式,第一種是分行為兩位數(shù)組賦值,即intnum[]={{12},{
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025西安核設(shè)備有限公司招聘(8人)筆試參考題庫附帶答案詳解
- 2025湖南高創(chuàng)科惟新材料股份有限公司招聘26人筆試參考題庫附帶答案詳解
- 2025河北石家莊建筑行業(yè)大型國有企業(yè)招聘43人筆試參考題庫附帶答案詳解
- 會計外賬知識培訓(xùn)班課件
- 教師禮儀(山東聯(lián)盟)知到智慧樹章節(jié)測試課后答案2024年秋山東師范大學(xué)
- 2025年甘肅天水星火青重公司招聘25人筆試參考題庫附帶答案詳解
- 常見機(jī)械元件及組裝技巧-教學(xué)設(shè)計
- 2025山西忻州匯豐長城文化園區(qū)發(fā)展有限公司招聘合同制講解員10人筆試參考題庫附帶答案詳解
- 錫焊基礎(chǔ)知識培訓(xùn)課件
- 2025四川九強(qiáng)通信科技有限公司招聘采購員等崗位56人筆試參考題庫附帶答案詳解
- 2025年東營科技職業(yè)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點試題含答案解析
- 2025-2030年中國民用通信天線行業(yè)發(fā)展趨勢規(guī)劃研究報告
- 2025年計算機(jī)二級考試題庫350題含答案(WPS)
- 浙江省金華市婺城區(qū)2024-2025學(xué)年九年級上學(xué)期期末數(shù)學(xué)試卷(含答案)
- 《中藥房使用課件》
- 養(yǎng)豬場飼料供應(yīng)合同
- 萬達(dá)廣場籌備期項目管理規(guī)范
- 品管圈PDCA改善案例-降低住院患者跌倒發(fā)生率
- 財務(wù)會計(對外經(jīng)濟(jì)貿(mào)易大學(xué))知到智慧樹章節(jié)測試課后答案2024年秋對外經(jīng)濟(jì)貿(mào)易大學(xué)
- 分布式計算平臺設(shè)計與實現(xiàn)
- 護(hù)理總帶教老師講課
評論
0/150
提交評論