




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2022年安徽省亳州市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)預(yù)測試題(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.
2.數(shù)據(jù)的獨(dú)立性是指______。
A.數(shù)據(jù)庫的數(shù)據(jù)相互獨(dú)立
B.DBMS和DB相互獨(dú)立
C.用戶應(yīng)用程序與數(shù)據(jù)庫的數(shù)據(jù)相互獨(dú)立
D.用戶應(yīng)用程序與DBMS相互獨(dú)立
3.在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是______。
A.詳細(xì)設(shè)計(jì)B.需求分析C.總體設(shè)計(jì)D.編程調(diào)試
4.若有定義inta=5,b=7;,則表達(dá)式a%=(b%2)運(yùn)算后,a的值為()。
A.0B.1C.11D.3
5.下列排序方法中,()方法的比較次數(shù)與記錄的初始排列狀態(tài)無關(guān)。
A.直接插入排序B.冒泡排序C.快速排序D.直接選擇排序
6.以下關(guān)于C語言文件系統(tǒng)的敘述中正確的是()。
A.fprintf與fwrite函數(shù)功能相同
B.文件以“r”方式打開后,可以存儲(chǔ)文本類型的數(shù)據(jù)
C.fscanf與fread函數(shù)功能相同
D.以“w”或“wb”方式打開的文件,不可以從中讀取數(shù)據(jù)
7.有如下說明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則數(shù)值為9的表達(dá)式是()
A.*p+9B.*(p+8)C.*p+=9D.p+8
8.下列敘述中正確的是()。
A.為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系
B.表示關(guān)系的二維表中各元組的每一個(gè)分量還可以分成若干數(shù)據(jù)項(xiàng)
C.一個(gè)關(guān)系的屬性名表稱為關(guān)系模式
D.一個(gè)關(guān)系可以包括多個(gè)二維表
9.下列程序執(zhí)行后的輸出結(jié)果是()。main{charx=0xFFFF;printf("%d\n",x--);}A.-32767B.FFFEC.1D.32768
10.
11.
12.在學(xué)生管理的關(guān)系數(shù)據(jù)庫中,存取一個(gè)學(xué)生信息的數(shù)據(jù)單位是()。
A.文件B.數(shù)據(jù)庫C.字段D.記錄
13.有以下程序
include<stdio.h>
main()
{chara[30],b[30];
scanf(“%s”,a);
gets(b);
printf(“%s\n%s\n”,a,b);
}
程序運(yùn)行時(shí)若輸入:
howareyou?Iamfine<回車>
則輸出結(jié)果是A.howareyou?Iamfine
B.howareyou?1amfine
C.howareyou?Iamfine
D.howareyou?
14.若有說明語句:double*P,a;則能通過scanf語句正確給輸入項(xiàng)讀入數(shù)據(jù)的程序段是()。
A.*p=&a;scanf("%lf",p);
B.*p=&a;scanf("%f",p);
C.p=&a;scanf("%lf",*p);
D.p=&a;scanf("%lf",p);
15.若有定義“doublex,y,*px,*py;”,執(zhí)行了“px=&x;py=&y;”之后,正確的輸入語句是()。
A.scanf(“%lf%le”,px,py);
B.scanf(“%f%f”,&x,&y);
C.scanf(“%f%f”,x,y);
D.scanf(“%lf%lf”,x,y);
16.x>0&&x<=10的相反表達(dá)式為()。
A.x<=0||x>10B.x<=0&&x>10C.x<=0||x<=10D.x>0&&x>10
17.若有以下程序:inta=1,b=2;a=a^b;b=b^a;則執(zhí)行以上語句后a和b的值分別是()。A.a=1,b=2B.a=3,b=lC.a=3,b=2D.a=2,b=l
18.某堆棧的輸入序列為a,b,c,d,下面的四個(gè)序列中,不可能是它的輸出序列的是()。
A.a,c,b,dB.b,c,d,aC.c,d,b,aD.d,c,a,b
19.算法應(yīng)該是()
A.程序B.問題求解步驟的描述C.要滿足五個(gè)基本特性D.B和C
20.有以下程序:#include<stdio.h>int*f(int*s){s[1]+=6;*s=7;s+=2;returns;}main(){inta[5]={1,2,3,4,5},*p=a;P=f(P);printf(“%d,%d,%d\n”,a[0],a[1],*p);}程序運(yùn)行后的輸出結(jié)果是()。
A.9,8,9B.7,8,7C.7,8,3D.1,2,1
二、2.填空題(20題)21.算法的基本特征是可行性、確定性、【】和擁有足夠的情報(bào)。
22.設(shè)有以下變量定義,并已賦確定的值,
charw;intx;floaty;doubleZ;
則表達(dá)式:w*x+z-y所求得的數(shù)據(jù)類型為上【】。
23.有以下程序片段,請問執(zhí)行后的輸出結(jié)果是【】。
intn=10;
while(n>7)
{printf("%d",n--);
}
24.以下程序的輸出結(jié)果是()。#include<stdio.h>main(){inti=10,j=0;do{j=j+i;i--;}while(i>5);printf("%d\n",j);}
25.以下程序中,函數(shù)SumColumMin的功能是:求出M行N列二維數(shù)組每列元素中的最小值,并計(jì)算它們的和值。和值通過形參傳回主函數(shù)輸出。請?zhí)羁铡?/p>
#defineM2
#defineN4
voidSumColumMin(inta[M][N],int*sum)
{inti,j,k,s=0;
for(i=0;i<N;i++)
{k=0;
for(j=1;j<M;j++)
if(a[k][i]>a[j][i])k=j;
s+=a[k][i];
}
*sum=s;
}
main()
{intx[M][N]={3,2,5,1,4,1,8,3},s;
SumColumMin(【】);
printf("%d\n",s);
}
26.以下程序的輸出結(jié)果是【】。
#include<string.h>
main()
{printf("%d\n",strlen("IBM\n012\1\\"));}
27.以下程序的輸出結(jié)果是______。
main()
{char*p-"abcdefgh",*r;
long*q;
q=(long*)p;
q++;
r=[char*)q;
printf("%s\n",r);
}
28.下面程序的功能是:輸出100以內(nèi)能被3整除且個(gè)位數(shù)為6的所有整數(shù),請?zhí)羁铡?/p>
#include<stdio.h>
main()
{inti,j;
for(i=0【】;i++)
{j=i*10+6;
if(【】)continue;
printf("%d",j);
}
}
29.與表達(dá)式a+=b等價(jià)的另一書寫形式是______。
30.下列程序執(zhí)行后輸出的結(jié)果是【】。
main()
{intarr[10],i,k=0;
for(i=0;i<10;i++)arr[i]=i;
for(i=1;i<4;i++)k+=arr[i]+i;
printf("%d\n",k);
}
31.設(shè)有下列程序:
#include<stdio.h>
#include<string.h>
main()
{inti;
chars[10],t[10];
gets(t);
for(i=0;i<2;i++)
{gets(s);
if(strcmp(t,s)<0)strcpy(t,s);
}
printf("%s\n",t);
}
程序運(yùn)行后,從鍵盤上輸入(<CR>代表回車符):CDEF<CR>BADEF<CR>QTHRG<CR>,則程序的輸出結(jié)果是______。
32.在關(guān)系運(yùn)算中,【】運(yùn)算是在給定關(guān)系的某些域上進(jìn)行的運(yùn)算。
33.下面程序是指從終端讀入的20個(gè)字符放入字符數(shù)組中,然后利用指針變量輸出上述字符串,請?zhí)羁铡?/p>
#include<stdio.h>
main()
{inti;chars[21],*p;
for(i=0;i<20;i++)
s[i]=getchar();
s[i]=【】;
p=【】;
while(*p)putchar(*p++);}
34.有以下結(jié)構(gòu)體說明和變量的定義,且指針p指向變量a,指針q指向變量b,則不能把結(jié)點(diǎn)b連接到結(jié)點(diǎn)a之后的語句是【】。
structnode
{chardata;
structnode*next;}a,b
35.數(shù)據(jù)庫技術(shù)的主要特點(diǎn)為數(shù)據(jù)的集成性、數(shù)據(jù)的高【】和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理與控制。
36.數(shù)據(jù)元素之間______的整體稱為邏輯結(jié)構(gòu)。
37.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體"項(xiàng)目主管"與實(shí)體"項(xiàng)目"的聯(lián)系屬于【】的聯(lián)系。
38.以下程序調(diào)用函數(shù)swap將指針s和t所指單元(a和B)中的內(nèi)容交換,請?zhí)羁铡ain(){inta=10,b=20,*s,*t;s=&a;t=&b;()printf("%d%d",a,B);}swap(int*ss,int*tt){intte;te=*ss;*ss=*tt;*tt=te;}
39.若intx=1,y=2;則計(jì)算表達(dá)式y(tǒng)+=y-=x*=y后的y值是()。
40.數(shù)據(jù)庫設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。
三、1.選擇題(20題)41.串的長度是______。A.A.串中不同字符的個(gè)數(shù)
B.串中不同字母的個(gè)數(shù)
C.串中所含字符的個(gè)數(shù)且字符個(gè)數(shù)大于零
D.串中所含字符的個(gè)數(shù)
42.有如下定義structperson{charname[9];intage;};structpersonclass[10]={"John",17,"paul",19,"Mary",18,"Adam",16,};根據(jù)上述定義,能輸出字母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));
43.若有運(yùn)算符:>、*=、<<、%、sizeof,則它們按優(yōu)先級(由低至高)的正確排列次序?yàn)?)。
A.*=<<>%sizeof
B.<<*=>%sizeof
C.%=><<sizeof%
D.*=><<%sizeof
44.以下敘述中正確的是()。
A.用C語言實(shí)現(xiàn)的算法必須要有輸入和輸出操作
B.用C語言實(shí)現(xiàn)的算法可以沒有輸出但必須要有輸入
C.用C語言程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出
D.用C語言程序?qū)崿F(xiàn)的算法可以既沒有輸入也沒有輸出
45.C語言中,組成數(shù)據(jù)文件的成分是()。A.A.記錄
B.數(shù)據(jù)行
C.數(shù)據(jù)塊
D.字符(字節(jié))序列
46.以下程序中,能夠通過調(diào)用函數(shù)fun,使main函數(shù)中的指針變量p指向一個(gè)合法的整型單元的是
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.#includemain(){int*p;fun(&p);…}intfun(int**p)*p=(int*)malloc(2);}
D.#includemain(){iht*p;fun(p);…}ihtfun(iht*p){p=(int*)malloc(sizeof(int));}
47.設(shè)x為int型變量,執(zhí)行以下語句,x=10;x+=x-=x-x;x的值為______。
A.10B.20C.30D.40
48.下列描述說明正確的是()
A.定義結(jié)構(gòu)體時(shí),它的每個(gè)成員的數(shù)據(jù)類型可以不同
B.不同結(jié)構(gòu)體的成員名不能相同
C.結(jié)構(gòu)體定義時(shí),其成員的數(shù)據(jù)類型不能是結(jié)構(gòu)體本身
D.結(jié)構(gòu)體定義時(shí)各成員項(xiàng)之間可用分號也可用逗號隔開
49.下列敘述中正確的是______。
A.程序設(shè)計(jì)就是編制程序
B.程序測試必須由程序員自己去做
C.程序經(jīng)調(diào)試改錯(cuò)后還應(yīng)進(jìn)行再測試
D.程序經(jīng)調(diào)度改錯(cuò)后不必進(jìn)行再測試
50.電子數(shù)字計(jì)算機(jī)最主要的工作特點(diǎn)是()
A.高速度B.高精度C.存儲(chǔ)程序與自動(dòng)控制D.記憶力強(qiáng)
51.軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括軟件開發(fā)技術(shù)和()。
A.消除軟件危機(jī)B.軟件工程管理C.程序設(shè)計(jì)自動(dòng)化D.實(shí)現(xiàn)軟件可重用
52.在面向?qū)ο蠓椒ㄖ校粋€(gè)對象請求另一個(gè)對象為其服務(wù)的方式是通過發(fā)送()。
A.調(diào)用語句B.命令C.口令D.消息
53.在下列關(guān)系運(yùn)算中,不改變關(guān)系表中的屬性個(gè)數(shù)但能減少元組個(gè)數(shù)的是()
A.并B.交C.投影D.除
54.
對兩個(gè)數(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中都存放字符串
55.運(yùn)行以下程序后,如果從鍵盤上輸入6514<回車>,則輸出結(jié)果為______。main(){intm,n;printf("Enterm,n:");scanf("%d%d",&m,&n);while(m!=n){while(m>n)m-=n;while(n>m)n-=m;}printf("m=%d\n",m);}
A.m=3B.m=2C.m=1D.m=0
56.下列敘述中正確的是A.程序設(shè)計(jì)就是編制程序
B.程序的測試必須由程序員自己去完成
C.程序經(jīng)調(diào)試改錯(cuò)后還應(yīng)進(jìn)行再測試
D.程序經(jīng)調(diào)試改錯(cuò)后不必進(jìn)行再測試
57.在C語言中,函數(shù)中變量的隱含存儲(chǔ)類別是______。
A.autoB.staticC.externD.無存儲(chǔ)類別
58.下面程序的輸出結(jié)果是()。#defineWW(X)X*Xmain(){inta,i;i=3;a=++WW(i+1);printf("%d\n",a);}
A.5B.6C.9D.程序有錯(cuò)誤
59.設(shè)有以下語句typedefstructTT{charc;inta[4];}CIN;則下面敘述中正確的是______。A.可以用TT定義結(jié)構(gòu)體變量
B.TT是struct類型的變量
C.可以用CIN定義結(jié)構(gòu)體變量
D.CIN是structTT類型的變量
60.設(shè)已包含頭文件<string.h>,下列程序段的運(yùn)行結(jié)果是()。chars1[]={"ACDEF"};chars2[]="ABC";strcpy(s1,s2);printf("%d",strlen(s1));
A.3B.4C.6D.5
四、選擇題(20題)61.
62.
63.若有定義:“inta[2][3];”,則對a數(shù)組的第i行第j列元素的正確引用為()。
A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j
64.以下程序的輸出結(jié)果是()。
main()
{inta=4,b=5,c=0,d;
d=!a&&!b║!c;
printf("%d\n",d);
}
A)1B)0
C)非0的數(shù)D)-1
65.在深度為5的滿二叉樹葉中,葉子結(jié)點(diǎn)的個(gè)數(shù)為()。
A.32B.31C.16D.15
66.
67.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.500B.401C.503D.1404
68.軟件生命周期是指()。A.軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程
B.軟件從需求分析、設(shè)計(jì)、實(shí)現(xiàn)到測試完成的過程
C.軟件的開發(fā)過程
D.軟件的運(yùn)行維護(hù)過程
69.若某二叉樹中的所有結(jié)點(diǎn)值均大于其左子樹上的所有結(jié)點(diǎn)值,且小于右子樹上的所有結(jié)點(diǎn)值,則該二叉樹遍歷序列中有序的是()。
A.前序序列B.中序序列C.后序序列D.以上說法均可以
70.定義無符號整數(shù)類為UInt,下面可以作為類UInt實(shí)例化值的是()。
A.-369B.369C.0.369D.整數(shù)集合{1,2,3,4,5}
71.設(shè)有圖書(圖書編號,書名,第一作者,出版社.、讀者(借書證號,姓名,單位,職稱.和借閱(借書證號,圖書編號,借書日期,還書日期.三張表,則表借閱的關(guān)鍵字(鍵或碼.為()。
A.借書證號,圖書編號
B.圖書編號,借書日期
C.借書日期,還書日期
D.借書證號,借書日期
72.
73.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
A.21B.11C.20D.10
74.下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是()
A.便于用戶,開發(fā)人員進(jìn)行理解和交流
B.反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)
C.作為確認(rèn)測試和驗(yàn)收的依據(jù)
D.便于開發(fā)人員進(jìn)行需求分析
75.
76.
下述程序的輸出結(jié)果是()。
#defineN20
voidfun(inta[],intn,intm)
{inti,j;
for(i=m;i>n;i--)a[i+1]=a[i];
}
main()
{inti,a[N]={1,2,3,4,5,6,7,8,9,10};
fun(a,2,9);
for(i=0;i<5;i++)printf("%d",a[i]);
}
A.10234B.12344C.12334D.12234
77.
78.以下敘述中正確的是()。
A.簡單c語句必須以分號結(jié)束
B.C程序中的每—行只能寫—條i{}句
C.c語言程序中的注釋必須與語句寫在同一行
D.C語句必須在一行內(nèi)寫完
79.下面的程序段運(yùn)行后,輸出結(jié)果是()。
A.9B.不確定值C.0D.18
80.以下程序的輸出結(jié)果是()。
A.20B.24C.25D.15
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun()的功能是:實(shí)現(xiàn)兩個(gè)變量值的交換,規(guī)定不允許增加語句和表達(dá)式。例如,變量a中的值原為8,b中的值原為3,程序運(yùn)行后,a中的值為3,b中的值為8。請改正程序中的錯(cuò)誤,使它得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:
六、程序設(shè)計(jì)題(1題)82.請編寫函數(shù)proc,該函數(shù)的功能是:將M行N列的二維數(shù)組中的數(shù)據(jù),按行的順序依次放到一維數(shù)組中,一維數(shù)組中數(shù)據(jù)的個(gè)數(shù)存放在形參n所指的存儲(chǔ)單元中。例如,若二維數(shù)組中的數(shù)據(jù)為132333431424344415253545則一維數(shù)組中的內(nèi)容應(yīng)該是132333431424344415253545。注意:部分源程序給出如下。請勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號中填入所編寫的若干語句。試題程序:#include<stdio.h>voidproc(int(*s)[103,int*b,int*n,intrain.intnn){ }voidmain{intarr[10][10]={{33,33,33,33),{44,44,44,44},{55,55,55,55}),i,j;inta[l00]={o),n=o;printf("Thematrix:\n");for(i=0;i<3;i++){for(j=0;j<4;j++)printf("%3d",arr[i][j]):printf("\n");}proc(arr,a,&n,3,4):printf("TheAarray:\n");for(i=0;i<n;i++)printf("%3d",a[i]):printf("\n\n");}
參考答案
1.D
2.C解析:修改數(shù)據(jù)庫的物理結(jié)構(gòu)或邏輯結(jié)構(gòu)時(shí),通過兩級映像,可以使得應(yīng)用程序不必修改,保證數(shù)據(jù)的獨(dú)立性。數(shù)據(jù)的獨(dú)立性包括物理獨(dú)立性和邏輯獨(dú)立性。
3.C解析:軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì)包括:基于功能層次結(jié)構(gòu)建立系統(tǒng)、按功能劃分成模塊的層次結(jié)構(gòu)、確定每個(gè)模塊的功能、建立與已確定的軟件需求的對應(yīng)關(guān)系、確定模塊間的調(diào)用關(guān)系和模塊間的接口、評估模塊劃分的質(zhì)量等方面。詳細(xì)設(shè)計(jì)的任務(wù)是:在使用程序設(shè)計(jì)語言編制程序以前,對所采用算法的邏輯關(guān)系進(jìn)行分析,設(shè)計(jì)出全部必要的過程細(xì)節(jié),并給予清晰的表達(dá)。需求分析是指用戶對目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面的期望。需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求,通常包括:功能需求、性能需求、環(huán)境需求、可靠性需求、安全保密要求、用戶界面需求、資源使用需求、成本消耗需求、開發(fā)進(jìn)度需求等。編程調(diào)試的任務(wù)是診斷和改正程序中潛在的錯(cuò)誤。綜上所述。軟件功能分解只能發(fā)生在總體設(shè)計(jì)階段。
4.A解析:本題考查'%'運(yùn)算符的使用。運(yùn)算符'%'要求兩個(gè)運(yùn)算對象都為整型,其結(jié)果是整數(shù)除法的余數(shù)。本題中表達(dá)式ao%=(b%2)等價(jià)于a=a%o(b%2)=5%(7%2)=5%1=0。
5.D
6.Dfprintf函數(shù)和fscanf函數(shù)都可以讀寫文本文件,而fwrite和fread函數(shù)可以讀寫二進(jìn)制文件,選項(xiàng)A、C錯(cuò)誤;文件以“r”方式打開后,只可以讀取文本數(shù)據(jù),選項(xiàng)B錯(cuò)誤。故本題答案為D選項(xiàng)。
7.B解析:在C語言的數(shù)組元素的引用方法,我們在前面已經(jīng)講過了,比如數(shù)組元素a[0],可以用表達(dá)式*(p+0),即*p來引用,對于數(shù)組元素a[1],可以用表達(dá)式*(p+1)來引用,在這里,p+1的值就是數(shù)組元素a[1]的地址,對此地址使用“間接訪問運(yùn)算符”:*(p+1)就代表存儲(chǔ)單元a[1],注意:一對圓括號不可少。同樣,對于數(shù)組元素a[2],則可以用表達(dá)式。(p+2)來引用…,對于數(shù)組元素a[9],可以用表達(dá)式,(p+9)來引用。因此,當(dāng)指針變量p指向a數(shù)組的起始地址時(shí),若0≤i<10,則數(shù)組元素a[i]可以用*(p+i)來表示。
8.C解析:在格式化模型中,要事先根據(jù)應(yīng)用的需要,確定數(shù)據(jù)之間的邏輯關(guān)系,即先對數(shù)據(jù)進(jìn)行結(jié)構(gòu)化。在關(guān)系模型中,不需要事先構(gòu)造數(shù)據(jù)的邏輯關(guān)系,只要將數(shù)據(jù)按照一定的關(guān)系存入計(jì)算機(jī),也就是建立關(guān)系。所以選項(xiàng)A錯(cuò)誤。對于一個(gè)表示關(guān)系的二維表,其最基本的要求是表中元組的每一個(gè)分量必須是不可分的數(shù)據(jù)項(xiàng),即不允許表中再有表。所以,選項(xiàng)B、D說法是錯(cuò)誤的。一個(gè)關(guān)系的屬性名表稱為關(guān)系模式,也就是二維表的表框架,相當(dāng)于記錄型。因此,選項(xiàng)C說法正確。
9.C因?yàn)閤=0xFFFF=11111111,因此當(dāng)以整型形式輸出時(shí)對應(yīng)的數(shù)為一1。
10.B
11.A
12.D解析:在關(guān)系數(shù)據(jù)表中,行稱為元組,對應(yīng)存儲(chǔ)文件中的記錄,列稱為屬性,對應(yīng)存儲(chǔ)文件中的字段,所以本題答案為D。
13.B
14.D解析:*p間接引用指針指向的變量,因此“(*p)=&a”不對。scanf()的輸入變量必須為地址,因此C是錯(cuò)誤的。
15.A因?yàn)閤和y都是double型數(shù)據(jù),輸入時(shí)的格式字符應(yīng)為%lf,B、C選項(xiàng)錯(cuò)誤。D選項(xiàng)中的“scanf(“%lf%lf”,x,y);”應(yīng)為“scanf(“%lf%lf”,&x,&y);”。故本題答案為A選項(xiàng)。
16.A
17.B本題考查按位異或的用法。按位異或運(yùn)算的規(guī)則是:兩個(gè)運(yùn)算數(shù)的相應(yīng)二進(jìn)制位相同,則結(jié)果為0,相異則結(jié)果為1。b=2的二進(jìn)制為00000010,a=1的二進(jìn)制為00000001,a=a^b一00000011,轉(zhuǎn)化為十進(jìn)制后為3,b=b^a=00000010^00000011=00000001,即1。
18.D
19.B
20.C在main函數(shù)中調(diào)用了f函數(shù)使形參s指向數(shù)組a。執(zhí)行“S[1]+=6”;語句,則“a[1]=8;”執(zhí)行“*s=7;”語句,則“a[0]=7”;執(zhí)行“s+=2;”語句,則s指向數(shù)組的第3個(gè)元素并返回s。調(diào)用后,函數(shù)返回值賦給指針P,則*P=3,因此輸出的結(jié)果為7,8,3。故本題答案為C選項(xiàng)。
21.有窮性有窮性解析:算法有四個(gè)基本特征:可行性、確定性、有窮性和擁有足夠的情報(bào)。
22.double型或雙精度型double型或雙精度型解析:①先進(jìn)行w*x的運(yùn)算,先將字符型w轉(zhuǎn)換成整型,運(yùn)算結(jié)果為整型;②再將w*x的結(jié)果與z相加,要先將第一步的整型轉(zhuǎn)換為double型,運(yùn)算結(jié)果為double型;③最后將w*x+z的結(jié)果與y相減,要先將float型y轉(zhuǎn)換成double型,結(jié)果為double型。
23.1098
24.4040解析:分析程序,初始時(shí)i=10,j=0,這時(shí)do循環(huán)中的“i=j+i”
25.x&sx,&s解析:函數(shù)SumColumMin中變量k存放一列數(shù)組元素中值最小的數(shù)組元素的行標(biāo),函數(shù)通過形參sum帶回值,sum是指針變量,將s中的值賦給*sum。空為函數(shù)調(diào)用,函數(shù)SumColumMin有兩個(gè)形參,二維數(shù)組和指針變量,故空中應(yīng)填x,&s。
26.99解析:本題的字符串中共有9個(gè)字符,它們分別是\'I\'、\'B\'、\'M\'、\'\\n\'、\'0\'、\'1\'、\'2\'、\'\\1\'、\'\\\\\',其中,'\\n'表示換行,'\\\\'表示反斜杠字符'\\',所以本題的最后輸出結(jié)果為9。
27.efghefgh解析:本題定義了一個(gè)字符型指針變量p并通過賦初值讓它指向了一個(gè)字符串,定義了另一個(gè)字符型指針變量r和一個(gè)長整型指針變量q。首先通過語句“q=(long*)p;”把P的地址值強(qiáng)制轉(zhuǎn)換為長整型地址值并賦值給q,然后執(zhí)行“q++;”,地址值增加了4,執(zhí)行語句“r=(char*)q”,把長整型指針變量q的值再強(qiáng)制轉(zhuǎn)換成字符型地址值并賦給r,r的值應(yīng)為字符串中字符“e”的地址,最后輸出r指向的字符串,是“efgh”。
28.i<=9或i<10或9>=i或10>ij%3!=0或j%3i<=9或i<10或9>=i或10>i\r\nj%3!=0或j%3
29.a=a+ba=a+b解析:a+=b與a=a+b等價(jià),作用是把變量a的值加b后再賦給變量a。
30.1212解析:本題的第—個(gè)for循環(huán)用于紿數(shù)組arr賦初值,第二個(gè)for循環(huán)用于求和運(yùn)算。由于第二個(gè)for循環(huán)初始值為1,而循環(huán)條件為i<4,所以求的是arr[1]到arr[3]及i的和,所以輸出結(jié)果為12。
31.QTHRGQTHRG解析:strcmp(t,s)函數(shù)用來比較t和s所指字符串的大小,若t>s,則函數(shù)值大于0;若t=s,則函數(shù)值等于0:若t<s,則函數(shù)值小于0。strcpy(t,s)函數(shù)的功能是把字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指的存儲(chǔ)空間中。本題中,t[10]='CDEF'。第一次循環(huán),s[10]='BADEF',if語句的控制條件strcmp(t,s)<0不成立,接著執(zhí)行第二次循環(huán).s='QTHRG',if語句的控制條件strcmp(t,s)<0成立,執(zhí)行下列的語句,將字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指的存儲(chǔ)空間中,然后輸出字符數(shù)組t。
32.投影投影解析:在關(guān)系運(yùn)算中,投影運(yùn)算是在給定關(guān)系的某些域上進(jìn)行的運(yùn)算。
33.\0's\\0'\r\ns解析:本題選通過for循環(huán)從鍵盤讀入20個(gè)字符,然后在最后賦一定值'\\0'后為結(jié)束標(biāo)志,再使指針p指向字符串的首地址。最后通過while循環(huán)對字符串進(jìn)行掃描并輸出。
34.a.next=aba.next=ab解析:選項(xiàng)A)中,指針變量q保存的就是變量b的地址,選項(xiàng)B)中的p是指針變量,應(yīng)該是p->next=&b;在選項(xiàng)D)中,用*運(yùn)算符取出結(jié)構(gòu)體變量,并且保存的就是b的地址。
35.共享性共享性解析:數(shù)據(jù)庫技術(shù)的主要特點(diǎn)有以下幾個(gè)方面:數(shù)據(jù)的集成性,數(shù)據(jù)的高共享性與低冗余性,數(shù)據(jù)的獨(dú)立性,數(shù)據(jù)統(tǒng)一管理與控制。
36.邏輯關(guān)系邏輯關(guān)系
37.一對多(或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)系。
38.swap(st);swap(s,t);解析:本題要在主函數(shù)中調(diào)用swap函數(shù)交換a、b的值,實(shí)現(xiàn)數(shù)據(jù)交換需要進(jìn)行地址傳遞,所以函數(shù)的形參都應(yīng)該是需要交換的數(shù)據(jù)的地址,程序中通過“s=&a;t=&b;”將指針變量s和t指向變量a、b的地址,因此,引用時(shí)直接引用指針變量s和t即可。
39.0
40.概念設(shè)計(jì)階段(數(shù)據(jù)庫概念設(shè)計(jì)階段)概念設(shè)計(jì)階段(數(shù)據(jù)庫概念設(shè)計(jì)階段)
41.D解析:串的長度指的是串中字符的個(gè)數(shù),且其字符個(gè)數(shù)可以為零。選項(xiàng)D正確。
42.D解析:這是一個(gè)給結(jié)構(gòu)體數(shù)組賦初值的問題。它的賦初值過程與上述二維數(shù)組賦初值很相似。只是這里的大括號中的初始值沒有按行給出(也即沒有用大括號分開來),在這種情況下,初始值將按數(shù)組的各個(gè)元素在內(nèi)存中的存放次序逐個(gè)逐個(gè)地賦給各元素。現(xiàn)在結(jié)構(gòu)體數(shù)組的各個(gè)元素在內(nèi)存中的存放次序是這樣的:class[0].name,class[0].a(chǎn)ge,class[1].name,class[1].a(chǎn)ge…,由此可以知道,包含字母‘M’的字符串'Mary'賦值給了元素class[2].name,則與字符‘M’先相對應(yīng)的表達(dá)式是class[2].name[0]。
43.D解析:本題主要考查算術(shù)運(yùn)算的優(yōu)先級。順序如下:
[*]
注:*=、>、<<、%、sizeof的優(yōu)先級依次遞增。
44.C解析:一個(gè)算法應(yīng)該具有以下5個(gè)特性:有窮性、確定性、可行性、有零個(gè)或多個(gè)輸入、有一個(gè)或多個(gè)輸出。因此一個(gè)算法可以沒有輸入(程序的功能確定),但必須要有輸出,沒有輸出的算法是沒有意義的。
45.D解析:C語言中的文件是流式文件。流式文件是一種無結(jié)構(gòu)文件,即整個(gè)文件是一串字符流或二進(jìn)制流。文件的存取以字符或字節(jié)為單位。
46.C解析:本題考核的知識點(diǎn)是指針變量作為函數(shù)的參數(shù)以及變量的作用域。在選項(xiàng)A中,main()函數(shù)中定義了一個(gè)指針變量p,調(diào)用fun()函數(shù)時(shí)把p傳給形參p,在函數(shù)中讓p指向局部變量s,由于函數(shù)調(diào)用返回后,局部變量s將被釋放,因此無法實(shí)現(xiàn)讓實(shí)參p指向一個(gè)整型單元,故選項(xiàng)A錯(cuò)誤.選項(xiàng)B中實(shí)現(xiàn)的也是讓實(shí)參p,指向一個(gè)在函數(shù)fun()定義的局部變量s,因此也是錯(cuò)誤的;選項(xiàng)C在函數(shù)fun()中分配了兩個(gè)字節(jié)的內(nèi)存單元并把首地址賦值給形參p指向的變量,即main()函數(shù)的指針變量p中,由于整型變量占兩個(gè)字節(jié),因此,選項(xiàng)C是正確的;選項(xiàng)D在主函數(shù)中定義了一個(gè)指針地址變量p,并把指針變量的值傳給形參變量p,在fun()函數(shù)分配了一個(gè)整型單元并把首地址賦值給行參指針變量p,由于C語言中變量作為參數(shù)是傳值的,所以并沒有改變對應(yīng)實(shí)參指針變量的值,因此選項(xiàng)D也是錯(cuò)誤的.所以,C選項(xiàng)為所選。
47.B解析:本題x=10,表達(dá)式“x+=x-=x-x;”的求解步驟如下:先進(jìn)行x-=x-x的運(yùn)算,相當(dāng)于)x=x-(x-x)=x=10;再進(jìn)行x+=x的運(yùn)算,即x=x+x=20。
48.A
49.C解析:軟件測試包括需求分析、結(jié)構(gòu)功能模塊設(shè)計(jì)、編制程序等階段。程序的測試可以由專門的測試人員來完成。程序經(jīng)調(diào)試改錯(cuò)后還應(yīng)進(jìn)行再測試。
50.B解析:通常所說的計(jì)算機(jī)應(yīng)是電子數(shù)字計(jì)算機(jī)的簡稱。電子數(shù)字計(jì)算機(jī)是一種能快速、自動(dòng)進(jìn)行數(shù)值計(jì)算和信息處理的計(jì)算工具。其主要特點(diǎn)是:(1)計(jì)算機(jī)能快速計(jì)算;(2)計(jì)算機(jī)是具有通用性的計(jì)算工具;(3)計(jì)算機(jī)具有高準(zhǔn)確度;(4)計(jì)算機(jī)具有邏輯判斷能力。
51.B軟件工程的目標(biāo)是,在給定的成本、進(jìn)度的前提下,開發(fā)出具有有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品。基于這一目標(biāo),軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括:軟件開發(fā)技術(shù)和軟件工程管理。
52.D解析:面向?qū)ο蟮氖澜缡峭ㄟ^對象與對象間彼此的相互合作來推動(dòng)的,對象間的這種相互合作需要一個(gè)機(jī)制協(xié)助進(jìn)行,這樣的機(jī)制稱為消息。消息是一個(gè)實(shí)例與另一個(gè)實(shí)例之間傳遞的信息,它請求對象執(zhí)行某一處理或回答某一要求的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。
53.BB)【解析】關(guān)系R與S經(jīng)交運(yùn)算后所得到的關(guān)系是由那些既在R內(nèi)又在S內(nèi)的有序組所組成,記為Rl3S,交運(yùn)算不改變關(guān)系表中的屬性個(gè)數(shù)但能減少元組個(gè)數(shù)。
54.C解析:本題考查字符數(shù)組和字符串賦值給數(shù)組的一些區(qū)別。語句“charm[]='1234567';”定義了一個(gè)字符型數(shù)組并進(jìn)行了初始化,C語言規(guī)定,在字符串的末尾自動(dòng)加上串結(jié)束標(biāo)記\'\\0\',因此數(shù)組m的長度是8;而數(shù)組n是按照字符方式對數(shù)組進(jìn)行初始化,系統(tǒng)不會(huì)自動(dòng)加上串結(jié)束標(biāo)記\'\\0\',因此數(shù)組n的長度是7。
55.C解析:分析程序可知,該程序?qū)崿F(xiàn)的功能是對數(shù)m,n求其最大公約數(shù)。在本題中m與n的值分別為65與14,其最大公約數(shù)為1,故其輸出結(jié)果為m=1。
56.C解析:軟件設(shè)計(jì)的基本目標(biāo)是用比較抽象概括的方式確定目標(biāo)系統(tǒng)如何完成預(yù)定的任務(wù),軟件沒計(jì)是確定系統(tǒng)的物理模型。軟件測試即使用人工或自動(dòng)手段來運(yùn)行或測定某個(gè)系統(tǒng)的過程,其日的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。軟件調(diào)試后要進(jìn)行回歸測試,防止引進(jìn)新的錯(cuò)誤。
57.A解析:函數(shù)中變量的存儲(chǔ)類別包括auto,static,extern,其中auto為隱含存儲(chǔ)類別,static為靜態(tài)存儲(chǔ)類別,register是寄存器存儲(chǔ)類別。
58.C解析:表達(dá)式“a++WW(i+1);”,宏展開之后為a=++i+1*i+1,先計(jì)算++i,結(jié)果為4,i的值也變?yōu)?,所以a=4+1*4+1=9。所以正確答案是選項(xiàng)C。
59.C解析:將題目中的定義語句去掉前面的typedef和后面的CIN(分號保留),就是一條完整的結(jié)構(gòu)體定義語句,其中struct是說明符,TT是結(jié)構(gòu)體名,大括號里面的是結(jié)構(gòu)體成員的定義。此時(shí)要聲明該結(jié)構(gòu)體變量時(shí)需要使用struct加結(jié)構(gòu)體名一起來聲明,structTT一起構(gòu)成一個(gè)結(jié)構(gòu)體類型,就好像字符類型char。若只去掉前面的typedef,就是一條結(jié)構(gòu)體定義同時(shí)聲明個(gè)結(jié)構(gòu)體變量CIN的語句,因?yàn)镃IN的前面部分是structTT的完整寫法,可以看作是structTT。C語言允許用typedef說明一種新類型名,其語法格式為:
typedef類型名標(biāo)識符;
以后就可以用該標(biāo)識符來代替被說明的類型名了。因此,當(dāng)前面存在typedef時(shí),該語句就變成了給structTT的定義一個(gè)新的名稱CIN。所以,此時(shí)的CIN是一個(gè)結(jié)構(gòu)體類型,它相當(dāng)于structTT,即可以和char一樣單獨(dú)用來聲明該結(jié)構(gòu)體變量,而TT只是一個(gè)結(jié)構(gòu)體名,不能單獨(dú)用來聲明變量。所以,4個(gè)選項(xiàng)中C符合題意。
60.A解析:頭文件<string.h>是字符串處理函數(shù)對應(yīng)的頭文件,要想調(diào)用C語言的庫函數(shù)時(shí),都要在程序中嵌入該函數(shù)對應(yīng)的頭文件,否則無法使用庫函數(shù)。
strcpy(s1,s2)把s2中的字符串復(fù)制到s1中,所以結(jié)果就為s2的長度。
61.B
62.A
63.A解析:本題考查如何通過地址來引用數(shù)組元素。通過地址來引用數(shù)組元素的方法有下列5種:
①a[i][j];②*(a[i]+j);③*(*(a+i)+j);④*(a[i])[j];⑤*(&a[0][0]+3*i+j)。
64.Aa為一非零值,!a結(jié)果為0,與!b進(jìn)行與運(yùn)算結(jié)果為0,c=0,!c=1,與前面的數(shù)值進(jìn)行或運(yùn)算結(jié)果為1.
65.C根據(jù)二叉樹的性質(zhì)及定義,一棵深度為k且有2k-1個(gè)結(jié)點(diǎn)的二叉樹為滿二叉樹。滿二叉樹的葉子結(jié)點(diǎn)為最后一層的結(jié)點(diǎn)數(shù),又根據(jù)滿二叉樹的性質(zhì),在滿二叉樹的第i層上至多有2i-1個(gè)結(jié)點(diǎn)。因此深度為5的滿二叉樹的葉子結(jié)點(diǎn)數(shù)為25-1=16個(gè)。
66.C
67.C本題重點(diǎn)考察函數(shù)的定義和調(diào)用,第一次循環(huán),a=0,i=0,返回值a=0*0+1+0=1;第二次循環(huán),a=1,i=10,返回值a=10*10+1+1=102;第三次循環(huán),a=102,i-20,返回值a=20*20+1十102=503;第四次循環(huán),a=503,i=30;不符合i<30,跳出循環(huán),最后結(jié)果輸出a=503。
68.A通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役
溫馨提示
- 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)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 擺脫焦慮的項(xiàng)目管理試題及答案共享
- 市政工程設(shè)備使用管理試題及答案
- 2025年市政工程民生問題試題及答案
- 2025年經(jīng)濟(jì)法考試必看試題及答案
- 水利水電工程運(yùn)營管理實(shí)踐試題及答案
- 2025年市政工程考試備考資料整合及試題及答案
- 2025年關(guān)于商業(yè)辦公租賃合同范本
- 廣西壯族自治區(qū)南寧市第三十七中學(xué)2025屆八下數(shù)學(xué)期末質(zhì)量檢測試題含解析
- 2025年工程項(xiàng)目成功要素試題及答案
- 2025屆山西省大同市云岡區(qū)數(shù)學(xué)八下期末聯(lián)考模擬試題含解析
- 供電公司配網(wǎng)搶修和保修管理實(shí)施細(xì)則
- 短視頻營銷實(shí)踐試題及答案
- 安置房轉(zhuǎn)讓正式合同范本
- 《中國古典小說鑒賞》考試復(fù)習(xí)題庫(含答案)
- SJG?74.7-2025 《安裝工程消耗量標(biāo)準(zhǔn)》第七冊 消防工程
- 粵語高智商測試題及答案
- 2025年廣東江門公用能源環(huán)保有限公司招聘筆試參考題庫含答案解析
- 2025年湖南株洲國創(chuàng)軌道科技有限公司招聘筆試參考題庫含答案解析
- 《水痘患者的護(hù)理》課件
- 2025年甘肅省安全員B證考試題庫及答案
- 一汽大眾行業(yè)調(diào)查研究報(bào)告
評論
0/150
提交評論