版權(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.如有inta=11;則表達(dá)式(a++*1/3)的值是()。
A.0B.3C.4D.12
2.
3.下列程序的運(yùn)行結(jié)果是()。
#include<stdio.h>
main()
{intx=5,a=1,b=2,C=5,d=0;
if(a<B)
if(b!=3)
if(!C)
x=1;
else
if(D)x=1;
elsex=-1;
printf("%d",x);
}
A.-1B.0C.1D.不確定的值
4.下列標(biāo)識(shí)符不是關(guān)鍵字的是()。
A.breakB.charC.SwithchD.return
5.下列關(guān)于線性表的敘述中,不正確的是()
A.線性表可以是空表
B.線性表是一種線性結(jié)構(gòu)
C.線性表的所有結(jié)點(diǎn)有且僅有一個(gè)前件和后件
D.線性表是由n個(gè)元素組成的一個(gè)有限序列
6.以下說(shuō)法錯(cuò)誤的是:()
A.全局變量就是在函數(shù)外定義的變量,因此又叫做外部變量
B.一個(gè)函數(shù)中既可以使用本函數(shù)中的局部變量,也可以使用全局變量
C.局部變量的定義和全局變量的定義的含義不同
D.如果在同一個(gè)源文件中,全局變量和局部變量同名,則在局部變量的作用范圍內(nèi),全局變量通常不起作用
7.若有語(yǔ)句“typedefstructS{intg;charh;}T;”,則下列敘述中正確的是()。
A.可用S定義結(jié)構(gòu)體變量B.可用T定義結(jié)構(gòu)體變量C.S是struct類型的變量D.T是structS類型的變量
8.
下列程序的輸出結(jié)果是()。
main
{inta,b,d=25;
a=d/10%9;
b=a&&(一1);
printf("%d,%d\n",a,b);}
A.6,1B.2,1C.6,0D.2,0
9.以下選項(xiàng)中非法的字符常量是()。
A.\101B.\65C.\xffD.\019
10.計(jì)算機(jī)能夠直接識(shí)別和執(zhí)行的語(yǔ)言是
A.匯編語(yǔ)言B.自然語(yǔ)言C.機(jī)器語(yǔ)言D.高級(jí)語(yǔ)言
11.關(guān)系R和關(guān)系S的并運(yùn)算是______。
A.由關(guān)系R和關(guān)系S的所有元組合并組成的集合,再刪去重復(fù)的元組
B.由屬于R而不屬于S的所有元組組成的集合
C.由既屬于R又屬于S的元組組成的集合
D.由R和S的元組連接組成的集合
12.
13.以下不完整的程序擬實(shí)現(xiàn)調(diào)用getmax函數(shù),找出4個(gè)變量中最大的一個(gè):#include<stdio.h>intgetmax(intx,inty){returnx>yx:y;}voidmain(){inta,b,c,d,mx;scanf(“%d%d%d%d”,&a,&b,&c,&d);printf(“max=%d\n”,________);}以下選項(xiàng)若填入下劃線處,不能實(shí)現(xiàn)上述功能的是()。
A.getmax(getmax(getmax(a,b),c),d)
B.getmax(getmax(a,b),getmax(c,d))
C.getmax(a,getmax(b,getmax(c,d)))
D.mx=(getmax(a,b),getmax(c,d))
14.對(duì)一個(gè)滿二叉樹,m個(gè)葉子,n個(gè)結(jié)點(diǎn),深度為h,則()。
A.n=h+mB.h+m=2nC.m=h-1D.n=2h-1
15.
16.在單鏈表中,增加頭結(jié)點(diǎn)的目的是______。
A.方便運(yùn)算的實(shí)現(xiàn)B.使單鏈表至少有一個(gè)結(jié)點(diǎn)C.標(biāo)識(shí)表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置D.說(shuō)明單鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)
17.有以下程序:#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;
18.若要求定義具有10個(gè)int型元素的一維數(shù)組a,則以下定義語(yǔ)句中錯(cuò)誤的是A.#defineN10inta[N];B.#definen5inta[2*n];C.inta[5+5];
D.intn=10,a[n];
19.若定義下列結(jié)構(gòu)體,結(jié)構(gòu)體變量p的出生年份賦值正確的語(yǔ)句是()。structst{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.一個(gè)C語(yǔ)言程序總是從()開始執(zhí)行:
A.主程序B.子程序C.主函數(shù)D.第一個(gè)函數(shù)
二、2.填空題(20題)21.下面程序的功能是將一個(gè)字符串str的內(nèi)容顛倒過(guò)來(lái),請(qǐng)?zhí)羁铡?/p>
main()
{
inti,j,【】;charstr[]={"1234567");
for(i=0,j=strlen(str)【】;i<j;i++,j--)
{k=str[i];str[i]=str[j];str[j]=k;}
printf("%s\n",str);
}
22.開發(fā)軟件所需要的高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象被人們稱之為【】。
23.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
voidswap(int*a,int*b)
{int*t;
t=a;a=b;b=t;
}
main()
{inti=3,j=5,*p=&i,*q=&j;
swap(p,q);printf("%d%d\n",*p,*q);
}
24.下列程序的輸出結(jié)果是______。
#include<stdio.h>
int(intx,inty,intcp,intdp)
{cp=x*x+y*y;
dp=x*x-y*y;
}
main()
{inta=1,b=8,c=7,d=9;
t(a,b,c,d);
printf("%d%d\n",c,d);
}
25.以下程序用于判斷a、b、c能否構(gòu)成三角形,若能,輸出YES,否則輸出NO。當(dāng)給a、b、c輸入三角形三條邊長(zhǎng)時(shí),確定a、b、c能構(gòu)成三角形的條件是需同時(shí)滿足三個(gè)條件:a+b>c,a+c>b,b+c>a。請(qǐng)?zhí)羁铡?/p>
main()
{floata,b,c;
scanf("%f%f%f",&a,&b,&C);
if(())printf("YES\n");/*a、b、c能構(gòu)成三角形*/
elseprintf("NO\n");/*a、b、c不能構(gòu)成三角形*/
}
26.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體"項(xiàng)目主管"與實(shí)體"項(xiàng)目"的聯(lián)系屬于【】的聯(lián)系。
27.—個(gè)類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個(gè)方法提高了軟件的【】。
28.若a=1,b=2,則表達(dá)式!(x=A)‖(y=B)&&0的值是______。
29.下面fun函數(shù)的功能是將形參x的值轉(zhuǎn)換成二進(jìn)制數(shù),所得二進(jìn)制數(shù)的每一位數(shù)放在數(shù)組中返回,二進(jìn)制數(shù)的最低位放在下標(biāo)為0的元素中,其他依此類推。請(qǐng)?zhí)羁铡?/p>
Fun(intx,intb[])
{intk=0,r;
do
{r=x%2;
()=r;
x/=2;
}while(x);
}
30.若有下列定義(設(shè)int類型變量占兩個(gè)字節(jié)),則i=【】,j=【】。
inti=8,j=9;floatx=123.456;
print("i=%oj=%o\n",i,j);
31.以下程序的功能是【】。
main()
{intnum[10]={10,1,-20,-203,-21,2,-2,-2,11,-21};
intsum=0,i;
for(i=0;i<10;i++)
if(num[i]>0)
sum=num[i]+sum;
printf("sum=%6d",sum);
}
32.下列程序段的運(yùn)行結(jié)果是______。
charstr[]="ABCD",*p=str;
printf("%d\n",*(p+3));
33.設(shè)有定義“stmct{inta;floatb;charc}abc,*p_abc=&abc;”,則對(duì)結(jié)構(gòu)體成員a的引用方法可以是abc.a和p_abc______。
34.若有以下定義和語(yǔ)句:
intw[10]={23,54,10,33,47,98,72,80,61},*p;
p=w;
則通過(guò)指針p引用值為98的數(shù)組元素的表達(dá)式是【】。
35.以下程序的功能是計(jì)算:s=1+12+123+1234+12345。請(qǐng)?zhí)羁铡?/p>
main()
{intt=0,s=0,i;
for(i=1;i<=5;i++)
{t=i+______;s=s+t;}
printf("s=%d\n",s);
}
36.為了建立如圖所示的存儲(chǔ)結(jié)構(gòu)(即每個(gè)結(jié)點(diǎn)含兩個(gè)域,data是數(shù)據(jù)域,next是指向結(jié)點(diǎn)的指針域)。請(qǐng)?zhí)羁铡?/p>
structlink{chardata;【】;}node;
37.設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語(yǔ)句,且fun函數(shù)為void類型;請(qǐng)寫出fun函數(shù)的首部【】(要求形參名為b)。main(){doubles[10][22];intn;……fun(s);……}
38.mystrlen函數(shù)的功能是計(jì)算str所指字符串的長(zhǎng)度,并作為函數(shù)值返回。請(qǐng)?zhí)羁铡?/p>
intmystrlen(char*str)
{intI;
for(I=0;【】!='\n';I++);
return(I);}
39.以下程序運(yùn)行后輸入3,abcde<回車>,則輸出結(jié)果是【】。
#include<string.h>
move(char*str,intn)
{chartemp;inti;
temp=str[n-1];
for(i=n-1;i>0;i--)str[i]=str[i-1];
str[0]=temp;
}
main()
{chars[50];intn,i,z;
scanf("%d,%s",&n,s);
z=strlen(S);
for(i=1;i<=n;i++)move(s,z);
printf("%s\n",s);
}
40.在面向?qū)ο蠓椒ㄖ?,允許作用于某個(gè)對(duì)象上的操作稱為【】。
三、1.選擇題(20題)41.有以下程序:voidf(inta[],inti,intj){intt;if(i<j){t=a[i];a[i]=a[j];a[j]=t;f(a,i+1,j-1);}}main(){inti,aa[5]={1,2,3,4,5};f(aa,0,4);for(i=0;i<5;i++)printf("%d,",aa[i]);printf("\n");}執(zhí)行后輸出結(jié)果是()。
A.5,4,3,2,1,B.5,2,3,4,1,C.1,2,3,4,5,D.1,5,4,3,2,
42.在軟件工程中,高質(zhì)量的文檔是______、一致性和無(wú)二義性的。
A.安全性B.完整性C.組合性D.統(tǒng)一性
43.以下程序的輸出結(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];a[3][0]);}
A.650B.1470C.5430D.輸出值不定
44.若有下列說(shuō)明和語(yǔ)句,則對(duì)結(jié)構(gòu)體變量st中成員i的引用方式不正確的是()。Structstu{inti;intname;}st,*p;p=&st;
A.st.iB.*p.iC.(*p).iD.p->i
45.若有定義: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");}
46.下面程序段的運(yùn)行結(jié)果是
charstr[]="ABC",*p=str;
printf("%d\n",*(p+3));
A.67B.0C.字符′C′的地址D.字符′C′
47.以下不合法的字符常量是()。
A.'\018'B.'\'''C.'\\'D.'\xcc\
48.以下正確的說(shuō)法是
A.定義函數(shù)時(shí),形參的類型說(shuō)明可以放在函數(shù)體內(nèi)
B.return后邊的值不能為表達(dá)式
C.如果函數(shù)值的類型與返回值類型不一致,以函數(shù)值類型為準(zhǔn)
D.如果形參與實(shí)參類型不一致,以實(shí)參類型為準(zhǔn)
49.以下程序中函數(shù)setup的功能是返回形參指針s1和s2所指字符串中較小字符串的首地址:#include<stdio.h>#include<string.h>char*scmp(char*s1,char*s2){if(strcmp(s1,s2)<0)return(s1);elsereturn(s2);}main(){inti;charstring[20],str[3][20];for(i=0;i<3;i++)gets(str[i]);strcpy(string,scmp(str[0],str[1]));strcpy(string,scmp(string,str[2]));printf("%s\n",string);}若運(yùn)行時(shí)依次輸入:abcd、abba和abc3個(gè)字符串,則輸出結(jié)果為______。
A.abcdB.abbaC.abcD.abca
50.在最壞情況下,下列排序方法中時(shí)間復(fù)雜度最小的是()。
A.冒泡排序B.快速排序C.插入排序D.堆排序
51.以下描述中正確的是()。
A.由于do-while循環(huán)中循環(huán)體語(yǔ)句只能是一條可執(zhí)行語(yǔ)句,所以循環(huán)體內(nèi)不能使用復(fù)合語(yǔ)句
B.do-while循環(huán)由do開始,用while結(jié)束,在while(表達(dá)式.后面不能寫分號(hào)
C.在do-while循環(huán)體中,是先執(zhí)行一次循環(huán),再進(jìn)行判斷
D.do-while循環(huán)中,根據(jù)情況可以省略while
52.設(shè)ch是char型變量,其值為A,且有表達(dá)式:ch=(ch>='A'&&ch<='Z')?(ch+32):ch。該表達(dá)式的值是______。
A.AB.aC.ZD.z
53.有如下程序main(){chars[][5]={"abc","de","fgh"};printf("%c",s[2][6]);}其輸出為______。
A.不確定B.編譯錯(cuò)誤C.gD.輸出null字符
54.以下程序的輸出結(jié)果是______。structdate{long*a;structdate*next;doubleb;}too;printf("%d",sizeof(too));
A.20B.16C.14D.12
55.閱讀以下程序#include<stdio.h>main(){IntCase;floatprintF;printf("請(qǐng)輸入2個(gè)數(shù):");scanf("%d%f",&Case,&printF);printf("%d%f\n",Case,printF);}以下說(shuō)法正確的是()。
A.定義浯句出錯(cuò),Case是關(guān)鍵字,不能用作用戶自定義標(biāo)識(shí)符,printF不能用作用戶自定義標(biāo)識(shí)符
B.定義語(yǔ)句出錯(cuò),Int無(wú)法被識(shí)別
C.定義語(yǔ)句無(wú)錯(cuò),scanf不能作為輸入函數(shù)使用
D.定義語(yǔ)句無(wú)錯(cuò),printf不能輸出Case的值
56.算法一般都可以用______控制結(jié)構(gòu)組合而成。
A.循環(huán)、分支、遞歸B.順序、循環(huán)、嵌套C.循環(huán)、遞歸、選擇D.順序、選擇、循環(huán)
57.設(shè)計(jì)數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)屬于()。
A.需求分析B.概念設(shè)計(jì)C.邏輯設(shè)計(jì)D.物理設(shè)計(jì)
58.以下選項(xiàng)中可作為C語(yǔ)言合法整數(shù)的是A.10110BB.386C.0XffaD.x2a2
59.以下程序的運(yùn)行結(jié)果為______。main(){inti,f1,f2;f1=f2=1;for(i=0;i<4;i++){printf("%d%d",f1,f2);f1+=f2;f2+=f1;}}
A.1123581321
B.1122551010
C.1258981321
D.0112451521
60.有以下程序:main(){inta=1,b=2,m=0,n=0,k;k=(n=b>A)||(m=a<B);printf("%d,%d\n",k,m);}程序運(yùn)行后的輸出結(jié)果是
A.0,0B.0,1C.1,0D.1,1
四、選擇題(20題)61.軟件按其功能進(jìn)行分類,可分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于系統(tǒng)軟件的是
A.文字編輯軟件B.網(wǎng)頁(yè)瀏覽器C.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)D.視頻播放軟件
62.以下敘述中錯(cuò)誤的是()。
A.C程序在運(yùn)行過(guò)程中所有計(jì)算都以二進(jìn)制方式進(jìn)行
B.C程序在運(yùn)行過(guò)程中所有計(jì)算都以十進(jìn)制方式進(jìn)行
C.所有C程序都需要編譯鏈接無(wú)誤后才能運(yùn)行
D.C程序中字符變量存放的是字符的ASCIl碼值
63.
64.程序流程圖(PFD.中的菱形代表的是()。
A.數(shù)據(jù)流B.控制流C.加工步驟D.邏輯條件
65.有以下程序程序的運(yùn)行結(jié)果是()。
A.a=2,b=lB.a=2,b=2C.a=1,b=lD.a=1.b=0
66.
67.
68.
程序運(yùn)行后的輸出結(jié)果是()。
A.ABCDE\0FG\OUKB.ABCDUKC.UKD.EFGUK
69.
70.有以下程序程序執(zhí)行后輸出結(jié)果是()。
A.5.OOB.5C.5.2lD.0.0
71.有以下程序:
執(zhí)行后輸出結(jié)果是()。
A.58B.56C.45D.24
72.
以下程序執(zhí)行后sum的值是()。
main
{inti,sum;
for(i=1;i<6;i++)sum+=i:
printf("1%d\n",sum):
}
A.15B.14C.不確定D.0
73.
74.設(shè)有圖書(圖書編號(hào),書名,第一作者,出版社.、讀者(借書證號(hào),姓名,單位,職稱.和借閱(借書證號(hào),圖書編號(hào),借書日期,還書日期.三張表,則表借閱的關(guān)鍵字(鍵或碼.為()。
A.借書證號(hào),圖書編號(hào)
B.圖書編號(hào),借書日期
C.借書日期,還書日期
D.借書證號(hào),借書日期
75.下列關(guān)于數(shù)據(jù)庫(kù)設(shè)計(jì)的敘述中,正確的是()。
A.在需求分析階段建立數(shù)據(jù)字典
B.在概念設(shè)計(jì)階段建立數(shù)據(jù)字典
C.在邏輯設(shè)計(jì)階段建立數(shù)據(jù)字典
D.在物理設(shè)計(jì)階段建立數(shù)據(jù)字典
76.以下選項(xiàng)中關(guān)于程序模塊化的敘述錯(cuò)誤的是()。
A.可采用自底向上、逐步細(xì)化的設(shè)計(jì)方法把若干獨(dú)立模塊組裝成所要求的程序
B.把程序分成若干相對(duì)獨(dú)立、功能單一的模塊,可便于重復(fù)使用這些模塊
C.把程序分成若干相對(duì)獨(dú)立的模塊,可便于編碼和調(diào)試
D.可采用自頂向下、逐步細(xì)化的設(shè)計(jì)方法把若干獨(dú)立模塊組裝成所要求的程序
77.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.7,4.2,B.8,7,5,2,C.9,7,6,4,D.8,5,4,2,
78.
79.對(duì)于長(zhǎng)度為n的線性表,在最壞的情況下,下列各排序法所對(duì)應(yīng)的比較次數(shù)中正確的是
A.插入排序?yàn)閚/2B.插入排序?yàn)閚C.快速排序?yàn)閚D.快速排序?yàn)閚(n-1)/2
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:在字符串的最前端加入m個(gè)*號(hào),形成新串,并且覆蓋原串。例如,用戶輸入字符串a(chǎn)bcd(以Enter鍵結(jié)束),然后輸入m值為3,則結(jié)果為***abcd。注意:字符串的長(zhǎng)度最長(zhǎng)允許為79。請(qǐng)修改函數(shù)proc()中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.數(shù)組point中存放著m個(gè)人的成績(jī),請(qǐng)編寫函數(shù)fun().它的功能是:返回高于平均分的人數(shù),并將高于平均分的分?jǐn)?shù)放在high所指的數(shù)組中。例如,當(dāng)point數(shù)組中的數(shù)據(jù)為50,60,65,70.75,80.88,90,95時(shí),函數(shù)返回的人數(shù)應(yīng)該是5,high中的數(shù)據(jù)應(yīng)為75,80,88,90,95。請(qǐng)勿改動(dòng)main()函數(shù)與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入所編寫的若干語(yǔ)句。注意:部分源程序給出如下。試題程序:
參考答案
1.B
2.D
3.A解析:本題考查ifelse語(yǔ)句。第1個(gè)if語(yǔ)句,先判斷條件,發(fā)現(xiàn)a<b條件成立,執(zhí)行下列的語(yǔ)句;第2個(gè)if語(yǔ)句,先判斷條件,發(fā)現(xiàn)b!=3條件成立,執(zhí)行下列的語(yǔ)句:第3個(gè)if語(yǔ)句,先判斷條件,c=5,則!c條件不成立,執(zhí)行與其配對(duì)的else語(yǔ)句:第4個(gè)if語(yǔ)句,先判斷條件,d=0,條件不成立,則x=-1,結(jié)束循環(huán)。
4.C在C語(yǔ)言中,字母區(qū)分大小,所以break、char、return、switch都是C語(yǔ)言中的關(guān)鍵字,而Swithch不是。
5.CC)【解析】線性表是一種線性結(jié)構(gòu),由n(n≥O)個(gè)元素組成,所以線性表可以是空表。但是性表中,第一個(gè)結(jié)點(diǎn)沒(méi)有前件,最后一個(gè)結(jié)點(diǎn)沒(méi)有后件,其他結(jié)點(diǎn)有且只有一個(gè)前件和后件,所以選項(xiàng)C)是錯(cuò)誤的。
6.A
7.BT為結(jié)構(gòu)體類型名,可以用來(lái)定義結(jié)構(gòu)體變量。故本題答案為B選項(xiàng)。
8.B
\n當(dāng)邏輯運(yùn)算符“&&”兩邊的值是非零時(shí),邏輯表達(dá)式的值為真(即為1)。所以b=2&&(-1)=1,2%9=2,故a=2,故先算a/10=25/10=2。
\n
9.D在選項(xiàng)中,\\019,以0開頭的數(shù)都為八進(jìn)制數(shù),而八進(jìn)制的表示數(shù)字是0~7,所以答案選擇D。
10.C
11.A
12.B
13.Dgetmax函數(shù)接收兩個(gè)整型變量x、y,使用條件運(yùn)算符返回x和y中的較大值。main函數(shù)首先輸入a、b、c、d4個(gè)整數(shù)值,然后通過(guò)調(diào)用getmax函數(shù),輸出它們的最大值。假設(shè)x、y是整數(shù),選項(xiàng)A中,首先執(zhí)行“getmax(a,b)”,返回a、b中的較大值X,再執(zhí)行“getmax(x,c)”,返回x、c中的較大值y,最后執(zhí)行“getmax(y,d)”,返回y、d中的較大值,滿足題意,正確;選項(xiàng)B中,首先執(zhí)行“getmax(a,b)”,返回a、b的較大值X,再執(zhí)行“getmax(c,d)”,返回c、d中的較大值y,最后執(zhí)行“getmax(x,y)”,返回x、y中的較大值,正確;選項(xiàng)C中,首先執(zhí)行“getmax(c,d)”,返回c、d的較大值X,再執(zhí)行“getmax(b,x)”,返回b、x中的較大值y,最后執(zhí)行“getmax(a,y)”,返回a、y中的較大值,正確;選項(xiàng)D中,首先執(zhí)行“getmax(a,b)”,返回a、b的較大值X,再執(zhí)行“getmax(c,d)”,返回c、d中的較大值y,最后執(zhí)行逗號(hào)表達(dá)式“(x,y)”,返回值為7,不滿足題意。故本題答案為D選項(xiàng)。
14.D
15.D
16.A\nA。【解析】頭結(jié)點(diǎn)不僅標(biāo)識(shí)了表中首結(jié)點(diǎn)的位置,而且根據(jù)單鏈表(包含頭結(jié)點(diǎn))的結(jié)構(gòu),只要掌握了表頭,就能夠訪問(wèn)整個(gè)鏈表,因此增加頭結(jié)點(diǎn)的目的是為了便于運(yùn)算的實(shí)現(xiàn)。
\n
17.A本題考查指針,pl=&k表示P指向k的地址,則*p=k,依次類推,在對(duì)指針進(jìn)行賦值時(shí)沒(méi)有錯(cuò)誤。a=/*p+m賦值,在c語(yǔ)言中"/*"表示的注釋,所以答案選擇A。
18.D答案D
解析:在選項(xiàng)D中,n是一個(gè)整型的變量。C語(yǔ)言規(guī)定,在一維數(shù)組的定義中,其下標(biāo)只能是常量表達(dá)式,不能包含變量。
19.C解析:本題主要考查怎樣為嵌套定義的結(jié)構(gòu)中的成員賦值:由于worker中的birth是一個(gè)st型的結(jié)構(gòu),在給birth賦值時(shí),不能將birth作為一個(gè)整體,要用“.”運(yùn)算再深入一層訪問(wèn)到最基本的成員x、y、z。
20.C
21.k-1k\r\n-1解析:程序山使用了整型變量i、j、k,使用前應(yīng)先聲明,因此第1個(gè)空應(yīng)填變量k。i和j作為下標(biāo)的值,i被賦初值為0,j應(yīng)為下標(biāo)的最大值,下標(biāo)的最大值為數(shù)組的長(zhǎng)度減1。
22.軟件危機(jī)軟件危機(jī)
23.3535解析:函數(shù)swap(int*a,int*b)的功能是實(shí)現(xiàn)*a和*b中兩個(gè)數(shù)據(jù)的交換,在主函數(shù)中調(diào)用swap(p,q)后,形參指針變量a和b分別指向i和j,在swap(int*a,int*b)執(zhí)行完后,指針變量a和b分別指向j和i,而指針變量p,q所指向變量的值沒(méi)有發(fā)生變化,所以輸出結(jié)果為35。
24.7979解析:因?yàn)樵谡{(diào)用子函數(shù)時(shí)進(jìn)行的是數(shù)值傳遞,調(diào)用于函數(shù)并不能改變實(shí)參的值,所以經(jīng)過(guò)調(diào)用子函數(shù),c、d的值并沒(méi)有發(fā)生變化還是原來(lái)的值。
25.(a+b>C)&&(a+c>B)&&(b+c>A)(a+b>C)&&(a+c>B)&&(b+c>A)解析:本題主要考查運(yùn)算符邏輯與“&&”的用法。
26.一對(duì)多(或1∶N)一對(duì)多(或1∶N)解析:兩個(gè)實(shí)體集間的聯(lián)系實(shí)際上是實(shí)體集間的函數(shù)關(guān)系,這種函數(shù)關(guān)系可以有3種,即一對(duì)一(1∶1)的聯(lián)系、一對(duì)多(1∶N)或多對(duì)一(N∶1)的聯(lián)系和多對(duì)多(N∶N)的聯(lián)系。
27.可重用性可重用性解析:繼承的優(yōu)點(diǎn):相似的對(duì)象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序中的冗余,提高軟件的可重用性。
28.00解析:根據(jù)運(yùn)算符的運(yùn)算順序可知,該表達(dá)式最后運(yùn)算的是與(&&)運(yùn)算,而任何表達(dá)式與“0”進(jìn)行“與”運(yùn)算,結(jié)果都為0。
29.b[k++]b[k++]解析:本題的考查點(diǎn)是do-while語(yǔ)句。形參x默認(rèn)為十進(jìn)制,要想將一個(gè)十進(jìn)制的數(shù)轉(zhuǎn)換成二進(jìn)制,可以使用整除求余法,題中的程序段也表明了將使用這種方法,將一個(gè)十進(jìn)制的數(shù)轉(zhuǎn)換成二進(jìn)制要用這個(gè)十進(jìn)制數(shù)不斷的整除2,將每次的余數(shù)記錄下來(lái),直至無(wú)法再除,此時(shí),整除得到的第一個(gè)元素即為二進(jìn)制數(shù)的最低位,其余依次類推,所以在程序段中的橫線處,應(yīng)當(dāng)填寫“b[k++]”。
30.1011
31.計(jì)算數(shù)組num中大于零的數(shù)據(jù)之和計(jì)算數(shù)組num中大于零的數(shù)據(jù)之和
32.6868解析:本題考查如何用指針引用數(shù)組元素。本題先定義了一個(gè)指向字符型數(shù)組str的指針p,指針p指向數(shù)組str的首地址,p+3將指針指向str[3],*(p+3)指的是字符“D”,輸出時(shí)是以“%d”格式輸出的,即輸出其相應(yīng)ASCII碼值68。
33.若結(jié)構(gòu)體變量abc有成員a,并有指針p_abc指向結(jié)構(gòu)變量abe,則引用變量abe成員s的標(biāo)記形式有abe.a和p_abc->a。
34.*(p+5)
35.t*10或10*tt*10或10*t解析:本題要求累加一系列有規(guī)律的數(shù),從輸出結(jié)果來(lái)看,s保存的是最終結(jié)果,而s在循環(huán)體中,每次累加一個(gè)t,則說(shuō)明t在5次循環(huán)中分別等于1.12、123、1234、12345;而t每次循環(huán)等于“填空內(nèi)容”加上循環(huán)變量i,又因?yàn)閕在5次循環(huán)中分別等于1、2、3、4,5,所以t每次循環(huán)要加的“填空內(nèi)容”應(yīng)分別為0、10、120,1230,12340,這一系列值正好是前一次t的值的10倍.所以“填空內(nèi)容”應(yīng)是t*10。
36.structlink*next
37.
38.*(str+I)或str[I]*(str+I)或str[I]解析:str是指針變量,它指向字符型數(shù)據(jù),在循環(huán)過(guò)程中,可以用*(str+I)來(lái)訪問(wèn)字符串中的第I個(gè)元素,判斷是否為結(jié)束標(biāo)志,如果不是,I=I+1,繼續(xù)取下一個(gè)元素進(jìn)行判斷,直到*(str+I)的值為'\\0'為止,也可以用下標(biāo)的方式引用字符,如*(str+I)相當(dāng)于str[I]。
39.cdeabcdeab解析:本題move()函數(shù)的作用,是將形參s仕所指地址的連續(xù)n位循環(huán)右移1位,即讓str[n-1]=str[n-2],str[n-2]=str[n-3],…,str[1]=str[0],str[0]=str[n-1](原)。主函數(shù)中用了一個(gè)for循環(huán)調(diào)用move()函數(shù),共循環(huán)3次,所以數(shù)組s被循環(huán)右移了3位,故最后輸出的值為cdeab。
40.方法方法解析:在面向?qū)ο蠓椒ㄖ?,方法是指允許作用于某個(gè)對(duì)象上的各種操作。
41.A解析:在C語(yǔ)言中所謂函數(shù)的遞歸是指在調(diào)用一個(gè)函數(shù)的過(guò)程中,又出現(xiàn)了直接或間接調(diào)用該函數(shù)本身,直接調(diào)用該函數(shù)本身的稱為函數(shù)遞歸,而間接調(diào)用該函數(shù)稱為函數(shù)的間接遞歸調(diào)用。由程序可以看出函數(shù)f(a,i,j)為一遞歸函數(shù),其功能是當(dāng)i<j時(shí),將數(shù)組中的元素a[i]和a[j]交換,然后再調(diào)用函數(shù)f(a,i+1,j-1),將數(shù)組中a[i+1]和a[j--]交換,這樣一直遞歸到數(shù)組下標(biāo)i=j,可見(jiàn)該遞歸函數(shù)的作用是使數(shù)組中首尾元素依次互換。主函數(shù)中定義了一個(gè)長(zhǎng)度為5的數(shù)組aa并初始化,然后調(diào)用f(a,0,4),將數(shù)組a中的元素依次互換,故最后for循環(huán)輸出的數(shù)組aa中各元素的值為5、4、3、2、1,所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。
42.B
43.A解析:對(duì)未給出初始值的整數(shù)數(shù)組元素,被默認(rèn)初始化為零。
44.B解析:本題主要考查結(jié)構(gòu)指針:p=&st,訪問(wèn)結(jié)構(gòu)體的成員,可以通過(guò)結(jié)構(gòu)變量訪問(wèn),即st.i,也可以用等價(jià)的指針形式,即(*p).i和p->i。
45.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。
46.B解析:考查指向字符串的指針變量。在該題中,指針變量p指向的應(yīng)該是該字符串中的首地址,p+3指向的是字符串結(jié)束標(biāo)志'\\0'的地址,因而*(p+3)的值為0。
47.A解析:在選項(xiàng)A中,“\\”后跟著三個(gè)數(shù)字,是表示一個(gè)ASCII碼值等于這三位數(shù)字所組成的八進(jìn)制數(shù)數(shù)值的字符,但是八進(jìn)制數(shù)只能是由0-7這八個(gè)數(shù)字表示,而選項(xiàng)A中出現(xiàn)了數(shù)字8所以是不合法的。選項(xiàng)B是表示一個(gè)雙引號(hào)的轉(zhuǎn)義字符表示方法;選項(xiàng)C表示的是一個(gè)反斜桿;選項(xiàng)D表示一個(gè)ASCII值為十六進(jìn)制值“的字符。故應(yīng)該選擇A。
48.C解析:選項(xiàng)A)中定義函數(shù)時(shí),形參的類型說(shuō)明應(yīng)該放在形參表列內(nèi)說(shuō)明。老版本C語(yǔ)言中,對(duì)形參類型的聲明是放在函數(shù)定義的第2行,也就是不在第1行的括號(hào)內(nèi)指定形參的類型,而在括號(hào)外單獨(dú)指定。選項(xiàng)B)中return后面的值可以是一個(gè)表達(dá)式。選項(xiàng)D)中實(shí)參與形參的類型應(yīng)相同或賦值兼容。如果實(shí)參為整型而形參為實(shí)型,或者相反,則按不同類型數(shù)值的賦值規(guī)則進(jìn)行轉(zhuǎn)換,以形參類型為準(zhǔn)。
49.B解析:函數(shù)scmp的功能是比較兩個(gè)符號(hào)串的大小,返回值較小的那個(gè)符號(hào)串。str[0]中存放'abcd'、str[1]中存放'abba'、str[2]中存放'abc',執(zhí)行完語(yǔ)句strcpy(string,scmp(sty[0],sir[1]));后string中存放'abba',執(zhí)行完語(yǔ)句strcpy(string,scmp(string,str[2]));后string中存放'abba'。
50.D解析:在最壞情況下:冒泡排序需要的比較次數(shù)為n(n-1)/2;快速排序需要的比較次數(shù)也為n(n-1)/2;插入排序需要的比較次數(shù)也為n(n-1)/2;堆排序需要比較的次數(shù)為O(nlog2n)。可知,在最壞情況下,堆排序的時(shí)間復(fù)雜度最小,本題的正確答案為選項(xiàng)D。
51.C解析:do-while語(yǔ)句的一般形式為:do循環(huán)體語(yǔ)句while(表達(dá)式);,其中循環(huán)體語(yǔ)句可以是復(fù)合型語(yǔ)句,但必須用花括號(hào)括起來(lái)。while后必須要有分號(hào)作為語(yǔ)句的結(jié)束,在do-while循環(huán)中,不可以省略while。
52.B
53.A解析:由于s[2][6]表示字符串已超出了數(shù)組s的表示范圍,在C中不會(huì)劉數(shù)組越界進(jìn)行檢查,當(dāng)數(shù)組越界時(shí),會(huì)得到一個(gè)不確定的值。
54.D解析:指針類型占2個(gè)字節(jié),雙精度型占8個(gè)字節(jié),因此sizeof(too)=2+2+8=12
55.B解析:C語(yǔ)畝足一種大小寫敏感的語(yǔ)言,因此Int應(yīng)為int,而CaseprintF則可以使用。
56.D解析:算法的控制結(jié)構(gòu)給出了算法的基本框架,不僅決定了算法中各操作的執(zhí)行順序,也直接反映了算法的設(shè)計(jì)是否符合結(jié)構(gòu)化原則。一個(gè)算法一般都可以用順序、選擇、循環(huán)三種基本控制結(jié)構(gòu)組合而成。
57.DD?!窘馕觥课锢碓O(shè)計(jì)階段主要解決選擇文件存儲(chǔ)結(jié)構(gòu)和確定文件存取方法的問(wèn)題。物理設(shè)計(jì)階段包括:選擇存儲(chǔ)結(jié)構(gòu)、確定存取方法、選擇存取路徑、確定數(shù)據(jù)的存放位置。
58.C解析:本題考核的知識(shí)點(diǎn)是整數(shù)及常數(shù)的表示方法。在C語(yǔ)言中,整數(shù)常量可以用十進(jìn)制、八進(jìn)制和十六進(jìn)制來(lái)表示,選項(xiàng)A為二進(jìn)制表示,故選項(xiàng)A不正確;選項(xiàng)B是八進(jìn)制表示法,但在八進(jìn)制數(shù)中,各個(gè)位數(shù)只能為數(shù)字。到7中的一個(gè),而在選項(xiàng)B中,有一個(gè)數(shù)字8,故選項(xiàng)B不正確;選項(xiàng)C為十六進(jìn)制表示法正確:選項(xiàng)D中也為十六進(jìn)制表示法,但十六進(jìn)制數(shù)以O(shè)x開頭,故選項(xiàng)D不正確,所以,4個(gè)選項(xiàng)中選項(xiàng)c符合題意。
59.A
60.C解析:本題考查“邏輯或”運(yùn)算的特例。本題中執(zhí)行語(yǔ)句k=(n=b>a)||(m=a<b)時(shí),首先計(jì)算表達(dá)式(n=b>a)||(m=a<b)的值,因b=2,a=1,所以b>a成立,即得n=1,故表達(dá)式(n=b>a)||(m=a<b)的值為真,不再執(zhí)行表達(dá)式m=a<b,故執(zhí)行完表達(dá)式k=(n=b2>a)||(m=a<b)后,n=1、m=0、k=1。
61.C本題考查不同種類軟件的劃分。
應(yīng)用軟件是用戶可以使用的各種程序設(shè)計(jì)語(yǔ)言,以及用各種程序設(shè)計(jì)語(yǔ)言編制的應(yīng)用程序的集合,分為應(yīng)用軟件和用戶程序。應(yīng)用軟件包括辦公室軟件(文書處理器、檔案管理系統(tǒng)、文本編輯器)、互聯(lián)網(wǎng)軟件(即時(shí)通訊軟件、電子郵件客戶端、網(wǎng)頁(yè)瀏覽器FTP客戶端下載工具)、多媒體軟件(媒體播放器、圖像編輯軟件、音訊編輯軟件、視訊編輯軟件)、分析軟件(統(tǒng)計(jì)軟件、數(shù)字計(jì)算)、協(xié)作軟件、商務(wù)軟件、會(huì)計(jì)軟件(企業(yè)工作流程分析軟件)。
系統(tǒng)軟件是指控制和協(xié)調(diào)計(jì)算機(jī)及外部設(shè)備,支持應(yīng)用的軟件開發(fā)和運(yùn)行的系統(tǒng),是無(wú)須用戶干預(yù)的各種程序的集合,主要功能是調(diào)度、監(jiān)控和維護(hù)計(jì)算機(jī)系統(tǒng);負(fù)責(zé)管理計(jì)算機(jī)系統(tǒng)中各種獨(dú)立的硬件,使得它們可以協(xié)調(diào)工作。系統(tǒng)軟件使得計(jì)算機(jī)使用者和其他軟件將計(jì)算機(jī)當(dāng)做一個(gè)整體而不需要顧及到底層每個(gè)硬件是如何工作的。系統(tǒng)軟件主要包括:操作系統(tǒng)(Windows、Linux、DOS、UNIX)、語(yǔ)言處理程序(匯編語(yǔ)言匯編器、C語(yǔ)言編譯、連接器)、高級(jí)語(yǔ)言系統(tǒng)和各種服務(wù)性程序(數(shù)據(jù)庫(kù)管理、存儲(chǔ)器格式化)等。
支撐軟件是支撐各種軟件的開發(fā)與維護(hù)的軟件,又稱為軟件開發(fā)環(huán)境,如IBM公司的WebSphere、微軟公司的Studio.NET,它主要包括環(huán)境數(shù)據(jù)庫(kù)、各種接口軟件和工具組。
選項(xiàng)A、B、D都屬于應(yīng)用軟件。
62.BC程序在運(yùn)行過(guò)程中的所有計(jì)算都以二進(jìn)制方式進(jìn)行,所以B選項(xiàng)錯(cuò)誤。
63.C
64.D程序流程圖是軟件設(shè)計(jì)過(guò)程中常用的圖形描述工具之一。構(gòu)成程序流程圖的最基本符號(hào)有:“→”或“↓”表示控制流,“口”表示加工步驟,“
”表示邏輯條件。
65.Acase常量表達(dá)式只是起語(yǔ)句標(biāo)號(hào)作用,并不是該處進(jìn)行條件判斷。在執(zhí)行switch語(yǔ)句時(shí),根據(jù)switch的表達(dá)式,找到與之匹配的case語(yǔ)句,就從該case-子句執(zhí)行下去,不再進(jìn)行判斷。直到碰到break競(jìng)語(yǔ)句結(jié)束為止。因此執(zhí)行內(nèi)層switch
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業(yè)服務(wù)行業(yè)市場(chǎng)分析及前景展望
- XX中學(xué)2026年春季學(xué)期初二年級(jí)語(yǔ)文教學(xué)反思與改進(jìn)計(jì)劃
- 2025-2026第二學(xué)期(2026春季學(xué)期)學(xué)校德育工作計(jì)劃附詳細(xì)工作安排
- 非標(biāo)設(shè)備出廠檢驗(yàn)與包裝手冊(cè)
- 農(nóng)業(yè)環(huán)保技術(shù)與設(shè)施租賃協(xié)議方案書
- 采購(gòu)管理標(biāo)準(zhǔn)化作業(yè)流程模板
- 銷售團(tuán)隊(duì)激勵(lì)方案制定工具銷售業(yè)績(jī)考核與激勵(lì)體系
- 家禽養(yǎng)殖與飼養(yǎng)管理實(shí)操手冊(cè)
- 鍋爐水處理系統(tǒng)運(yùn)行與管控手冊(cè)
- 道路中央分隔帶養(yǎng)護(hù)手冊(cè)
- 施工現(xiàn)場(chǎng)臨時(shí)用電:配電箱一級(jí)二級(jí)三級(jí)定義及管理規(guī)范
- 汽車電子控制技術(shù)課件
- 2024年度高速公路機(jī)電設(shè)備維護(hù)合同:某機(jī)電公司負(fù)責(zé)某段高速公路的機(jī)電設(shè)備維護(hù)2篇
- 《城鎮(zhèn)液化石油氣加臭技術(shù)規(guī)程》
- 2024-2025學(xué)年上學(xué)期南京初中語(yǔ)文九年級(jí)期末試卷
- 新高考數(shù)學(xué)之圓錐曲線綜合講義第26講外接圓問(wèn)題(原卷版+解析)
- 中藥湯劑煎煮技術(shù)規(guī)范-公示稿
- 新版出口報(bào)關(guān)單模板
- 微型課題研究的過(guò)程與方法課件
- 藥學(xué)導(dǎo)論緒論-課件
- 14K118 空調(diào)通風(fēng)管道的加固
評(píng)論
0/150
提交評(píng)論