![2021-2022年廣東省珠海市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)_第1頁](http://file4.renrendoc.com/view/795c0b73f1fa784f42650abd46b4da9e/795c0b73f1fa784f42650abd46b4da9e1.gif)
![2021-2022年廣東省珠海市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)_第2頁](http://file4.renrendoc.com/view/795c0b73f1fa784f42650abd46b4da9e/795c0b73f1fa784f42650abd46b4da9e2.gif)
![2021-2022年廣東省珠海市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)_第3頁](http://file4.renrendoc.com/view/795c0b73f1fa784f42650abd46b4da9e/795c0b73f1fa784f42650abd46b4da9e3.gif)
![2021-2022年廣東省珠海市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)_第4頁](http://file4.renrendoc.com/view/795c0b73f1fa784f42650abd46b4da9e/795c0b73f1fa784f42650abd46b4da9e4.gif)
![2021-2022年廣東省珠海市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)_第5頁](http://file4.renrendoc.com/view/795c0b73f1fa784f42650abd46b4da9e/795c0b73f1fa784f42650abd46b4da9e5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021-2022年廣東省珠海市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.已知有結(jié)構(gòu)體:structsk{inta;floatb;}data,*p;若有p=&data,則對(duì)data的成員a的正確引用是()。
A.struct是結(jié)構(gòu)體類型的關(guān)鍵字
B.st是結(jié)構(gòu)體類型名
C.x、y、z都是結(jié)構(gòu)體成員名
D.structstr是結(jié)構(gòu)體類型名
2.有定義語句:inta=1,b=2,c=3,x;,則以下選項(xiàng)中各程序段執(zhí)行后,x的值不為3的是A.if(c<a)x=1;elseif(b<a)x=2;elsex=3;
B.if(a<3)x=3;elseif(b<a)x=2;elsex=1;
C.if(a<3)x=3;if(a<2)x=2;if(a<1)x=1;
D.if(a<b)x=b;if(b<c)x=c;if(c<a)x=a;
3.有如下定義:inta[5],*p;p=a;則下列描述錯(cuò)誤的是()。
A.表達(dá)式p=p+1合法的B.表達(dá)式a=a+1是合法的C.表達(dá)式p-a是合法的D.表達(dá)式a+2是合法的
4.如下程序段
#include<stdio.h>
#include<ctype.h>
#include<conio.h>
intfun(char*str)
{inti,j=0;
for(i=0;str[i]!=’\0’;i++)
if(str[i]!=’’)str[j++]=str[i];
str[j]=’\0’;
}
main()
{
charstr[81];
intn;
clrscr();
printf("Inputastring:");
gets(str);
fun(str);
printf("%s\n",str);
}
當(dāng)運(yùn)行程序時(shí),輸入asdafaaz67<回車>,則輸出是A.A.asdafaaz67
B.asdafaaz67
C.asd
D.z67
5.
6.下面關(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ù)
7.若有定義:“inta=4,b=5;floatx=3.4,y=2.1;”,則下列表達(dá)式的值為()。(float)(a+b)/2+(int)x%(int)y;
A.5.5B.55C.5.500000D.55.00000
8.
9.設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號(hào),姓名,性別,年齡,身份證號(hào)),課程C(課號(hào),課名),選課SC(學(xué)號(hào),課號(hào),成績.,則表SC的關(guān)鍵字(鍵或碼)為()
A.課號(hào),成績B.學(xué)號(hào),成績C.學(xué)號(hào),課號(hào)D.學(xué)號(hào),姓名,成績
10.以下程序中函數(shù)reverse的功能是將a所指數(shù)組中的內(nèi)容進(jìn)行逆置。voidreverse(inta[],intn){inti,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;reverse(b,8);for(i=6;i<10;i++)s+=b[i];printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是
A.22B.10C.34D.30
11.下列語句中存在語法錯(cuò)誤的是()。
A.charss[6][20];ss[1]=“right?”;
B.charss[][20]={“right?”};
C.char*ss[6];ss[1]=“right?”;
D.char*ss={“right?”};
12.
13.有以下程序:#include<stdio.h>#include<string.h>main(){charstr[][20]={“One*World”,“One*Dream!”},*p=str[1];printf(“%d,”,strlen(p));printf(“%s\n”,p);}程序運(yùn)行后的輸出結(jié)果是()。
A.10,One*Dream!
B.9,One*Dream!
C.9,One*World
D.10,One*World
14.若有"doublea;",則正確的輸入語句是()。
A.scanf("%1f",a);
B.scanf("%f",&a);
C.scanf("%1f",&a)
D.scanf("%1e",&a);
15.設(shè)有以下程序段:structbook{floatprice;charlanguage;chartitle[20];}rec,*ptr;ptr=&rec;要求輸入字符串給結(jié)構(gòu)體變量rec的title成員,錯(cuò)誤的輸入語句是()。
A.scanf(“%s”,ptr.title);
B.scanf(“%s”,rec.title);
C.scanf(“%s”,(*ptr).title);
D.scanf(“%s”,ptr->title);
16.
17.在深度為5的滿二叉樹葉中,葉子結(jié)點(diǎn)的個(gè)數(shù)為()。
A.32B.31C.16D.15
18.在線索化樹中,每個(gè)結(jié)點(diǎn)必須設(shè)置一個(gè)標(biāo)志來說明它的左、右鏈指向的是樹結(jié)構(gòu)信息,還是線索化信息,若0標(biāo)識(shí)樹結(jié)構(gòu)信息,1標(biāo)識(shí)線索,對(duì)應(yīng)葉結(jié)點(diǎn)的左右鏈域,應(yīng)標(biāo)識(shí)為()。
A.00B.01C.10D.11
19.下面程序的運(yùn)行結(jié)果是()#include<stdio.h>#include<string.h>main(){char*a="AbcdEf",*b="aBcD"a++;b++;printf("%d\n",strcmp(a,b));}
A.0B.負(fù)數(shù)C.正數(shù)D.無確定值
20.有以下程序:
程序運(yùn)行后的輸出結(jié)果是().
A.1,3
B.2,3
C.1,4
D.1,2
二、2.填空題(20題)21.數(shù)據(jù)庫管理系統(tǒng)是位于用戶與______之間的軟件系統(tǒng)。
22.有以下定義和語句,則sizeof(a)的值是【】,而sizeof(a.share)的值是【】。
structdate
{intday;
intmouth;
intyear;
union{intshare1;
floatshare2;
}share;
}a;
23.以下程序調(diào)用函數(shù)swap_p將指針s和t所指單元(a和b)中的內(nèi)容交換,請(qǐng)?zhí)羁铡?/p>
main()
{inta=10,b=20,*s,*t;
s=&a;t=&b;
swap_p(【】);
printf("%d%d,a,b");}
swap_p(int**ss,int**tt)
{intterm;
term=**ss;
**ss=**tt;
**tt=term;}
24.對(duì)數(shù)據(jù)元素之間的邏輯關(guān)系的描述是()。
25.以下程序的輸出結(jié)果是12.00,請(qǐng)將空白處填寫完整。
main()
{inta=9,b=2;
floatx=【】,y=1.1,z;
z=a/2+b*x/y+1*2;
printf("%52f\n",z);
}
26.下列語句能循環(huán)______次。
ints=12;
while(s);
--s;
27.以下程序可以把從鍵盤上輸入十進(jìn)制數(shù)(10ng型)以二到十六進(jìn)制數(shù)的形式輸出,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{charb[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','
E','F'};
intc[64],d,i=0,base;
longn;
printf("Enteranumber:\n");scanf("%1d",&n);
printf("Enternewbase:\n");scanf("%1d",&base);
do
{c[i]=【】;
i++;
n=n/base;
}while(n!=0);
printf("Theresultis:\n");
for(--i;i>=0;--i)
{d=c[i];
printf("%c",b【】);
}
}
28.以下程序段用于構(gòu)成一個(gè)簡單的單向鏈表。請(qǐng)?zhí)羁铡?/p>
struetSTRU
{intx,y;
floatrate;
【】p;
}a,b;
a.x=0;a.y=0;a.rate=0;a.p=&b;
b.x=0;b.y=0;b.rate=0;b.p=NULL;
29.設(shè)a、b、c為整數(shù),且a=2、b=3、c=4,則執(zhí)行完語句a*=18+(b++)-(++c);后,a的值是【】。
30.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{
intx=10,y=20,t=0
if(x==y)t=x;x=y;y=t;
printf("%d,%d/n",x,y);
}
31.以下程序段的輸出結(jié)果是【】。
inti=9;
printf("%o\n",i);
32.下面程序的輸出結(jié)果是______。
main()
{staticchara[]="language",b[]="program";
char*ptrl=a,*ptr2=b;
intk
for(k=0;k<7;k++)
if(*(ptrl+k)==*(ptr2+k))
printf("%c",*(ptr1+k));}
33.若有如下程序:
main()
{intx=4,y=1;
printf("%d\n",sub(x,sub(x,y)));}
sub(inti,intj)
{staticinta=0;
intb=2;
a+=i+b;
b+=j(luò)+a;}
則程序運(yùn)行后的輸出結(jié)果是【】。
34.注釋一般分為序言性注釋和______注釋。
35.在結(jié)構(gòu)化設(shè)計(jì)方法中,數(shù)據(jù)流圖表達(dá)了問題中的數(shù)據(jù)流與加工間的關(guān)系,并且每一個(gè)______實(shí)際上對(duì)應(yīng)一個(gè)處理模塊。
36.下列程序執(zhí)行后輸出的結(jié)果是【】。
f(inta)
{staticc=0;
c=a+c++;
return(c);
}
main()
{inta=2,i,k;
for(i=0;i<2;i++)
k=f(a++);
prinf("%d\n",k);
}
37.下面程序的輸出是【】。
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);}
38.已有定義:double*p;,請(qǐng)寫出完整的語句,利用malloc函數(shù)使p指向一個(gè)雙精度型的動(dòng)態(tài)存儲(chǔ)單元______。
39.若有以下程序
intf(intx,inty)
{return(y-x)*x;}
main()
{inta=3,b=4,c=5,d;
d=f(f(3,4),f(3,5));
printf("%d\n",d);
}
執(zhí)行后輸出結(jié)果是【】。
40.設(shè)有chara,b;,若要通過a&b運(yùn)算屏蔽掉a中的其他位,只保留第2位和第8位(右起為第1位),則b的二進(jìn)制是【】。
三、1.選擇題(20題)41.閱讀下列程序,則運(yùn)行結(jié)果為
#include"stdio.h"
fun()
{staticintx=5;
x++;
returnx;}
main()
{inti,x;
for(i=0;i<3;i++)
x=fun();
printf("%d\n",x);}
A.5B.6C.7D.8
42.
執(zhí)行下列程序中的輸出語句后,a的值是()。
main
{inta;
printf("%d\n",(a=2*3,a*5,a+7));
}
A.17B.37C.6D.13
43.以下敘述中正確的是A.A.C程序中的注釋只能出現(xiàn)在程序的開始位置和語句的后面
B.C程序書寫格式嚴(yán)格,要求一行內(nèi)只能寫一個(gè)語句
C.C程序書寫格式自由,一個(gè)語句可以寫在多行上
D.用C語言編寫的程序只能放在一個(gè)程序文件中
44.若x是int型變量,且有下面的程序段:for(x=3;x<6;x++)printf((x%2)?("**%d"):("##%d\n"),x);此程序段的輸出結(jié)果是()。
A.**3##4**5B.##3**4##5C.##3**4##5D.**3##4**5
45.C語言中,組成數(shù)據(jù)文件的成分是()。A.A.記錄
B.數(shù)據(jù)行
C.數(shù)據(jù)塊
D.字符(字節(jié))序列
46.能將高級(jí)語言程序轉(zhuǎn)換成目標(biāo)語言程序的是______。
A.調(diào)試程序B.解釋程序C.編譯程序D.編輯程序
47.以下程序的輸出結(jié)果是______。fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(5,2,a);printf("%d",a);}
A.0B.29C.31D.無定值
48.已知大寫字母F的ASCII碼為70,以下程序的運(yùn)行結(jié)果為()#include<stdio.h>main(){charc1='F',c2='p';printf("%d,%d\n",c1,c2);}
A.70,80B.70,81C.70,82D.70,83
49.完整的計(jì)算機(jī)存儲(chǔ)器應(yīng)包括______。
A.軟盤、硬盤B.磁盤、磁帶、光盤C.內(nèi)存儲(chǔ)器、外存儲(chǔ)器D.RAM、ROM
50.若有以下的說明,對(duì)初值中整數(shù)2的正確引用方式是
staticstruct
{charch;
inti;
doublex;
}a[2][3]={{{′a′,1,3,45},{′b′,2,7,98},{′c′,31,93}}};
A.a[0][1].chB.a[0][1].iC.a[0][0].iD.a[0][2].i
51.有以下程序:main(){unsignedchara=2,b=4,c=5,d;d=a|b;d&=c;printf(“%d\n",D);}程序運(yùn)行后的輸出結(jié)果是()。
A.3B.4C.5D.6
52.以下程序的輸出結(jié)果是()。main(){intx=11,y=11;printf("%d,%d\n",X--,--y);}
A.11,11B.10,10C.10,11D.11,10
53.有以下程序段:intn,t=1,s=0;scanf("%d",&n);do{s=s+t;t=t-2;)while(t!=n);為使程序不陷入死循環(huán),從鍵盤輸入的數(shù)據(jù)應(yīng)該是______。
A.任意正奇數(shù)B.任意負(fù)偶數(shù)C.任意正偶數(shù)D.任意負(fù)奇數(shù)
54.有定義語句:chars[10];,若要從終端給s輸入5個(gè)字符,錯(cuò)誤的輸入語句是
A.gets(&s[0]);
B.scanf("%s",s+1);
C.gets(s);
D.scanf("%s",s[1]);
55.以下語句或語句組中,能正確進(jìn)行字符串賦值的是______。A.char*sp;*sp="right!";
B.chars[10];s="right!";
C.chars[10];*s="right!";
D.char*sp="right!";
56.下面程序的輸出結(jié)果是()main(){inta=-1,b=4,k;k=(a++<=0)&&(!(b--<=0));prinft("%d%d\n",k,a,b);}
A.003B.012C.103D.112
57.下列敘述中,正確的是
A.用E-R圖能夠表示實(shí)體集間一對(duì)一的聯(lián)系、一對(duì)多的聯(lián)系和多對(duì)多的聯(lián)系
B.用E-R圖只能表示實(shí)體集之間一對(duì)一的聯(lián)系
C.用E-R圖只能表示實(shí)體集之間一對(duì)多的聯(lián)系
D.用E-R圖表示的概念數(shù)據(jù)模型只能轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型
58.數(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ú)立
59.以下程序的輸出結(jié)果是______。main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],[3][0]);}
A.650B.1470C.5430D.輸出值不定
60.若已定義x和y為double類型,則表達(dá)式:x=1,y=x+3/2的值是()A.1B.2C.2.0D.2.5
四、選擇題(20題)61.有以下程序:
main()
{
chara[7]="a0\OaO\0";inti,j;
i=sizeof(a);j=strlen(a);
printf("%d%d\n",i,j);
}
程序運(yùn)行后的輸出結(jié)果是()。
A)22B)76
C)75D)62
62.以下程序擬實(shí)現(xiàn)計(jì)算sum=1+1/2+1/3+…+1/50。
程序運(yùn)行后,不能得到正確結(jié)果,出現(xiàn)問題的語句是()。
A.sum+=1/i;B.while(i<50);C.sum.=1.0;D.i++;
63.以下敘述中正確的是()。
A.C語句必須在一行內(nèi)寫完
B.C程序中的每一行只能寫一條語句
C.C語言程序中的注釋必須與語句寫在同一行
D.簡單C語句必須以分號(hào)結(jié)束
64.下列敘述中錯(cuò)誤的是()。A.在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致,
B.數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題
C.數(shù)據(jù)庫設(shè)計(jì)是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫
D.數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持
65.有三個(gè)關(guān)系R,S和T如下:
其中關(guān)系T由關(guān)系R和S通過某種操作得到,該操作為()。A.選擇B.投影C.交D.并
66.
67.若有定義語句:“charS[3][10],(*k)[3],*p;”,則以下賦值語句正確的是()。
A.p=S;B.p=k;C.p=s[0];D.k=s;
68.
69.在結(jié)構(gòu)化方法中,軟件功能分別屬于下列軟件開發(fā)中的(
)階段。A.詳細(xì)設(shè)計(jì)B.需求分析C.總體設(shè)計(jì)D.編程調(diào)試
70.表達(dá)式:(im)((double)9/2)一9%2的值是()。
A.0B.3C.4D.5
71.有以下說明和定義語句
structstudent
{
intage;charnum[8];
};
structstudentstu[3]={{20,"200401"},{21,"200402"},{10\9,"200403"}};
structstudent*p=stu;
以下選項(xiàng)中引用結(jié)構(gòu)體變量成員的表達(dá)式錯(cuò)誤的是
A.(p++)->numB.p->numC.(*p).numD.stu[3].age
72.閱讀以下程序該程序在編譯時(shí)產(chǎn)生錯(cuò)誤,其出錯(cuò)原因是()。
A.定義語句出錯(cuò),case是關(guān)鍵字,不能用作用戶自定義標(biāo)識(shí)符
B.定義語句出錯(cuò),printF不能用作用戶自定義標(biāo)識(shí)符
C.定義語句無錯(cuò),scanf不能作為輸入函數(shù)使用
D.定義語句無錯(cuò),scanf不能輸出case的值
73.下面不屬于軟件工程三要素的是()。
A.方法B.環(huán)境C.工具D.過程
74.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
A.4B.3C.5D.6
75.有以下程序程序的運(yùn)行結(jié)果是()。
A.6B.9C.0D.8
76.若有以下說明,則能打印出”An”的語句的是()。
A.
B.
C.
D.
77.(41)在下列選項(xiàng)中,哪個(gè)不是一個(gè)算法一般應(yīng)該具有的基本特征()
A.確定性
B.可行性
C.無窮性
D.擁有足夠的情報(bào)
78.瀏覽器中用于負(fù)責(zé)向用戶顯示數(shù)據(jù)的是()。
A.WWWB.IP地址C.HTMLD.DNS
79.若有定義:“inta[2][3];”,則對(duì)a數(shù)組的第i行第j列元素的正確引用為()。
A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j
80.下列敘述中錯(cuò)誤的是()。
A.C程序可以由多個(gè)程序文件組成
B.一個(gè)c語言程序只能實(shí)現(xiàn)一種算法
C.c程序可以由一個(gè)或多個(gè)函數(shù)組成,
D.一個(gè)C函數(shù)可以單獨(dú)作為一個(gè)C程序文件存在
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:給定n個(gè)實(shí)數(shù),輸出平均值,并統(tǒng)計(jì)平均值以上(含平均值)的實(shí)數(shù)個(gè)數(shù)。
例如,n=8時(shí),輸入90.009,179.623,167.575,100.051,6.092,154.986,12.432,45.765,所得平均值為94.566635,在平均值以上的實(shí)數(shù)個(gè)數(shù)應(yīng)為4。
請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)proc(),函數(shù)的功能是求出二維數(shù)組周邊元素之和,作為函數(shù)值返回。二維數(shù)組中的值在主函數(shù)中賦予。
則函數(shù)值為59。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語句。
試題程序:
參考答案
1.B解析:本題主要考查結(jié)構(gòu)類型的定義:struct是結(jié)構(gòu)體類型的關(guān)鍵字;structstr是結(jié)構(gòu)體類型名;x、y、z都是結(jié)構(gòu)體成員名;st是結(jié)構(gòu)變量名。
2.C解析:選項(xiàng)A),B)考查了多分支結(jié)構(gòu)的用法,選項(xiàng)A)中的程序段執(zhí)行時(shí),c<a,b<a條件均不成立,故執(zhí)行else后的語句,x值為3;選項(xiàng)B)中a<3條件成立,執(zhí)行x=3;而選項(xiàng)C),D)是單分支結(jié)構(gòu)的用法,選項(xiàng)C)中程序段執(zhí)行時(shí),a<3條件成立,x=3,但條件a<2也成立,此時(shí)執(zhí)行x=2,下一個(gè)條件不成立,不再執(zhí)行其后的語句。
3.B
4.A在本題中,程序首先定義一個(gè)返回類型為整型的函數(shù)fun,該函數(shù)帶有一個(gè)指針型的形參變量str,從主函數(shù)中對(duì)其調(diào)用時(shí)傳遞的參數(shù)我們可以知道,該指針指向的是一個(gè)數(shù)組,在該函數(shù)體中,首先定義兩個(gè)整型變量,然后執(zhí)行循環(huán),循環(huán)變量i的初始值為0,循環(huán)結(jié)束的條件是str[i]!=’\\0’,表示取到的數(shù)組元素是字符串結(jié)束標(biāo)識(shí),即字符串中的字符被處理完,在循環(huán)體中,首先執(zhí)行條件判斷語句if(str[i]!=’’),如果結(jié)果為真,說明取到的當(dāng)前字符不是空字符,這時(shí)執(zhí)行str[j++]=str[i],即將非空格字符保存到數(shù)組中;如果為假,說明取到了空格字符,此時(shí)不保存,而接著執(zhí)行下次循環(huán)跳過空格字符。循環(huán)結(jié)束后執(zhí)行str[j]=’\\0’;,即保存字符結(jié)束標(biāo)識(shí)符,用來標(biāo)識(shí)字符串結(jié)束。通過上面的這些分析,我們可以知道函數(shù)fun的作用是去掉字符數(shù)組中的空格字符。
在主函數(shù)中,首先定義了一個(gè)大小為81的字符數(shù)組,然后調(diào)用函數(shù)clrscr()清除輸入文本窗口,接著輸出一條提示語句,執(zhí)行g(shù)ets(str);語句,該語句的作用是從鍵盤輸入一個(gè)字符串到str數(shù)組,碰到換行符結(jié)束。然后調(diào)用函數(shù)fun,其實(shí)參為str。通過上面對(duì)函數(shù)fun作用的分析我們可以知道,調(diào)用函數(shù)后輸入字符串中的空格符都被刪除了,最后得到的字符串為asdafaaz67。
程序最后執(zhí)行輸出語句,輸出字符數(shù)組str中的字符串,因此,程序最終的輸出結(jié)果是asdafaaz67,本題答案選A。
5.A
6.A\n數(shù)據(jù)的共享自身又可極大地減少數(shù)據(jù)冗余性,不僅減少了不必要的存儲(chǔ)空間,更為重要的是可以避免數(shù)據(jù)的不一致性。所謂數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)在不同位置出現(xiàn)時(shí)應(yīng)保持相同的值。
\n
7.C在計(jì)算(float)(a4-b)/2時(shí),由于通過強(qiáng)制類型轉(zhuǎn)換將(a+b)轉(zhuǎn)換成了float型,所以應(yīng)先將2轉(zhuǎn)換成float型,再進(jìn)行計(jì)算,得4.500000。在計(jì)算(int)x%(int)y時(shí),先將x和y通過強(qiáng)制類型轉(zhuǎn)換成int型,再進(jìn)行求余運(yùn)算,結(jié)果為1。又因?yàn)?.500000是float型,所以將1和它相加時(shí),先將1換成float型,再計(jì)算,得到5.500000。類型轉(zhuǎn)換的一般規(guī)則是:低級(jí)類型從高級(jí)類型,并進(jìn)行相應(yīng)的轉(zhuǎn)換。數(shù)據(jù)類型的級(jí)別由低到高的排序表示為:char→int→unsigned→log→float→double。
8.D
9.C學(xué)號(hào)是學(xué)生表S的主鍵,課號(hào)是課程表C的主鍵,所以選課表SC的關(guān)鍵字就應(yīng)該是與前兩個(gè)表能夠直接聯(lián)系且能唯一定義的學(xué)號(hào)和課號(hào),所以選擇C項(xiàng)。
10.A解析:本題考查的知識(shí)點(diǎn)是數(shù)組名作為函數(shù)參數(shù)及函數(shù)調(diào)用。reverse()數(shù)的功能是將具有n個(gè)元素的數(shù)組a反序存放。在主函數(shù)中調(diào)用語句是“reverse(b,8);”,實(shí)現(xiàn)的功能是把b數(shù)組的前八個(gè)元素逆置,所以b數(shù)組中依次存放的值為“8,7,6,5,4,3,2,1,9,10”。for循環(huán)了4次,分別把b[6]、b[7]、b[8]和b[9]的值(分別是2、1、9、10)加到了s中,s的結(jié)果是22,所以最后輸出的s值為22。所以4個(gè)選項(xiàng)中A正確。
11.A數(shù)組定義后,不可以對(duì)數(shù)組整體賦值。ss是二維數(shù)組,因ss[1]是一維字符數(shù)組,相當(dāng)于一維數(shù)組的數(shù)組名,是常量,不能重新賦值,A選項(xiàng)錯(cuò)誤。B選項(xiàng)和D選項(xiàng)是定義時(shí)對(duì)數(shù)組初始化。在C選項(xiàng)中,將字符串在內(nèi)存中的首地址賦給指針數(shù)組的一個(gè)元素。故本題答案為A選項(xiàng)。
12.A
13.A函數(shù)“strlen(char*s)”;計(jì)算字符串s的長度,不包括‘\\0’在內(nèi)。p指向數(shù)組的第2個(gè)元素,因此“Strien(P)=10”,并輸出“one*Dream!”。故本題答案為A選項(xiàng)。
14.D解析:函數(shù)scanf()的調(diào)用形式是:scanf(格式字符串,輸入項(xiàng)地址表)。其中,“格式字符串”是要輸入的變量的格式符;“輸入項(xiàng)地址表”是要輸入的變量的地址。本題中定義變量a為雙精度型變量,雙精度變量的格式符為“1e”;變量的地址用取地址符“&”加變量名表示,如變量a的地址為“&a”。
15.A運(yùn)算符“->”適用指針訪問成員變量,運(yùn)算符“.”適用普通變量訪問成員變量。ptr是指針,只能用“->”,因此選項(xiàng)A錯(cuò)誤。選項(xiàng)B中,rec.title代表數(shù)組title,選項(xiàng)B正確,同理選項(xiàng)C正確?!?ptr”是結(jié)構(gòu)體變量rec,可以使用運(yùn)算,因此選項(xiàng)D正確。故本題答案為A選項(xiàng)。
16.B
17.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è)。
18.D
19.C
20.Af函數(shù)功能使第二個(gè)指針指向的元素增1,第一個(gè)指針指向的元素不變,所以答案選擇A)。
21.操作系統(tǒng)操作系統(tǒng)解析:數(shù)據(jù)庫管理系統(tǒng)是幫助用戶創(chuàng)建和管理數(shù)據(jù)庫的應(yīng)用程序的集合。因此,數(shù)據(jù)庫管理系統(tǒng)需要操作系統(tǒng)的支持,為用戶提供服務(wù)。
22.10410\r\n4解析:結(jié)構(gòu)體變量所占內(nèi)存長度是各成員占的內(nèi)存長度之和。每個(gè)成員分別占有其自己的內(nèi)存單元。int占2個(gè)字節(jié),float占4個(gè)字節(jié),共用體變量所占的內(nèi)存長度等于最長的成員的長度。所以,sizeof(a.share)的值是4,sizeof(a)的值是2+2+2+4=10。
23.&s&t&s,&t解析:指針做函數(shù)參數(shù)時(shí),形參和實(shí)參指向同一個(gè)數(shù)據(jù),所以函數(shù)中對(duì)形參所指向的數(shù)據(jù)的改變也能影響到實(shí)參。本題中函數(shù)swap_p的形參為指向指針的指針,即雙重指針,原理跟普通的指針是一樣的。注意:通過指針來引用一個(gè)存儲(chǔ)單元。
24.數(shù)據(jù)的邏輯結(jié)構(gòu)數(shù)據(jù)的邏輯結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是對(duì)數(shù)據(jù)元素之間的邏輯關(guān)系的描述,它可以用一個(gè)數(shù)據(jù)元素的集合和定義在此集合中的若干關(guān)系來表示。
解析:a/2=9/2=4,1/2=0,于是根據(jù)輸出結(jié)果就有下列等式:z=4+2*x/1.1=12.0,化簡后,為x/1.1=4,x=4.4。
26.無限無限解析:分析程序“while(s)”語句后面有一個(gè)“;”不能執(zhí)行后面的語句,只是執(zhí)行空語句,所以s=12保持不變,因此,沒有條件限制的能循環(huán)無限次(即死循環(huán))。
27.n%base[d]
28.structSTRU*
29.3232解析:b++是先使用b的值參加運(yùn)算,再對(duì)b加1。++c是先對(duì)c加1,再使用c的值參加運(yùn)算。a*=18+(b++)-(++c)等價(jià)于a=a*(18+(b++)-(++c))則a=2*(18+3-5)=32。
30.20020,0解析:本題考查的知識(shí)點(diǎn)是if語句的基本概念。在主函數(shù)中首先定義了三個(gè)整型變量x、y,t,并分別給它們賦初值為10,20,0,接著執(zhí)行if語句,在if后面括號(hào)內(nèi)的條件表達(dá)式中,條件“x==y”即“10==20”不成立,則不執(zhí)行其后的語句“t=x”,然后退出if語句,順序執(zhí)行語句X=y;y=t;。執(zhí)行完這兩條語句后x的值變?yōu)?0,y的值變?yōu)?,所以最后輸出x,y的值為20和0。
31.1111解析:本題考核的知識(shí)點(diǎn)是printf()函數(shù)的輸出格式。本題中定義了一個(gè)整型變量i并賦初值為9,然后要求以八進(jìn)制輸出i的值,9的八進(jìn)制數(shù)的表示為11。
32.
33.19
34.功能性功能性解析:注釋一般分為序言性注釋和功能性注釋。序言性注釋通常位于每個(gè)程序的開頭部分,給出程序的整體說明;功能性注釋一般嵌在源程序體之中,主要描述其后的語句或程序做什么,
35.加工加工解析:數(shù)據(jù)流圖是從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過程。其中的每一個(gè)加工對(duì)應(yīng)一個(gè)處理模塊。
36.77解析:在程序執(zhí)行時(shí),static變量僅初始化一次,下次使用時(shí)將使用上次保存的值。
37.1212解析:本題通過第一個(gè)for循坪將數(shù)組arr[0]-arr[9]分別賦值為0-9,通過第二個(gè)for循環(huán)的三次循環(huán)累加,求出結(jié)果為12,具體分析如下:
i=1:k=0+arr[1]+1即k=2;
i=2:k=2+arr[2]+2即k=6;
i=3:k=6+arr[3]+3即k=12;
38.p=(double*)malloc(sizeof(double)):或p=(double*)malloc(8);p=(double*)malloc(sizeof(double)):或p=(double*)malloc(8);解析:malloc()函數(shù)只有一個(gè)參數(shù),該參數(shù)指定了需要分配多少字節(jié)的內(nèi)存。然后將分配好的內(nèi)存塊的首地址作為void*(未知類型指針)返回.故標(biāo)準(zhǔn)的調(diào)用形式應(yīng)該寫成:
p(double*)malloc(sizeof(double));
39.99解析:函數(shù)的嵌套調(diào)用是在主函數(shù)中函數(shù)f(f(3,4),f(3,5))的返回值賦給d。函數(shù)的第一個(gè)參數(shù)為f(3,4)的返回值,函數(shù)f(3,4)返回值為(4-3)*3=3,f(3,5)返回值為(5-3)*3=6,那么函數(shù)f(f(3,4),f(3,5))等價(jià)于函數(shù)f(3,6)其返回值為(6-3)*3=9。因此d被賦值為9,所以輸出9。
40.1000001010000010解析:運(yùn)算“&”的規(guī)則是只有當(dāng)兩個(gè)相應(yīng)的二進(jìn)制位都為1時(shí),該位的結(jié)果才為1。要保留第2、8位,只要將其與二進(jìn)制數(shù)10000010相與。
41.D解析:在整個(gè)程序運(yùn)行期間,靜態(tài)局部變量在內(nèi)存的靜態(tài)存儲(chǔ)區(qū)中占據(jù)著永久的存儲(chǔ)單元,即使退出函數(shù)以后,下次再進(jìn)入該函數(shù)時(shí),靜態(tài)局部變量仍使用原來的存儲(chǔ)單元,靜態(tài)局部變量的初值是在編譯的時(shí)候賦予的,在程序執(zhí)行期間不再賦予初值。本題由于連續(xù)三次調(diào)用函數(shù)fun(),三次對(duì)靜態(tài)變量x進(jìn)行操作,x的值應(yīng)依次為6,7,8。
42.C解析:本題考查逗號(hào)表達(dá)式。本題的返回值是a+7,a=2*3=6,a+7=13(注意:本題問的是a的值,而不是程序的輸出值)。
43.C
44.D解析:本題考查條件運(yùn)算符。如果x%2非0,輸出**和循環(huán)變量的值;如果x%2為0,輸出##和循環(huán)變量的值。當(dāng)循環(huán)變量為3和5時(shí),分別輸出**3和**5,當(dāng)循環(huán)變量為4時(shí),輸出##4后換行。
45.D解析:C語言中的文件是流式文件。流式文件是一種無結(jié)構(gòu)文件,即整個(gè)文件是一串字符流或二進(jìn)制流。文件的存取以字符或字節(jié)為單位。
46.C解析:用高級(jí)語言編寫的程序稱為“源程序”,而計(jì)算機(jī)只能識(shí)別和執(zhí)行由O和1組成的二進(jìn)指令,所以高級(jí)語言必須先用—種稱為“編譯程序”的軟件,把源程序翻譯成二進(jìn)制形式的“目標(biāo)程序”。
47.C解析:函數(shù)fun的形參是簡單變量,main函數(shù)中調(diào)用fun時(shí)只是把實(shí)參的值傳遞給形參,形參的改變不影響實(shí)參,所以調(diào)用完函數(shù)fun后a的值不發(fā)生變化,即a=31。
48.A
49.C
50.B解析:考查結(jié)構(gòu)體數(shù)組對(duì)結(jié)構(gòu)體成員的引用。結(jié)構(gòu)體數(shù)組中對(duì)結(jié)構(gòu)體成員的引用要先引用到數(shù)組元素,然后像對(duì)待普通的結(jié)構(gòu)體變量一樣來對(duì)待結(jié)構(gòu)體數(shù)組元素。
51.B解析:本題中主要進(jìn)行位邏輯計(jì)算。將a的值轉(zhuǎn)換為二進(jìn)制000000010,b轉(zhuǎn)換為二進(jìn)制00000100,將a和b進(jìn)行按位或運(yùn)算,因此d的二進(jìn)制數(shù)為00000110,c的二進(jìn)制為00000101;接下來把d和c進(jìn)行按位與運(yùn)算,并轉(zhuǎn)化為十進(jìn)制輸出。
52.D解析:X--是先使用x的值再對(duì)x減1,即輸出11;--y是先對(duì)y減1再使用y的值,輸出10。格式控制中的普通字符“,”原樣輸出。所以選項(xiàng)D符合題意。
53.D解析:do-while循環(huán)是先執(zhí)行循環(huán)體再進(jìn)行條件判斷,當(dāng)執(zhí)行了一次循環(huán)以后,t變成了-1,每次循環(huán)后t都減2,t將永遠(yuǎn)為負(fù)奇數(shù),又循環(huán)結(jié)束的條件是n=t,因此只有當(dāng)n為負(fù)奇數(shù)時(shí)才不會(huì)陷入死循環(huán)。
54.D解析:在格式輸入中,要求給出的是編譯的地址,而D)答案中給出的s[1]是一個(gè)值的表達(dá)式。
55.D解析:本題考查了考生對(duì)字符串常量的理解。字符串常量是一段以雙引號(hào)括起來的字符序列,它既可以出現(xiàn)在對(duì)字符數(shù)組的初始化中,也可以出現(xiàn)在表達(dá)式中。當(dāng)它用于對(duì)字符數(shù)組的初始化時(shí),應(yīng)注意系統(tǒng)自動(dòng)為其添加的結(jié)束標(biāo)志'\\0'。而當(dāng)它出現(xiàn)在表達(dá)式中時(shí),應(yīng)該將其看作一個(gè)constchar*類型的指針常量。在選項(xiàng)A中,首先定義了一個(gè)字符指針sp,然后將一個(gè)字符串賦給甲所指的地址,這是錯(cuò)誤的。因?yàn)閟p是一個(gè)未經(jīng)初始化的野指針,不知其指向哪兒,往一個(gè)不確定的地址中寫數(shù)據(jù)很容易讓程序出錯(cuò)。選項(xiàng)B首先定義了一個(gè)字符數(shù)組,然后將一個(gè)字符串賦給數(shù)組名,這是錯(cuò)誤的。因?yàn)閿?shù)組名是一個(gè)指針常量,不可以被改變。選項(xiàng)C首先定義了一個(gè)字符數(shù)組,然后將一個(gè)字符串賦給數(shù)組的第一個(gè)元素,這也是錯(cuò)誤的。因?yàn)樽址诒磉_(dá)式中相當(dāng)于一個(gè)常字符指針,將一個(gè)指針值賦給一個(gè)字符型變量是行不通的。選項(xiàng)D是定義一個(gè)字符指針sp,同時(shí)使其指向一個(gè)字符串常量,即將一個(gè)常字符型指針賦給sp。這是可行的。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
56.C
57.A解析:兩個(gè)實(shí)體之間的聯(lián)系實(shí)際上是實(shí)體集間的函數(shù)關(guān)系,這種函數(shù)關(guān)系可以有下面幾種,即一對(duì)一的聯(lián)系、一對(duì)多(或多對(duì)一)的聯(lián)系和多對(duì)多的聯(lián)系;概念模型便于向各種模型轉(zhuǎn)換。由于概念模型不依賴于具體的數(shù)據(jù)庫管理系統(tǒng),因此,容易向關(guān)系模型、網(wǎng)狀模型和層次模型等各種模型轉(zhuǎn)換。
58.C解析:修改數(shù)據(jù)庫的物理結(jié)構(gòu)或邏輯結(jié)構(gòu)時(shí),通過兩級(jí)映像,可以使得應(yīng)用程序不必修改,保證數(shù)據(jù)的獨(dú)立性。數(shù)據(jù)的獨(dú)立性包括物理獨(dú)立性和邏輯獨(dú)立性。
59.A解析:對(duì)未給出初始值的整數(shù)數(shù)組元素,被默認(rèn)初始化為零。
60.C解析:這是一個(gè)逗號(hào)表達(dá)式,它的值應(yīng)為表達(dá)式y(tǒng)=x+3/2的值,而前一個(gè)表達(dá)式已給x賦值1,在沒有進(jìn)行類型轉(zhuǎn)換的情況下,3/2的值為1,所以x+3/2的值應(yīng)為2.0。
61.C數(shù)組a中有5個(gè)元素a,0,0,a,0占7個(gè)字節(jié)的內(nèi)容。最后一個(gè)\\0為結(jié)束符。
62.A選項(xiàng)A中,8111111+=1/i;i為整型,因此l/i是整型類型,當(dāng)1/i有小數(shù)時(shí),小數(shù)部分會(huì)被截?cái)唷R虼薼/i結(jié)果始終為0,導(dǎo)致結(jié)果出錯(cuò),應(yīng)改為8111m+=1.0/i。因此答案為A選項(xiàng)。
63.DC語句可以跨行來寫,但是必須以分號(hào)結(jié)束,所以A選項(xiàng)錯(cuò)誤。c程序中的一行可以有多條語句,所以B選項(xiàng)錯(cuò)誤。C語言中的注釋語句可以與原語句放在一行也可以不放在一行,所以C選項(xiàng)錯(cuò)誤。
64.A解析:本題考查數(shù)據(jù)庫系統(tǒng)的基本概念和知識(shí)。數(shù)據(jù)的邏輯結(jié)構(gòu),是數(shù)據(jù)間關(guān)系的描述,它只抽象地反映數(shù)據(jù)元素之間的邏輯關(guān)系,而不管其在計(jì)算機(jī)中的存儲(chǔ)方式。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),又叫物理結(jié)構(gòu),是邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)器里的實(shí)現(xiàn)。這兩者之間沒有必然的聯(lián)系。因此,選項(xiàng)A
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年河北省唐山市高一上學(xué)期期中考試歷史試卷
- 2025年債務(wù)糾紛導(dǎo)致離婚協(xié)議書策劃模板
- 2025年企業(yè)暫時(shí)性停止勞動(dòng)合同樣本
- 2025年策劃復(fù)婚關(guān)系解除協(xié)議書樣本
- 2025年滌綸短纖項(xiàng)目申請(qǐng)報(bào)告模稿
- 2025年農(nóng)產(chǎn)品加工與合作協(xié)議書
- 2025年水蘇糖項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告模板
- 建筑工地外部協(xié)作單位安全合作協(xié)議書
- 2025年信息技術(shù)服務(wù)合同續(xù)簽
- 2025年住宅區(qū)物品存放室租賃合同范文
- 骨髓增生異常綜合征教學(xué)查房
- 《那一刻我長大了》習(xí)作課件
- DBJ15 31-2016建筑地基基礎(chǔ)設(shè)計(jì)規(guī)范(廣東省標(biāo)準(zhǔn))
- 1.2《友邦驚詫論》教學(xué)設(shè)計(jì)-【中職專用】高二語文同步講堂(高教版2024·拓展模塊上冊(cè))
- 盤扣式卸料平臺(tái)施工方案
- 2023年江蘇省鹽城市中考數(shù)學(xué)試卷及答案
- 2024新高考英語1卷試題及答案(含聽力原文)
- G -B- 43068-2023 煤礦用跑車防護(hù)裝置安全技術(shù)要求(正式版)
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院單招職業(yè)技能測(cè)試題庫附答案
- 2024年4月浙江省00015英語二試題及答案含評(píng)分參考
- 2024年注冊(cè)安全工程師考試題庫【含答案】
評(píng)論
0/150
提交評(píng)論