版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年廣東省惠州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.若已定義x和y是整型變量,x=2;,則表達(dá)式y(tǒng)=2.75+x/2的值是()。
A.5.5B.5C.3D.4.0
2.當(dāng)執(zhí)行下面的程序時(shí),如果輸入ABC,則輸出結(jié)果是()#include<stdio.h>#include<string.h>main(){charss[10]="12345";gets(ss);strcat(ss"6789");printf("%s\n",ss);}
A.ABC6789B.ABC67C.12345ABC6D.ABC456789
3.鏈表不具有的特點(diǎn)是A.A.不必事先估計(jì)存儲(chǔ)空間
B.可隨機(jī)訪問任一元素
C.插入和刪除不需要移動(dòng)元素
D.所需空間與線性表長(zhǎng)度成正比
4.在inta=3,int*p=&a;中,*p的值是()
A.變量a的地址值B.無(wú)意義C.變量p的地址值D.3
5.有以下程序:main(){char*p[10]={"abc","aabdfg","dcdbe","abbcf',"cd"};printf("%d\n",strlen(p[4]));}執(zhí)行后的輸出結(jié)果是______。
A.2B.3C.4D.5
6.若已知一個(gè)棧的進(jìn)棧序列是l,2,3…n,其輸出序列是P1,P2,P3,…PN,若P1=3,則P2為()。
A.可能是2B.一定是2C.可能是1D.一定是1
7.若串S1="ABCDEFG",S2="9898",S3="###",S4="012345",執(zhí)行其結(jié)果為()。A.ABC###G0123B.ABCD###2345C.ABC###G1234D.ABCD###1234
8.甲乙兩個(gè)聰明人上街,撿到一張10塊錢的購(gòu)物卡,兩人就想出一個(gè)辦法來(lái)分配這張卡。兩個(gè)分別將自己出的價(jià)格寫在紙上,然后看誰(shuí)出的價(jià)高就給誰(shuí),并且那個(gè)出價(jià)高的人要把出的錢給對(duì)方。現(xiàn)在甲有6塊錢,乙有8塊錢,甲乙雙方都知道對(duì)方當(dāng)前有多少錢并且都希望自己收益高于對(duì)方。問最后誰(shuí)獲得的錢多()
A.甲多B.乙多C.一樣多D.有可能出現(xiàn)有人賠錢的情況
9.
10.已知一個(gè)大小為n的整型數(shù)組,現(xiàn)求該數(shù)組的全部連續(xù)子數(shù)組的元素之和的最大值,最優(yōu)算法的時(shí)間復(fù)雜度是()如:a[4]={2,-1,3,-4},它的全部連續(xù)子數(shù)組為{2,-1,3,-4,[2,-1],[-1,3],[3,-4],[2,-1,3],[-1,3,-4],[2,-1,3,-4]},它們的元素之和為{2,-1,3,-4,1,2,-1,4,-2,0},其中的最大值為4。
A.O(logN)B.O(N)C.O(N*logN)D.O(N^2)
11.以下選項(xiàng)中關(guān)于C語(yǔ)言算術(shù)表達(dá)式的敘述中錯(cuò)誤的是()。
A.可以通過(guò)使用圓括號(hào)來(lái)改變算術(shù)表達(dá)式中某些算術(shù)運(yùn)算符的計(jì)算優(yōu)先級(jí)
B.C語(yǔ)言采用的是人們熟悉的四則運(yùn)算規(guī)則,即先乘除后加減
C.算術(shù)表達(dá)式中,運(yùn)算符兩側(cè)類型不同時(shí),將進(jìn)行類型之間的轉(zhuǎn)換
D.C語(yǔ)言僅提供了“+”“-”“*”“/”這4個(gè)基本算術(shù)運(yùn)算符
12.有以下程序main(){intm=3,n=4,x;x=-m++;x=x+8/++n;printf(“%d\n”,x);}程序運(yùn)行后的輸出結(jié)果是______。A.3B.5C.-1D.-2
13.
14.
15.在位運(yùn)算中,操作數(shù)每左移兩位,其結(jié)果相當(dāng)于()。
A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)除以4D.操作數(shù)乘以4
16.有以下程序:#include#definePT3.5;#defineS(x)PT*x*x;Main(){inta=1,b=2;printf("%4.1f\n",S(a+b));程序運(yùn)行后的輸出結(jié)果是()。A.7.5B.31.5C.程序有錯(cuò)無(wú)輸出結(jié)果D.14.0
17.
18.下列選項(xiàng)中,不屬于數(shù)據(jù)管理員(DBA.職責(zé)的是()。
A.數(shù)據(jù)庫(kù)維護(hù)B.數(shù)據(jù)庫(kù)設(shè)計(jì)C.改善系統(tǒng)性能,提高系統(tǒng)效率D.數(shù)據(jù)類型轉(zhuǎn)換
19.
20.若有定義“intb[8],*p=b;”,則p+6表示()。
A.數(shù)組元素b[6]的值B.數(shù)組元素b[6]的地址C.數(shù)組元素b[7]的地址D.數(shù)組元素b[0]的值加上6
二、2.填空題(20題)21.若有定義語(yǔ)句chars[100],d[100];intj=0,i==0;且s中已賦字符串,請(qǐng)?zhí)羁找詫?shí)現(xiàn)拷貝。(注:不使用逗號(hào)表達(dá)式)
while(s[i]=【】;j++;}
d[j]=0;
22.數(shù)據(jù)模型按不同應(yīng)用層次分成三種類型,它們是概念數(shù)據(jù)模型、【】和物理數(shù)據(jù)模型。
23.算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和______復(fù)雜度。
24.以下函數(shù)的功能是計(jì)算s=1+1/21+1/3!+…+1/n!,請(qǐng)?zhí)羁铡?/p>
doublefun(intn)
{doubles=0.0,fac=1.0;
inti,k=1;
for(i=1;i<=n;i++)
{【】;
fac=fac/k;
s=s+fac;
}
}
25.設(shè)二進(jìn)制數(shù)A是00101101,若想通過(guò)異或運(yùn)算ab使A的高4位取反,低4位不變,則二進(jìn)制數(shù)B應(yīng)是【】。
26.已有定義:charc=′′;inta=1,b;(此處c的初值為空格字符),執(zhí)行b=!c&&a;后b的值為【】。
27.以下fun函數(shù)的功能是:累加數(shù)組元素中的值,n為數(shù)組中元素的個(gè)數(shù)。累加的和值放入x所指的存儲(chǔ)單元中。補(bǔ)足所缺語(yǔ)句。
fun(intb[],intn,int*x)
{intk,r=0;
for(k=0;k<n;k++)r=【】;
【】=r;
}
28.下面的程序可對(duì)指定字符串中的字符串進(jìn)行從大到小排序,請(qǐng)將程序完整。(注:程序采用了冒泡排序算法)
#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(【】);
}
29.若有以下定義,則不移動(dòng)指針p,且通過(guò)指針p引用值為98的數(shù)組元素的表達(dá)式是______。
intw[10]={23,54,10,33,47,98,72,80,61},*p=w;
30.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。
31.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
main()
{intfun();
fun();
}
fun()
{staticinta[4]={1,2,3,4};
inti;
for(i=0;i<4;i++)a[i]+=a[i];
for(i=0;i<4;i++)printf("%d,",a[i]);
printf"\n");
}
32.軟件危機(jī)出現(xiàn)于60年代末,為了解決軟件危機(jī),人們提出了【】的原理來(lái)設(shè)計(jì)軟件,這就是軟件工程誕生的基礎(chǔ)。
33.下列程序中的函數(shù)stropy2()實(shí)現(xiàn)字符串兩次復(fù)制,即將t所指字符串復(fù)制兩次到s所指內(nèi)存空間中,合并形成一個(gè)新字符串。例如,若t所指字符串為:efgh,調(diào)用strcpy2后,s所指字符串為:efghefgh。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
#include<string.h>
voidstrcpy2(char*s,char*t)
{char*p=t;
while(*s++=*t++);
s=【】;
while(【】=*p++);
}
main()
{charstr1[100]="abed",str2[]="efgh";
strcpy2(str1,str2);printf("%s\n",str1);
}
34.若a是int型變量,則表達(dá)式(a=2*3,a*2),a+6的值為______。
35.在數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)中,常用的描述工具是【】。
36.函數(shù)pi的功能是根據(jù)以下公式近似求得的:
pi*pi/6=1+1/(2*2)+1/(3*3)+…+1/(n*n)
請(qǐng)?jiān)谙旅娴暮瘮?shù)中填空,完成求pi的功能。
#include<math.h>
doublepi(longn)
{doubles=0.0,longi;
for(i=1;i<=n;i++)s=s+【】。
return(sqrt(6*s));
}
37.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
38.下面程序的功能是:將字符數(shù)組a中下標(biāo)值為偶數(shù)的元素從小到大排列,其他元素不變。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
#include<string.h>
main()
{chara[]="clanguage",t;
inti,j,k;
k=strlen(a);
for(i=0;i<=k-2;i+=2)
for(j=i+2;j<=k;j+=2;)
if(【】)
{t=a[i];a[i]=a[j];a[j]=t;}
puts(a);printf("\n");
}
39.以下程序的運(yùn)行結(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]);
}
40.以下程序的定義語(yǔ)句中,x[1]的初值是【】,程序運(yùn)行后輸出的內(nèi)容是【】。
#include<stdio.h>
main()
{intx[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,161},*p[4],i;
for(i=0;i<4;i++)
{p[i]=&x[2*i+1];
printf("%d",p[i][0]);
}
printf("\n");
}
三、1.選擇題(20題)41.有以下程序main(){inta[3][3],*p,i;p=&a[0][0];for(i=0;i<9;i++)p[i]=i;for(i=0;i<3;i++)printf("%d",a[1][i]);}程序運(yùn)行后的輸出結(jié)果是
A.12B.123C.234D.345
42.下列敘述中正確的是()。
A.數(shù)據(jù)庫(kù)設(shè)計(jì)是指設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)
B.數(shù)據(jù)庫(kù)設(shè)計(jì)是指設(shè)計(jì)數(shù)據(jù)庫(kù)管理系統(tǒng)
C.數(shù)據(jù)庫(kù)設(shè)計(jì)是指在已有數(shù)據(jù)庫(kù)管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫(kù)
D.以上三種說(shuō)法都不對(duì)
43.有以下程序:#include<stdio.h>main(){inta=6,b=7,m=1;switch(a%2){case0:m++;break;case1:m++;switch(b%2){defaut:m++;case0:m++;break;}}printf("%d\n",m);}
A.1B.2C.3D.4
44.以下程序的輸出結(jié)果是main(){intc=35;printf("%d\n",c&c);}
A.0B.70C.35D.1
45.以下4個(gè)選項(xiàng)中,不能看作一條語(yǔ)句的是
A.;B.a=5,b=2.5,c=3.6;C.if(a<5);D.if(b!=5)x=2;y=6;
46.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指()。
A.數(shù)據(jù)所占的存儲(chǔ)空間
B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的存放形式
C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式
D.存儲(chǔ)在計(jì)算機(jī)外存中的數(shù)據(jù)
47.在一棵二叉樹上第5層的結(jié)點(diǎn)數(shù)最多是______。
A.8B.16C.32D.15
48.下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是()。
A.順序存儲(chǔ)的有序線性表B.結(jié)性鏈表C.二叉鏈表D.有序線性鏈表
49.以下程序段的輸出為()staticchara[]="language",b[]="progratne";char*ptr1,*ptr2;intk;ptr1=a;ptr2=b;for(k=0;k<7;k++)if(*(ptr1+k)==*(ptr2+k))printf("%c",*(ptr1+k));
A.gaeB.gaC.languageD.有語(yǔ)法錯(cuò)誤
50.有以下程序:#include<stdio.h>intfun(chars[]){intn=0;while(*s<='9'&&*s>='0'){n=10*n+*s-'0';s++;}return(n);}main(){chars[10]={'6','1','*','4','*','9','*','0','*'};printf("%d\n",fun(s));}程序的運(yùn)行結(jié)果是()。
A.9B.61490C.61D.5
51.有以下程序main(){intk=4,n=0;for(;n<k;){n++;if(n%3!=0)continue;K--;}printf("%d,%d\n",k,n);}程序運(yùn)行后的輸出結(jié)果是
A.1,1B.2,2C.3,3D.4,4
52.下列對(duì)于軟件測(cè)試的描述中正確的是______。
A.軟件測(cè)試的目的是證明程序是否正確
B.軟件測(cè)試的目的是使程序運(yùn)行結(jié)果正確
C.軟件測(cè)試的目的是盡可能地多發(fā)現(xiàn)程序中的錯(cuò)誤
D.軟件測(cè)試的目的是使程序符合結(jié)構(gòu)化原則
53.在面向?qū)ο蠓椒ㄖ校粋€(gè)對(duì)象請(qǐng)求另一對(duì)象為其服務(wù)的方式是通過(guò)發(fā)送()。A.調(diào)用語(yǔ)句B.命令C.口令D.消息
54.設(shè)變量已正確定義,則下列能正確計(jì)算f=n!的程序段是()。
A.f=0;for(i=1;i<=n;i++)f*=i;
B.f=1;for(i=1;i<n;i++)f*=i;
C.f=1;for(i=n;i>1;i++)f*=i;
D.f=1;for(i=n;i>=2;i--)f*=i;
55.下列程序段的運(yùn)行結(jié)果是()。#include<stdio.h>voidmain(){charstr[]="ABC",*p=str;printf("%d\n",*(p+3));}
A.67B.0C.字符'C'的地址D.字符'C'
56.有以下程序fun(intx){intp;if(x==0‖x==1)return(3);p=x-fun(x-2);returnp;}main(){printf("%d\n",fun(7));}執(zhí)行后的輸出結(jié)果是
A.7B.3C.2D.0
57.在C語(yǔ)言中引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型只能是()。
A.整型常量B.整型表達(dá)式C.整型常量或整型表達(dá)式D.任何類型的表達(dá)式
58.若有語(yǔ)句:Char*line[5];,以下敘述中正確的是()。
A.定義line是一個(gè)數(shù)組,每個(gè)數(shù)組元素是一個(gè)基類型為Char的指針變量
B.定義line是一個(gè)指針變量,該變量可以指向一個(gè)長(zhǎng)度為5的字符型數(shù)組
C.定義line是一個(gè)指針數(shù)組,語(yǔ)句中的*號(hào)稱為間址運(yùn)算符
D.定義line是一個(gè)指向字符型函數(shù)的指針
59.以下數(shù)組定義中錯(cuò)誤的是A.intx[][3]={0};
B.intx[2][3]={{l,2},{3,4},{5,6}};
C.intx[][3]={{l,2,3},{4,5,6}};
D.intx[2][3]={l,2,3,4,5,6};
60.如果要限制一個(gè)變量,命名其只能為本文件所用,必須通過(guò)()來(lái)實(shí)現(xiàn)。
A.外部變量說(shuō)明B.靜態(tài)內(nèi)部變量C.靜態(tài)外部變量D.局部變量說(shuō)明
四、選擇題(20題)61.
則以下選項(xiàng)中錯(cuò)誤的表達(dá)式是()。
A.
B.
C.
D.
62.下列關(guān)于算法復(fù)雜度描述正確的是()。
A.算法的時(shí)間復(fù)雜度是指算法執(zhí)行的時(shí)間
B.算法的空間復(fù)雜度是指執(zhí)行這個(gè)算法所需的內(nèi)存空間
C.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定大
D.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小
63.數(shù)字字符0的ASCIl值為48,若有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.3,2B.50,2C.2,2D.2,50
64.
65.
66.下列詞語(yǔ)中,不屬于面向?qū)ο蠓椒ǖ氖?/p>
A.對(duì)象、消息B.繼承、多態(tài)C.類、封裝D.過(guò)程調(diào)用
67.
有下列程序:
main
{intk=5:
while(--k)printf("%d",k=1);
printf("\n");
}
執(zhí)行后的輸出結(jié)果是()。
A.1B.2C.4D.死循環(huán)
68.下列敘述中正確的是()。
A.軟件測(cè)試應(yīng)該由程序開發(fā)者來(lái)完成
B.程序經(jīng)調(diào)試后一般不需要測(cè)試
C.軟件維護(hù)只包括對(duì)程序代碼的維護(hù)
D.以上三種說(shuō)法都不對(duì)
69.
70.
下列程序的輸出結(jié)果是()。
#include<stdio.h>
main
{inta=0,i;
for(i=1;i<5;i++)
{switch(i)
{case0:
case3:a+=1;
case1;
case2:a+=2;
default:a+=3;
}
}
printf("%d",a);
}
A.19B.1C.6D.8
71.有以下程序:
程序的運(yùn)行結(jié)果是()。
A.0B.1C.2D.3
72.(12)下列敘述中正確的是______。
A.線性表是線性結(jié)構(gòu)
B.棧與隊(duì)列是非線性結(jié)構(gòu)
C.線性鏈表是非線性結(jié)構(gòu)
D.二叉樹是線性結(jié)構(gòu)
73.以下關(guān)于long、int和short類型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是(),
A.均占4個(gè)字節(jié)B.根據(jù)數(shù)據(jù)的大小來(lái)決定所占內(nèi)存的字節(jié)數(shù)C.由用戶自己定義D.由C語(yǔ)言編譯系統(tǒng)決定
74.
75.有以下程序:
程序運(yùn)行后的輸出結(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,
76.有以下程序:
main()
{intX,i;
for(i=1;i<=50;i++)
{x=i;
if(X%2=O)
if(x%3=O)
if(X%7=0)
printf("%d,i)";
}
}
輸出結(jié)果是()。
A.28
B.27
C.42
D.41
77.
78.
有以下程序:
main
{intk=5;
while(--k)printf("%d",k-=3);
printf("\n");
}
執(zhí)行后的輸出結(jié)果是()。
A.1B.2C.4D.死循環(huán)
79.
80.以下關(guān)于邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的敘述中正確的是()。
A.可以是任意合法的表達(dá)式B.只能是整數(shù)0或非0整數(shù)C.可以是結(jié)構(gòu)體類型的數(shù)據(jù)D.只能是整數(shù)O或l
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc的功能是計(jì)算正整數(shù)m各位上數(shù)字的平方和。 例如,輸入498,則輸出應(yīng)該是161。 請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。 注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。 試題程序: #include<stdlib.h> #include<stdio.h> #include<conio.h> longproc(10ngm) {//****found****longsum=1;do{sum+=(m%10)*(m%10);m/=l0;//****found****}while(m)return(sum); } voidmain {longn;system("CLS");printf("Pleaseenteranumber:");scanf("%1d",&n);printf("\n%ld\n",proc(n)); }
六、程序設(shè)計(jì)題(1題)82.規(guī)定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,其功能是:除了字符串前導(dǎo)的。號(hào)之外,將串中其他*號(hào)全部刪除。在編寫函數(shù)時(shí).不得使用C語(yǔ)言提供的字符串函數(shù).
參考答案
1.C
2.A
3.B鏈表是一種特殊的線性表,鏈表的存儲(chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)不同,它的存儲(chǔ)區(qū)域可以是任意的存儲(chǔ)單元,對(duì)存儲(chǔ)系統(tǒng)中零碎的存儲(chǔ)部分具有更好的應(yīng)用,在給其分配存儲(chǔ)單元時(shí),不必事先估計(jì)整個(gè)存儲(chǔ)單元的空間大??;由于鏈表的元素是通過(guò)指針域的指針相連的,用鏈表存儲(chǔ)數(shù)據(jù)時(shí),對(duì)其進(jìn)行插入和刪除操作時(shí),不需要移動(dòng)其他元素,只需改變其直接前驅(qū)指針域,使其指向該結(jié)點(diǎn),并將該結(jié)點(diǎn)的指針域修改為指向其直接后繼結(jié)點(diǎn)即可。當(dāng)然,不管是鏈表還是順序存儲(chǔ),所需空間與線性表長(zhǎng)度都成正比。在鏈?zhǔn)酱鎯?chǔ)的鏈表結(jié)構(gòu)中,由于后一結(jié)點(diǎn)數(shù)據(jù)被存儲(chǔ)在哪里,只有通過(guò)前一結(jié)點(diǎn)的指針域才知道,因此,訪問時(shí)只能是逐個(gè)訪問,而不能實(shí)現(xiàn)隨機(jī)訪問。
4.D
5.A解析:本題中p[4]='cd',所以strlen(p[4])=2。
6.A
7.D
8.C
9.A
10.B
11.DC語(yǔ)言的算術(shù)運(yùn)算符是有優(yōu)先級(jí)的。圓括號(hào)可以改變算術(shù)表達(dá)式中某些算術(shù)運(yùn)算符的優(yōu)先級(jí),選項(xiàng)A正確;算術(shù)運(yùn)算符中,乘除運(yùn)算符的優(yōu)先級(jí)比加減運(yùn)算符的優(yōu)先級(jí)高,C語(yǔ)言采用的是四則運(yùn)算規(guī)則,選項(xiàng)B正確;算術(shù)表達(dá)式中,運(yùn)算符兩側(cè)運(yùn)算對(duì)象的數(shù)據(jù)類型不同時(shí),將進(jìn)行隱式類型轉(zhuǎn)換,選項(xiàng)C正確;C語(yǔ)言中基本的算術(shù)運(yùn)算符除了“+”“-”“*”“/”之外,還有“%”,即求余運(yùn)算符,選項(xiàng)D錯(cuò)誤。故本題答案為D選項(xiàng)。
12.D本題考核的知識(shí)點(diǎn)是運(yùn)算符的優(yōu)先級(jí)。主函數(shù)中首先定義了整型變量m、n和x,并給m和n賦初值為3和4,接著執(zhí)行兩條賦值語(yǔ)句,第一條x=-m++等價(jià)于x=-(m++),其值即為-3,第二條x=x+8/++n等價(jià)于X=X+8/(++n),即為x=-3+8/5=-2,因此最后輸出x的值為-2。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
13.C
14.A
15.D解析:本題主要考查左移、右移對(duì)數(shù)據(jù)值的影響,左移n位相當(dāng)于乘以2的n次冪,右移n位相當(dāng)于除以2的n次冪。
16.C宏定義不是C語(yǔ)句,末尾不需要有分號(hào)。所以語(yǔ)句Printf("%4.1f\\n",,S(a+b));展開后為printf("%4.1f\\n",3.5;*a+b*a+b;);所以程序會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤。
17.D
18.DD)【解析】數(shù)據(jù)庫(kù)管理員(DataBaseAdministrator,DBA)是指對(duì)數(shù)據(jù)庫(kù)的規(guī)劃、設(shè)計(jì)、維護(hù)、監(jiān)視等的人員,其主要工作如下:數(shù)據(jù)庫(kù)設(shè)計(jì)。DBA的主要任務(wù)之一是數(shù)據(jù)庫(kù)設(shè)計(jì),具體地說(shuō)是進(jìn)行數(shù)據(jù)模式的設(shè)計(jì);數(shù)據(jù)庫(kù)維護(hù)。DBA必須對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)安全性、完整性、并發(fā)控制及系統(tǒng)恢復(fù)、數(shù)據(jù)定期轉(zhuǎn)儲(chǔ)等進(jìn)行實(shí)施與維護(hù);改善系統(tǒng)性能,提高系統(tǒng)效率。DBA必須隨時(shí)監(jiān)視數(shù)據(jù)庫(kù)的運(yùn)行狀態(tài),不斷調(diào)整內(nèi)部結(jié)構(gòu),使系統(tǒng)保持最佳狀態(tài)與效率。
19.A
20.B指針中存放的是變量的地址,指針也可以進(jìn)行增減運(yùn)算,這時(shí)指針移動(dòng)的最小單位是一個(gè)存儲(chǔ)單元,而不是一個(gè)字節(jié)。所以題中“P+6”指的是將指針向后移動(dòng)了6個(gè)存儲(chǔ)單元,即指向uE63,存放的是b[6]的地址。
21.s[i++]s[i++]解析:本題中為了能實(shí)現(xiàn)字符串的拷貝,需要使字符數(shù)組s從頭到尾依次遍歷其所有元素。本題應(yīng)使用i的自增后置來(lái)實(shí)現(xiàn)。
22.邏輯數(shù)據(jù)模型邏輯數(shù)據(jù)模型解析:數(shù)據(jù)模型按不同的應(yīng)用層次分成三種類型,它們是概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型、物理數(shù)據(jù)模型。
23.空間空間解析:算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。一個(gè)算法的空間復(fù)雜度,一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。
24.k=k*ik=k*i解析:本題中遺過(guò)for循環(huán)求s表達(dá)式中每一項(xiàng)的和,表達(dá)式“fac=fac/k;”求的是每—項(xiàng)的值,所以k的值應(yīng)為n!,在求n!的時(shí)候,可以用上次循環(huán)階乘的值乘i,就可以直接得此次n!,故本題填k=k*i。
25.1111000011110000解析:按位異或運(yùn)算的一個(gè)重要應(yīng)用是讓某個(gè)整型變量的二進(jìn)制位取反,0變成1,而1變成0。這只要設(shè)計(jì)這樣一個(gè)位串信息,讓要變反的位為1,不要改變的位為0,用這個(gè)位串信息與整型變量按位加就能得到希望的結(jié)果。要使字節(jié)的高4位取反,低4位不變,則需要位串信息是11110000。
26.11解析:字符空格的ASCII碼不為0,所以本題中表達(dá)式\ue008!c\ue009的值為0,b=0&&1的結(jié)果顯然為0。
27.r+b[k]或b[k]+r或r+*(b+k)或*(b+k)+r*xr+b[k]或b[k]+r或r+*(b+k)或*(b+k)+r\r\n*x
28.str[i]str[i+1]"%s"strstr[i]\r\nstr[i+1]\r\n'%s',str解析:本題要求將字符串str中的字符用冒泡排序算法從大到小排列,其實(shí)現(xiàn)過(guò)程是將相鄰兩個(gè)字符進(jìn)行比較,如果當(dāng)前字符小于下一個(gè)字符;則通過(guò)中間變量temp將字符兩兩交換,所以第一空應(yīng)填:str[i],第二空應(yīng)填:str[i+1]。最終打印輸出得到的字符串str,所以第三空應(yīng)填;'%s',str。
29.*(p+5)或p[5]*(p+5)或p[5]
30.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)解析:Jackson方法是—‘種面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化方法。
31.24682,4,6,8解析:子函數(shù)fun()的功能是將數(shù)組a中的元素都自加一遍,然后仍然將結(jié)果存在原數(shù)組中,其實(shí)就是將數(shù)組a的每個(gè)元素都變?yōu)樵瓉?lái)的2倍,然后輸出。在主程序中首先通過(guò)intfun()定義了子函數(shù)fun(),然后再調(diào)用fun()。
32.軟件工程學(xué)軟件工程學(xué)
33.s-1或--s或s--*s++s-1或--s或s--\r\n*s++解析:在函數(shù)。strcpy2()中,首先將指針t保存到指針p中,然后進(jìn)入第1個(gè)while()循環(huán),其循環(huán)條件為*s++=*t++,其中“*”和“++”運(yùn)算符的優(yōu)先級(jí)相同,但他們的結(jié)合性為從右至左,而“=”運(yùn)算符優(yōu)先級(jí)比較低,所以原表達(dá)式等價(jià)于(*s++)=(*(t++)),即將t當(dāng)前所指內(nèi)容復(fù)制到s當(dāng)前所指地址中,然后讓s和t同時(shí)往后移動(dòng)一位,整個(gè)表達(dá)式返回的是復(fù)制給s的值。所以,當(dāng)t所指內(nèi)容是字符串結(jié)束符'\\0',時(shí),while循環(huán)結(jié)束,原先t所指的整個(gè)字符串也就復(fù)制到s所指的地址中去了。但是,while循環(huán)最后一次判斷也會(huì)讓s和t往后移動(dòng)一位,即此時(shí)s指向了字符串結(jié)束符'\\0'的后一位。所以第2次復(fù)制字符串之前,應(yīng)先將s指針往回移動(dòng)一位,故前一空應(yīng)該填入s-1或其他等價(jià)形式。接下來(lái)的while循環(huán)實(shí)現(xiàn)第二次復(fù)制,照抄第1次的while循環(huán)就行,故后一空應(yīng)填入*s++。
34.1212解析:本題考查逗號(hào)表達(dá)式的運(yùn)算規(guī)則。逗號(hào)表達(dá)式的基本格式為:“表達(dá)式1,表達(dá)式2,…”,其整個(gè)表達(dá)式的結(jié)果取最后一個(gè)子表達(dá)式的值。本題中首先計(jì)算逗號(hào)表達(dá)式中的第1個(gè)表達(dá)式a=2*3=6,然后計(jì)算第2個(gè)表達(dá)式a*2,這時(shí)整個(gè)表達(dá)式的值為12,但要注意,因?yàn)榈?個(gè)表達(dá)式并沒有給a賦值,因此a的值不變;接下來(lái)執(zhí)行最后一個(gè)表達(dá)式a+6=12,所以整個(gè)表達(dá)式最后的值為12。
35.E-R圖E-R圖解析:E-R圖是設(shè)計(jì)概念模型的有力工具。
36.0/i/i或1.0/(i*i)0/i/i或1.0/(i*i)解析:由題面中提供的計(jì)算pi的公式可知;在第i項(xiàng)其值為1/(i*i),考慮到運(yùn)算結(jié)果為浮點(diǎn)數(shù),故必須要將1轉(zhuǎn)化為浮點(diǎn)數(shù)或采用1.0/(i*i)的形式。故本題應(yīng)填1.0/(i*i)或其等效形式。
37.軟件開發(fā)
38.a[I]>a[j]a[I]>a[j]解析:本題中的嵌套的循環(huán)結(jié)構(gòu)用在了數(shù)組元素的排序上。本題需要注意的一點(diǎn)是:由于題目只要求出下標(biāo)值為偶數(shù)的元素從小到大排序,所以內(nèi)外層for循環(huán)的條件變量變更條件都是+=2,最后通過(guò)條件a[i]>a[j]對(duì)元素大小進(jìn)行判斷并交換。
39.12300123001,2,3,0,0,1,2,3,0,0,解析:本題考查文件讀寫函數(shù)fread和fwrite的用法。fwrite函數(shù)將數(shù)組a的前5個(gè)元素輸出到文件fp中兩次,共10個(gè)字節(jié),再調(diào)用fread函數(shù)從文件fp中讀取這10個(gè)字節(jié)的數(shù)據(jù)到數(shù)組a中,此時(shí)數(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,'。
40.224682\r\n2468解析:在主函數(shù)中根據(jù)整型數(shù)組x[]的定義可知,x[1]的初值等于2。在for循環(huán)語(yǔ)句中,當(dāng)i=0時(shí),p[0]=&x[1],p[0][0]=2;當(dāng)i=1時(shí),p[1==&x[3],p[1][0]=4;當(dāng)i=2時(shí),p[2]=&x[5],p[2][0]=6;當(dāng)i=3時(shí),p[3]=&x[7],p[3][0]=8,所以程序輸出的結(jié)果為2、4、6、8。
41.D解析:本題考查的是二維數(shù)組元素在內(nèi)存中的排列形式。雖然二維數(shù)組成多維數(shù)組從結(jié)構(gòu)上來(lái)看不是線性的,但是在C語(yǔ)言中,這些數(shù)組元素在內(nèi)存中的排列是連續(xù)線性存放的。它們的排列規(guī)則是:第一維下標(biāo)變化最慢,最右邊的下標(biāo)變化最快.例如本題中定義的二維數(shù)組a[3][3]中9個(gè)元素在內(nèi)存中的排列順序是:a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2],a[2][0],a[2][1],a[2][2]。在主函數(shù)中,首先定義了二維數(shù)組a[3][3],然后定義了一個(gè)指針p指向數(shù)組a的第1個(gè)元素a[0][0]。在第一個(gè)for循環(huán)中,依數(shù)組a在內(nèi)存中的排列順序?yàn)槠湓刭x從0~8九個(gè)值,然后用第二個(gè)for循環(huán)依次輸出a[1][0],a[1][1],a[1][2]三個(gè)元素的值。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
42.C解析:數(shù)據(jù)庫(kù)設(shè)計(jì)是指,在已有數(shù)據(jù)庫(kù)管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫(kù)的過(guò)程,選項(xiàng)A與B錯(cuò)誤,選項(xiàng)C正確。
43.B解析:本題考查swish語(yǔ)句。第一個(gè)switch語(yǔ)句,因?yàn)閍=6,a%2=0,所以執(zhí)行case0,將m加1,遇到break語(yǔ)句跳出switch語(yǔ)句,結(jié)束循環(huán)。
44.C解析:本題考查按位與“&”。因?yàn)?&1=1,0&0=0,所以任何數(shù)與自身按位與,結(jié)果仍為此數(shù),不發(fā)生變化。
45.D解析:選項(xiàng)D)為兩條語(yǔ)句。
46.B解析:數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),又稱為數(shù)據(jù)的物理結(jié)構(gòu),是數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的存放形式,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有順序結(jié)構(gòu)、鏈?zhǔn)浇Y(jié)構(gòu)、散列結(jié)構(gòu)和索引結(jié)構(gòu)等。
47.B[答案]B
[考點(diǎn)]數(shù)據(jù)結(jié)構(gòu)與算法
[評(píng)析]依次從上到下,可得出:
第1層結(jié)點(diǎn)數(shù)為1;
第2層結(jié)點(diǎn)數(shù)為2*1=2;
第3層結(jié)點(diǎn)數(shù)為2*2=4;
第n層結(jié)點(diǎn)數(shù)為2的n-1次冪
48.A\nA?!窘馕觥慷址ú檎抑贿m用于順序存儲(chǔ)的有序線性表,對(duì)于順序存儲(chǔ)的非有序線性表和線性鏈表,都只能采用順序查找。
\n
49.B
50.C解析:題目fun()函數(shù)中while循環(huán)的意思是:判斷s所指內(nèi)容是否為數(shù)字字符,如果是數(shù)字字符,則計(jì)算表達(dá)式n=10*n+*s-'0';。其中*s-'0'的作用是將相應(yīng)的數(shù)字字符轉(zhuǎn)換為數(shù)值,例如字符'8'減去字符'0'后,得到的結(jié)果就是數(shù)值8了。n=10*n+的作用是將累計(jì)變量n中原來(lái)內(nèi)容乘以10,然后再加上剛轉(zhuǎn)換的數(shù)字字符的數(shù)值,例如原來(lái)n的值為1,*s現(xiàn)在的內(nèi)容為'2',那么執(zhí)行了n=10*n+*s-'0';語(yǔ)句后,n的值變?yōu)?2,如果接下來(lái)再來(lái)一個(gè)'8'字符,執(zhí)行n=10*n+*s-'O';語(yǔ)句后,n的值就是128了。故不難看出fun()函數(shù)的作用是“將數(shù)字字符串轉(zhuǎn)換為相應(yīng)的十進(jìn)制數(shù)值,碰到非數(shù)字字符時(shí)結(jié)束”。從主函數(shù)中定義的字符數(shù)組s的初始化內(nèi)容可以看出,fun()函數(shù)返回值應(yīng)該是61。故應(yīng)該選擇C。
51.C解析:在本程序的for循環(huán)中,用到了一個(gè)continue語(yǔ)句,continue語(yǔ)句的作用是停止本次循環(huán),即不執(zhí)行循環(huán)體內(nèi)continue語(yǔ)句后面的其他語(yǔ)句,繼續(xù)下次循環(huán)的條件判斷。首先在for循環(huán)中n自加1(值變?yōu)?),然后執(zhí)行后面的if語(yǔ)句,由于if語(yǔ)句后面括號(hào)的表達(dá)式(1%3!=0)的值為真,程序執(zhí)行continue語(yǔ)句,回到for循環(huán)的開始部分,并且判斷for循環(huán)中的條件表達(dá)式(n<k)為真,重復(fù)執(zhí)行“n++;”語(yǔ)句,如此循環(huán)直到n=3時(shí),if語(yǔ)句判定條件中表達(dá)式(3%3!=0)的值為假,程序執(zhí)行if語(yǔ)句后面的“k--;”語(yǔ)句,此時(shí)k的值為3,不滿足“n<k”,退出for循環(huán)。故最后的k和n的值為3和3。
52.C解析:軟件測(cè)試的目的:盡可能地多發(fā)現(xiàn)程序中的錯(cuò)誤,不能也不可能證明程序沒有錯(cuò)誤,軟件測(cè)試是一個(gè)發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。軟件調(diào)試的目的是發(fā)現(xiàn)錯(cuò)誤的位置,并改正錯(cuò)誤。
53.D解析:面向?qū)ο蟮氖澜缡峭ㄟ^(guò)對(duì)象與對(duì)象間彼此的相互合作來(lái)推動(dòng)的,對(duì)象間的這種相互合作需要一個(gè)機(jī)制協(xié)助進(jìn)行,這樣的機(jī)制稱為消息。消息是一個(gè)實(shí)例與另一個(gè)實(shí)例之間傳遞的信息,它請(qǐng)求對(duì)象執(zhí)行某一處理或回答某一要求的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。
54.D解析:要正確計(jì)算函數(shù)f=n!,由n!的數(shù)學(xué)定義可知n!=n*(n-1)*(n-2)*……*1。在選項(xiàng)A)中,由于f的初值為0,在for循環(huán)語(yǔ)句中,f依次乘以1,2,3,……,n。最后計(jì)算f=n!=O,所以選項(xiàng)A)不正確。在選項(xiàng)B)中,f的初值為1,在for循環(huán)語(yǔ)句中,f依次乘以1,2,3,……,(n-1)。最后計(jì)算得到f=(n-1)!,所以選項(xiàng)B)不正確。在選項(xiàng)C)中,f的初值為1,在for循環(huán)語(yǔ)句中,f依次乘以n,n+1,n+2,……,所以選項(xiàng)C)不正確。在選項(xiàng)D)中,f的初值為1,在for循環(huán)語(yǔ)句中,f依次乘以n,n-1,n-2,……,2。最后計(jì)算f=n!,所以選項(xiàng)D)正確。
55.B解析:先定義了一個(gè)指向字符型數(shù)組str的指針p,指針p旨向數(shù)組str的首地址,p+3將指針指向str[3],又因?yàn)樽址蛿?shù)組在存放字符串時(shí)會(huì)自動(dòng)在末尾加上'\\0',所以*(p+3)=0。
56.C解析:因?yàn)閒un(intx)是一個(gè)遞歸函數(shù),所以主函數(shù)中fun(7)經(jīng)過(guò)三次遞歸調(diào)用,其過(guò)程可以描述為'fun(7)=7-fun(5)=7-(5-fun(3))=7-(5-(3-fun(1)))=7-(5-(3-3))=7-5=2”,所以最后的輸出結(jié)果為2。
57.C解析:在C語(yǔ)言中,數(shù)組元素的下標(biāo)只能是整型常量或整型表達(dá)式。
58.A解析:理解復(fù)雜定義要掌握兩點(diǎn):一、右結(jié)合原則.本題中的定義char*line[5];等價(jià)于char*(line[5]);;二、自外向內(nèi)分解成typedef語(yǔ)句。char*(line[5]);等價(jià)于typedefchar*A;Aline[5];其中A被typedef定義成字符指針的別名,然后line被定義成A的一維數(shù)組,即字符指針的一維數(shù)組。再來(lái)看看行指針的定義char(*line)[5];它應(yīng)該被分解成typedefcharB[5];B*line;其中B被定義成包含5個(gè)元素的一維字符數(shù)組,然后line被定義成指向B的指針,即指向包含5個(gè)元素的一維字符數(shù)組的指針。所以兩者切不可混淆了,后者的括號(hào)不能省略。故本題應(yīng)該選擇A。
59.B(16)B)解析:二維數(shù)組的初始化有以下幾種形式:①分行進(jìn)行初始化。②不分行的初始化。③部分?jǐn)?shù)組元素初始化。④省略第一維的定義,不省略第二維的定義。選項(xiàng)B)等號(hào)右邊分了3行,大于等號(hào)左邊數(shù)組的行數(shù)2。
60.C
61.C選項(xiàng)c)中int(f)不正確,因?yàn)閺?qiáng)制類型轉(zhuǎn)換表示為:(類型名)(表達(dá)式),正確表示為(int)f.
62.B算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需的計(jì)算工作量。算法的空間復(fù)雜度是指執(zhí)行這個(gè)算法所需的內(nèi)存空間。在一個(gè)算法的空間復(fù)雜度大的情況下,其時(shí)間復(fù)雜度可能會(huì)很大,具體視情況而定;反之亦然。
63.C
先返回后自增,所以執(zhí)行完該語(yǔ)句后,輸出結(jié)果是2,變量b的
64.A
65.A
66.D面向?qū)ο蠓椒ㄊ且环N運(yùn)用對(duì)象、類、封裝、繼承、多態(tài)和消息等概念來(lái)構(gòu)造、測(cè)試、重構(gòu)軟件的方法。面向?qū)ο蠓椒◤膶?duì)象出發(fā),發(fā)展出對(duì)象、類、消息、繼承等概念。
67.A
\n在程序語(yǔ)句中,k的初始值為5,進(jìn)行第l次while循環(huán)后,k自減1為4,非0,執(zhí)行循環(huán)體里的printf語(yǔ)句,輸出k,此時(shí)k的值變?yōu)?。程序執(zhí)行第2次循環(huán)時(shí),k自減1變?yōu)?,為假,退出while循環(huán)語(yǔ)句。所以程序的最后結(jié)果為1。
\n
68.D程序調(diào)試是由程序開發(fā)者完成診斷和改正程序中的錯(cuò)誤的過(guò)程;軟件測(cè)試是由專門的測(cè)試人員完成,是發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程;軟件維護(hù)是指軟件系統(tǒng)交付使用以后,為了改正錯(cuò)誤或滿足新的需要而修改軟件的過(guò)程,是軟件生存周期中非常重要的一個(gè)階段。
69.B
70.A
\n本題考查switch語(yǔ)句。當(dāng)i一1時(shí),執(zhí)行case1,因?yàn)闆]有遇到break語(yǔ)句,所以依次往下運(yùn)行,“a=a+2=2,a=a+3=5”;當(dāng)i=2時(shí),執(zhí)行case2,因?yàn)闆]有遇到break語(yǔ)句,所以依次往下執(zhí)行,“a=a+2=7,a=a+3=10”;當(dāng)i=3時(shí),執(zhí)行case3,a=a+1=11,因?yàn)闆]有遇到break語(yǔ)句,所以依次往下運(yùn)行,a—a+2—13,a—a+3一l6:當(dāng)i=4時(shí),執(zhí)行default,a=a+3=19,結(jié)束循環(huán)。
71.B本題考查循環(huán)語(yǔ)句的嵌套以及條件的判斷問題。在程序中,內(nèi)層循環(huán)判斷條件為”j<=i¨,而j的初值為3,故當(dāng)i的值為1和2時(shí),內(nèi)層循環(huán)體都不會(huì)被執(zhí)行。只有當(dāng)i和j都等于3時(shí)才會(huì)執(zhí)行一次。m的值為55對(duì)3取模,計(jì)算結(jié)果為l。
72.A
73.D解析:在C語(yǔ)言的標(biāo)準(zhǔn)中,short占2個(gè)字節(jié)、long占4個(gè)字節(jié),但int的大小和編譯系統(tǒng)相關(guān)。例如在Turbo\u3000C\u30002.0中,int占2個(gè)字節(jié),但在VisualC++6.0(VC6可以用做C語(yǔ)言編譯器)中占4個(gè)字節(jié)。故本題應(yīng)該選擇D。
74.A
75.B本題考查的是指針作為函數(shù)的參數(shù)和函數(shù)的調(diào)用。題目中定義了一個(gè)指針變量作為函數(shù)f的形參。主函數(shù)main中調(diào)用f函數(shù),當(dāng)i=0時(shí),執(zhí)行語(yǔ)句(*q)++,此處*q代表的就是數(shù)組元素a[O]的值,即將1進(jìn)行加1操作;當(dāng)i=1時(shí),q仍指向數(shù)組元素a[0]的地址,因?yàn)樵诤瘮?shù)f中并未對(duì)指針變量q作任何變動(dòng),也即*q仍代表了數(shù)組元素a[0]的值,所以此次(*q)++即2+1,所以a[O]的值變?yōu)?;……直到i=4時(shí),執(zhí)行(*q)++(即5+1)后a[0]的值變?yōu)?。所以最后的輸出結(jié)果為:6,2,3,4…5
76.C\n只有當(dāng)3個(gè)if條件同時(shí)成立,即能夠同時(shí)被2、3、7整除時(shí),才輸出i的值,而從0到50能夠同時(shí)被2、3、7整除的數(shù)只有42,故選擇c選鞏。
\n
77.B
78.A解析:因?yàn)樵趙hile循環(huán)的循環(huán)條件中,一運(yùn)算符是前綴形式,所以表達(dá)式—k的值是k自減之后的值。程序開始時(shí),將k的值初始化為5,然后進(jìn)入while循環(huán),因?yàn)椤猭的值為4(非零),所以執(zhí)行循環(huán)體輸出k-=3的值1,此時(shí)k的值也變?yōu)?。第2次執(zhí)行循環(huán)條件,—k的值為0,所以循環(huán)結(jié)束。因此最后輸出的結(jié)果是1,故應(yīng)該選擇A。
79.A
80.Ac語(yǔ)言的邏輯運(yùn)算符比較特別,它的操作數(shù)沒有明確的數(shù)據(jù)類型,可以是仨意合法的表達(dá)式,因此選擇A)。
81.(1)錯(cuò)誤:longsum=1;正確:longsum=0;(2)錯(cuò)誤:while(m)正確:while(m);【解析】由函數(shù)proc可知,變量sum中存放正整數(shù)m的各位上數(shù)字的平方和,其初始化為0。因此,“l(fā)ongsum=1;”應(yīng)改為“l(fā)ongsum=0;”。按照C語(yǔ)言的語(yǔ)法規(guī)則,語(yǔ)句都以分號(hào)結(jié)束,應(yīng)在do-while語(yǔ)句最后加上分號(hào)。因此,“while(m)”應(yīng)改為“while(m);”。
82.
程序設(shè)計(jì)題解析:
【考點(diǎn)分析】
本題考查:指針型變最定義;wh丑e循環(huán)語(yǔ)句;語(yǔ)句條件
表達(dá)式;字符串結(jié)束標(biāo)識(shí)‘\0’。
【解題思路】
函數(shù)fun的功能:除了字符串前導(dǎo)的*號(hào)之外,將串中其他+號(hào)全部刪除。
【解答本題】
(1)定義一個(gè)臨時(shí)指針P,初始指向原串首地址;(2)利用循環(huán)語(yǔ)句把字符串前導(dǎo)*號(hào)拷貝到原串;(3)繼續(xù)移動(dòng)指針,把串中和串尾的非*號(hào)字符拷貝到原串;(4)為修改后的字符串賦結(jié)束字符‘、O’。
【解題寶典】
要?jiǎng)h除字符串中的指定字符,我們通常采用保留非指定字符的方法??梢詫⒎侵付ㄗ址A粼谠磳⑿枰A舻淖址麖脑钠鹗嘉恢弥匦沦x值;也可以保留到新串,即新建一個(gè)字符串,存放要保留的字符。2021年廣東省惠州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.若已定義x和y是整型變量,x=2;,則表達(dá)式y(tǒng)=2.75+x/2的值是()。
A.5.5B.5C.3D.4.0
2.當(dāng)執(zhí)行下面的程序時(shí),如果輸入ABC,則輸出結(jié)果是()#include<stdio.h>#include<string.h>main(){charss[10]="12345";gets(ss);strcat(ss"6789");printf("%s\n",ss);}
A.ABC6789B.ABC67C.12345ABC6D.ABC456789
3.鏈表不具有的特點(diǎn)是A.A.不必事先估計(jì)存儲(chǔ)空間
B.可隨機(jī)訪問任一元素
C.插入和刪除不需要移動(dòng)元素
D.所需空間與線性表長(zhǎng)度成正比
4.在inta=3,int*p=&a;中,*p的值是()
A.變量a的地址值B.無(wú)意義C.變量p的地址值D.3
5.有以下程序:main(){char*p[10]={"abc","aabdfg","dcdbe","abbcf',"cd"};printf("%d\n",strlen(p[4]));}執(zhí)行后的輸出結(jié)果是______。
A.2B.3C.4D.5
6.若已知一個(gè)棧的進(jìn)棧序列是l,2,3…n,其輸出序列是P1,P2,P3,…PN,若P1=3,則P2為()。
A.可能是2B.一定是2C.可能是1D.一定是1
7.若串S1="ABCDEFG",S2="9898",S3="###",S4="012345",執(zhí)行其結(jié)果為()。A.ABC###G0123B.ABCD###2345C.ABC###G1234D.ABCD###1234
8.甲乙兩個(gè)聰明人上街,撿到一張10塊錢的購(gòu)物卡,兩人就想出一個(gè)辦法來(lái)分配這張卡。兩個(gè)分別將自己出的價(jià)格寫在紙上,然后看誰(shuí)出的價(jià)高就給誰(shuí),并且那個(gè)出價(jià)高的人要把出的錢給對(duì)方?,F(xiàn)在甲有6塊錢,乙有8塊錢,甲乙雙方都知道對(duì)方當(dāng)前有多少錢并且都希望自己收益高于對(duì)方。問最后誰(shuí)獲得的錢多()
A.甲多B.乙多C.一樣多D.有可能出現(xiàn)有人賠錢的情況
9.
10.已知一個(gè)大小為n的整型數(shù)組,現(xiàn)求該數(shù)組的全部連續(xù)子數(shù)組的元素之和的最大值,最優(yōu)算法的時(shí)間復(fù)雜度是()如:a[4]={2,-1,3,-4},它的全部連續(xù)子數(shù)組為{2,-1,3,-4,[2,-1],[-1,3],[3,-4],[2,-1,3],[-1,3,-4],[2,-1,3,-4]},它們的元素之和為{2,-1,3,-4,1,2,-1,4,-2,0},其中的最大值為4。
A.O(logN)B.O(N)C.O(N*logN)D.O(N^2)
11.以下選項(xiàng)中關(guān)于C語(yǔ)言算術(shù)表達(dá)式的敘述中錯(cuò)誤的是()。
A.可以通過(guò)使用圓括號(hào)來(lái)改變算術(shù)表達(dá)式中某些算術(shù)運(yùn)算符的計(jì)算優(yōu)先級(jí)
B.C語(yǔ)言采用的是人們熟悉的四則運(yùn)算規(guī)則,即先乘除后加減
C.算術(shù)表達(dá)式中,運(yùn)算符兩側(cè)類型不同時(shí),將進(jìn)行類型之間的轉(zhuǎn)換
D.C語(yǔ)言僅提供了“+”“-”“*”“/”這4個(gè)基本算術(shù)運(yùn)算符
12.有以下程序main(){intm=3,n=4,x;x=-m++;x=x+8/++n;printf(“%d\n”,x);}程序運(yùn)行后的輸出結(jié)果是______。A.3B.5C.-1D.-2
13.
14.
15.在位運(yùn)算中,操作數(shù)每左移兩位,其結(jié)果相當(dāng)于()。
A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)除以4D.操作數(shù)乘以4
16.有以下程序:#include#definePT3.5;#defineS(x)PT*x*x;Main(){inta=1,b=2;printf("%4.1f\n",S(a+b));程序運(yùn)行后的輸出結(jié)果是()。A.7.5B.31.5C.程序有錯(cuò)無(wú)輸出結(jié)果D.14.0
17.
18.下列選項(xiàng)中,不屬于數(shù)據(jù)管理員(DBA.職責(zé)的是()。
A.數(shù)據(jù)庫(kù)維護(hù)B.數(shù)據(jù)庫(kù)設(shè)計(jì)C.改善系統(tǒng)性能,提高系統(tǒng)效率D.數(shù)據(jù)類型轉(zhuǎn)換
19.
20.若有定義“intb[8],*p=b;”,則p+6表示()。
A.數(shù)組元素b[6]的值B.數(shù)組元素b[6]的地址C.數(shù)組元素b[7]的地址D.數(shù)組元素b[0]的值加上6
二、2.填空題(20題)21.若有定義語(yǔ)句chars[100],d[100];intj=0,i==0;且s中已賦字符串,請(qǐng)?zhí)羁找詫?shí)現(xiàn)拷貝。(注:不使用逗號(hào)表達(dá)式)
while(s[i]=【】;j++;}
d[j]=0;
22.數(shù)據(jù)模型按不同應(yīng)用層次分成三種類型,它們是概念數(shù)據(jù)模型、【】和物理數(shù)據(jù)模型。
23.算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和______復(fù)雜度。
24.以下函數(shù)的功能是計(jì)算s=1+1/21+1/3!+…+1/n!,請(qǐng)?zhí)羁铡?/p>
doublefun(intn)
{doubles=0.0,fac=1.0;
inti,k=1;
for(i=1;i<=n;i++)
{【】;
fac=fac/k;
s=s+fac;
}
}
25.設(shè)二進(jìn)制數(shù)A是00101101,若想通過(guò)異或運(yùn)算ab使A的高4位取反,低4位不變,則二進(jìn)制數(shù)B應(yīng)是【】。
26.已有定義:charc=′′;inta=1,b;(此處c的初值為空格字符),執(zhí)行b=!c&&a;后b的值為【】。
27.以下fun函數(shù)的功能是:累加數(shù)組元素中的值,n為數(shù)組中元素的個(gè)數(shù)。累加的和值放入x所指的存儲(chǔ)單元中。補(bǔ)足所缺語(yǔ)句。
fun(intb[],intn,int*x)
{intk,r=0;
for(k=0;k<n;k++)r=【】;
【】=r;
}
28.下面的程序可對(duì)指定字符串中的字符串進(jìn)行從大到小排序,請(qǐng)將程序完整。(注:程序采用了冒泡排序算法)
#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(【】);
}
29.若有以下定義,則不移動(dòng)指針p,且通過(guò)指針p引用值為98的數(shù)組元素的表達(dá)式是______。
intw[10]={23,54,10,33,47,98,72,80,61},*p=w;
30.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。
31.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
main()
{intfun();
fun();
}
fun()
{staticinta[4]={1,2,3,4};
inti;
for(i=0;i<4;i++)a[i]+=a[i];
for(i=0;i<4;i++)printf("%d,",a[i]);
printf"\n");
}
32.軟件危機(jī)出現(xiàn)于60年代末,為了解決軟件危機(jī),人們提出了【】的原理來(lái)設(shè)計(jì)軟件,這就是軟件工程誕生的基礎(chǔ)。
33.下列程序中的函數(shù)stropy2()實(shí)現(xiàn)字符串兩次復(fù)制,即將t所指字符串復(fù)制兩次到s所指內(nèi)存空間中,合并形成一個(gè)新字符串。例如,若t所指字符串為:efgh,調(diào)用strcpy2后,s所指字符串為:efghefgh。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
#include<string.h>
voidstrcpy2(char*s,char*t)
{char*p=t;
while(*s++=*t++);
s=【】;
while(【】=*p++);
}
main()
{charstr1[100]="abed",str2[]="efgh";
strcpy2(str1,str2);printf("%s\n",str1);
}
34.若a是int型變量,則表達(dá)式(a=2*3,a*2),a+6的值為______。
35.在數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)中,常用的描述工具是【】。
36.函數(shù)pi的功能是根據(jù)以下公式近似求得的:
pi*pi/6=1+1/(2*2)+1/(3*3)+…+1/(n*n)
請(qǐng)?jiān)谙旅娴暮瘮?shù)中填空,完成求pi的功能。
#include<math.h>
doublepi(longn)
{doubles=0.0,longi;
for(i=1;i<=n;i++)s=s+【】。
return(sqrt(6*s));
}
37.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
38.下面程序的功能是:將字符數(shù)組a中下標(biāo)值為偶數(shù)的元素從小到大排列,其他元素不變。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
#include<string.h>
main()
{chara[]="clanguage",t;
inti,j,k;
k=strlen(a);
for(i=0;i<=k-2;i+=2)
for(j=i+2;j<=k;j+=2;)
if(【】)
{t=a[i];a[i]=a[j];a[j]=t;}
puts(a);printf("\n");
}
39.以下程序的運(yùn)行結(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]);
}
40.以下程序的定義語(yǔ)句中,x[1]的初值是【】,程序運(yùn)行后輸出的內(nèi)容是【】。
#include<stdio.h>
main()
{intx[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,161},*p[4],i;
for(i=0;i<4;i++)
{p[i]=&x[2*i+1];
printf("%d",p[i][0]);
}
printf("\n");
}
三、1.選擇題(20題)41.有以下程序main(){inta[3][3],*p,i;p=&a[0][0];for(i=0;i<9;i++)p[i]=i;for(i=0;i<3;i++)printf("%d",a[1][i]);}程序運(yùn)行后的輸出結(jié)果是
A.12B.123C.234D.345
42.下列敘述中正確的是()。
A.數(shù)據(jù)庫(kù)設(shè)計(jì)是指設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)
B.數(shù)據(jù)庫(kù)設(shè)計(jì)是指設(shè)計(jì)數(shù)據(jù)庫(kù)管理系統(tǒng)
C.數(shù)據(jù)庫(kù)設(shè)計(jì)是指在已有數(shù)據(jù)庫(kù)管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫(kù)
D.以上三種說(shuō)法都不對(duì)
43.有以下程序:#include<stdio.h>main(){inta=6,b=7,m=1;switch(a%2){case0:m++;break;case1:m++;switch(b%2){defaut:m++;case0:m++;break;}}printf("%d\n",m);}
A.1B.2C.3D.4
44.以下程序的輸出結(jié)果是main(){intc=35;printf("%d\n",c&c);}
A.0B.70C.35D.1
45.以下4個(gè)選項(xiàng)中,不能看作一條語(yǔ)句的是
A.;B.a=5,b=2.5,c=3.6;C.if(a<5);D.if(b!=5)x=2;y=6;
46.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指()。
A.數(shù)據(jù)所占的存儲(chǔ)空間
B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的存放形式
C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式
D.存儲(chǔ)在計(jì)算機(jī)外存中的數(shù)據(jù)
47.在一棵二叉樹上第5層的結(jié)點(diǎn)數(shù)最多是______。
A.8B.16C.32D.15
48.下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是()。
A.順序存儲(chǔ)的有序線性表B.結(jié)性鏈表C.二叉鏈表D.有序線性鏈表
49.以下程序段的輸出為()staticchara[]="language",b[]="progratne";char*ptr1,*ptr2;intk;ptr1=a;ptr2=b;for(k=0;k<7;k++)if(*(ptr1+k)==*(ptr2+k))printf("%c",*(ptr1+k));
A.gaeB.gaC.languageD.有語(yǔ)法錯(cuò)誤
50.有以下程序:#include<stdio.h>intfun(chars[]){intn=0;while(*s<='9'&&*s>='0'){n=10*n+*s-'0';s++;}return(n);}main(){chars[10]={'6','1','*','4','*','9','*','0','*'};printf("%d\n",fun(s));}程序的運(yùn)行結(jié)果是()。
A.9B.61490C.61D.5
51.有以下程序main(){intk=4,n=0;for(;n<k;){n++;if(n%3!=0)continue;K--;}printf("%d,%d\n",k,n);}程序運(yùn)行后的輸出結(jié)果是
A.1,1B.2,2C.3,3D.4,4
52.下列對(duì)于軟件測(cè)試的描述中正確的是______。
A.軟件測(cè)試的目的是證明程序是否正確
B.軟件測(cè)試的目的是使程序運(yùn)行結(jié)果正確
C.軟件測(cè)試的目的是盡可能地多發(fā)現(xiàn)程序中的錯(cuò)誤
D.軟件測(cè)試的目的是使程序符合結(jié)構(gòu)化原則
53.在面向?qū)ο蠓椒ㄖ?,一個(gè)對(duì)象請(qǐng)求另一對(duì)象為其服務(wù)的方式是通過(guò)發(fā)送()。A.調(diào)用語(yǔ)句B.命令C.口令D.消息
54.設(shè)變量已正確定義,則下列能正確計(jì)算f=n!的程序段是()。
A.f=0;for(i=1;i<=n;i++)f*=i;
B.f=1;for(i=1;i<n;i++)f*=i;
C.f=1;for(i=n;i>1;i++)f*=i;
D.f=1;for(i=n;i>=2;i--)f*=i;
55.下列程序段的運(yùn)行結(jié)果是()。#include<stdio.h>voidmain(){charstr[]="ABC",*p=str;printf("%d\n",*(p+3));}
A.67B.0C.字符'C'的地址D.字符'C'
56.有以下程序fun(intx){intp;if(x==0‖x==1)return(3);p=x-fun(x-2);returnp;}main(){printf("%d\n",fun(7));}執(zhí)行后的輸出結(jié)果是
A.7B.3C.2D.0
57.在C語(yǔ)言中引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型只能是()。
A.整型常量B.整型表達(dá)式C.整型常量或整型表達(dá)式D.任何類型的表達(dá)式
58.若有語(yǔ)句:Char*line[5];,以下敘述中正確的是()。
A.定義line是一個(gè)數(shù)組,每個(gè)數(shù)組元素是一個(gè)基類型為Char的指針變量
B.定義line是一個(gè)指針變量,該變量可以指向一個(gè)長(zhǎng)度為5的字符型數(shù)組
C.定義line是一個(gè)指針數(shù)組,語(yǔ)句中的*號(hào)稱為間址運(yùn)算符
D.定義line是一個(gè)指向字符型函數(shù)的指針
59.以下數(shù)組定義中錯(cuò)誤的是A.intx[][3]={0};
B.intx[2][3]={{l,2},{3,4},{5,6}};
C.intx[][3]={{l,2,3},{4,5,6}};
D.intx[2][3]={l,2,3,4,5,6};
60.如果要限制一個(gè)變量,命名其只能為本文件所用,必須通過(guò)()來(lái)實(shí)現(xiàn)。
A.外部變量說(shuō)明B.靜態(tài)內(nèi)部變量C.靜態(tài)外部變量D.局部變量說(shuō)明
四、選擇題(20題)61.
則以下選項(xiàng)中錯(cuò)誤的表達(dá)式是()。
A.
B.
C.
D.
62.下列關(guān)于算法復(fù)雜度描述正確的是()。
A.算法的時(shí)間復(fù)雜度是指算法執(zhí)行的時(shí)間
B.算法的空間復(fù)雜度是指執(zhí)行這個(gè)算法所需的內(nèi)存空間
C.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定大
D.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小
63.數(shù)字字符0的ASCIl值為48,若有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.3,2B.50,2C.2,2D.2,50
64.
65.
66.下列詞語(yǔ)中,不屬于面向?qū)ο蠓椒ǖ氖?/p>
A.對(duì)象、消息B.繼承、多態(tài)C.類、封裝D.過(guò)程調(diào)用
67.
有下列程序:
main
{intk=5:
while(--k)printf("%d",k=1);
printf("\n");
}
執(zhí)行后的輸出結(jié)果是()。
A.1B.2C.4D.死循環(huán)
68.下列敘述中正確的是()。
A.軟件測(cè)試應(yīng)該由程序開發(fā)者來(lái)完成
B.程序經(jīng)調(diào)試后一般不需要測(cè)試
C.軟件維護(hù)只包括對(duì)程序代碼的維護(hù)
D.以上三種說(shuō)法都不對(duì)
69.
70.
下列程序的輸出結(jié)果是()。
#include<stdio.h>
main
{inta=0,i;
for(i=1;i<5;i++)
{switch(i)
{case0:
case3:a+=1;
case1;
case2:a+=2;
default:a+=3;
}
}
printf("%d",a);
}
A.19B.1C.6D.8
71.有以下程序:
程序的運(yùn)行結(jié)果是()。
A.0B.1C.2D.3
72.(12)下列敘述中正確的是______。
A.線性表是線性結(jié)構(gòu)
B.棧與隊(duì)列是非線性結(jié)構(gòu)
C.線性鏈表是非線性結(jié)構(gòu)
D.二叉樹是線性結(jié)構(gòu)
73.以下關(guān)于long、int和short類型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是(),
A.均占4個(gè)字節(jié)B.根據(jù)數(shù)據(jù)的大小來(lái)決定所占內(nèi)存的字節(jié)數(shù)C.由用戶自己定義D.由C語(yǔ)言編譯系統(tǒng)決定
74.
75.有以下程序:
程序運(yùn)行后的輸出結(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,
76.有以下程序:
main()
{intX,i;
for(i=1;i<=50;i++)
{x=i;
if(X%2=O)
if(x%3=O)
if(X%7=0)
printf("%d,i)";
}
}
輸出結(jié)果是()。
A.28
B.27
C.42
D.41
77.
78.
有以下程序:
main
{intk=5;
while(--k)printf("%d",k-=3);
printf("\n");
}
執(zhí)行后的輸出結(jié)果是()。
A.1B.2C.4D.死循環(huán)
79.
80.以下關(guān)于邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的敘述中正確的是()。
A.可以是任意合法的表達(dá)式B.只能是整數(shù)0或非0整數(shù)C.可以是結(jié)構(gòu)體類型的數(shù)據(jù)D.只能是整數(shù)O或l
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc的功能是計(jì)算正整數(shù)m各位上數(shù)字的平方和。 例如,輸入498,則輸出應(yīng)該是161。 請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。 注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。 試題程序: #include<stdlib.h> #include<stdio.h> #include<conio.h> longproc(10ngm) {//****found****longsum=1;do{sum+=(m%10)*(m%10);m/=l0;//****found****}while(m)return(sum); } voidmain {longn;system("CLS");printf("Pleaseenteranumber:");scanf("%1d",&n);printf("\n%ld\n",proc(n)); }
六、程序設(shè)計(jì)題(1題)82.規(guī)定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,其功能是:除了字符串前導(dǎo)的。號(hào)之外,將串中其他*號(hào)全部刪除。在編寫函數(shù)時(shí).不得使用C語(yǔ)言提供的字符串函數(shù).
參考答案
1.C
2.A
3.B鏈表是一種特殊的線性表,鏈表的存儲(chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)不同,它的存儲(chǔ)區(qū)域可以是任意的存儲(chǔ)單元,對(duì)存儲(chǔ)系統(tǒng)中零碎的存儲(chǔ)部分具有更好的應(yīng)用,在給其分配存儲(chǔ)單元時(shí),不必事先估計(jì)整個(gè)存儲(chǔ)單元的空間大??;由于鏈表的元素是通過(guò)指針域的指針相連的,用鏈表存儲(chǔ)數(shù)據(jù)時(shí),對(duì)其進(jìn)行插入和刪除操作時(shí),不需要移動(dòng)其他元素,只需改變其直接前驅(qū)指針域,使其指向該結(jié)點(diǎn),并將該結(jié)點(diǎn)的指針域修改為指向其直接后繼結(jié)點(diǎn)即可。當(dāng)然,不管是鏈表還是順序存儲(chǔ),所需空間與線性表長(zhǎng)度都成正比。在鏈?zhǔn)酱鎯?chǔ)的鏈表結(jié)構(gòu)中,由于后一結(jié)點(diǎn)數(shù)據(jù)被存儲(chǔ)在哪里,只有通過(guò)前一結(jié)點(diǎn)的指針域才知道,因此,訪問時(shí)只能是逐個(gè)訪問,而不能實(shí)現(xiàn)隨機(jī)訪問。
4.D
5.A解析:本題中p[4]='cd',所以strlen(p[4])=2。
6.A
7.D
8.C
9.A
10.B
11.DC語(yǔ)言的算術(shù)運(yùn)算符是有優(yōu)先級(jí)的。圓括號(hào)可以改變算術(shù)表達(dá)式中某些算術(shù)運(yùn)算符的優(yōu)先級(jí),選項(xiàng)A正確;算術(shù)運(yùn)算符中,乘除運(yùn)算符的優(yōu)先級(jí)比加減運(yùn)算符的優(yōu)先級(jí)高,C語(yǔ)言采用的是四則運(yùn)算規(guī)則,選項(xiàng)B正確;算術(shù)表達(dá)式中,運(yùn)算符兩側(cè)運(yùn)算對(duì)象的數(shù)據(jù)類型不同時(shí),將進(jìn)行隱式類型轉(zhuǎn)換,選項(xiàng)C正確;C語(yǔ)言中基本的算術(shù)運(yùn)算符除了“+”“-”“*”“/”之外,還有“%”,即求余運(yùn)算符,選項(xiàng)D錯(cuò)誤。故本題答案為D選項(xiàng)。
12.D本題考核的知識(shí)點(diǎn)是運(yùn)算符的優(yōu)先級(jí)。主函數(shù)中首先定義了整型變量m、n和x,并給m和n賦初值為3和4,接著執(zhí)行兩條賦值語(yǔ)句,第一條x=-
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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年溫州科技職業(yè)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 2024年浙江紡織服裝職業(yè)技術(shù)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 2024年泰山職業(yè)技術(shù)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 2024年河源職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(kù)(頻考版)含答案解析
- 2024年阜康市人民醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫(kù)頻考點(diǎn)附帶答案
- 2024年廣州體育職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(kù)(頻考版)含答案解析
- 2024年安徽綠海商務(wù)職業(yè)學(xué)院高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(kù)(頻考版)含答案解析
- 2024年唐山海運(yùn)職業(yè)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 二零二五年度車輛租賃續(xù)約合同:貨運(yùn)車輛租賃服務(wù)2篇
- 委托辦事協(xié)議書范本(2篇)
- JGT266-2011 泡沫混凝土標(biāo)準(zhǔn)規(guī)范
- 2023年人教版五年級(jí)上冊(cè)英語(yǔ)試卷
- 石碑施工方案
- 淺談如何提高小學(xué)生計(jì)算能力講座課件
- 配電網(wǎng)技術(shù)標(biāo)準(zhǔn)(施工驗(yàn)收分冊(cè))
- 生育服務(wù)證辦理承諾書
- IQC進(jìn)料檢驗(yàn)報(bào)表
- 《零基礎(chǔ)學(xué)前端(HTML+CSS+JS)課件》
- 紀(jì)檢監(jiān)察知識(shí)題庫(kù)―案例分析(20題)
- 機(jī)械通氣治療流程
- 建筑施工高處作業(yè)安全帶系掛點(diǎn)圖集(2023年)
評(píng)論
0/150
提交評(píng)論