版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021-2022年安徽省池州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.在黑盒測(cè)試方法中,設(shè)計(jì)測(cè)試用例的主要根據(jù)是A.程序外部功能B.程序內(nèi)部邏輯C.程序數(shù)據(jù)結(jié)構(gòu)D.程序流程圖
2.以下說(shuō)法錯(cuò)誤的是:()
A.全局變量就是在函數(shù)外定義的變量,因此又叫做外部變量
B.一個(gè)函數(shù)中既可以使用本函數(shù)中的局部變量,也可以使用全局變量
C.局部變量的定義和全局變量的定義的含義不同
D.如果在同一個(gè)源文件中,全局變量和局部變量同名,則在局部變量的作用范圍內(nèi),全局變量通常不起作用
3.有以下程序:
運(yùn)行時(shí),若輸入123450<;回車>;,則輸出結(jié)果是()。
A.66656B.6566456C.66666D.6666656
4.若有定義語(yǔ)句:“intyear=2009,*p=&year;”,以下不能使變量year中的值增至2010的語(yǔ)句是()。
A.*p+=1;B.(*p)++;C.++(*p);D.*++P
5.下列程序的輸出結(jié)果是()。#include<stdio.h>voidp(int*x){printf("%d¨,++*x);}voidmain(){inty=3;p(&y);}A.3B.4C.2D.5
6.設(shè)q1和q2是指向一個(gè)float型一維數(shù)組的指針變量,k為float型變量,則不能正確執(zhí)行的語(yǔ)句是()。
A.k=*q1+*q2;B.q1=k;C.q1=q2;D.k=*q1*(*q2);
7.
8.程序運(yùn)行后的輸出結(jié)果是()。A.3B.4C.5D.6
9.下面的哪個(gè)保留字不能作為函數(shù)的返回類型()。
A.voidB.intC.newD.long
10.在執(zhí)行()操作時(shí),需要使用隊(duì)列做輔助存儲(chǔ)空間。
A.查找哈希(Hash)表B.深度優(yōu)先搜索網(wǎng)C.前序(根)遍歷二叉樹D.廣度優(yōu)先搜索網(wǎng)
11.若a是數(shù)值類型,則邏輯表達(dá)式“(a==1)||(a!=1)”的值是()。
A.1B.0C.2D.不知道a的值,不能確定
12.下列關(guān)于宏的敘述中正確的是()。
A.宏替換沒(méi)有數(shù)據(jù)類型限制
B.宏定義必須位于源程序中所有語(yǔ)句之前
C.宏名必須用大寫字母表示
D.宏調(diào)用比函數(shù)調(diào)用耗費(fèi)時(shí)間
13.有以下程序:#include<stdio.h>intf(intx,inty){return((y-x)*x);}main(){inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf(“%d\n”,d);}程序的運(yùn)行結(jié)果是()。
A.7B.10C.8D.9
14.對(duì)初始狀態(tài)為遞增序列的數(shù)組按遞增順序排序,最省時(shí)間的是插入排序算法,最費(fèi)時(shí)間的算法是()
A.堆排序B.快速排序C.插入排序D.歸并排序
15.數(shù)組A中,每個(gè)元素的長(zhǎng)度為4個(gè)字節(jié),行下標(biāo)i從1到8,列下標(biāo)j從1到10,從首地址SA開始連續(xù)存放在存儲(chǔ)器內(nèi),該數(shù)組按行存放時(shí),元素A[8][5]的起始地址為()。
A.SA+292B.SA+296C.SA+300D.304
16.設(shè)有定義“intm=1,n=2;”,則以下if語(yǔ)句中,編譯時(shí)會(huì)產(chǎn)生錯(cuò)誤信息的是()。
A.if(m>n)m--elsen--;
B.if(m=n){m++;n++;}
C.if(m<0&&n<0){}
D.if(m>0);elsem++;
17.有以下程序:#include<stdio.h>intfun(intx[],intn){staticintsum=0,i;for(i=0;i<n;i++)sum+=x[i];returnsum;}main(){inta[]={1,2,3,4,5},b[]={6,7,8,9},s=0;s=fun(a,5)+fun(b,4);printf(“%d\n”,s);}程序的運(yùn)行結(jié)果是()。
A.55B.50C.45D.60
18.以下選項(xiàng)中能表示合法常量的是()。
A.1,200B.1.5E2.0C.‘\’D.“\007”
19.
20.若有定義intx=3,y=2和floata=2.5,b=3.5,則表達(dá)式:(x+y)%2+(int)a/(int)b的值是()。
A.0B.2C.1.5D.1
二、2.填空題(20題)21.函數(shù)mycmp(char*s,char*t)的功能是比較字符串s和t的大小,當(dāng)s等于t時(shí)返回0,當(dāng)s>t時(shí)返回正值,當(dāng)s<t時(shí)返回負(fù)值。請(qǐng)?zhí)羁铡?/p>
mycmp(char*s,char*t)
{while(*s==*t)
{if(*s=='\0')return0;
++s;++t;
}
return(【】);
}
22.以下程序段用以統(tǒng)計(jì)鏈表中元素的個(gè)數(shù)。其中first指向鏈表第一個(gè)結(jié)點(diǎn),count用來(lái)統(tǒng)計(jì)結(jié)點(diǎn)個(gè)數(shù)。請(qǐng)?zhí)羁铡?/p>
structlink
{chardata;
structlink*next;
}
structlink*p,*first;
|
intcount=0;
p=first;
while(【】)
{
【】;
p=【】;
}
23.下列程序的輸出結(jié)果是______。
#defineLEN5
inta[LEN],k;
main()
{fun1();
fun2();
}
fun1()
{for(k=0;k<LEN;k++)
a[k]=k;
}
fun2()
{intk;
for(k=0;k<LEN;k++)
printf("%d",*(a+k));
}
24.下面程序有兩個(gè)printf語(yǔ)句,如果第一個(gè)printf語(yǔ)句輸出的是194,則第二個(gè)printf語(yǔ)句的輸出結(jié)果是【】。
main()
{inta[10]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%x\n",p);
printf("%x\n,p+9);
}
25.數(shù)據(jù)庫(kù)系統(tǒng)的主要特點(diǎn)為數(shù)據(jù)集成性、數(shù)據(jù)的高_(dá)_____和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理和控制。
26.排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,常見(jiàn)的排序方法有插入排序、______和選擇排序。
27.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
#defineM5
#defineNM+M
main()
{intk;
k;N*N*5;printf("%d\n"k);
}
28.以下程序的輸出結(jié)果是【】。
main()
{inty=9;
for(;y>0;y--)
if(y%3==0)
{printf("%d",--y);continue;}}
29.在關(guān)系數(shù)據(jù)庫(kù)中把數(shù)據(jù)表示成二維表,每一個(gè)二維表稱為【】。
30.已知字符'A'的ASCII碼為65,以下程序運(yùn)行后的輸出結(jié)果是【】。
#include<stdio.h>
main()
{chara,b;
a='A'+'5'-'3';b=a+'6'-'2';
printf("%d%c\n",a,b);
}
31.以下函數(shù)的功能是求出能整除x且不是偶數(shù)的各整數(shù),并按從小到大的順序放在pp所指的數(shù)組中,這些除數(shù)的個(gè)數(shù)通過(guò)形參n返回。例如,若x中的值為30,則有4個(gè)數(shù)符合要求,它們是1,3,5,15。請(qǐng)按題意,完成填空。
試題程序:
#include<conio.h>
#include<stdio.h>
voidfun(intx,intpp[],int*n)
{inti,j=0;
for(i=1;i<x;i+=2)
if(x%i==0)pp[j++]=i;
【】;
}
main()
{intx,aa[1000],n,i;
clrscr();
printf("\nPleasenteranintegernumber:\n");scanf("%d",&x);
fun(x,aa,&n);
for(i=0;i<n;i++)
printf("%d",aa[i]);
printf("\n");
}
32.以下程序的輸出結(jié)果是【】。
#include<string.h>
main()
{printf("%d\n",strlen("IBM\n012\1\\"));}
33.軟件開發(fā)環(huán)境是全面支持軟件開發(fā)全過(guò)程的______的集合。
34.以下定義的結(jié)構(gòu)體類型擬包含兩個(gè)成員,其中成員變量info用來(lái)存入整形數(shù)據(jù);成員變量link是指向自身結(jié)構(gòu)體的指針,請(qǐng)將定義補(bǔ)充完整。
structnode
{intinfo;
【】link;};
35.下列程序執(zhí)行輸出的結(jié)果是______。
#include<stdio.h>
f(intA)
{intb=0;
staticc=7;
a=c++;b++;
return(A);
}
main()
{inta=2,i,k;
for(i=0;i<2;i++)
k=f(a++);
printf("%d\n",k);
}
36.在面向?qū)ο蠓椒ㄖ?,信息隱蔽是通過(guò)對(duì)象的______性來(lái)實(shí)現(xiàn)的。
37.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
longfunc(intx)
{longp;
if(x==O‖x==1)
return(1);
p=x*func(x-1);
return(p);
}
main()
{printf("%d\n",func(4));
}
38.在面向?qū)ο蠓椒ㄖ?,?duì)象之間進(jìn)行通信的構(gòu)造稱為()。
39.以下程序運(yùn)行后的輸出結(jié)果是()。
intf(inta[],intn)
{if(n>=1)returnf(a,n-1)+a[n-1];
elsereturn0;
}
main()
{intaa[5]={1,2,3,4,5),s;
s=f(aa,5);printf("%d\n",s);
}
40.下面的程序?qū)崿F(xiàn)的是從指針p所指向的地址的n個(gè)數(shù)中,找出最大的和最小的數(shù)據(jù),請(qǐng)?zhí)羁铡?/p>
fun(int*p,intn)
{int*q;
intmax,min;
max=min=*p;
for(q=p;【】;q++)
if(*q>max)max=*q;
elseif(*q<min)min=*q;}
三、1.選擇題(20題)41.表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型為()。A.intB.floatC.doubleD.不確定
42.以下程序的輸出結(jié)果是______。main(){inti,a[10];for(i=9;i>=0;i--)a[i]=1O-i;printf("%d%d%d",a[2],a[5],a[8]);}
A.258B.741C.852D.369
43.有以下程序:#include<stdio.h>main(){charc[6];inti=0;for(j<6;c[i]=getchar(),i++);for(i=0,i<6;i++)putchar(c[i]);printf("\n");}如果從鍵盤上輸入:ab<回車>c<回車>def<回車>則輸出結(jié)果為______。
A.abcdefB.abcdC.abcdD.abcdef
44.若某二叉樹的前序遍歷訪問(wèn)順序是abdgcefh,中序遍歷訪問(wèn)順序是dgbaechf,則其后序遍歷的結(jié)點(diǎn)訪問(wèn)順序是()。
A.bdgcefhaB.gdbecfhaC.bdgaechfD.gdbehfca
45.有以下程序段:structst{intx;int*y;}*pt;inta[]={1,2},b[]={3,4};structstc[2]={10,a,20,b};pt=c;以下選項(xiàng)中表達(dá)式的值為11的是()。
A.*pt->yB.pt->xC.++pt->xD.(pt++)->x
46.現(xiàn)有定義inta;doubleb;floatc;chark;,則表達(dá)式a/b+c-k值的類型為:
A.intB.doubleC.floatD.char
47.某一微機(jī)的地址總線為20位,其可訪問(wèn)的最大空間地址為()
A.220
B.219
C.2(20+1)
D.2(20-1)
48.若整型變量a、b、c、d中的值依次為1、4、3、2。則條件表達(dá)式a<b?a:c<d?c:d的值是______。A.1B.2C.3D.4
49.有下列程序:
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
50.執(zhí)行下列語(yǔ)句后,a和b的值分別為______。inta,b;a=1+b=2+7%-4-'A';
A.-63,-64B.-59,-60C.1,-60D.79,78
51.設(shè)有:inta=1,b=2,c=3,d=4,m=2,n=2;執(zhí)行(m=a>b)&&(n=c>d)后n的值是
A.1B.2C.3D.4
52.以下程序段中,不能正確賦字符串(編譯時(shí)系統(tǒng)會(huì)提示錯(cuò)誤)的是()。
A.chars[10]="abcdefg";
B.chart[]="abcdefg",*s=t;
C.chars[10];s="abcdefg";
D.chars[10];strcpy(s,"abcdefg");
53.下列關(guān)于線性鏈表的描述中正確的是()。
A.存儲(chǔ)空間不一定連續(xù),且各元素的存儲(chǔ)順序是任意的
B.存儲(chǔ)空間不一定連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面
C.存儲(chǔ)空間必須連續(xù),且各前件元素一定存儲(chǔ)在后件元素的前面
D.存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的
54.以下程序的輸出結(jié)果是______。#defineM(x,y,z)x*y+zmain(){inta=1,b=2,c=3;printf("%d\n",M(a+b,b+c,c+a));}
A.19B.17C.15D.12
55.能正確表示“當(dāng)x的取值在[1,10]和[100,110]范圍內(nèi)為真,否則為假”的表達(dá)式是()。
A.(x>=1)&&(x<=10)&&(x>=100)&&(x<=110)
B.(x>=1)||(X<=10)||(X>=100)||(x<=110)
C.(x>=1)&&(X<=10)||(x>=100)&&(x<=110)
D.(x>=1)||(x<=10)&&(x>=100)||(x<=110)
56.以下能正確定義一維數(shù)組的選項(xiàng)是A.intnum[];
B.#defineN100intnum[N];
C.intnum[0..100];
D.intN=100;intnum[N];
57.有以下程序段charch;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII碼值為97,則執(zhí)行上述程序段后輸出結(jié)果是
A.因變量類型與格式描述符的類型不匹配輸出無(wú)定值
B.輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值
C.a,97,12k=12
D.a,97,k=12
58.執(zhí)行以下程序段后,w的值為()。intw='A',x=14,y=15;w=((x||y)&&(w<'a'));
A.-1B.NULLC.1D.0
59.以下選項(xiàng)中不合法的用戶標(biāo)識(shí)符是()
A.123B.printfC.a$D.Dim
60.若在fopen函數(shù)中使用文件的方式是"wb+",該方式的含義是()
A.為讀/寫打開一個(gè)文本文件
B.為輸出打開一個(gè)文本文件
C.為讀/寫建立一個(gè)新的文本文件
D.為讀/寫建立一個(gè)新的二進(jìn)制文件
四、選擇題(20題)61.
以下程序的輸出結(jié)果是()。
voidfun(int*a,inti,inti)
{intt;
if(i<i)
{t=a[i[;a[i]=a[j];a[j]一t;
i++;j--;fun(a,i,j);
}
}
main
{intK[]={2,6,1,8},i;
fun(x,0,3);
for(i=0;i<1;i++)printf("%2d",x[i]);
printf("\n");
}
A.1,2,6,8B.8,6,2,1C.8,1,6,2D.8,6,1,2
62.執(zhí)行語(yǔ)句“for(i=1;i++<;4;);”后,變量i的值是()。
A.3B.4C.5D.不定
63.
64.有以下程序:
#include<stdio.h>
main()
{inta[]={10,20,30,40},*p=a,j;
for(i=0;i<=3;i++){a[i]=*P;p++;}
printf("oAd\n",a[2]);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.30
B.40
C.10
D.20
65.面向?qū)ο蠓椒ㄖ?,繼承是指()。
A.一組對(duì)象所具有的相似性質(zhì)B.一個(gè)對(duì)象具有另一個(gè)對(duì)象的性質(zhì)C.各對(duì)象之間的共同性質(zhì)D.類之間共享屬性和操作的機(jī)制
66.(2)以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是()
A.隊(duì)列
B.線性表
C.二叉樹
D.棧
67.
68.
若有運(yùn)算符:>、一、<<、%、sizeof,則它們按優(yōu)先級(jí)(由高至低)的正確排列順序?yàn)?)。
A.%、sizeof、>、<<、=
B.sizeof、%、>、=、<<
C.sizeof、<<、>、%、=
D.sizeof、%、<<、>、=
69.以下不構(gòu)成無(wú)限循環(huán)的語(yǔ)句或語(yǔ)句組是()。
70.設(shè)fun函數(shù)的定義形式為voidfun(charch,floatx){…}則下列對(duì)函數(shù)fun的調(diào)用語(yǔ)句中,正確的是()。
A.fun("abc",3.0);
B.t=fun(D.16.5);
C.fun(65,2.8);
D.fun(32,32);
71.有以下程序:main(){chars[]="\n123\\";printf("%d,%d\n",strlen(s),sizeof(s));}執(zhí)行后輸出結(jié)果是()。
A.賦初值的字符串有錯(cuò)B.6,7C.5,6D.6,6
72.若fp是指向某文件的指針,且尚未讀到文件末尾,則函數(shù)feof(fp)的返回值是()。
A.EOFB.-lC.非零值D.0
73.數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS中用來(lái)定義模式、內(nèi)模式和外模式的語(yǔ)言為()。
A.CB.BasicC.DDLD.DML
74.
75.C語(yǔ)言中以只讀方式打開一個(gè)文件應(yīng)選擇_______________參數(shù)。
A.“r”B.“w”C.“rb”D.“a”
76.在一個(gè)C語(yǔ)言源程序文件中所定義的全局變量,其作用域?yàn)?)。
A.所在文件的全部范圍B.所在程序的全部范圍C.所在函數(shù)的全部范圍D.由具體定義位置和extern說(shuō)明來(lái)決定范圍
77.
78.有如下程序段
voidfun(int*a,int*b)
{int*k;
k=a;a=b;b=k;
}
main()
{inta=3,b=6,*x=&a,*y=&b;
fun(x,y);
printf("%d%d",a,b);
}
程序運(yùn)行后輸出的結(jié)果是A.A.63
B.36
C.編譯出錯(cuò)
D.00
79.兩個(gè)或兩個(gè)以上模塊之間聯(lián)系的緊密程度稱為()。
A.耦合性B.內(nèi)聚性C.復(fù)雜性D.數(shù)據(jù)傳輸特性
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:求S的值。
例如,當(dāng)n為100時(shí),函數(shù)的值應(yīng)為1.566893。
請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.實(shí)現(xiàn)字符串拷貝的函數(shù)strcpy為()。
參考答案
1.A【答案】:A
【知識(shí)點(diǎn)】:黑盒測(cè)試
【解析】:黑盒測(cè)試也稱功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試,它完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特征,只著眼于程序的外部結(jié)構(gòu),主要用來(lái)檢查程序功能是否按照需求規(guī)格說(shuō)明書的規(guī)定正常使用。故選A。
2.A
3.Bswitch語(yǔ)句的執(zhí)行流程是:首先計(jì)算switch后面圓括號(hào)中表達(dá)式的值,然后用此值依次與各個(gè)case的常量表達(dá)式比較,若圓括號(hào)中表達(dá)式的值與某個(gè)e·*后面的常量表達(dá)式的值相等,就執(zhí)行此ca*后面的語(yǔ)句,執(zhí)行后遇break語(yǔ)句就退出switch語(yǔ)句;若圓括號(hào)中表達(dá)式的值與所有ca$e后面的常量表達(dá)式都不等,則執(zhí)行default后面前語(yǔ)句。然后退出。所以輸入l時(shí)打印65,輸入2時(shí)打印6,輸入3時(shí)打印64,輸入4時(shí)打印5,輸入5時(shí)打印6。
4.D
5.B本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。在函數(shù)調(diào)用時(shí),形參是指向?qū)崊⒌闹羔樧兞?,則printf的執(zhí)行結(jié)果為++x;x=3,則3+1=4。
6.B解析:選項(xiàng)A)是將指針q1和q2所指向的變量值相加,然后賦給k;選項(xiàng)B)中,float型數(shù)據(jù)和指針型數(shù)據(jù)之間不能進(jìn)行賦值運(yùn)算:選項(xiàng)C)中,是兩個(gè)指針變量之間的賦值:選項(xiàng)D)中,是兩個(gè)指針型變量所指向的兩個(gè)float型數(shù)據(jù)相乘。
7.A
8.B[解析]&按位與,如果兩個(gè)相應(yīng)的二進(jìn)制位都為1.則該位的結(jié)果值為1.否則為0.按位或兩個(gè)相應(yīng)的二進(jìn)制位中只要有一個(gè)為1.該位的結(jié)果值為1.2的二進(jìn)制為0000010.4的二進(jìn)制為000000所以做或運(yùn)算結(jié)果為0000110.該數(shù)與5即00000101做與操作結(jié)果為0000100.即4.
9.C
10.D
11.A邏輯或“||”要求兩邊的運(yùn)算對(duì)象有一個(gè)非零值,結(jié)果就為真。變量a的值不確定,但是若a為1,則左邊運(yùn)算對(duì)象的值為1;若a不為1,則右邊運(yùn)算對(duì)象的值為1,所以總能保證一邊為非零值。故本題答案為A選項(xiàng)。
12.A宏定義寫在函數(shù)的花括號(hào)外,作用域?yàn)槠浜蟮某绦?,通常在文件的最開頭,所以B選項(xiàng)錯(cuò)|誤。宏名一般用大寫字母,但不是必須用大寫字母,所以C選項(xiàng)錯(cuò)誤。宏展開不占運(yùn)行時(shí)間,只占編譯時(shí)間,函數(shù)調(diào)用占運(yùn)行時(shí)間(分配內(nèi)存、保留現(xiàn)場(chǎng)、值傳遞、返回值),所以D選項(xiàng)錯(cuò)誤。故本題答案為A選項(xiàng)。
13.D在main函數(shù)中,調(diào)用f(a,b)函數(shù)返回3,調(diào)用f(a,c)函數(shù)返回6,所以外層調(diào)用f(f(a,b),f(a,c)),即調(diào)用f(3,6)函數(shù)返回9。故本題答案為D選項(xiàng)。
14.B
15.B
16.A選項(xiàng)A中,if語(yǔ)句的語(yǔ)句塊“m--”后面少了分號(hào),不合法,編譯會(huì)出錯(cuò)。其他選項(xiàng)都是正確的。故本題答案為A選項(xiàng)。
17.D靜態(tài)變量是始終存在的,當(dāng)函數(shù)變量退出后,靜態(tài)變量會(huì)保存數(shù)據(jù),再次調(diào)用該函數(shù)時(shí),以前的靜態(tài)變量值仍然保留著。fun(a,5)的值是15,再次調(diào)用后sum=15,所以fun(b,4)=45,s=45+15=60。故本題答案為D選項(xiàng)。
18.DA選項(xiàng)中整型常量應(yīng)表示為1200,數(shù)字中不能包含逗號(hào)。B選項(xiàng)中E后面的指數(shù)必須為整數(shù)。C選項(xiàng)中轉(zhuǎn)義字符以“\\”開始,若要表示字符“\\”,應(yīng)寫為“\\\\”。故本題答案為D選項(xiàng)。
19.A
20.D
21.*s-*t*s-*t解析:本題考查比較字符串的大小。函數(shù)的兩個(gè)形參是兩個(gè)字符指針變量,指針變量的值是字符串的首地址,*s和*t表示s和t指向的第一個(gè)字符,在while循環(huán)中,通過(guò)s和t指針的移動(dòng),不斷改變所指字符,通過(guò)返回s和t的第一個(gè)不同字符的ASCII碼的差值*s-*t得到結(jié)果。
22.p!=NULLcount++(*p).next
23.01234。01234。解析:函數(shù)fun1給數(shù)組a的每個(gè)元素賦值,fun2則輸出結(jié)果。
24.1a61a6解析:對(duì)于指針變量的運(yùn)算,就是對(duì)地址的運(yùn)算。本題中由于指針指向的是整型變量,所以,使指針變量移動(dòng)9個(gè)位置也就是移動(dòng)18個(gè)字節(jié)。注意,本題是以十六進(jìn)制輸出的。
25.共享性共享性解析:數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)能被不同的應(yīng)用程序使用,實(shí)現(xiàn)了數(shù)據(jù)的高度共享,從而降低了數(shù)據(jù)的冗余,這也是數(shù)據(jù)庫(kù)的主要目的。
26.交換排序交換排序解析:所謂排序是指將一個(gè)無(wú)序序列整理成按值非遞減順序排列成的有序序列,常用的排序方法有:交換排序、插入排序和選擇排序。其中交換排序包括冒泡排序和快速排序,插入排序包括簡(jiǎn)單插入排序和希爾排序,選擇排序包括直接選擇排序和堆排序。
27.5555解析:宏替換不是函數(shù)調(diào)用,所以不能因?yàn)镸被定義為5,而N被定義為M+M而武斷地認(rèn)為N的值就是5+5=10。宏替換就是簡(jiǎn)單的字符串替換,以本題為例:因?yàn)镹被定義為M+M,所以k=N*N*5;語(yǔ)句展開后為k=M+M*M+M*5;。又因?yàn)镸被定義為5,所以再展開后為k=5+5*5+5*5;?,F(xiàn)在不難計(jì)算出,這個(gè)表達(dá)式的結(jié)果為k=55。故最終輸出結(jié)果是55。
28.852852解析:循環(huán)前,變量y的值為9,其中,循環(huán)語(yǔ)句在y大于0情況下循環(huán),每次循環(huán)后y的值都減1。循環(huán)體是當(dāng)y能被3整除時(shí)輸出表達(dá)式--y,輸出的是減1后的y值。這樣,第一次循環(huán)因y為9,能被3整除,輸出8,y也變成8。又經(jīng)兩次循環(huán),y的值變?yōu)?,又讓y減1變成5,并輸出5;又經(jīng)兩次循環(huán),y的值變成3,讓y減1變成2,輸出2;再經(jīng)兩次循環(huán)后,y的值變成0,結(jié)束循環(huán),所以程序輸出852。
29.關(guān)系或一個(gè)關(guān)系關(guān)系或一個(gè)關(guān)系解析:在關(guān)系數(shù)據(jù)庫(kù)中,把數(shù)據(jù)表示成二維表,而一個(gè)二維表就是一個(gè)關(guān)系。
30.67G67G解析:由于\'5\'-\'3\'=2,所以a=\'A\'+\'5\'-\'3\'=\'C\',按'%d'格式輸出\'C\'的ASCII碼為67;同理,\'6\'-\'2\'=4,b=a+\'6\'-\'2\'=\'C\'+4=\'G\',按'%c'格式輸出為\'G\'。
31.*n=j*n=j解析:本題題干信息是能整除x且不是偶數(shù)的所有整數(shù)之和。循環(huán)語(yǔ)句中i從1開始且每次增2,所以i始終是奇數(shù),*n=j;語(yǔ)句是記錄能夠符合題意的各個(gè)整數(shù)的各數(shù)。
32.99解析:本題的字符串中共有9個(gè)字符,它們分別是\'I\'、\'B\'、\'M\'、\'\\n\'、\'0\'、\'1\'、\'2\'、\'\\1\'、\'\\\\\',其中,'\\n'表示換行,'\\\\'表示反斜杠字符'\\',所以本題的最后輸出結(jié)果為9。
33.軟件工具軟件工具解析:軟件開發(fā)環(huán)境是各類軟件開發(fā)工具的集合體。
34.structnode*structnode*解析:本題中的結(jié)構(gòu)類型名為structnode,所以空白處應(yīng)填:structnode*。即定義一個(gè)指向自身的結(jié)構(gòu)體指針。
35.88解析:第1次for循環(huán),i=0,調(diào)用函數(shù)f(2),然后將a的值加1,在f()函數(shù)中,變量c為static類型,所以c=8:第2次for循環(huán),i=1,調(diào)用函數(shù)f(3),然后將a的值加1,調(diào)用函數(shù)f(3)時(shí),a=c++=8,所以k=8。
36.封裝封裝
37.本題考查函數(shù)的循環(huán)調(diào)用。p=x*func(x-1),當(dāng)x=4時(shí),不滿足if語(yǔ)句的條件,p=4*func(3),x=3也不滿足條件,則func(3)=3*func(2),func(2)=2*func(1),x=1滿足條件return(1),則輸出結(jié)果為4*3*2*1=24。\r\n\r\n
38.消息消息解析:對(duì)象之間進(jìn)行通信的構(gòu)造叫做消息,它請(qǐng)求對(duì)象執(zhí)行某一處理或回答某一要求的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。
39.1515解析:通過(guò)遞歸調(diào)用f函數(shù)實(shí)現(xiàn)了數(shù)組各元素之和,即a[4]+a[2]+a[1]+a[0]=15。
40.q<p+nq<p+n解析:考查對(duì)于函數(shù)的地址傳遞的掌握情況。通過(guò)地址傳遞可以在被調(diào)函數(shù)中對(duì)調(diào)用函數(shù)中的變量進(jìn)行引用。
41.C因?yàn)閏語(yǔ)言數(shù)據(jù)進(jìn)行計(jì)算時(shí)數(shù)據(jù)類型會(huì)由低級(jí)向高級(jí)進(jìn)行隱式轉(zhuǎn)化,sqrt函數(shù)得到的是double類型,比其他的int數(shù)據(jù)類型高,所以整個(gè)結(jié)果得到的是double類型。
42.C解析:在本題運(yùn)行時(shí)主要注意的是當(dāng)i=9時(shí),a[i]=l0-9=1;a[i]=8時(shí),a[i]=10-8=2;i=7時(shí),a[i]=10-7=3;……依此類推,直到i=O時(shí),a[i]=10-0=10;此時(shí),i的值已變?yōu)?1,判斷for的循環(huán)條件,不成立,然后輸出a[2],a[5],a[8]分別為8,5,2。
43.C解析:getchar():此函數(shù)的作用是從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入—個(gè)字符。2.putchar()此函數(shù)的作用是向終端輸出—個(gè)字符,也可以輸出控制字符。本題在輸入字符時(shí),ab和c后面的回車符分別賦給了c[2]和c[4],所以,正確答案為C。
44.D解析:中序遍歷的遞歸算法定義:①遍歷左子樹;②訪問(wèn)根結(jié)點(diǎn);③遍歷右子樹。前序遍歷的遞歸算法定義:①訪問(wèn)根結(jié)點(diǎn);②遍歷左子樹;③遍歷右子樹。后序遍歷的遞歸算法定義:①遍歷左子樹;②遍歷右子樹;③訪問(wèn)根結(jié)點(diǎn)。根據(jù)前序遍歷的結(jié)果可知,a是根結(jié)點(diǎn)。由中序遍歷的結(jié)果dgbaechf可知,d、g、b是左子樹的結(jié)點(diǎn),e、c、h、f是右子樹的結(jié)點(diǎn)。再由前序遍歷的結(jié)果bdg可知,b是a左邊子樹的根,由cefh可知,c是a右邊子樹的根。再由中序遍歷的結(jié)果dgb可知,d、g是b左邊子樹的結(jié)點(diǎn),b右邊子樹無(wú)結(jié)點(diǎn)。再由前序遍歷結(jié)果dg可知,d為b左子樹的根,g是以d為根的子樹的右結(jié)點(diǎn)。至此,a的左子樹已完全弄清楚了。同樣的道理,可以弄清楚以c為根的子樹的結(jié)點(diǎn)位置。所以可知后序遍歷的結(jié)果是D。
45.C解析:要計(jì)算一個(gè)復(fù)雜的表達(dá)式時(shí),首先要弄明白表達(dá)式中所有運(yùn)算符的優(yōu)先級(jí)與結(jié)合性,本題中所涉及的運(yùn)算符中,->的優(yōu)先級(jí)最高,*和++的優(yōu)先級(jí)相同,但其結(jié)合性為從右至左。所以選項(xiàng)A等價(jià)于*pt->y)也就是pt所指向的結(jié)構(gòu)體的成員指針變量y所指向的內(nèi)容。從前面的程序段不難看出,pt指向結(jié)構(gòu)體數(shù)組c的首地址,也就是指向它的第1個(gè)元素,在它的第1個(gè)元素中,指針變量y又被初始化為指向控型數(shù)組a的首地址,即指向數(shù)組a的第1個(gè)元素。故選項(xiàng)A中的表達(dá)式的值為a[0],也就是1。選項(xiàng)B中表達(dá)式的值就是c[0].x,即10。根據(jù)優(yōu)先級(jí)和結(jié)合性,選項(xiàng)C中的表達(dá)式等價(jià)于++(pt->x),由于是前綴++,所以整個(gè)表達(dá)式的值為pt->x的值加1,故為11。而選項(xiàng)D中,++是后綴形式,所以(pt++)的值還是pt的原值,即等于pt->x的值10。故應(yīng)該選擇C。
46.B解析:雙目運(yùn)算中兩邊運(yùn)算量類型轉(zhuǎn)換規(guī)律:
運(yùn)算數(shù)1運(yùn)算數(shù)2轉(zhuǎn)換結(jié)果類型
短整型長(zhǎng)整型短整型->長(zhǎng)整型
整型長(zhǎng)整型整型->長(zhǎng)整型
字符型整型字符型->整型
有符號(hào)整型無(wú)符號(hào)整型有符號(hào)整型->無(wú)符號(hào)整型
整型浮點(diǎn)型整型->浮點(diǎn)型
在a/b的時(shí)候,a、b的類型不一致,根據(jù)類型轉(zhuǎn)換規(guī)則,把整型轉(zhuǎn)換成double類型,之后的加、減類似。轉(zhuǎn)化規(guī)則為char,short->int->unsigned->long->double←float。
47.A
48.A解析:條件表達(dá)式的形式如下:表達(dá)式1?表達(dá)式2:表達(dá)式3,所以本題條件表達(dá)式a<b?a:c<d?c:d應(yīng)該理解為a<b?a:(c<d?c:d),首先求出條件表達(dá)式c<d?c:d的值等于2,再求條件表達(dá)式a<b?a:2的值,由于a-1<b-4成立,所以上述條件表達(dá)式的值等于1。
49.C解析:因?yàn)樵诤瘮?shù)fun(intx)中,如果參數(shù)x等于0或1時(shí),返回值3。否則p=x-fun(x-2)這是一個(gè)遞歸函數(shù),所以在主函數(shù)調(diào)用fun(7)時(shí),其過(guò)程為:“fun(7)=7-fun(5)=7-(5-fun(3))=7-(5-(3-fun(1))=7-(5-(3-3))=7-5=2”,所以最后的輸出結(jié)果為2。
50.B
51.B解析:本題考查邏輯與運(yùn)算的運(yùn)算規(guī)則。其規(guī)則是:當(dāng)運(yùn)算符前后兩個(gè)條件表達(dá)式都滿足時(shí),其最終結(jié)果才為真。當(dāng)發(fā)現(xiàn)第一個(gè)表達(dá)式的值為假后,計(jì)算機(jī)將不再執(zhí)行后面表達(dá)式的運(yùn)算。
本題中,由于前一個(gè)表達(dá)式的值為“假”,所以,后面的表達(dá)式不再進(jìn)行運(yùn)算,因而n的值保持不變,仍為2。
52.C解析:選項(xiàng)A中定義了一個(gè)字符型數(shù)組并賦初值,故選項(xiàng)A正確;選項(xiàng)B定義了一個(gè)字符型數(shù)組t并初始化,然后定義了一個(gè)指針變量s并讓它指向t,故選項(xiàng)B正確;選項(xiàng)C先定義?一個(gè)長(zhǎng)度為10的字符型數(shù)組,然后在給它賦值,這時(shí)應(yīng)該分別給數(shù)組中的每個(gè)元素賦值,故選項(xiàng)C不正確;選項(xiàng)D中先定義了一個(gè)長(zhǎng)度為10的字符型數(shù)組s,然后通過(guò)字符串拷貝函數(shù)將字符串“abedefs”賦值給它,選項(xiàng)D正確。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
53.A解析:線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的結(jié)點(diǎn)空間是動(dòng)態(tài)生成的,它們?cè)趦?nèi)存中的地址可能是連續(xù)的,也可能是不連續(xù)的。
54.D解析:C語(yǔ)言的宏定義包括不帶參數(shù)的宏定義與帶參數(shù)的宏定義。本題為帶參數(shù)的宏定義,其形式為:
#define宏名(形參表)字符串
本題的M(a+b,b+c,c+a)被字符串a(chǎn)+b*b+c+c+a代替。
55.C解析:本題考查邏輯與(&&)和邏輯或(||)運(yùn)算符的使用。x>=1和x<=1O是邏輯與的關(guān)系,因此C語(yǔ)言表達(dá)式應(yīng)寫成“(x>=1)&&(x<=10)”,x>=100和x<=11O也是邏輯與的關(guān)系,因此C語(yǔ)言表達(dá)式應(yīng)寫成“(x>=100)&&(x<=110)”;[1,10]和[100,110]是邏輯或的關(guān)系,因此只要將前兩個(gè)表達(dá)式用邏輯或運(yùn)算符連接起來(lái)即可,所以最后的表達(dá)式;(x>=1)&&(x<=10)||(x>=100)&&(x<=110)。
56.B解析:選項(xiàng)A定義數(shù)組時(shí)省略了長(zhǎng)度,而C語(yǔ)言中規(guī)定,只有在定義并同時(shí)進(jìn)行初始化時(shí),數(shù)組的長(zhǎng)度才可以省略,數(shù)組的長(zhǎng)度為初始化時(shí)候的成員個(gè)數(shù),故選項(xiàng)A錯(cuò)誤;在C語(yǔ)言中規(guī)定,數(shù)組的長(zhǎng)度必須是一個(gè)整數(shù)或整型常量表達(dá)式,故選項(xiàng)C不正確:定義時(shí)數(shù)組的長(zhǎng)度不能使用變量表示,故選項(xiàng)D不正確,所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。
57.D解析:輸出格式控制符%c表示將變量以字符的形式輸出;輸出格式控制符%d表示將變量以帶符號(hào)的十進(jìn)制整型數(shù)輸出,所以第一個(gè)輸出語(yǔ)句輸出的結(jié)果為a,97;第二個(gè)輸出語(yǔ)句輸出的結(jié)果為k=12。
58.C解析:字符變量w的初值為字符'A',其ASCII碼值為65,字符'a'的ASCII碼值為97,所以關(guān)系表達(dá)式w<'a'的值為1;變量x=14,變量y=15,x||y為或,x、y均為真,所以x||y的結(jié)果1。因而邏輯表達(dá)式(x||y)&&(w<'a')的值為1。
59.C
60.D
61.C
\n本題用了函數(shù)調(diào)用,fun中if語(yǔ)句成立則進(jìn)行i,j的交換,用到主函勢(shì)中則為把下標(biāo)為0、3,1、2互換,因此,當(dāng)執(zhí)行完后X的數(shù)組為8,1,6,2,故選擇C選項(xiàng)。
\n
62.Cfor循環(huán)結(jié)束時(shí),i++的值應(yīng)為4,i自加后此時(shí)應(yīng)為5,故選擇C選項(xiàng)。
63.B
64.A\nFor循環(huán)結(jié)束后,數(shù)組a的值并沒(méi)有變化,由于數(shù)組是由0開始,所以a[2]的值是30。
\n
65.D繼承是面向?qū)ο蟮姆椒ǖ囊粋€(gè)主要特征,是使用已有的類的定義作為基礎(chǔ)建立新類的定義技術(shù)。廣義的說(shuō),繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義它們,所以說(shuō)繼承是指類之間共享屬性和操作的機(jī)制。
66.C所謂的線性結(jié)構(gòu)是指:如果一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個(gè)條件,即1)有且只有一個(gè)根結(jié)點(diǎn);2)每一個(gè)結(jié)點(diǎn)最多有一個(gè)前驅(qū),也最多有一個(gè)后繼。同時(shí)滿足兩個(gè)條件的有隊(duì)列、線性表和棧,而二叉樹的結(jié)點(diǎn)可能存在兩個(gè)后繼,所以不是線性結(jié)構(gòu)。
67.A
68.D
\n主要考查運(yùn)算符的優(yōu)先級(jí)。sizeof的優(yōu)先級(jí)最高,其次是%<<>
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 室務(wù)室衛(wèi)生管理制度
- 濮陽(yáng)理發(fā)店衛(wèi)生制度
- 衛(wèi)生院消毒物品管理制度
- 衛(wèi)生院消防巡查管理制度
- 衛(wèi)生院處方管理制度
- 衛(wèi)生院健康驛站管理制度
- 衛(wèi)生院消防安全工作制度
- 旅店布草間衛(wèi)生管理制度
- 衛(wèi)生院醫(yī)保內(nèi)控制度
- 中學(xué)生心理衛(wèi)生制度
- GB/T 10454-2025包裝非危險(xiǎn)貨物用柔性中型散裝容器
- pvc地膠施工方案
- (正式版)DB15∕T 3227-2023 《集中供熱單位產(chǎn)品能耗限額》
- 蘇教版數(shù)學(xué)三年級(jí)上冊(cè)備課計(jì)劃
- 大采高綜采工作面操作規(guī)程
- 保密車間出入管理制度
- 鐵路勞動(dòng)安全 課件 第四章 機(jī)務(wù)勞動(dòng)安全
- 脊柱與四肢檢查課件
- 2024年河北省供銷合作總社招聘筆試參考題庫(kù)附帶答案詳解
- 宅基地及地上房屋確權(quán)登記申請(qǐng)審批表
- 醫(yī)療衛(wèi)生輿情課件
評(píng)論
0/150
提交評(píng)論