




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2022年云南省保山市全國計算機等級考試C語言程序設(shè)計測試卷(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.
2.設(shè)R是一個二元關(guān)系,S是一個三元關(guān)系,則下列運算中正確的是()。
A.R-SB.R×SC.R∩SD.R∪S
3.成功的測試是指A.A.運行測試實例后未發(fā)現(xiàn)錯誤
B.發(fā)現(xiàn)程序的錯誤
C.證明程序正確
D.軟件產(chǎn)生
4.
5.以下敘述中正確的是()。
A.程序設(shè)計的任務(wù)就是編寫程序代碼并上機調(diào)試
B.程序設(shè)計的任務(wù)就是確定所用數(shù)據(jù)結(jié)構(gòu)
C.程序設(shè)計的任務(wù)就是確定所用算法
D.以上三種說法都不完整
6.以下符號中不能作為標識符的是()。
A._256B.r32C.intD.e231
7.以下敘述中錯誤的是()。
A.線性結(jié)構(gòu)也能采用鏈式存儲結(jié)構(gòu)
B.線性結(jié)構(gòu)一定能采用順序存儲結(jié)構(gòu)
C.有的非線性結(jié)構(gòu)也能采用順序存儲結(jié)構(gòu)
D.非線性結(jié)構(gòu)一定不能采用順序存儲結(jié)構(gòu)
8.
9.
10.有以下程序:#include<stdio.h>intshow(char*str){while(*str){putchar(*str+1);str++;}return*str+1;}main(){printf(“%d\n”,show(“ABCD”));}程序運行后的輸出結(jié)果是()。
A.ABCD0B.BCDE0C.BCDE1D.ABCD1
11.下述關(guān)于數(shù)據(jù)庫系統(tǒng)的敘述中,正確的是()。
A.數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余
B.數(shù)據(jù)庫系統(tǒng)避免了一切冗余
C.數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型一致
D.數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)
12.廣義表((a))的表頭是(a),表尾是()。A.aB.()C.(a)D.((a))
13.以下程序的主函數(shù)中調(diào)用了在其面前定義的fun函數(shù)#include<stdio.h>...main(){doublea[15],k;k=fun(a);...}則以下選項中錯誤的fun函數(shù)首部是()。、A.doublefun(doublea[l5])
B.doublefun(double*a)
C.doublefun(doublea[])
D.doublefun(doublea)
14.以下選項中非法的表達式是()。
A.0<=x<100B.i=j==0C.(char)(65+3)D.x+1=x+1
15.若聲明一個浮點數(shù)數(shù)組如下:froataverage[]=newfloat[30];假設(shè)該數(shù)組的內(nèi)存起始位置為200,average[15]的內(nèi)存地址是()。A.A.214B.215C.260D.256
16.以下選項中,能表示邏輯值“假”的是()
A.1B.0.000001C.0D.100.0
17.由權(quán)值分別為3,8,6,2,5的葉子結(jié)點生成一棵哈夫曼樹,它的帶權(quán)路徑長度為________。
A.24B.48C.72D.53
18.閱讀以下程序:#include<stdio.h>main(){intcase;floatprintF;printf("請輸人2個數(shù):");scanf("%d%fl"&case,&printF);printf("%dofof\n",case,printF);}該程序在編譯時產(chǎn)生錯誤,其出錯原因是()。A.定義語句出錯,case是關(guān)鍵字,不能用做用戶自定義標識符
B.定義語句出錯,printF不能用做用戶自定義標識符
C.定義語句無錯,scanf不能作為輸入函數(shù)使用
D.定義語句無錯,printf不能輸出case的值
19.程序運行后的輸出結(jié)果是()。A.3B.4C.5D.6
20.
二、2.填空題(20題)21.有以下程序:
main()
{charstr[]="xyz",*ps=str;
while(*ps)ps++;
for(ps--;ps-str>=0;ps--)puts(ps);
}
執(zhí)行后的輸出結(jié)果是【】。
22.設(shè)有定義“struct{inta;floatb;charc;}abc,*p_abc=&abc;”,則對結(jié)構(gòu)體成員a的引用方法可以是abc.a和p_abc【】a。
23.函數(shù)fun的功能是計算xn。
doublefun(doublex,intn)
{inti;doubley=1;
for(i=1;i<=n;i++)y=y*x;
returny;
}
主函數(shù)中已正確定義m、a、b變量并賦值,并調(diào)用fun函數(shù)計算:m=a4+b4-(a+b)3。實現(xiàn)這一計算的函數(shù)調(diào)用語句為【】。
24.數(shù)據(jù)庫系統(tǒng)的三級模式分別為【】模式、內(nèi)部級模式與外部級模拭。
25.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
main()
{intn=12345,d;
while(n!=0){d=n%10;printf("%d",D);n/=10;}
}
26.設(shè)有下列的程序段:
charstr[]="Hello";
char*ptr;
ptr=-str;
執(zhí)行上面的程序段后,*(ptr+5)的值為______。
27.以下程序的運行結(jié)果是【】。
#include<stdio.h>
main()
{FILE*fp;inta[10]={1,2,3,0,0},i;
fp=fopen("d2.dat","wb");
fwtite(a,sizeof(int),5,fp);
fwrite(a,sizeof(int),5,fp);
fclose(fp);
fp=fopen("d2.dat","rb");
fread(a,sizeof(int),10,fp);
fclose(fp);
for(i=0;i<10;i++)printf("%d",a[i]);
}
28.下面程序的運行結(jié)果是【】。
#include<stdio.h>
main()
{inty,a;
y=2,a=1;
while(y--!=-1)
{do{a*=y;a++;}while(y--);}
printf("%d,%d",a,y);}
29.設(shè)有如下變量說明,則a+(int)((int)b+c)>>(int)(b-c)的值為【】。
inta=5;floatb=7.2,c=3.6;
30.下列程序的輸出結(jié)果是【】。
intt(intx,inty,intcp,intdp)
{cp=x*x+y*y;
dp=x*x-y*y;
}
main()
{inta=4,b=3,c=5,d=6;
t(a,b,c,d);
printf("%d%d\n",c,d);
}
31.下面程序的功能是將一個字符串str的內(nèi)容顛倒過來,請?zhí)羁铡?/p>
main()
{
inti,j,【】;charstr[]={"1234567");
for(i=0,j=strlen(str)【】;i<j;i++,j--)
{k=str[i];str[i]=str[j];str[j]=k;}
printf("%s\n",str);
}
32.mystrlen函數(shù)的功能是計算str所指字符串的長度,并作為函數(shù)值返回。請?zhí)羁铡?/p>
intmystden(char*str)
{inti;
fo,(i=0;【】!='\0';i++);
return(i);
33.結(jié)構(gòu)化程序設(shè)計的3種基本結(jié)構(gòu)分別是順序、選擇和______。
34.以下程序的運行結(jié)果為【】。
#defineN5
main()
{inta[N]={1,2,3,4,5},i,temp;
for(i=0;i<N/2;i++)
{temp=a[i];
a[i]=a[N-i-1];
a[N-i-1)=temp;
}
printf("\n");
for(i=0;i<n;i++)printf("%d",a[i]);
}
35.下面程序用來輸出結(jié)構(gòu)體變量a所占存儲單元的字節(jié)數(shù),請?zhí)羁铡?/p>
main()
{structstu
{charx[20];floaty;}a;
printf("asize:%d\n",sizeof(【】));
}
36.函數(shù)pi的功能是根據(jù)以下近似公式求π值:
請在下面的函數(shù)中填空,完成求π的功能。
#include<math.h>
doublepi(longn)
{doubles=0.0;
longi;
for(i=1;i<=n;i++)s=s+【】;
return(sqrt(6*s));
}
37.以下程序運行后的輸出結(jié)果是【】。
#include<stdio.h>
main()
{charm;
m='B'+32;
printf("%c\n",m);
}
38.下面程序的運行結(jié)果是()。##include<stdio.h>main(){inta,s,n,m;a=2;s=0;n=1;m=1;while(m<=4){n=n*a;s=s+n;++m;}printf("s=%d",s);}
39.以下程序中,函數(shù)fun的功能是計算x2-2x+6,主函數(shù)中將調(diào)用fun函數(shù)計算:
y1=(x+8)2-2(x+8)+6
y2=sin2(x)-2sin(x)+6
請?zhí)羁铡?/p>
#include"math.h"
doublefun(doublex){return(x*x-2*x+6);}
main()
{doublex,y1,y2;
printf("Enterx:");scanf("%lf",&x);
y1=fun(【】);
y2=fun(【】);
printf("y1=%lf,y2=%lf\n",y1,y2);
}
40.以下程序的功能是:求出數(shù)組x中各相鄰兩個元素的和依次存放到a數(shù)組中,然后輸出。請?zhí)羁铡?/p>
main()
{intx[10],a[9],I;
for(I=0;I<10;I++)scanf("%d",&x[I]);
for(【】;I<10;I++)
a[I-1]=x[I]+【】;.
for(I=0;I<9;I++)printf("%d",a[I]);
printf("");
}
三、1.選擇題(20題)41.關(guān)系模型允許定義3類數(shù)據(jù)約束,下列不屬于數(shù)據(jù)約束的是()。
A.實體完整性約束B.參照完整性約束C.屬性完整性約束D.用戶自定義的完整性約束
42.有以下程序:main(){chars[]="Yes\n/No",*ps=s;puts(ps+4);*(ps+4)=0;puts(s);}程序運行后的輸出結(jié)果是(選項D中的第一行是空行)()。
A.n/NoYes/NoB./NoYesC./NoYes/NoD./NoYes
43.有以下程序:voidf(int*q){inti=0;for(;i<5;i++)(*q)++;}main(){inta[5]={1,2,3,4,5},i;f(A);for(i=0;i<5;i++)printf("%d,",a[i]);}程序運行后的輸出結(jié)果是()。
A.2,2,3,4,5,B.6,2,3,4,5,C.1,2,3,4,5,D.2,3,4,5,6,
44.在位運算中,操作數(shù)左移一位,其結(jié)果相當于A.A.操作數(shù)乘以2
B.操作數(shù)除以2
C.操作數(shù)除以4
D.操作數(shù)乘以4
45.若變量已正確定義,有以下程序段:i=0;doprintf("%d,",i);while(i++);printf("%d\n",i);其輸出結(jié)果是()。
A.0,0B.0,1C.1,1D.程序進入無限循環(huán)
46.下列敘述中正確的是______。
A.C程序中注釋部分可以出現(xiàn)在程序中任何合適的地方
B.花括號“{”和“}”只能作為函數(shù)體的定界符
C.構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名
D.分號是C語句之間的分隔符,不是語句的—部分
47.以下選項中不能正確把cl定義成結(jié)構(gòu)體變量的是A.typedefstruct{intred;intgreen;intblue;}COLOR;COLORcl;
B.structcolorcl{intred;intgreen;intblue;}
C.structcolor{intred;intgreen;intblue;}cl;
D.struct{intred;intgreen;intblue;}cl;
48.設(shè)a、b、c、d、m、n均為int型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達式(m=a>b)&&(n=c>d)運算后,n的值為______。
A.0B.1C.2D.3
49.假定w、x、y、m均為int型變量,則執(zhí)行下列的語句后,m的值是()。w=6,x=4,y=3;m=(w<x)?w:x;m=(m<y)?m:y;
A.3B.4C.5D.6
50.已有定義:inti,a[10],*p;則合法的賦值語句是()。
A.p=100;B.p=a[5];C.p=a[2]+2;D.p=a+2;
51.有下列程序:
main()
{intt,a=1,b=5,C=-2;
while(a>b>C)
{t=a;a=b;b=t;c++;}
printf("%d,%d,%d",a,b,C);
}
程序的輸出結(jié)果是()。
A.1,5,0B.1,5,-2C.5,1,-1D.5,1,-2
52.下列語句中,在字符串s1和s2相等時顯示“theyareEqual”的是()。
A.if(*s1==*s2)
B.if(!strcmp(s1,s2))puts("theyareEqual");puts("theyareEqual");
C.if(s1==s2)
D.if(strcmp(s1,s2))Puts("theyareEqual");pros("theyareEqual");
53.有如下函數(shù)調(diào)用語句func(rec1,rec2+rec3,(rec4,rec5));該函數(shù)調(diào)用語句中,含有的實參個數(shù)是______。
A.3B.4C.5D.有語法錯誤
54.下列程序的運行結(jié)果是()。#include<stdio.h>#include<string.h>main(){char*s1="abDuj";char*s2="ABdUG";intt;t=strcmp(s1,s2);printf("%d",t);}
A.正數(shù)B.負數(shù)C.零D.不確定的值
55.下列關(guān)系運算中,能使經(jīng)運算后得到的新關(guān)系中屬性個數(shù)多于原來關(guān)系中屬性個數(shù)的是()。
A.選擇B.連接C.投影D.并
56.設(shè)有條件表達式:(EXP)i++:j--,則以下表達式中與(EXP)完全等價的是()。
A.(EXP==0)B.(EXP!=0)C.(EXP==1)D.(EXP!=1)
57.設(shè)有如下定義,則以下敘述中正確的是______。int(*ptr)();
A.ptr是指向一維數(shù)組的指針變量
B.ptr是指向int型數(shù)據(jù)的指針變量
C.ptr是指向函數(shù)的指針,該函數(shù)返回一個int型數(shù)據(jù)
D.ptr是一個函數(shù)名,該函數(shù)的返回值是指向int型數(shù)據(jù)的指針
58.Modem的數(shù)據(jù)傳輸速率可達到()
A.幾十KbpsB.幾十KBpsC.幾十MbpsD.幾十MBps
59.以下程序試圖把從終端輸入的字符輸出到名為abc.txt的文件中,直到從終端讀入字符串#號時結(jié)束輸入和輸出操作,但程序有錯#include<stdio.h>main(){FILE*fout;charch;fout=fopen('abc.txt''w');ch=fgetc(stdin);while(ch!='#'){fputc(ch,fout);ch=fgetc(stdin);}fclose(fout);}出錯的原因是______。
A.函數(shù)fopen調(diào)用形式錯誤B.輸入文件沒有關(guān)閉C.函數(shù)fgetc調(diào)用形式錯誤D.文件指針stdin沒有定義
60.棧底至棧頂依次存放元素A、B、C、D,在第五個元素E入棧前,棧中元素可以出棧,則出棧序列可能是
A.ABCEDB.DCBEAC.DBCEAD.CDABE
四、選擇題(20題)61.
62.
63.設(shè)變量a、b、c、d和y都已正確定義并賦值。若有以下if語句
if(a<b)
if(c==d)y=0;
Elsey=1;
該語句所表示的含義是()。
A.
B.
C.
D.
64.
65.數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關(guān)系是()。
A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.沒有任何關(guān)系
66.若有定義intx'y;并已正確給變量賦值。則以下選項中與表達式(x-y)?(x++):(y++)中的條件表達式(x_y)等價的是()。
A.(x-y011x-y>0)B.(x-y<0)C.(x-y>0)D.(x-y=o)
67.設(shè)有定義:“char*c;”,以下選項中能夠使字符型指針c正確指向一個字符串的()。
A.charstr[]="string";c=str;
B.scanf(%s,c):
C.c=getchar();
D.*c="strin9";
68.
69.
若有運算符:>、一、<<、%、sizeof,則它們按優(yōu)先級(由高至低)的正確排列順序為()。
A.%、sizeof、>、<<、=
B.sizeof、%、>、=、<<
C.sizeof、<<、>、%、=
D.sizeof、%、<<、>、=
70.若a為int類型,且其值為3,則執(zhí)行完表達式a+=a-=a*a后,a的值是()。
A.-3B.9C.-12D.6
71.下列選項中,能正確定義數(shù)組的語句是()。
72.以下不能將s所指字符串正確復制到t所指存儲空間的是()。
A.do{*t++=*8++;}while(*s);
B.for(i=0;t[i]=s[i];i++);
C.while(*t=*s){t++;s++;}
D.for(i=0,j=0;t[i++]=s[j++];);
73.若變量均已正確定義并賦值,以下合法的C語言賦值語句是()。
A.x=y==5;B.X=n%2.5:C.x+n=i;D.x=5=4+1:
74.
75.
76.
77.概要設(shè)計是軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計,以下選項中不屬于概要設(shè)計的是()。A.A.把軟件劃分成模塊B.確定模塊之間的調(diào)用關(guān)系C.確定各個模塊的功能D.設(shè)計每個模塊的偽代碼
78.下列描述中正確的是()。
A.程序就是軟件
B.軟件開發(fā)不受計算機系統(tǒng)的限制
C.軟件既是邏輯實體,又是物理實體
D.軟件是程序、數(shù)據(jù)和相關(guān)文檔的集合
79.以下選項中,與k=n++完全等價的表達式是A.k=n,n=n+1B.n=n+1,k=nC.k=++nD.k+=n+1
80.
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:用冒泡法對6個字符串按由小到大的順序進行排序。請修改程序中的錯誤,使它能得到正確結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計題(1題)82.請編寫函數(shù)proc,該函數(shù)的功能是:將放在字符串數(shù)組中的M個字符串(每串的長度不超過N),按順序合并組成一個新的字符串。
例如,若字符串數(shù)組中的M個字符串為:
ABCD
BCDEFG
CDEFGHI
則合并后的字符串內(nèi)容應該是ABCDBCDEFGCDEF—GHl。
注意:部分源程序給出如下。
請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號中填人所編寫的若干語句。
試題程序:
#include<stdio.h>
#include<conio.h>
#defineM3
#defineN20
voidproc(chararr[M][N],char*b)
{}
voidmain
{
charstr[M][N]={"ABCD","BCDEFG","
CDEFGHI"},i;
chararr[100]={"#############
#####");
printf("Thestring:\n");
for(i=0;i<M;i++)
puts(str[i]);
printf("\n");
proc(str,arr);
printf("TheAstring:\n");
printf("%s",arr);
printf("\n\n");
}
參考答案
1.D
2.BB?!窘馕觥筷P(guān)系的交(∩)、并(∪)和差(-)運算要求兩個關(guān)系是同元的,顯然作為二元的R和三元的S只能做笛卡兒積運算。
3.B軟件測試的目的主要有以下幾個方面。
(1)軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。
(2)一個好的測試用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤。
(3)一個成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤的測試。
另外,即使經(jīng)過了最嚴格的測試,可能仍然還有沒被發(fā)現(xiàn)的錯誤藏在程序中,測試只是找出程序中的錯誤,不能證明程序中沒有錯誤。
4.D
5.D\n程序設(shè)計是指設(shè)計、編制、調(diào)試程序的方法和過程。內(nèi)容涉及有關(guān)的基本概念、工具、方法以及方法學等。程序設(shè)計通常分為問題建摸、算法設(shè)計、編寫代碼和編譯調(diào)試4個階段。
\n
6.C
7.D滿二叉樹與完全二叉樹均為非線性結(jié)構(gòu),但可以按照層次進行順序存儲。本題答案為D選項。
8.B
9.B
10.C函數(shù)putchar每次輸出一個字符。表達式“*str+1”將對字符加1,因此字符串“ABCD”的每個字符都加1,字符串結(jié)束標識‘\\0’也會加1,輸出1,結(jié)果為BCDE1。故本題答案為C選項。
11.A解析:數(shù)據(jù)庫是一個通用化的、綜合性的數(shù)據(jù)集合,它可以為各種用戶所共享,具有最小的冗余度和較高的數(shù)據(jù)與程序的獨立性,而且能并發(fā)地為多個應用服務(wù),同時具有安全性和完整性。即數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余,但不能避免一切冗余。所以選項A正確,選項B錯誤。在數(shù)據(jù)庫管理階段中,數(shù)據(jù)是結(jié)構(gòu)化的,面向系統(tǒng),數(shù)據(jù)冗余度小,從而節(jié)省了數(shù)據(jù)的存儲空間,也減少了對數(shù)據(jù)的存取時間,提高了訪問效率,避免了數(shù)據(jù)的不一致性。數(shù)據(jù)的不一致性,是指對數(shù)據(jù)的存取方式,選項C錯誤。數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù),并非是數(shù)據(jù)庫系統(tǒng)的特點,選項D錯誤。本題正確答案是A。
12.B
13.A由題可知fun的參數(shù)為變量,而a[15]為常量,所以答案為A。
14.D解析:選項A)在C語言中是一個合法的關(guān)系表達式,但它并不代表數(shù)學式o<=x<100。計算0<=x<100時,從左到右結(jié)合,先計算0<=x,其結(jié)果只能是0或1,然后再比較0<100或1<100。根據(jù)運算符的優(yōu)先級,選項B)先判斷j==0是否成立,其結(jié)果只能是0或1,然后再將0或1賦給i。選項C)中,(char)(65+3)為類型強制轉(zhuǎn)換,將整數(shù)型數(shù)據(jù)轉(zhuǎn)換為字符型。選項D)是將一個數(shù)據(jù)賦給一個表達式,等號左邊不合要求,所以錯誤。
15.C
16.C\n本題考查邏輯值假,在程序中非0字符表示邏輯真,0表示邏輯假,所以答案選擇C。
\n
17.D
18.A本題中定義了整形變量case,但case是關(guān)鍵字,關(guān)鍵字不能用做標識符。單精度printF不是關(guān)鍵字,因為標識符區(qū)分大小寫。所以A不正確。
19.B[解析]&按位與,如果兩個相應的二進制位都為1.則該位的結(jié)果值為1.否則為0.按位或兩個相應的二進制位中只要有一個為1.該位的結(jié)果值為1.2的二進制為0000010.4的二進制為000000所以做或運算結(jié)果為0000110.該數(shù)與5即00000101做與操作結(jié)果為0000100.即4.
20.B
21.zyzXyzzyzXyz解析:本題考查字符型指針變量的應用。程序中字符指針變量ps指向字符串'xyz',while循環(huán)語句的作用使ps指向字符串結(jié)尾,for循環(huán)的執(zhí)行過程如下。
第一次循環(huán):ps指向字符串'z',輸出z。
第二次循環(huán):ps指向字符串'yz',輸出yz。
第三次循環(huán):ps指向字符串'xyz',輸出xyz。
22.->->解析:若結(jié)構(gòu)體變量abc有成員a,并有指針p_abc指向結(jié)構(gòu)變量abc,則引用變量abc成員a的標記形式有abc.a和p_abc->a。
23.m=fun(a4)+fun(b4)-fun(a+b3);m=fun(a,4)+fun(b,4)-fun(a+b,3);解析:函數(shù)fun(x,n)的作用是求xn,因此a4應該調(diào)用函數(shù)fun(a,4),b4應該調(diào)用函數(shù)fun(b,4),(a+b)3應該調(diào)用函數(shù)fun(a+b,3),所以題目中的數(shù)學表達式,寫成C程序中的語句為m=fun(a,4)+fun(b,4)-fun(a+b,3)。
24.概念或概念級概念或概念級解析:數(shù)據(jù)庫系統(tǒng)在其內(nèi)部具有三級模式及二級映射,三級模式分別是概念級模式、內(nèi)部級模式和外部級模式。概念模式是數(shù)據(jù)庫系統(tǒng)中全局數(shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶(應用)公共數(shù)據(jù)視圖。
內(nèi)模式式又稱物理模式,它給出了數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法,如數(shù)據(jù)存儲的文件結(jié)構(gòu)、索引、集簇及hash等存取方式與存取路徑,內(nèi)模式的物理性主要體現(xiàn)在操作系統(tǒng)及文件級上,它還未深入到設(shè)備級上(如磁盤及磁盤操作)。
外模式也稱子模式或用戶模式,它是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式,它由概念模式推導而出。
25.5432154321解析:在while循環(huán)中,d=n%10;語句每次求得的結(jié)果是n個位上的數(shù)值,例如12345÷10所得的余數(shù)就是個位上的5。接下來輸出得到的個位數(shù)字d,然后執(zhí)行n/=10;語句,該語句等價于n=n/10;。在C語言中,如果/運算的兩個運算分量都是整數(shù),那所得的結(jié)果也截尾取整,所以12345/10=1234,即n-=n/10;語句的作用是讓n截去個位上的數(shù)字。由此可知,隨著while循環(huán)的繼續(xù),n依次為12345、1234、123、12、1,而每次輸出n的個位數(shù)字將為5、4、3、2、1。故本題應填543210。
26.'\0''\\0'解析:本題涉及字符數(shù)組和指針的兩個知識點:①在c語言中,字符型數(shù)組在存放字符串時會自動在末尾加上字符串結(jié)束標識符'\\0',所以題中數(shù)組str有6個元素。②ptr指向數(shù)組s仕的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。
27.12300123001,2,3,0,0,1,2,3,0,0,解析:本題考查文件讀寫函數(shù)fread和fwrite的用法。fwrite函數(shù)將數(shù)組a的前5個元素輸出到文件fp中兩次,共10個字節(jié),再調(diào)用fread函數(shù)從文件fp中讀取這10個字節(jié)的數(shù)據(jù)到數(shù)組a中,此時數(shù)組a的內(nèi)容就變?yōu)閧1,2,3,0,0,1,2,3,0,0},最后的輸出結(jié)果為'1,2,3,0,0,1,2,3,0,0,'。
28.1-21,-2解析:考查嵌套的循環(huán)結(jié)構(gòu)。題中外層while循環(huán)的循環(huán)條件是\ue008y--!=-1\ue009,即y>=0;內(nèi)層do厀hile循環(huán)的循環(huán)條件是y--,即y-->0,y>=1。
29.11解析:在表達式a+(int)((int)b+c)>>(int)(b-c)中圓括號最優(yōu)先,其次為類型轉(zhuǎn)換(int)、加法+、減法-、右移運算>>。所以先看兩個圓括號((int)b+c)和(b-c),前者b先被轉(zhuǎn)換為int型7,然后與c相加得10.6,后者結(jié)果是3.6,現(xiàn)在表達式為a+(iot)10.6>>(int)3.6。C語言中,float型轉(zhuǎn)換為int型是截尾取整,所以表達式進一步簡化為5+10>>3=>15>>3。由于15的二進制為000011112(下標),所以15>>3的結(jié)栗是000000012(下標),即1。
30.5656解析:本題中a,b,c,d足實參,x,y,cp,dp是形參。C語言規(guī)定,實參變量對形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實參傳給形參,而不能由形參傳回來給實參。在內(nèi)存中,實參單元與形參單元是不同的單元。在調(diào)用函數(shù)時,給形參分配存儲單元,并將實參對應的值傳遞給形參,調(diào)用結(jié)束后,形參單元被釋放,實參單元仍保留并維持原值。因此,程序的輸出結(jié)果是56。
31.k-1k\r\n-1解析:程序山使用了整型變量i、j、k,使用前應先聲明,因此第1個空應填變量k。i和j作為下標的值,i被賦初值為0,j應為下標的最大值,下標的最大值為數(shù)組的長度減1。
32.*(str+i)或str[i]*(str+i)或str[i]解析:str是指針變量,它指向字符型數(shù)據(jù),在循環(huán)過程中,用*(str+i)或str[i]來訪問字符串的第i個元素,判斷是否是結(jié)束標志,如果不是,i=i+1,繼續(xù)取下一個元素進行判斷,直到*(str+i)的值為'\\0'為止。
33.重復(循環(huán))重復(循環(huán))解析:結(jié)構(gòu)化程序設(shè)計包括3種基本的結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和重復結(jié)構(gòu)(循環(huán)結(jié)構(gòu)),利用這3種結(jié)構(gòu)就足以表達出各種其他形式結(jié)構(gòu)的程序設(shè)計方法。其中利用循環(huán)結(jié)構(gòu),可以簡化大量的程序執(zhí)行。
34.54321
35.dd解析:d被定義為一個結(jié)構(gòu)體類型變量,求結(jié)構(gòu)體變量a所占存儲單元的字節(jié)數(shù)即sizeof(d)。
36.(double)1/(i*i)或10/(i*i)(double)1/(i*i)或1,0/(i*i)解析:本題考查數(shù)據(jù)類型的轉(zhuǎn)換。由題意s=1+1/(2*2)/1/(3*3)+…+1/(n*n),它的循環(huán)體為s=s+1/(i*i),由于s為double型數(shù)據(jù),所以要將1/(i*i)的值轉(zhuǎn)換為double類型。
37.bb解析:本題實現(xiàn)的功能是把大寫字母轉(zhuǎn)換為小寫字母。小寫字母的ASCII碼值比相應的大寫字母的ASCII碼值大32。
38.s=30s=30解析:分析循環(huán)條件“m=1,m<=4”,所以循環(huán)4次。第1次:n=n*a=2,s=s+n=2;m=2。第2次:n=n*a=4,s=s+n=6;m=3。第3次:n=n*a=8,s=s+n=14;m=4。第4次:n=n*a=16,s=s+n=30。
39.x+8sin(x)x+8,sin(x)解析:考查考生對函數(shù)調(diào)用相關(guān)知識的了解。用x+8代替函數(shù)fun(doublex)中形式參數(shù)x;用sin(x)代替函數(shù)fun(doublex)中形式參數(shù)x。
40.I=1x[I-1]I=1,x[I-1]解析:對于10個數(shù),相臨的兩個數(shù)相加取和,總共要進行9次加法運算,所以空14處應填入I=1。相臨的兩個數(shù)相加取和,放在數(shù)組a中,x[0]與x[1]的和存放在a[0]中,所以空15處應填入x[I-1]。
41.C詳細解答:
關(guān)系模型允許3類數(shù)據(jù)約束,它們是:
實體完整性約束
該約束要求關(guān)系的主鍵中屬性值不能為空值,這是數(shù)據(jù)庫完整性的最基本要求。
參照完整性約束
該約束是關(guān)系之間相關(guān)聯(lián)的基本約束,它不允許關(guān)系引用不存在的元組:即在關(guān)系中的外鍵要么是所關(guān)聯(lián)關(guān)系中實際存在的元組,要么就為空值。
用戶定義的完整性約束
用戶定義的完整性就是針對某一具體關(guān)系數(shù)據(jù)庫的約束條件,它反映某一具體應用所涉及的數(shù)據(jù)必須滿足的語義要求。cC
42.B解析:主函數(shù)中定義了一個字符數(shù)組s并賦初值,一個字符串指針變量ps并讓它指向s。程序中p+4的地址為數(shù)組第5個元素的地址,而調(diào)用put(stradr)函數(shù)時,將從stradr這一地址開始,依次輸出存儲單元中的字符,遇到第一個“\\0”時結(jié)束輸出,并自動輸出一個換行符ad。r所以put(p+4)將輸出n/No,put(s)將從s第一個元素開始輸出到第3個元素結(jié)束(因為執(zhí)行*(p+4)=0語句后s中的第5個元素的值為0,而s中的第4個元素為“\\”,puts將遇到“\\0”,結(jié)束輸出),即輸出yes。所以,4個選項中選項B符合題意。
43.B解析:題目中定義了一個指針變量作為函數(shù)f()的參數(shù)。主函數(shù)main()中調(diào)用f()函數(shù),當i=0時,執(zhí)行語句“(*q)++;”,此處*q就代表數(shù)組a[0]的地址,也即將q進行加1操作;當i=1時,q仍指向數(shù)組元素a[0]的地址,因為在函數(shù)f()中并未對指針變量q做任何變動,即*q仍代表數(shù)組元素a[0]的值,所以此次(*q)++即為2+1,a[0]的值變?yōu)?;直到i=4時,執(zhí)行(*q)++后a[0]的值變?yōu)?,最后輸出數(shù)組a的結(jié)果為6、2、3、4、5。
44.A左移運算符“<<”是雙目運算符,其功能是把“<<”左邊的運算數(shù)的各二進位全部左移若干位,由“<<”右邊的數(shù)指定移動的位數(shù),高位丟棄,低位補0。例如,a<<4是把a的各二進位向左移動4位。如a=00000011(十進制3),左移4位后為00110000(十進制48)。
45.B解析:對于do…while循環(huán),程序先執(zhí)行一次循環(huán)體,再判斷循環(huán)是否繼續(xù)。本題先輸出一次i的值“0,”,再接著判斷表達式i++的值,其值為0,所以循環(huán)結(jié)束。此時變量i的值經(jīng)過自加已經(jīng)變?yōu)?,程序再次輸出i的值“1”。
46.A解析:C程序中注釋部分用“/*”和“*/”括起來,可以出現(xiàn)在程序中任何合適的地方;花括號“{”和“}”不僅可作為函數(shù)體的定界符,也可作為復合語句的定界符;構(gòu)成C程序的基本單位是函數(shù);—個語句必須在最后出現(xiàn)分號,分號是C語句中不可缺少的部分。
47.B解析:選項A)是把結(jié)構(gòu)體類型改名后定義為變量cl。選項C),D)則是在定義結(jié)構(gòu)體類型時定義變量,而選項B)不符合結(jié)構(gòu)體類型定義的語法規(guī)則。
48.A解析:C語言中比較表達式的運算結(jié)果為0或1。0代表不成立,1表示成立。
49.A解析:條件表達式“a?b:c”的含義是:當a為真時,其值等于表達式b的值,當a為假時,其值等于表達式c的值。第一個表達式:w=6<x=4為假,所以返回x的值,即m=x=4;第二個表達式:m=4<y=3為假,所以返回y的值,即m=y=3。
50.D解析:本題考核的知識點是指針變量的賦值。本題中定義了一個整型數(shù)組a和一個整型指針變量P。選項A中將一個整型數(shù)賦值給一個指針變量,C語言規(guī)定,只能特地址賦給指針指針變量,故選項A不正確:選項B中a[5]為一數(shù)組元素,同樣不是一個地址,故選項B不正確;選項c中a[2]為一數(shù)組元素,同樣是一個整型數(shù)據(jù),不是個地址,故選項C不正確:選項D中數(shù)蛆名a代表數(shù)組首地址加2,代表第三個元素的地址,故選項D正確,所以,4個選項中選項D符合題意。
51.A解析:本題考查while循環(huán)。先判斷while循環(huán)的控制表達式是否成立,發(fā)現(xiàn)a>b>c不成立,所以不執(zhí)行循環(huán)。直接輸出a、b、c的值。
52.B解析:字符串比較不能用兩個等于號(==)來進行比較,應使用函數(shù)strcmp(s1,s2)來比較。函數(shù)stremp(s1,s2)的功能是:當字符串s1和s2相等時,返回值為0。因此,當表達式!strcmp(s1,s2)=1時,條件成立,執(zhí)行后面的語句,輸出theyareEqual。
53.A解析:(rec4,rec5)是逗號表達式,它的值是rec5的值。所以該函數(shù)調(diào)用語句含有的實參個數(shù)是3。
54.A解析:本題考查字符串比較函數(shù)和兩個字符串比較的原則兩個知識點,①原則是依次比較兩個字符串同一位置的對字符,若它們的ASCII碼值相同,則繼續(xù)比較下一對字符,若它們的ASCII碼值不同,則ASCII碼值較大的字符所在的字符串較大;若所有字符相同,則兩個字符串相等;若一個字符串全部i個字符與另一個字符串的前i個字符相同,則字符串較長的較大。②strcmp(s1,s2)的返回值,當str1<str2時,返回值<0;當str1=str2時,返回值為0;當str1>str2,返回值>0。
55.B選擇,連接,投影是專門的關(guān)系運算,選擇是選擇滿足條件的元組,而投影是選擇滿足條件的屬性或者說列。并是傳統(tǒng)的關(guān)系運算,是將兩個關(guān)系中的元組合并在一起再去掉重復的部分。選擇,投影,并三個運算得到的結(jié)果屬性數(shù)并沒有改變或者說還有減少,而連接時將兩個關(guān)系進行笛卡爾積運算,在挑選滿足條件的項。其屬性個數(shù)一般會多于原來關(guān)系中的屬性數(shù)。
56.B解析:本題考查的重點是條件表達式的用法。條件表達式首先判斷“(EXP)”是真值還是假值。而在C語言中,真值是任意非零值,也可以是負數(shù),而假值是零。因此,與條件表達式中“(EXP)”完全等價的是選項B。
57.C解析:“int(*ptr)();”說明ptr是一個指向函數(shù)的指針,返回值是整型。*ptr兩邊的括號非常關(guān)鍵,表示*和ptr組合成一個指針變量,然后再和后邊的圃括號結(jié)合,表示該指針變量*ptr是一個指向函數(shù)的指針變量。如果沒有*ptr兩邊的括號,“int*ptr();”表示ptr是個函數(shù),該函數(shù)返回指向整型數(shù)據(jù)的指針。
58.A
59.A解析:本題考查的是文件的打開函數(shù)fopen(),其調(diào)用方式通常為FLIE*fp;fp=fopen(文件名,使用文件方式);,如:fp=fopen('abc.txt','w');表示要打開名字為abc.txt的文件,使用文件方式寫入。fopen函數(shù)帶回指向abc.txt文件的指針并賦給fp,即fp指向文件abc.txt。
60.B解析:棧操作原則上“后進先出”,棧底至棧頂依次存放元素A、B、C、D,則表明這4個元素中D是最后進棧,B、C處于中間,A最早進棧。所以出棧時一定是先出D,再出C,最后出A。
61.B
62.D
63.Cif-else語句時if語句的嵌套,也就是if-else語句在if語句的條件下執(zhí)行,所以兩個條件相同的地方都是a<b.
64.B
65.C(10)C)解析:DB即數(shù)據(jù)庫(Database),是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合;DBMS即數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應用程序提供訪問DB的方法;DBS即數(shù)據(jù)庫系統(tǒng)(DatabaseSystem)由如下5部分組成,數(shù)據(jù)庫(數(shù)據(jù))、數(shù)據(jù)庫管理系統(tǒng)(軟件)、數(shù)據(jù)庫管理員(人員)、系統(tǒng)平臺之一——硬件平臺(硬件)、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025重慶市安全員-A證考試題庫附答案
- 2025-2030年中國金屬鈷市場發(fā)展趨勢規(guī)劃研究報告
- 2025-2030年中國袋式除塵器行業(yè)運營趨勢規(guī)劃研究報告
- 2025-2030年中國芝麻素市場運行狀況與前景趨勢分析報告
- 2025-2030年中國翻譯行業(yè)競爭狀況及發(fā)展趨勢分析報告
- 2025-2030年中國砂巖行業(yè)市場運行態(tài)勢及發(fā)展風險分析報告
- 2025-2030年中國電熱水龍頭市場運行現(xiàn)狀及發(fā)展前景預測報告
- 廣西民族大學《建筑設(shè)備自動化A》2023-2024學年第二學期期末試卷
- 廣東外語外貿(mào)大學《法律與人生》2023-2024學年第二學期期末試卷
- 咖啡店合同咖啡店合作經(jīng)營協(xié)議
- 2025年山東鋁業(yè)職業(yè)學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 全套電子課件:技能成就夢想
- 2024年教育公共基礎(chǔ)知識筆記
- 2025年江蘇農(nóng)林職業(yè)技術(shù)學院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 異構(gòu)數(shù)據(jù)融合技術(shù)-深度研究
- 北京市朝陽區(qū)2024-2025學年七年級上學期期末考試數(shù)學試卷(含答案)
- 《銷售合同執(zhí)行》課件
- 2025年春新外研版(三起)英語三年級下冊課件 Unit4第2課時Speedup
- 山東2024年山東經(jīng)貿(mào)職業(yè)學院第二批招聘102人歷年參考題庫(頻考版)含答案解析
- 急性呼吸窘迫綜合征的護理課件(演示)
評論
0/150
提交評論