版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022年陜西省渭南市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.有以下程序:#include<stdio.h>voidfunc(intn){staticintnum=1);num=num+n;printf("%d",num);}main(){funo(3);func(4);printf("n");}程序運(yùn)行后的輸出結(jié)果是()。A.48B.34C.35D.45
2.設(shè)有定義:intn=0,*p=&n,**q=&p;則以下選項(xiàng)中,正確的賦值語(yǔ)句是()A.p=1;B.*q=2;C.q=p;D.*p=5;
3.以下對(duì)于C語(yǔ)言的描述中,正確的是:()
A.C語(yǔ)言調(diào)用函數(shù)時(shí),值傳遞方式只能將實(shí)參的值傳給形參,形參的值不能傳遞給實(shí)參
B.C語(yǔ)言中函數(shù)既可以嵌套定義,也可以遞歸調(diào)用
C.函數(shù)必須有返回值
D.C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一源程序文件中
4.設(shè)有定義:int?x=2,以下表達(dá)式中,值不為6的是()。
A.2*<.x+=2B.x++.2*xC.x=x*(1+x)D.x*=x+1
5.以下敘述中錯(cuò)誤的是()。
A.改變函數(shù)形參的值,不會(huì)改變對(duì)應(yīng)實(shí)參的值
B.函數(shù)可以返回地址值
C.可以給指針變量賦一個(gè)整數(shù)作為地址值
D.當(dāng)在程序的開頭包含文件stdi0.h時(shí),可以給指針變量賦NULL
6.算法分析的目的是()。
A.找出數(shù)據(jù)結(jié)構(gòu)的合理性B.研究算法中的輸入和輸出的關(guān)系C.分析算法的效率以求改進(jìn)D.分析算法的易懂性和文檔性
7.有以下程序:#include<stdio.h>main(){inta,b,k,m,*pl,*p2;k=1,m=8;p1=&k,p2=&m;a=/*pl-m;b=*p1+*p2+6;printf("%d",a);printf("%d\n",b);}編譯時(shí)編譯器提示錯(cuò)誤信息,你認(rèn)為出錯(cuò)的語(yǔ)句是()。A.a=/*pl-m;B.b=*p1+*p2+6;C.k=1,m=8;D.pl=&k,p2-&m;
8.二叉樹中第5層上的結(jié)點(diǎn)個(gè)數(shù)最多為________
A.8B.15C.16D.32
9.下列關(guān)于線性表的敘述中,不正確的是()
A.線性表可以是空表
B.線性表是一種線性結(jié)構(gòu)
C.線性表的所有結(jié)點(diǎn)有且僅有一個(gè)前件和后件
D.線性表是由n個(gè)元素組成的一個(gè)有限序列
10.第
11
題
若有定義:char*st="howareyou";下列程序段中正確的是
A.chara[11],*p;strcpy(p=a+1,&st[4]);
B.chara[11];strcpy(++a,st);
C.chara[11];strcpy(a,st);
D.chara[],*p;strcpy(p=&a[1],st+2);
11.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。A.Sun,f,90,Sun,f,90
B.Zhao,m,85,Sun,f,90
C.Zhao,m,85,Qian,f,95
D.Sun,f,90,Qian,f,95
12.軟件開發(fā)模型包括Ⅰ.瀑布模型Ⅱ.扇形模型Ⅲ.快速原型法模型Ⅳ.螺旋模型
A.Ⅰ、Ⅱ、ⅢB.Ⅰ、Ⅱ、ⅣC.Ⅰ、Ⅲ、ⅣD.Ⅱ、Ⅲ、Ⅳ
13.有以下程序:#include<stdio.h>#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
14.以下是一個(gè)對(duì)數(shù)組A(含有n個(gè)數(shù)值元素)進(jìn)行排序的算法偽代碼,請(qǐng)問它的平均時(shí)間復(fù)雜度是多少()
A.O(n)B.O(n^2)C.O(1)D.O(log(n))
15.有以下程序:int*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=f(p,q);printf("%d,%d,%d\n",*p,*q,*r);}程序運(yùn)行后輸出結(jié)果是______。
A.7,8,8B.7,8,7C.8,7,7D.8,7,8
16.
17.若變量已正確定義,在語(yǔ)句“if(W)printf("%d\n",k);”中,以下不可替代w的是()。
A.ab+cB.ch=getcharC.a==b+CD.a++
18.堆的形狀是一棵_______。
A.二叉排序樹B.滿二叉樹C.完全二叉樹D.平衡二叉樹
19.
20.
二、2.填空題(20題)21.設(shè)x和y均為int型變量,且x=1,y=2,則表達(dá)式2.0+x/y的值為_______。
22.若有如下結(jié)構(gòu)體說(shuō)明:
structSTRU
{inta,b;charc:doubled;
structSTRU*p1,*p2;
};
請(qǐng)?zhí)羁?,以完成?duì)t數(shù)組的定義,t數(shù)組的每個(gè)元素為該結(jié)構(gòu)體類型。
【】t[20]
23.需求分析的最終結(jié)果是產(chǎn)生【】。
24.若按功能劃分,軟件測(cè)試的方法通常分為白盒測(cè)試方法和【】測(cè)試方法。
25.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{
intx=0210;
printf("%X\n",x);
}
26.以下程序的功能是:從低位開始取出長(zhǎng)整型變量s中奇數(shù)位上的數(shù),依次構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。請(qǐng)?zhí)羁铡?include<stdio.h>main(){longs,t,s1=10;pfintf("\n.Pleaseenters:");scanf("%1d",&s);t=s%10;while(s>0){s=s/100;t=();s1=s1*10;}printf("Theresultis:%1d\n",t);}
27.若有以下定義,則使指針p指向值為35的數(shù)組元素的語(yǔ)句是______。
inta[10]={14,27,47,29,35,21,49,71},*p;
28.下列程序的運(yùn)行結(jié)果是______。
#definePOW(r)(r)*(r)
main()
{intx=3,y=2,t;
t=POW(x+y);
printf("%d\n",t);
}
29.某二叉樹中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹中有【】個(gè)葉子結(jié)點(diǎn)。
30.設(shè)Y是int型變量,請(qǐng)寫出判斷Y為奇數(shù)的關(guān)系表達(dá)式【】。
31.以下程序的功能是輸出字符串。請(qǐng)?zhí)羁铡?/p>
main()
{char*a[]={"Pascal","Clanguage","dbase","Cobol"};
char【】;
intj=0;
p=a;
for(;j<4;j++)
print{("%s\n",*【】);
}
32.算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和______復(fù)雜度。
33.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
main()
{intn=12345,d;
while(n!=0){d=n%10;printf("%d",D);n/=10;}
}
34.語(yǔ)句:x++;、++x;、x=x+1;、x=1+x;,執(zhí)行后都使變量x中的值增1,請(qǐng)寫出一條同一功能的賦值語(yǔ)句(不得與列舉的相同)【】。
35.下列程序執(zhí)行后輸出的結(jié)果是【】。
main()
{intarr[10],i,k=0;
for(i=0;i<10;i++)arr[i]=i;
for(i=1;i<4;i++)k+=arr[i]+i;
printf("%d\n",k);
36.若有定義intm=5,y=2,則執(zhí)行表達(dá)式y(tǒng)+=y-=m*=y后,y的值為【】。
37.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體“項(xiàng)目主管”與實(shí)體“項(xiàng)目”的聯(lián)系屬于______的聯(lián)系。
38.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線性鏈表屬于【】。
39.下面程序的功能是:計(jì)算1~10之間的奇數(shù)之和與偶數(shù)之和,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{inta,b,c,i;
a=c=0;
for(i=0;i<=10;i+=2)
{a+=i;
【】;
c+=b;}
printf("偶數(shù)之和=%d\n",a);
printf("奇數(shù)之和=%d\n",c-11);}
40.當(dāng)運(yùn)行以下程序時(shí),輸入abed,程序的輸出結(jié)果是:【】。
insert(charstr[])
{inti
i=strlen(str);
while(i>0)
{str[2*i]=str[i];str[2*-1]='*';i--;}
printf("%s\n",str);
}
main()
{charstr[40];
scanf("%s",sB);insert(str);
}
三、1.選擇題(20題)41.若有定義和語(yǔ)句int**pp,*p,a=10,b=20;pp=&p;p=&a;p=&b;printf("%d,%d\n",*p,**pp);則輸出結(jié)果是()
A.10,10B.10,20C.20,10D.20,20
42.設(shè)函數(shù)fun的定義形式為voidfun(charch,floatx){…}則以下對(duì)函九fun的調(diào)節(jié)器用語(yǔ)句中,正確是
A.fun("abc",3.0);
B.t=fun('D',16.5);
C.fun('65',2.8):
D.fun(32,32);
43.有以下程序:#include<stdio.h>voidfun(char*a,char*b){a=b;(*a)++;}main(){charc1='A',c2='a',*p1,*p2;p1=&c1;P2=&c2;fun(p1,p2);printf("%c%c\n",c1,c2);}程序運(yùn)行后的輸出結(jié)果是()。
A.AbB.aaC.AaD.Bb
44.設(shè)有以下語(yǔ)句charx=3,y=6,z;z=x^y<<2;則z的二進(jìn)制值是
A.10100B.11011C.11100D.11000
45.有以下程序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
46.有以下程序#include<stdio.h>main(){FILE*fp;inti=20,j=30,k,n;fp=fopen(“d1.dat”,“w”);fprintf(fp,“%d\n”,i);fprintf(fp,“%d\n”,j);fclose(fp);fp=fopen(“d1.dat”,“r”);fscanf(fp,“%d%d”,&k,&n);printf(“%d%d\n”,k,n);fclose(fp);}程序運(yùn)行后的輸出結(jié)果是
A.2030B.2050C.3050D.3020
47.若有定義:floatx=1.5;inta=1,b=3,c=2;則正確的switch語(yǔ)句是()。
A.switch(x){case1.0:printf("*\n");case2.0:printf("**\n");}
B.switch((int)x);{case1:printf("*\n");case2:printf("**\n");}
C.switch(a+b){case1:printf("*\n");case2+1:printf("**\n");}
D.switch(a+b){case1:printf("*\n");casec:printf("**\n");}
48.下列不正確的轉(zhuǎn)義字符是()。
A.'\\'B.'t'C.'\n'D.'088'
49.下列合法的字符型常量是()。
A.'\x13'B.'\081'C.'65'D.\n
50.設(shè)函數(shù)fun的定義形式為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);
51.執(zhí)行下面的程序時(shí),輸入abc<CR>(其中CR代表回車),輸出結(jié)果是()。#include<stdio.h>#include<string.h>main(){charch;while((cn=getchar())!='n'){switch(ch-'a'){case0:putchar(ch+1);case1:putchar(ch+1);break;case2:putchar(ch+2);caSe3:putchar(ch+2);break;}}}
A.abcB.bbcC.abcdD.bbcee
52.在關(guān)系模型中,()。
A.為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系
B.表示關(guān)系的二維表中各元組的每一個(gè)分量還可以分成若干數(shù)據(jù)項(xiàng)
C.一個(gè)關(guān)系的屬性名表稱為關(guān)系模式
D.一個(gè)關(guān)系可以包括多個(gè)二維表
53.以下各選項(xiàng)企圖說(shuō)明一種新的類型名,其中正確的是______。
A.typedefvlint;
B.typedefv2=int
C.typedefintv3;
D.typedefv4:int
54.定義如下變量和數(shù)組:intk;inta[3][3]={9,8,7,6,5,4,3,2,1};則下面語(yǔ)句的輸出結(jié)果是()。for(k=0;k<3;k++)printf("%d",a[k][k]);
A.753B.951C.963D.741
55.下列語(yǔ)句組中,不正確的是()。
A.char*s;s="Olympic";
B.chars[]="Olympic";
C.char*s;s={"Olympic"};
D.chars[]={"Olympic"};
56.以下關(guān)于return語(yǔ)句的敘述中不正確的是()。
A.一個(gè)自定義函數(shù)中必須有一條return語(yǔ)句
B.一個(gè)自定義函數(shù)中可以根據(jù)不同情況設(shè)置多條return語(yǔ)句
C.如果一個(gè)函數(shù)有多個(gè)return語(yǔ)句,那么不論運(yùn)行到哪一個(gè)return語(yǔ)句,該函數(shù)將結(jié)束
D.沒有return語(yǔ)句的自定義函數(shù)在執(zhí)行完最后一條語(yǔ)句時(shí)返回到調(diào)用處
57.當(dāng)執(zhí)行下面的語(yǔ)句后,表達(dá)式++x>b?x:b-->++x?++b:x的值為()intx=5,b=5;
A.5B.25C.6D.10
58.下列函數(shù)定義中,會(huì)出現(xiàn)編譯錯(cuò)誤的是()。
A.max(intx,inty,int*z){*z=x>y?x:y;}
B.intmax(intx,y){intz;z=x>y?x:y;returnz;}
C.max(intx,inty){intz;z=x>y?x:y;return(z);}
D.intmax(intx,inty){return(x>y?x:y);}
59.下列敘述中正確的是()。
A.break語(yǔ)句只能用于switch語(yǔ)句體中
B.continue語(yǔ)句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)
C.break語(yǔ)句只能用在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)
D.在循環(huán)體內(nèi)使用break語(yǔ)句和continue語(yǔ)句的作用相同
60.設(shè)定義下列結(jié)構(gòu)體,結(jié)構(gòu)體變量p的出生年份賦值正確的語(yǔ)句是()。stmctst{intx;inty;intz;}structworker{charname[20];charsex;structstbirth;}p;
A.x=1987B.birth.x=1987;C.p.birth.x=1987;D.p.x=1987;
四、選擇題(20題)61.設(shè)intx=7,則~x的值是()。
A.-8B.7C.-1D.1
62.下列敘述中正確的是()。
A.順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu)
B.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間是相同的
C.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般要多于順序存儲(chǔ)結(jié)構(gòu)
D.順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表
63.有以下程序:
程序的運(yùn)行結(jié)果是()。
A.1B.2C.3D.4
64.下列說(shuō)法正確的是()。
A.在C語(yǔ)言中,可以使用動(dòng)態(tài)內(nèi)存分配技術(shù)定義元素個(gè)數(shù)可變的數(shù)組
B.在c語(yǔ)言中,數(shù)組元素的個(gè)數(shù)可以不確定,允許隨機(jī)變動(dòng)
C.在C語(yǔ)言中,數(shù)組元素的數(shù)據(jù)類型可以不一致
D.在C語(yǔ)言中,定義一個(gè)數(shù)組后.就確定了它所容納的元素的個(gè)數(shù)
65.有以下程序
main()
{
intx=3,y=2,z=1;
printf("%d\n",x/y&~z);
}
程序運(yùn)行后的輸出結(jié)果是
A.3B.2
C.1D.0
66.下列關(guān)于結(jié)構(gòu)型、共用型、枚舉型的定義語(yǔ)句中,正確的是()。
A.structss{intx}
B.unionuu{intx;}xx=5;
C.enumee{intx};
D.struct{intx;};
67.
68.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.1002,ZhangDa,1202.0
B.1002,ChangRon9,1202.0
C.1001,ChangRon9,1098.0
D.1001,ZhangDa,1098.0
69.以下程序段中的變量已正確定義
70.算法的有窮性是指A.算法程序的運(yùn)行時(shí)間是有限的
B.算法程序所處理的數(shù)據(jù)量是有限的
C.算法程序的長(zhǎng)度是有限的
D.算法只能被有限的用戶使用
71.
72.
73.有定義語(yǔ)句:intm=1,n=2,P=5,x;,則以下選項(xiàng)中各程序段執(zhí)行后,x的值不等于5的是()。
A.
B.
C.
D.
74.下列程序的輸出結(jié)果是
intb=2;
intfunc(int*a)
{b+=*a;return(b);}
main()
{inta=2,res=2;
res+=func(&a);
printf("%d\n",res);
}
A.2
B.4C.6
D.8
75.有以下程序
76.若有定義:charc;doubled;程序運(yùn)行時(shí)輸入:12<;回車>;,能把字符1輸入給變量c、數(shù)值2輸入給變量d的輸入語(yǔ)句是()。
77.
78.
79.對(duì)于算法的每一步,指令必須是可執(zhí)行的。算法的()要求算法在有限步驟之后能夠達(dá)到預(yù)期的目的。
A.可行性B.有窮性C.正確性D.確定性
80.有以下程序main(){intc=35;printf("%d\n",c&c);}程序運(yùn)行后的輸出結(jié)果是______。
A.0B.70C.35D.1
五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun的功能是:將tt所指字符串中的小寫字母全部改為對(duì)應(yīng)的大寫字母,其他字符不變。
例如,若輸入“Ab,cD”,則輸出“AB,CD”。
請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:部分源程序在文件MODIl.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)proc(),其功能是:將str所指字符串中除了下標(biāo)為奇數(shù)、同時(shí)ASCⅡ值為偶數(shù)的字符外,其余的全部刪除,串中剩余字符所形成的一個(gè)新串放在t所指的數(shù)組中。例如,若str所指字符串中的內(nèi)容為edB2A4Dsdg,其中字符A的ASCⅡ碼值為奇數(shù),因此應(yīng)當(dāng)刪除;其中字符B的ASCⅡ碼值為偶數(shù),但在數(shù)組中的下標(biāo)為偶數(shù),因此也應(yīng)當(dāng)刪除;而字符2的ASCⅡ碼值為偶數(shù),所在數(shù)組中的下標(biāo)為奇數(shù),因此不應(yīng)當(dāng)刪除。依此類推,最后t所指的數(shù)組中的內(nèi)容應(yīng)是d24。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:
參考答案
1.A第一調(diào)用func函數(shù)時(shí)輸出4,第二次調(diào)用func函數(shù)時(shí)num的值并不會(huì)釋放,仍然是上次修改后的值4,第二次調(diào)用結(jié)果為8,所以輸出結(jié)果是48。
2.D解析:本題考核的知識(shí)點(diǎn)是指針變量定義和賦值語(yǔ)句的基本應(yīng)用。在使用一個(gè)指針變量之前,先要用聲明語(yǔ)句對(duì)其進(jìn)行定義,在定義了一個(gè)指針變量之后,系統(tǒng)就為這個(gè)指針變量分配了一個(gè)存儲(chǔ)單元,用它來(lái)存放地址。在C語(yǔ)言中有兩個(gè)有關(guān)指針的運(yùn)算符:&運(yùn)算符,為取地址運(yùn)算符,*運(yùn)算符是指針運(yùn)算符,*p代表p所指向的變量。本題中首先定義了整型變量n,其初值為0,接著定義一個(gè)指針變量p并讓它指向n,然后定義了一個(gè)指向指針的指針變量q并讓它指向p,選項(xiàng)A中將常量1賦給指針p不正確;選項(xiàng)B也是將常量2賦給*p,故選項(xiàng)B不正確;選項(xiàng)C中P不是指向指針的指針變量,而將他賦值給一個(gè)指向指針的指針變量小顯然不正確,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
3.A
4.A?A)選項(xiàng)中逗號(hào)表達(dá)式先計(jì)算第一表達(dá)式2*x,然后計(jì)算表達(dá)式x+=2的值,即x=x+2即4,整個(gè)逗號(hào)表達(dá)式為第二個(gè)表達(dá)式的值4,所以選A)。B)選項(xiàng)中首先計(jì)算逗號(hào)表達(dá)式中第一一個(gè)表達(dá)式x++,此時(shí)x為3,再執(zhí)行第二個(gè)表達(dá)式2*x=2*3=6,所以逗號(hào)表達(dá)式為第二個(gè)表達(dá)式的值6。C)選項(xiàng)的賦值表達(dá)式可以表示為x=x*(1+x)=2*(1+2)=6。D)選項(xiàng)中的表達(dá)式可以表示為x=x*(x+1)=2*3=6。
5.C指針變量的值只能是存儲(chǔ)單元地址,而不能是一個(gè)整數(shù),故選項(xiàng)C錯(cuò)誤。
6.C
7.A本題考查指針,pl=&k表示P指向k的地址,則*p=k,依次類推,在對(duì)指針進(jìn)行賦值時(shí)沒有錯(cuò)誤。a=/*p+m賦值,在c語(yǔ)言中"/*"表示的注釋,所以答案選擇A。
8.C
9.CC)【解析】線性表是一種線性結(jié)構(gòu),由n(n≥O)個(gè)元素組成,所以線性表可以是空表。但是性表中,第一個(gè)結(jié)點(diǎn)沒有前件,最后一個(gè)結(jié)點(diǎn)沒有后件,其他結(jié)點(diǎn)有且只有一個(gè)前件和后件,所以選項(xiàng)C)是錯(cuò)誤的。
10.A本題綜合考查字符數(shù)組的賦值和strcpy函數(shù)的用法。C語(yǔ)言不允許用賦值表達(dá)式對(duì)字符數(shù)組賦值,如下面的語(yǔ)句就是非法的:str1='China',如果想把“China”這5個(gè)字符放到數(shù)組str1中,除了逐個(gè)輸入外,還能使用strcpy函數(shù),該函數(shù)的功能是將一個(gè)字符串復(fù)制到一字符數(shù)組中。例如,strcpy(str1,'China');或strcpy(str1,str2);注意,不能企圖用以下語(yǔ)句來(lái)實(shí)行賦值(將str2的值傳給str1):str1=str2;不能用賦值語(yǔ)句將一個(gè)字符串常量或字符數(shù)組直接給一個(gè)字符數(shù)組。
strcpy函數(shù)的結(jié)構(gòu)是:strcpy(字符數(shù)組1,字符串2)
其中,需要注意的是,字符數(shù)組1的長(zhǎng)度不應(yīng)小于字符串2的長(zhǎng)度,“字符數(shù)組1”必須寫成數(shù)組名形式,如(str1),“字符串2”可以是字符數(shù)組名,也可以是字符串常量,不能用賦值語(yǔ)句將一個(gè)字符串常量或字符數(shù)組直接給一個(gè)字符數(shù)組。
11.A程序定義結(jié)構(gòu)體類型STU,定義類型STU的全局變量a。main函數(shù)定義局部類型為STU變量b,并對(duì)它初始化,調(diào)用函數(shù)f。將局部變量c的各個(gè)成員值賦給a,覆蓋a的舊值,將a的新值返回并賦給b,此時(shí)a、b的各個(gè)成員值都是Sun,f,90,程序輸出:Sun,f,90,Sun,f,90。本題答案為A選項(xiàng)。
12.C解析:軟件開發(fā)模型包括瀑布模型、快速原型法模型和螺旋模型。
13.C解析:1.getchar():此函數(shù)的作用是從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入一個(gè)字符。
2.putchar():此函數(shù)的作用是向終端輸出一個(gè)字符,也可以輸出控制字符。本題在輸入字符時(shí),ab和c后面的回車符分別賦給了c[2]和c[4],所以,正確答案為C。
14.B
15.B解析:f函數(shù)的功能是返回地址為x,y的兩個(gè)數(shù)中值鉸的數(shù)的地址,本題輸出結(jié)果是7,8,7。
16.D
17.A符號(hào)<>不是C語(yǔ)言中的運(yùn)算符,所以不能替代。
18.C
19.A
20.C
21.2.0。2.0。解析:x和y為整數(shù),運(yùn)算符“/”在這里是整型除,整除后值為0。
22.strudctSTRUstrudctSTRU解析:結(jié)構(gòu)件類型是構(gòu)造數(shù)據(jù)類型,是用戶自己定義的一種類型。
結(jié)構(gòu)體類型的定義:
struct結(jié)構(gòu)體類型名
{
成員項(xiàng)表;
};
定義結(jié)構(gòu)體變量的的形式為:
struct結(jié)構(gòu)體類型名變量1,變量2,...?
其中變量包括;一般變量、指針變量、數(shù)組變量等。
23.需求規(guī)格說(shuō)明書需求規(guī)格說(shuō)明書解析:軟件需求規(guī)格說(shuō)明書是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。需求規(guī)格說(shuō)明書包括正確性、無(wú)歧義性、完整性、可驗(yàn)證性、一致性、可理解性、可修改性和可追蹤性等。
24.黑盒軟件測(cè)試的方法有三種:動(dòng)態(tài)測(cè)試、靜態(tài)測(cè)試和正確性證明。設(shè)計(jì)測(cè)試實(shí)例的方法一般有兩類:黑盒測(cè)試法和白盒測(cè)試法。在使用黑盒法設(shè)計(jì)測(cè)試實(shí)例時(shí),測(cè)試人員將程序看成一個(gè)“黑盒”,即不關(guān)心程序內(nèi)部是如何實(shí)現(xiàn)的,只是檢查程序是否符合它的“功能說(shuō)明”,所以使用黑盒法設(shè)計(jì)的測(cè)試用例完全是根據(jù)程序的功能說(shuō)明來(lái)設(shè)計(jì)的。
25.8888解析:C語(yǔ)言規(guī)定,以0開頭的整型常量為八進(jìn)制。另外,在primf()函數(shù)中,%X表示以十六進(jìn)制無(wú)符號(hào)形式輸出一個(gè)整數(shù),且十六進(jìn)制中的ABCDEF為大寫字母。本題的輸出應(yīng)該是八進(jìn)制210的十六進(jìn)制形式。將八進(jìn)制轉(zhuǎn)換為十六進(jìn)制,可以先將其轉(zhuǎn)換為二進(jìn)制。因?yàn)?位八進(jìn)制表示3位二進(jìn)制,4位二進(jìn)制表示1位十六進(jìn)制。(210)8=(10001000)2=(88)16,故本題輸出為880
26.s%10*s1+t
27.p=a+4或p=&a[4]。p=a+4或p=&a[4]。解析:可以直接將數(shù)組元素a[4]的地址(即&a[4])賦給指針變量p,也可以用數(shù)組名加偏移量的形式(即a+4)表示數(shù)組元素a[4]的地址,并賦給指針變量p。
28.2525解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算。運(yùn)算過程為:t=POW(x+y)=(2+3)*(2+3)=25。
29.1919解析:根據(jù)二叉樹的性質(zhì):在任意一棵二叉樹中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中度為2的結(jié)點(diǎn)數(shù)為18,故葉子結(jié)點(diǎn)數(shù)為18+1=19個(gè)。
30.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或下為0。本題具體做法如下:Y%2=1或Y%2!=0。
31.**p(p+i)
32.空間空間解析:算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。一個(gè)算法的空間復(fù)雜度,一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。
33.5432154321解析:在while循環(huán)中,d=n%10;語(yǔ)句每次求得的結(jié)果是n個(gè)位上的數(shù)值,例如12345÷10所得的余數(shù)就是個(gè)位上的5。接下來(lái)輸出得到的個(gè)位數(shù)字d,然后執(zhí)行n/=10;語(yǔ)句,該語(yǔ)句等價(jià)于n=n/10;。在C語(yǔ)言中,如果/運(yùn)算的兩個(gè)運(yùn)算分量都是整數(shù),那所得的結(jié)果也截尾取整,所以12345/10=1234,即n-=n/10;語(yǔ)句的作用是讓n截去個(gè)位上的數(shù)字。由此可知,隨著while循環(huán)的繼續(xù),n依次為12345、1234、123、12、1,而每次輸出n的個(gè)位數(shù)字將為5、4、3、2、1。故本題應(yīng)填543210。
34.x+=1;
35.1212解析:本題的第一個(gè)for循環(huán)用于給數(shù)組arr賦初值,第二個(gè)for循環(huán)用于求和運(yùn)算。由于第二個(gè)for循環(huán)初始值為1,而循環(huán)條件為i<4,所以求的是arr[1]到arr[3]及i的和,所以輸出結(jié)果為12。
36.-16-16解析:將賦值運(yùn)算符右側(cè)的“表達(dá)式”的值賦給左側(cè)的變量,并且賦值運(yùn)算符按照“自右而左”的結(jié)合順序,本題表達(dá)式應(yīng)先算m的值為10,再運(yùn)算y的值為8,最后計(jì)算y=y+(-8)=-8+(-8)=-16。
37.1對(duì)多(或1:N)1對(duì)多(或1:N)
38.存儲(chǔ)結(jié)構(gòu)
39.b=i+1b=i+1解析:本題考查了for循環(huán)語(yǔ)句的執(zhí)行過程。i+=2是修正表達(dá)式,執(zhí)行一次循環(huán)體后i的值就增加2,i的初始值為0,每次加2之后和累加至a,所以a的值就是1~10之間的偶數(shù)之后;b的值是1~11之間的奇數(shù)和,但在輸出b值時(shí)c去掉多加的11,即為1~10之間的奇數(shù)之和。
40.a*b*c*da*b*c*d,解析:在insert()函數(shù),因?yàn)轭}目要求輸入的字符串為abed,所以執(zhí)行完“i=strlen(str);”后,i中存放的是字符串a(chǎn)bcd的長(zhǎng)度值4。所以接F來(lái)的while循環(huán)會(huì)循環(huán)4次,每次讓i減1,故4次循環(huán)中i的值依次為4、3、2、1。每次循環(huán)會(huì)執(zhí)行兩條語(yǔ)句str[2*i]=str[i];str[2*i-1]='*',當(dāng)i=4時(shí)為:str[8]=str[4];str[7=='*';。執(zhí)行結(jié)果是將字符串a(chǎn)bed末尾的結(jié)束符'\\0'復(fù)制到其下標(biāo)值2倍的位置,并在其前1位插入—個(gè)'*'哼符。接下來(lái)i=3,執(zhí)行str[6]=str[3];str[5]='*'。執(zhí)行后會(huì)將字符串a(chǎn)bcd最后一個(gè)字符,d復(fù)制到其下標(biāo)值2倍的位置,并在其前1位插入一個(gè)'*'字符。依次類推,直到i=1,執(zhí)行str[2]=str[1];str[1]='*',將字符tb,往后移動(dòng)了1位,并在原位置插入'*'字符。所以,循環(huán)結(jié)束后,字符串str會(huì)變?yōu)閍*b*c*d*。這就是程序的輸出結(jié)果。
41.D
42.D解析:本題考查了函數(shù)的定義。題目中定義的函數(shù)fun()有兩個(gè)參數(shù),一個(gè)是字符型變量ch,另一個(gè)是浮點(diǎn)型變量x,函數(shù)類型是void即無(wú)返回值。選項(xiàng)A調(diào)用fun的第1個(gè)參數(shù)是字符串常量與字符變量不匹配,所以不正確。選項(xiàng)B是有返回值函數(shù)的調(diào)用形式,不正確。選項(xiàng)C的第1個(gè)參數(shù)是錯(cuò)誤的字符常量,字符常量是用單引號(hào)括起來(lái)的一個(gè)字符(是轉(zhuǎn)義字符可能有多個(gè)字符),故也不正確。選項(xiàng)D使用兩個(gè)整型常量調(diào)用fun這在C語(yǔ)言中是允許的。因?yàn)檎偷阶址涂梢宰詣?dòng)轉(zhuǎn)換,整型到浮點(diǎn)型也可以自動(dòng)轉(zhuǎn)換。故應(yīng)該選擇D。
43.A解析:本題中fun函數(shù)的形參是兩個(gè)指向字符型數(shù)據(jù)的指針,其功能是把b賦給a,然后將a所指存儲(chǔ)單元里的變量值加1。在main函數(shù)中,p1里存放的是c1的地址,p2里存放的是c2的地址,經(jīng)函數(shù)調(diào)用fun(p1,P2)后,p2的值賦給了p1,使p1和p2都指向了c2,而(*a)++又使'a'的值加1變成了'b',所以此時(shí)c2的值為'b',而c1的值沒變,仍為'A'。程序改變的是p1的地址和c2的值。
44.B解析:本題考查兩個(gè)位運(yùn)算符。按位異或運(yùn)算符“”’是雙目運(yùn)算符,其功能是參與運(yùn)算的兩數(shù)各對(duì)應(yīng)的二進(jìn)位相異或,當(dāng)兩對(duì)應(yīng)的二進(jìn)位相異或時(shí),結(jié)果為1。左移運(yùn)算符“<<”是雙目運(yùn)算符,其功能把“<<”左邊的運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由“<<”右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0,并且“<<”運(yùn)算符的優(yōu)先級(jí)于“^”。
45.C解析:因?yàn)閒un(intx)是一個(gè)遞歸函數(shù),所以主函數(shù)中fun(7)經(jīng)過三次遞歸調(diào)用,其過程可以描述為'fun(7)=7-fun(5)=7-(5-fun(3))=7-(5-(3-fun(1)))=7-(5-(3-3))=7-5=2”,所以最后的輸出結(jié)果為2。
46.A解析:本題首先以創(chuàng)建方式打開文件“d1.dar”,兩次調(diào)用fprintf()把i和j的值寫到文件“d1.dat”中,文件“d1.dar的內(nèi)容為20〈回車〉30〈回車〉后把該文件關(guān)閉再以讀的方式打開,文件位置指針指向文件頭,在通過fscard()函數(shù)從中讀取兩個(gè)整數(shù)到k和n中,由于格式符無(wú)間隔,因此輸入數(shù)據(jù)可以用回車隔開,故輸入的k值為20,n的值為30。
47.C解析:switch后的括號(hào)中只能是整型或字符型表達(dá)式,選項(xiàng)A中使用的是浮點(diǎn)型變量x,故不正確。選項(xiàng)B在switch的括號(hào)后面多了一個(gè)分號(hào),故也不正確。switch的case標(biāo)號(hào)后只能是常量或常量表達(dá)式,而不能是變量,所以選項(xiàng)D也不正確。故應(yīng)該選擇C。
48.D解析:'\\\\'是反斜線轉(zhuǎn)義字符:'\\t'是水平跳格轉(zhuǎn)義字符;'\\n'飯是換行轉(zhuǎn)義字符;C語(yǔ)言中沒有規(guī)定'088'為轉(zhuǎn)義字符。
49.A解析:C語(yǔ)言的字符常量是用單引號(hào)(\')括起來(lái)的一個(gè)字符,也可以用以一個(gè)“\\”開頭的字符序列來(lái)表示字符常量。其中形式\\ddd表示1到3位8進(jìn)制數(shù)所代表的字符;形式\\xhh表示1到2位16進(jìn)制數(shù)所代表的字符。在本題中\(zhòng)'\\x13\'表示回車符,是一個(gè)字符常量;而\'\\081\'用8進(jìn)制數(shù)所代表的字符形式不正確,因?yàn)?進(jìn)制數(shù)所表示的字符中不會(huì)出現(xiàn)數(shù)字“8”;\'65\'單引號(hào)(即撇號(hào))括起來(lái)的不是一個(gè)字符,而是一個(gè)十進(jìn)制數(shù)字;'\\n'是用雙引號(hào)括起來(lái)的一個(gè)字符,表示一個(gè)字符串,而不是字符常量。
50.D解析:題目中定義的函數(shù)fun()有兩個(gè)參數(shù),一個(gè)是字符型變量ch,另一個(gè)是浮點(diǎn)型變景x,函數(shù)類型是void即無(wú)返回值。選項(xiàng)A調(diào)用fun的第1個(gè)參數(shù)是字符串常量與字符變量不匹配,所以不正確。選項(xiàng)B是有返回值函數(shù)的調(diào)用形式,不正確。選項(xiàng)C的第1個(gè)參數(shù)是錯(cuò)誤的字符常量,字符常量是用單引號(hào)括起來(lái)的—個(gè)字符(是轉(zhuǎn)義字符可能有多個(gè)字符),故也不正確。選項(xiàng)D使用兩個(gè)整型常量調(diào)用fun這在C語(yǔ)言中是允許的。因?yàn)檎偷阶址涂梢宰詣?dòng)轉(zhuǎn)換,整型到浮點(diǎn)型也可以自動(dòng)轉(zhuǎn)換。故應(yīng)該選擇D。
51.D解析:當(dāng)ch='a'時(shí),ch-'a'=0,進(jìn)入case0分支輸出b,再進(jìn)入case1分支輸出b,然后結(jié)束本次循環(huán)。當(dāng)ch='b'時(shí),'b'-'a'=1,進(jìn)入case1分支輸出c,然后結(jié)束本次循環(huán)。當(dāng)ch='c'時(shí),'c'-'a'=2,進(jìn)入case2分支輸出e,再進(jìn)入case3分支輸出e,然后結(jié)束次循環(huán)。遇到'-n'結(jié)束循環(huán)。顯示輸出為bbcee。
52.C解析:在關(guān)系模型中,不需要事先構(gòu)造數(shù)據(jù)的邏輯關(guān)系,只要將數(shù)據(jù)按照一定的關(guān)系存入計(jì)算機(jī),也就是建立關(guān)系,選項(xiàng)A錯(cuò)誤。對(duì)于表示關(guān)系的二維表,其最基本的要求是,表中元組的每一個(gè)分量必須是不可分的數(shù)據(jù)項(xiàng),即不允許表中再有表,選項(xiàng)B和D錯(cuò)誤。本題的正確答案是C。
53.C解析:C語(yǔ)言中可以使用typedef來(lái)重新定義已有的數(shù)據(jù)類型,相當(dāng)于為數(shù)據(jù)類型取個(gè)別名。
54.B解析:本題中的二維數(shù)組的每個(gè)元素就是一個(gè)由3個(gè)元素構(gòu)成的一維數(shù)組,根據(jù)條件for(k=0;k<3;++)和要求的a[k][k]可以得出本題的答案應(yīng)該是951。
55.C
56.A解析:return語(yǔ)句主要用于返回函數(shù)的值。在一個(gè)自定義函數(shù)中,可以根據(jù)不同的情況設(shè)置多條return語(yǔ)句返回函數(shù)的值,也可以不包含return語(yǔ)句。
57.B
58.B解析:本題考核的知識(shí)點(diǎn)是函數(shù)的定義方法。選項(xiàng)B中在說(shuō)明形參時(shí),省略了第二個(gè)參數(shù)的類型,故選項(xiàng)B編譯不能通過。
59.C解析:只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句。當(dāng)break出現(xiàn)在循環(huán)體的switch語(yǔ)句體內(nèi)時(shí),其作用只是跳出該switch語(yǔ)句體,并不能中止循環(huán)體的執(zhí)行。若想強(qiáng)行中止循環(huán)體的執(zhí)行,可以在循環(huán)體中,但并不在switch語(yǔ)句中設(shè)置break語(yǔ)句,滿足某種條件,則跳出本層循環(huán)體。
60.C解析:本題主要考查怎樣為嵌套定義的結(jié)構(gòu)中的成員賦值:由于worker中的birth是一個(gè)st型的結(jié)構(gòu),在給birth賦值時(shí),不能將birth作為一個(gè)整體,要用“.”運(yùn)算再深入一層訪問到最基本的成員x、y\\z。
61.A本題主要考查按位求反運(yùn)算和C語(yǔ)言正負(fù)數(shù)的表示,“O”代表正數(shù),“1”代表負(fù)數(shù);x=7的二進(jìn)制為00111,第一個(gè)0代表正數(shù),~x為11000,第一個(gè)l代表負(fù)數(shù),值為8。
62.C\n線性表的順序存儲(chǔ)結(jié)構(gòu)是把線性表中相鄰的元素存放在相鄰的內(nèi)存單元中,而鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)是用一組任意存儲(chǔ)單元來(lái)存放表中的數(shù)據(jù)元素,為了表示出每個(gè)元素與其直接后繼元素之間的關(guān)系,除了存儲(chǔ)元素本身的信息外,還需存儲(chǔ)一個(gè)指示其直接后繼的存儲(chǔ)位置信息。故線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需的存儲(chǔ)空間一般要多于順序存儲(chǔ)結(jié)構(gòu)。
\n
63.B該題目考查函數(shù)參數(shù)傳遞以及if條件語(yǔ)句。當(dāng)變量b為0時(shí),將a的值返回給主調(diào)函數(shù),因此a進(jìn)行兩次自減l后,將其值返回并輸出。
64.D
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 常青樹多倍版對(duì)比平安福
- 2026年劇本殺運(yùn)營(yíng)公司質(zhì)量檢查與考核管理制度
- 2026年劇本殺運(yùn)營(yíng)公司消防設(shè)施定期檢查管理制度
- 中醫(yī)護(hù)理中的運(yùn)動(dòng)療法
- 高中歷史課堂生成式AI輔助的歷史事件情景再現(xiàn)教學(xué)實(shí)踐教學(xué)研究課題報(bào)告
- 中醫(yī)護(hù)理的特色與優(yōu)勢(shì)
- 體檢中心收款制度
- 優(yōu)莎娜獎(jiǎng)金制度
- 云中行走電影介紹
- 京東方的法務(wù)制度
- 2026年重慶市江津區(qū)社區(qū)專職人員招聘(642人)筆試備考試題及答案解析
- 2026年思明區(qū)公開招聘社區(qū)工作者考試備考題庫(kù)及完整答案詳解1套
- 【四年級(jí)】【數(shù)學(xué)】【秋季上】期末家長(zhǎng)會(huì):數(shù)海引航愛伴成長(zhǎng)【課件】
- 紹興東龍針紡織印染有限公司技改年產(chǎn)10500萬(wàn)米印染面料生產(chǎn)線項(xiàng)目環(huán)境影響報(bào)告
- 設(shè)備設(shè)施風(fēng)險(xiǎn)分級(jí)管控清單
- 河南交通職業(yè)技術(shù)學(xué)院教師招聘考試歷年真題
- 污水管網(wǎng)工程監(jiān)理規(guī)劃修改
- (機(jī)構(gòu)動(dòng)態(tài)仿真設(shè)計(jì))adams
- 北京市社保信息化發(fā)展評(píng)估研究報(bào)告
- GB/T 8336-2011氣瓶專用螺紋量規(guī)
- GB/T 1048-2019管道元件公稱壓力的定義和選用
評(píng)論
0/150
提交評(píng)論