![2022-2023年山東省濰坊市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)預(yù)測試題(含答案)_第1頁](http://file4.renrendoc.com/view/08ec62e772e94086cbcee3aee8ddef7d/08ec62e772e94086cbcee3aee8ddef7d1.gif)
![2022-2023年山東省濰坊市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)預(yù)測試題(含答案)_第2頁](http://file4.renrendoc.com/view/08ec62e772e94086cbcee3aee8ddef7d/08ec62e772e94086cbcee3aee8ddef7d2.gif)
![2022-2023年山東省濰坊市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)預(yù)測試題(含答案)_第3頁](http://file4.renrendoc.com/view/08ec62e772e94086cbcee3aee8ddef7d/08ec62e772e94086cbcee3aee8ddef7d3.gif)
![2022-2023年山東省濰坊市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)預(yù)測試題(含答案)_第4頁](http://file4.renrendoc.com/view/08ec62e772e94086cbcee3aee8ddef7d/08ec62e772e94086cbcee3aee8ddef7d4.gif)
![2022-2023年山東省濰坊市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)預(yù)測試題(含答案)_第5頁](http://file4.renrendoc.com/view/08ec62e772e94086cbcee3aee8ddef7d/08ec62e772e94086cbcee3aee8ddef7d5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2022-2023年山東省濰坊市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)預(yù)測試題(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.若有定義“intx=12,y=8,z;”,在其后執(zhí)行語句“z=0.9+x/y;”,則z的值為()。
A.1B.1.9C.2D.2.4
2.有以下程序
#include<stdio.h>
voidfun(intP)
{intd=2;
P=d++;printf(“%d”,P);}
main()
{inta=1;
fun(A);prinff(“%.d\n”,A);}
程序運(yùn)行后的輸出結(jié)果是A.32B.12C.21D.22
3.C語言函數(shù)中未指定存儲類的變量,其隱含類別是()
A.autoB.staticC.registerD.void
4.按照“先進(jìn)后出”原則組織數(shù)據(jù)的結(jié)構(gòu)是()。
A.隊(duì)列B.棧C.雙向鏈表D.二叉樹
5.對于下述說明,不能使變量p->b的值增1的表達(dá)式是______。structexm{inta;intb;floatc}*p;
A.++p->bB.++(p++)->bC.p->b++D.(++p)->b++
6.下列敘述中正確的是()。
A.在C語言中,預(yù)處理命令行都以“#”開頭
B.預(yù)處理命令行必須位于C語言源程序的起始位置
C.“include<stdio.h>”必須放在C語言程序的開頭
D.C語言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能
7.在順序表{2,5,7,10,14,15,18,23,35,41,52}中,用二分法查找關(guān)鍵碼12需做()次關(guān)鍵碼比較。
A.2B.3C.4D.5
8.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。A.2,14,3,18,4,18
B.1,14,2,18,3,18
C.2,14,3,18,4,22
D.1,14,2,18,3,18,4,18
9.對以下四個序列用直接插入排序方法由小到大進(jìn)行排序時(shí),元素比較次數(shù)最少的是()
A.89,27,35,78,41,15
B.27,35,41,16,89,70
C.15,27,46,40,64,85
D.90,80,45,38,30,25
10.一個隊(duì)列的入隊(duì)序列是1,2,3,4,則隊(duì)列的輸出序列是()。
A.4,3,2,1B.l,4,3,2C.1,2,3,4D.3,2,4,1
11.
下列程序的輸出結(jié)果是()。
#include<stdio.h>
main
{inta[2][3]={{1,2,3),{4,5,6)),(*p)[3],i;
p=a;
for(i=0;i<3;i++)
{if(i<2)
p[1][i]=p[1][i]-1;
else
p[1][i]=1;
}
printf("%d\n",a[o][1]+a[1][1]+a[1][2]);
}
A.8B.7C.12D.9
12.有以下程序:#include<stdio.h>main(){FILE*fp;charstr[10];fp=fopen(“myfile.dat”,“w”);fputs(“abc”,fp);fclose(fp);fp=fopen(“myfile.dat”,“a+”);fprintf(fp,“%d”,28);rewind(fp);fscanf(fp,“%s”,str);puts(str);fclose(fp);}程序的運(yùn)行結(jié)果是()。
A.abcB.28cC.abc28D.因類型不一致而出錯
13.在一個帶頭結(jié)點(diǎn)的單鏈表HL中,若要在第一個元素之前插入一個由指針p指向的結(jié)點(diǎn),應(yīng)該使用的語句為()
A.HL=p;p->next=HL;
B.p->next=HL;HL=p;
C.p->next=HL->next;HL->next=p;
D.p->next=HL;p=HL;
14.以下說法錯誤的是A.A.高級語言都是用接近人們習(xí)慣的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式
B.計(jì)算機(jī)只能處理由0和1的代碼構(gòu)成的二進(jìn)制指令或數(shù)據(jù)
C.C語言源程序經(jīng)過C語言編譯程序編譯之后生成一個后綴為.EXE的二進(jìn)制文件
D.每一種高級語言都有它對應(yīng)的編譯程序
15.合法的main函數(shù)命令參數(shù)形式是()。
A.main(inta,char*c[])
B.main(intarc,char**arv)
C.main(intargc,char*argv)
D.main(intargv,char*argc[])
16.有以下程序#include<stdio.h>intfun(chars[]){intn=0;while(*s<=9&&*s>=0){n=10*n+*s-o;s++;)return(n);}main{chars[10]={6,1,*,4,*,9,*,0,*);printf("%d",fun(s));}程序運(yùn)行的結(jié)果是()。A.9B.61490C.61D.5
17.程序流程圖中帶有箭頭的線段表示的是()。
A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系
18.
19.若有函數(shù)voidfun(doublea[]。int*n){…}以下敘述中正確的是()。A.調(diào)用fun函數(shù)時(shí)只有數(shù)組執(zhí)行按值傳送,其他實(shí)參和形參之間執(zhí)行按地址傳送
B.形參a和n都是指針變量
C.形參a是一個數(shù)組名,n是指針變量
D.調(diào)用fun函數(shù)時(shí)將把double型參數(shù)組元素一一對應(yīng)地傳送給形參a數(shù)組
20.有以下程序
#include<stdio.h>
main()
{charch[3][5]={“AAAA”,”BBB”,”CC”};
printf(“%s\n”,ch[1];)
}
程序運(yùn)行后的輸出結(jié)果是()A.A.AAAA
B.CC
C.BBBCC
D.BBB
二、2.填空題(20題)21.fseek函數(shù)的正確調(diào)用形式是【】。
22.在軟件測試中,動態(tài)測試和靜態(tài)測試手段只能發(fā)現(xiàn)程序中的錯誤,而不能證明程序中不存在錯誤,只有【】證明才有可能證明程序的正確性。
23.棧的基本運(yùn)算有三種:入棧、退棧和【】。
24.軟件測試分為白箱(盒)測試和黑箱(盒)測試?;韭窂綔y試方法屬于()測試。
25.以下程序的輸出結(jié)果是【】。
main()
{char*p[]={"BOOL","OPK","H","SP"};
inti;
for(i=3;i>0;i--,i--)printf("%c",*p[i]);
printf("\n");}
26.下列程序的輸出結(jié)果是______。
10ngfun5(intn)
{longs;
if((n==1)‖(n==2))
s=2;
else
s=n+fun5(n-1);
return(s);
}
main()
{longx;
x=fun5(4);
printf("%1d\n",x);}
27.以下程序運(yùn)行后的輸出結(jié)果是【】。
#include<stdio.h>
main()
{intp=30;
printf("%d\n",(p/3>0?p/10:p%3));
}
28.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)和存儲結(jié)構(gòu),循環(huán)隊(duì)列屬于______結(jié)構(gòu)。
29.設(shè)Y是int型變量,請寫出判斷Y為奇數(shù)的關(guān)系表達(dá)式【】。
30.當(dāng)執(zhí)行以下程序時(shí),輸入1234567890<回車>,則其中while循環(huán)體將執(zhí)行()次。
#include<stdio.h>
main()
{charch;
while((ch=getchar())=='0')printf("#");
}
31.以下程序運(yùn)行后的輸出結(jié)果是()。
#include
char*ss(char*s)
{char*p,t;
P=s+1;t=*s;
while(*p){*(P-1)=*P;P++;}
*(P-1)=t;
returns;
}
main()
{char*p,str[10]="abcdefgh";
p=ss(str);
printf("%s\n",p);
}
32.語句“int(*ptr)();”的含義是______是指向函數(shù)的指針,該函數(shù)返回一個血型數(shù)據(jù)。
33.以下程序的運(yùn)行結(jié)果是()。main(){inta=1,b=2,c;if(a>B)c=1;elseif(a==B)c=0;elsec=-1;printf("%d\n",C);}
34.當(dāng)輸入19、2時(shí),下列程序的運(yùn)行結(jié)果為【】;輸入254、16時(shí),則程序的運(yùn)行結(jié)果是【】。
main()
{chardata_symbols[17]="0123456789abcdefghijklmnopqrstuvwxyz";
inti=0,t,subscript,data_converted[32];
longnumber;
while(1)
{scanf("%ld,%d",&number,&t);
if(number>=O&&t>=2&&t<=16)break;
}
do
{dataconverted[i++]=number%t;
number=number/t;
}
while(number!=0);
for(--i;i>=0;--i)
{subscript=data_converted[i];
printf("%c",data_symbols[subscript]);
}
printf("\n");
}
35.為了便于對照檢查,測試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的【】兩部分組成。
36.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
/inti,j,a[][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)a[j][i]=0;
for(i=0;i<3;i++)
{for(j=0;j<3;j++)printf("%d",a[i][j]);
printf("\n");
}
}
37.軟件維護(hù)活動包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、【】維護(hù)和預(yù)防性維護(hù)。
38.一個算法的空間復(fù)雜度是指該算法所耗費(fèi)的【】。
39.以下程序的運(yùn)行結(jié)果是()。#defineA4#defineB(x)A*x/2main(){floatc,a=8.0;c=B(A;printf("%f\n",C);}
40.按“先進(jìn)后出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是[]。
三、1.選擇題(20題)41.為了使模塊盡可能獨(dú)立,要求()。
A.內(nèi)聚程度要盡量高,耦臺程度要盡量強(qiáng)
B.內(nèi)聚程度要盡量高,耦合程度要盡量弱
C.內(nèi)聚程度要盡量低,耦合程度要盡量弱
D.內(nèi)聚程度要盡量低,耦合程度要盡最強(qiáng)
42.若以“葉”方式打開一個己存在的文件,則下列敘述正確的是()。
A.文件打開時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件末尾,可以進(jìn)行添加或讀操作
B.文件打開時(shí),原有文件內(nèi)容不被刪除,只能進(jìn)行讀操作
C.文件打開時(shí),原有文件內(nèi)容被刪除,只能進(jìn)行寫操作
D.以上3種說法都不正確
43.設(shè)定義下列結(jié)構(gòu)體,結(jié)構(gòu)體變量p的出生年份賦值正確的語句是()。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;
44.有以下程序:main(){inti,s=0;for(i=1;i<10;i+=2)s+=i+1;printf("%d\n",s);}程序執(zhí)行后的輸出結(jié)果是()。
A.自然數(shù)1~9的累加和B.自然數(shù)1~10的累加和C.自然數(shù)1~9中奇數(shù)之和D.自然數(shù)1~10中偶數(shù)之和
45.設(shè)a、b、c、d、m.n均為血型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達(dá)式(m=a>b)&&(n=c>d)運(yùn)算后,n的值為______。
A.0B.1C.2D.3
46.設(shè)有以下語句:charstr1[]="string",str2[8],*str3,*str4=="string;則______不是對庫函數(shù)的正確調(diào)用。
A.strcpy(str1,"HELLO1");
B.strcpy(str2,"HELLO2");
C.strcpy(str3,"HELLO3");
D.strcpy(str4,"HELLO4")
47.有以下函數(shù):intfun(char*s){char*t=s;while(*t++);return(t-s)該函數(shù)的功能是______。
A.比較兩個字符串的大小
B.計(jì)算s所指字符串占用內(nèi)存字節(jié)個數(shù)
C.計(jì)算s所指字符串的長度
D.將s所指字符串復(fù)制到字符串t中
48.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是______。
A.程序的規(guī)模B.程序的易讀性C.程序的執(zhí)行效率D.程序的可移植性
49.有以下程序:main(){inta;charc=10;floatf=100.0;doublex;a=f/=c*=(x=6.5);printf("%d%d%3.1f%3.1f\n",a,c,f,x);}程序運(yùn)行后的輸出結(jié)果是______。
A.16516.5B.1651.56.5C.1651.06.5D.2651.56.5
50.有以下程序:streetSTU{charnum[10];floatscore[3];};main(){structSTUs[3]={{"20021",90,95,85},{"20022",95,80,75},{"20023",100,95,90}},*p=s,inti;floatsum=0;for(i=0;i<3,i++)sum=sum+p->score[i];printf("%6.2f\n",sum);}程序運(yùn)行后的輸出結(jié)果是()。
A.260B.270C.280D.285
51.數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識的圖符不屬于數(shù)據(jù)流圖合法圖符的是()
A.控制流B.加工C.數(shù)據(jù)存儲D.源和潭
52.當(dāng)a=1、b=3、c=5、d=4時(shí),執(zhí)行下面一段程序:if(a<B)if(c<D)x=1;elseif(a<C)if(b<D)x=2;elsex=3;elesx=6;elsex=7;程序執(zhí)行后,x的值為()
A.1B.2C.3D.6
53.從未排序序列中依次取出元素與已排序序列中的元素作比較,將取出的元素放入已排序序列中的正確位置上,此方法稱為______。
A.歸并排序B.選擇排序C.交換排序D.插入排序
54.請讀程序:#include<stdio.h>#include<string.h>main(){char*s1="AbCdEf",*s2="aB";s1++;s2++;printf("%d\n",strcmp(s1,s2));}上面程序的輸出結(jié)果是______。
A.正數(shù)B.負(fù)數(shù)C.零D.不確定的值
55.若有說明chars1[30]="abc",s2[]="defghi";,則在使用函數(shù)strcat(s1,s2)后,結(jié)果是()。
A.s1的內(nèi)容更新為abcdefgi
B.s1的內(nèi)容更新為defghi\0
C.s1的內(nèi)容更新為defghiabc\0
D.s1的內(nèi)容更新為abcdefghi\0
56.閱讀以下程序#include<stdio.h>main(){IntCase;floatprintF;printf("請輸入2個數(shù):");scanf("%d%f",&Case,&printF);printf("%d%f\n",Case,printF);}以下說法正確的是()。
A.定義浯句出錯,Case是關(guān)鍵字,不能用作用戶自定義標(biāo)識符,printF不能用作用戶自定義標(biāo)識符
B.定義語句出錯,Int無法被識別
C.定義語句無錯,scanf不能作為輸入函數(shù)使用
D.定義語句無錯,printf不能輸出Case的值
57.下列工具中為需求分析常用工具的是()。
A.PADB.PFDC.N-SD.DFD
58.有下列程序:main(){inti;for(i=1;i<=40;i++){if(i++%5==0)if(++i%8==0)printf("%d",i);}printf("\n");}執(zhí)行后的輸出結(jié)果是()。
A.5B.24C.32D.40
59.若fp是指向某文件的指針,且已讀到此文件的末尾,則函數(shù)feof(fp)的返回值是_______。
A.EOFB.0C.非零值D.NULL
60.下面程序段的輸出結(jié)果是______。char*s="abcde";s+=2;printf("%d",s);
A.cdeB.字符'c'C.字符'c'的地址D.無確定的輸出結(jié)果
四、選擇題(20題)61.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.AfternoonB.ftemoonC.MorningD.oming
62.
有以下程序
#include<stdi0.h>
voidfun(intn,int*p)
(intf1,f2;
if(n==1||n==2)*p=1;
else
{fun(n-1,&f1);fun(n-2,&f2);
*p=f1+f2;
}
}
main
{ints;
fun(3,&s);printf("%d",s);
}
程序的運(yùn)行結(jié)果是()。
A.2B.3C.4D.5
63.下列敘述中不正確的是。
A.算法的效率不僅與問題的規(guī)模有關(guān),還與數(shù)據(jù)的存儲結(jié)構(gòu)有關(guān)
B.算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量
C.?dāng)?shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)是一一對應(yīng)的
D.算法的時(shí)間復(fù)雜度與空間復(fù)雜度不一定相關(guān)
64.若有以下程序段輸出結(jié)果:是()。
A.4B.8C.16D.2
65.
66.
67.
68.有以下程序
#include"stdio.h"
voidfun(int*a,int*b,intc)
{c=*a+*b;}
main()
{inta[2]={6,9},c=0;
fun(a,a+1,&c);
printf("%d\n",c);
}
程序輸出的結(jié)果是
A.6B.9
C.0D.15
69.
已有定義:charc;,程序前面已在命令行中包含ctype.h文件,不能用于判斷c中的字符是否為大寫字堪的表達(dá)式是()。
A.isupper(c)
B.A<=c<=Z
C.A<=c&&c<=Z
D.c<=(z-32)&&(a-32)<=c
70.有以下程序:
#include<stdio.h>
inta=1,b=2:
voidfunl(inta,intb)
{printf("%d%d",a,b);}
voidfun2()
{a=3;b=4;}
main()
{funl(5,6);fun2();
printf("%d%d\n",a,b);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.1256
B.5634
C.5612
D.3456
71.
有以下程序:
intfun(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
72.在函數(shù)中默認(rèn)存儲類型說明符的變量應(yīng)該是________存儲類型。
A.內(nèi)部靜態(tài)B.外部C.自動D.寄存器
73.標(biāo)準(zhǔn)庫函數(shù)fgets(s,n,file)的功能是()。
A.從文件file中讀取長度為n的字符串存入字符數(shù)s由
B.從文件file中讀取長度不超過n-1個字符的字符放到字符數(shù)組S中
C.從文件file中讀到n個字符串存入字符數(shù)組s中
D.從文件file中讀取長度為n-1個字符的字符串存字符數(shù)組S中
74.在軟件設(shè)計(jì)中不使用的工具是()。
A.系統(tǒng)結(jié)構(gòu)圖B.PAD圖C.數(shù)據(jù)流圖(DFD圖)D.程序流程圖
75.
設(shè)a、b、c、d、m、n均為int型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達(dá)式(m=a>b)&&(n—c>d)運(yùn)算后,n的值是()n
A.0B.1C.2D.3
76.(74)用鏈表表示線性表的優(yōu)點(diǎn)是()
A.便于插入和刪除操作
B.數(shù)據(jù)元素的物理順序與邏輯順序相同
C.花費(fèi)的存儲空間較順序存儲少
D.便于隨機(jī)存取
77.鏈表不具有的特點(diǎn)是()。
A.不必事先估計(jì)存儲空間B.可隨機(jī)訪問任意元素C.插入、刪除不需要移動元素D.所需空間與線性表長度成正比
78.若有下面說明和定義:
structtest
{intm1;charm2;floatm3;
unionuu(charu1[5];intu2[2];)ua;
}myaa;
則sizeof(structtest)的值是()。
A)20B)16
C)14D)9
79.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
A.abc28B.28cC.abcD.因類型不一致而出錯
80.以下選項(xiàng)中能表示合法常量的是()。
A.1,200B.1.5E2.0C.”\”D.”\007”
五、程序改錯題(1題)81.下列給定程序中,fun()函數(shù)的功能是:求3個數(shù)的最小公倍數(shù),例如,給變量a、b、c、分別輸入15、11、2,則輸出結(jié)果應(yīng)當(dāng)是330。請修改函數(shù)中的錯誤,得出正確的結(jié)果。注意:不要改動main()函數(shù),不能增行或減行,也不能更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.請編寫一個函數(shù)proc(),它的功能是將一個數(shù)字字符串轉(zhuǎn)換為一個整數(shù)(不得調(diào)用C語言提供的將字符串轉(zhuǎn)為整數(shù)的函數(shù))。
例如,若輸入字符串“1234”,則函數(shù)把它轉(zhuǎn)換為整數(shù)值1234。
注意:部分源程序給出如下。
請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。
試題程序:
參考答案
1.A在表達(dá)式“z=0.9+x/y”中,先計(jì)算“3.6-2”,結(jié)果為1;再計(jì)算“0.9+1”,結(jié)果為1.9。因?yàn)樽兞縵為整型,所以z的值為1。故本題答案為A選項(xiàng)。
2.C程序運(yùn)行后,首先輸出的是p的值,然后再輸出a的值。p=d++,得到p的值為d的初始值2;a的值不變,仍為1。
3.A
4.B棧是線性表的一種,其插入和刪除運(yùn)算都只在表的一端進(jìn)行。進(jìn)行插入、刪除的一端稱為棧頂,封閉的一端稱為棧底。棧頂元素是最后被插入的元素,不是最后被刪除的元素,是按先進(jìn)后出的原則組織數(shù)據(jù)的。
5.D解析:p->b應(yīng)作為一個整體看待,++p->b和p->b++都使變量b增1,++(p++)->b先使b增1,再使p后移,D中表達(dá)式的含義是使p+1所指結(jié)構(gòu)體變量中的成員b的值增1。
6.A預(yù)處理命令以“#”開頭,一般在源文件的最前面書寫,但不是必須在起始位置書寫,所以B、C選項(xiàng)錯誤。C語言的預(yù)處理能夠?qū)崿F(xiàn)宏定義和條件編譯的功能,所以D選項(xiàng)錯誤。故本題答案為A選項(xiàng)。
7.B
8.A程序定義整型變量a和i,其中a的初值為7。for循環(huán)中,循環(huán)變量i的取值為1,2,3。循環(huán)體中判斷a的取值,當(dāng)a>14時(shí),執(zhí)行break跳出循環(huán);當(dāng)a取值為奇數(shù)時(shí),a%2==1,a自增3,執(zhí)行continue繼續(xù)執(zhí)行循環(huán)體;當(dāng)a取值為偶數(shù)時(shí),a%2==0,a自增4,輸出i和a的值。i取值為1時(shí),a取值為7,自增3后a的值為10,執(zhí)行下一個循環(huán)。i取值為2時(shí),a取值為10,自增4后a的值為14,輸出2,14。i取值為3時(shí),a取值為14,自增4后a的值為18,輸出3,18。i取值為4時(shí),a取值為18,循環(huán)終止,輸出4,18。綜上,程序輸出:2,14,3,18,4,18。本題答案為A選項(xiàng)。
9.C
10.C
11.B
\n本題考查for循環(huán)及if…else語句嵌套,第1次執(zhí)行for循環(huán),p[1][0]=p[1][0]=p[1][0]-1=3;第2次執(zhí)行for循環(huán),p[1][1]=p[1][1]-1=4;第3次執(zhí)行for循環(huán),p[1][2]=l,最后輸出的是a[0][1]+a[1][1]+a[1][2]=2+4+1=7。
\n
12.Cfprintf函數(shù)將內(nèi)容寫入硬盤的文件,fputs函數(shù)將字符串寫入文件,最終文件的內(nèi)容為abc28。故本題答案為C選項(xiàng)。
13.C
14.C本題主要考查我們對C語言一些基礎(chǔ)知識的掌握情況。下面分別分析本題的四個選項(xiàng)。
由于高級程序設(shè)計(jì)語言具有可讀寫、可理解性好等特點(diǎn),這就要求高級程序設(shè)計(jì)語言用接近人們習(xí)慣的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式,選項(xiàng)A的說法正確。
在計(jì)算機(jī)中,機(jī)器可以接受和處理的只能是由0和1組成的二進(jìn)制代碼,用高級語言編寫的程序都需要經(jīng)過編譯和連接,使其轉(zhuǎn)化為二進(jìn)制代碼才能被機(jī)器執(zhí)行。因此,選項(xiàng)B的說法正確。
C語言源程序經(jīng)過C語言編譯程序編譯之后生成一個后綴為.OBJ的二進(jìn)制文件(稱為目標(biāo)文件);最后要由“連接程序”把此.OBJ文件與C語言提供的各種庫函數(shù)連接起來生成一個后綴為.EXE的可執(zhí)行文件。因此,選項(xiàng)C的說法不正確。
由于高級語言編寫的程序都需要經(jīng)過編譯和連接,才能被計(jì)算機(jī)執(zhí)行,因此,每一種高級語言都有它對應(yīng)的編譯程序,D選項(xiàng)的說法正確。
15.C在C語言中,main函數(shù)也可以有參數(shù),例如,main(intar90,char*argv),argc是指字符串的指針數(shù)組,而其他幾項(xiàng)表達(dá)不正確。
16.C在fun函數(shù)中,while循環(huán)的功能是逐個取字符數(shù)組s的字符判斷其是否是數(shù)字。若是則將這些數(shù)字組成一個數(shù)保存到變量n中,并返回變量n的值。
17.C解析:程序流程圖是人們對解決問題的方法、思路或算法的一種描述。其中,圖框表示各種操作的類型,圖框中的文字和符號表示操作的內(nèi)容,流程線表示操作的先后次序。帶箭頭的線段在數(shù)據(jù)流程圖中表示數(shù)據(jù)流。帶箭頭的線段在程序流程圖中表示控制流。題中給出的選項(xiàng)中,在圖元之間用帶有箭頭的線段表示圖元關(guān)系。在模塊之間用帶有箭頭的線段表示調(diào)用關(guān)系。構(gòu)成程序流程圖的基本圖符及含義:→或↓表示控制流;□表示加工步驟;
表示邏輯條件。
18.A
19.B\n本題考查函數(shù)中數(shù)組和指針的傳值,數(shù)組a[]在參數(shù)傳遞時(shí),是傳遞的數(shù)組a的首地址,所以形參a和n都是指針變量。。
\n
20.Dch[1]即輸出的為第二個字符串,即BBB。
21.fseek(文件指針位移量起始點(diǎn))fseek(文件指針,位移量,起始點(diǎn))解析:本題考查函數(shù)fseek的用法。fseek函數(shù)的調(diào)用形式為:
fseek(文件指針,位移量,起始點(diǎn))
“起始點(diǎn)”用0,1或2代替,其中,0代表“文件開始”;1為“當(dāng)前位置”;2為“文件末尾”。“位移量”指以“起始點(diǎn)”為基點(diǎn),向前移動的字節(jié)數(shù)。ANSIC和大多數(shù)C版本要求位移量是long型數(shù)據(jù),這樣當(dāng)文件的長度大于64k時(shí)不致出現(xiàn)問題。ANSIC標(biāo)準(zhǔn)規(guī)定在數(shù)字的末尾加一個字母L,就表示long型。
22.程序正確性程序正確性
23.讀棧頂元素讀棧頂元素解析:棧的基本運(yùn)算有三種:入棧、退棧和讀棧頂元素。
入棧運(yùn)算是指在棧頂位置插入一個新元素。這個運(yùn)算有兩個基本操作:首先將棧頂指針進(jìn)一(即top加1),然后將新元素插入到棧頂指針指向的位置。
退棧運(yùn)算是指取出棧頂元素并賦給一個指定的變量。這個運(yùn)算有兩個基本操作:首先將棧頂元素(棧頂指針指向的元素)賦給一個指定的變量,然后將棧頂指針退一(即top減1)。
讀棧頂元素是指將棧頂元素賦給一個指定的變量。這個運(yùn)算不刪除棧頂元素,只是將它的值賦給一個變量。
24.自盒自盒解析:自盒測試法即結(jié)構(gòu)測試,它與程序內(nèi)部結(jié)構(gòu)相關(guān),要利用程序結(jié)構(gòu)的實(shí)現(xiàn)細(xì)節(jié)設(shè)計(jì)測試實(shí)例。白盒測試法主要有邏輯覆蓋、基本路徑測試等。
25.SOSO解析:考查用指針引用字符串?dāng)?shù)組中元素的方法。題中需要注意兩個問題:一是for循環(huán)的修正表達(dá)式共執(zhí)行兩次'i--'操作;二是*p[i]是對某個字符的引用。
26.99解析:考查ifelse語句,n==4不滿足條件,所以fun5(4)=4+fun5(3),n==3也不滿足條件,fun5(3)=3+fun5(2),n==2滿足條件fun5(2)=2,故x=4+3+2=9。
27.33解析:(p/3>0?p/10:p%3)是一個條件表達(dá)式。題中p=30,p/3>0為真,所以p/10的結(jié)果3作為整個表達(dá)式的值。
28.存儲或物理或存儲結(jié)構(gòu)或物理結(jié)構(gòu)存儲或物理或存儲結(jié)構(gòu)或物理結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲空間中的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu)(也稱數(shù)據(jù)的物理結(jié)構(gòu))。所謂循環(huán)隊(duì)列,就是將隊(duì)列存儲空間的最后一個位置繞到第一個位置,形成邏輯上的環(huán)狀空間。供隊(duì)列循環(huán)使用??芍?,循環(huán)隊(duì)列應(yīng)當(dāng)是物理結(jié)構(gòu)。
29.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或下為0。本題具體做法如下:Y%2=1或Y%2!=0。
30.00解析:“ch=getchat()”的功能是從終端讀入一個字符賦給變量ch,由于getchar()只能接收一個字符,所以輸入的字符1被賦給ch,即“'1'!='0'”,循環(huán)體不執(zhí)行,直接退出while循環(huán),所以循環(huán)體執(zhí)行的次數(shù)為0。
31.bcdefgha
32.ptrptr解析:本題考查函數(shù)指針的概念。函數(shù)指針的定義格式是:類型標(biāo)識符(葉旨針變量名)()。注:“類型標(biāo)識符”為函數(shù)返回值的類型。
33.-1-1解析:if~else語句的形式:if(表達(dá)式)語句1elseif語句2else語句3它的功能是:若表達(dá)式的值為真,執(zhí)行語句1,并跳過其他語句,執(zhí)行ifelse語句的下一條語句,若表達(dá)式的值為假,跳過語句1,執(zhí)行語句2,依次往下判斷;a=1,b=2,條件a>b不成立,繼續(xù)判斷a==b,仍不成立,則執(zhí)行c=-1,輸出-1。
34.10011fe
35.輸出結(jié)果輸出結(jié)果解析:注意:測試的基本方法和步驟。
36.123\n056\n009123\\n056\\n009解析:數(shù)組是用于按順序存儲同類型數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),如果有一個一維數(shù)組,它的每一個元素是類型相同的一維數(shù)組,就形成了一個二維數(shù)組。在內(nèi)存中數(shù)組的元素是連續(xù)順序存放的,對;維數(shù)組來說,先存放第一行,再存放第;行,…,因?yàn)槊恳恍卸际瞧鋸V義一維數(shù)組的元素,并且在給出全部數(shù)組元素的初值后,二維數(shù)組的定義中可以將第一維的下標(biāo)省略。本題中,定義了一個元素類型為整型的二維數(shù)組敢a[][3]={1,2,3,4,5,6,7,8,9),它相當(dāng)于一個3*3的矩陣,for(i=0;i<3:i++)for(j=i+1;j<3;j++)a[j][i]=0;將行下標(biāo)i大于列下標(biāo)j的元素s[1][0],a[2][0],a[2][1]賦值為0,最后for(j=0;j<3;j++)prinff('%n',a[i][j]);printf('\\n');進(jìn)行換行輸出,所以輸出結(jié)果為
123
056
009
37.完善性軟件維護(hù)活動包括以下幾類:改正性維護(hù),適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù),完善性維護(hù)是指為了滿足用戶對軟件提出的新功能與性能要求,需要修改或再開發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。
38.存儲空間存儲空間解析:空間復(fù)雜度是指算法在執(zhí)行過程中臨時(shí)占用的存儲空間大小,包括:①算法本身所占用的存儲空間;②算法的輸入輸出數(shù)據(jù)所占用的存儲空間;③算法在運(yùn)行過程中臨時(shí)占用的存儲空間。
39.16.0
40.棧棧解析:棧和隊(duì)列都是—種特殊的操作受限的線性表,只允許在端點(diǎn)處進(jìn)行插入和刪除。二者的區(qū)別是:棧只允許在表的—端進(jìn)行插入或刪除操作,是—種“先進(jìn)后出”的線性表;而隊(duì)列只允許在表的—端進(jìn)行插入操作,在另—端進(jìn)行刪除操作,是—種“先進(jìn)先出”的線性表。
41.B
42.A解析:本題考查文件使用方式標(biāo)識符,以“葉”方式打開一個已存在的文件,則表示保留文件中原有的數(shù)據(jù),文件的位置指針在文件末尾,此時(shí),可以進(jìn)行追加或讀操作。
43.C解析:本題主要考查怎樣為嵌套定義的結(jié)構(gòu)中的成員賦值:由于worker中的birth是一個st型的結(jié)構(gòu),在給birth賦值時(shí),不能將birth作為一個整體,要用“.”運(yùn)算再深入一層訪問到最基本的成員x、y、z。
44.D解析:本題考核的知識點(diǎn)是for循環(huán)語句和復(fù)合賦值+=運(yùn)算符的應(yīng)用。本題中,i賦初值為1,并對其每次進(jìn)行加2操作,即i每次均為1~10之間的奇數(shù),s+=i+1,即s=s+i+1,相當(dāng)于s等于原來的s每次加上1~10之間的偶數(shù),直到i<10不成立.當(dāng)i=1時(shí),s=0+1+1=2;當(dāng)i=3時(shí),s=2+3+1=2+4;當(dāng)i=5時(shí),s=2+4+5+1=2+4+6;當(dāng)i=7時(shí),s=2+4+6+7+1=2+4+6+8;當(dāng)i=9時(shí),s=2+4+6+8+9+1=2+4+6+8+10;當(dāng)i=11時(shí),i<10不成立,結(jié)束循環(huán)。所以,4個選項(xiàng)中選項(xiàng)D符合題意。
45.A解析:C語言中比較表達(dá)式的運(yùn)算結(jié)果為0或1。0代表不成立,1表示成立。
46.C解析:C語言中:strcpy(st1,st2);,其兩個參數(shù)均為字符指針或字符數(shù)組,選項(xiàng)C中的目的中指針str3沒有指向具體有效的存儲單元,故是錯誤的調(diào)用。
47.C解析:定義一個字符指針t,并將字符指針s的首地址賦給字符指針t;通過while語句將指針t往下移到字符串最后一個字符后面的地址,指針s始終指向首地址,將末地址減去首地址可以計(jì)算出字符串的長度。
48.B解析:采用結(jié)構(gòu)化編程方法的好處主要在于:一是便于控制、降低程序的復(fù)雜性,因此便于編寫程序。二是程序清晰易讀,可理解性好。因此,結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是程序的易讀性,而不是程序的規(guī)模、程序的執(zhí)行效率和程序的可移植性。
49.B解析:主函數(shù)中先定義了一個整型變量a,一個字符變量c并賦初值10,一個浮點(diǎn)型變量f并賦初值100.00和一個double型x,接著執(zhí)行a=f/=c*=(x=6.5),該語句從右向左計(jì)算,先把6.5賦值給x(該括號表達(dá)式的值也為6.5),此時(shí)x的值變?yōu)?.5,然后執(zhí)行c*=(x=6.5)相當(dāng)于執(zhí)行c=c*(x=6.5),此時(shí)c的值為65,接著向左執(zhí)行f/c*=(x=6.5),語句相當(dāng)于執(zhí)行f=f/c,所以f的值為100/65≈1.538。接著向最右邊執(zhí)行“a=f”,由于a是整型變量,所以a最后去f的整數(shù)部分為1。程序最后輸出的a、c、f和x的值(f和x只保留小數(shù)點(diǎn)后面1位)分別為1、65、1.5、6.5。所以,4個選項(xiàng)中選項(xiàng)B符合題意。
50.B解析:程序中首先定義了一個結(jié)構(gòu)體,其成員為一字符數(shù)組和一浮點(diǎn)型數(shù)組。在main()首先定義了一個結(jié)構(gòu)體數(shù)組并初始化。接下來在for循環(huán)中遍歷了結(jié)構(gòu)體數(shù)組中的第一個元素中數(shù)組成員即{“20021”,90,95,85”}循環(huán)結(jié)果為90+95+85=270最后sum為270,又輸出格式為“%6.2f\\n”要求保留兩位小數(shù)故最后輸出為270.00。所以4個選項(xiàng)中B正確。
51.A解析:數(shù)據(jù)流圖包括4個方面,即加工(轉(zhuǎn)換)(輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出)、數(shù)據(jù)流(沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標(biāo)注數(shù)據(jù)流名)、存儲文件(數(shù)據(jù)源)(表示處理過程中存放各種數(shù)據(jù)的文件)、源和潭(表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實(shí)體)。不包括選項(xiàng)中的控制流。
52.B
53.D
54.A解析:本題考查字符串比較函數(shù)strcmp()的應(yīng)用。strcmp(s1,s2)是中比較函數(shù),當(dāng)s1>s2時(shí)返回值為正數(shù),當(dāng)s1<s2時(shí)返回值為負(fù)數(shù),當(dāng)s1=s2時(shí)返回值為零。本題中s1,s2分別表示兩個串中第一個字符的地址,s1++和s2++是將指針指向串的第二個字符,指針變量s1指向的是串“bCdEf”的首地址,即字符b的地址,而指針變量s2指向的是字符'B'的地址。而在字符串比較中,寧符串大小的確定是各個字符串相應(yīng)位置字符的ASCII碼值的大小決定的,字符'B'的ASCII碼值為66,字符“b”的ASCII碼值為98,所以s1>s2,返回值為正數(shù)。
55.D解析:streat(s1,s2)是把s2字符串連接到s1字符串的末尾,要保證s1能容納下連接后的字符串。
56.B解析:C語畝足一種大小寫敏感的語言,因此Int應(yīng)為int,而CaseprintF則可以使用。
57.D解析:需求分析常用的工具有數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定樹和判定表。PAD(問題分析圖)、PFD(程序流程圖)、N-S(盒式圖)都是詳細(xì)設(shè)計(jì)的常用工具,不是需求分析的工具。
58.C解析:在for循環(huán)體中,首先判斷自變量i能否被5整除,然后再自加兩次,最后判斷i能否被8整除。當(dāng)for循環(huán)執(zhí)行到第30次時(shí),i的值為30能被5整除,然后i經(jīng)過兩次自加1運(yùn)算,值變?yōu)?2,能被8整除,故執(zhí)行“printf('%d',i);”語句,即輸出32。本題的答案為選項(xiàng)C)。
59.C解析:函數(shù)feof是用來判斷文件是否已讀到末尾,如果已讀到末尾則返回非零值,否則返回0。
60.C解析:語句s+=2;使指針指向字符'c',此時(shí)s中保存的便是字符'c'的地址。
61.A本題主函數(shù)中定義了一個指針數(shù)組a,可以將它看成一個以字符指針為元素的一維數(shù)組。和一般的一維數(shù)組名能賦給同類型指針變量一樣,該字符指針數(shù)組也可以賦給指向字符指針的指針,所以數(shù)組名a可以用做函數(shù)fun()的實(shí)參。在fun()函數(shù)中,++P操作使形參P往后移動一個字符指針的位置,即指針a[1]的位置。故最后通過礎(chǔ)nd()函數(shù)輸出的字符串為“Afternoon”。因此A選項(xiàng)正確。
62.A
\n在函數(shù)fun中對參數(shù)n的值進(jìn)行判斷,如果其值等于1或2,則*p=1,否則,函數(shù)fun進(jìn)行遞歸調(diào)用fun(n.1,&f1);fun(13.2,&f2);*p=n+f2;在主函數(shù)調(diào)用fun函數(shù)時(shí)傳遞給參數(shù)n的值為3,fun函數(shù)又遞歸用了兩次自身fun(2,&n);fun(1,&f1);所以n和f2的值都為1,通過指針P的引用,變量S的值為2。
\n
63.C本題主要考查與算法有關(guān)的基本知識。算法是對一個問題求解步驟的描述,是求解問題的方法,它是指令的有限序列,其中的每條指令表示一個或多個操作。算法的效率不僅與問題的規(guī)模有關(guān),還與數(shù)據(jù)的存儲結(jié)構(gòu)有關(guān)。
算法的時(shí)間復(fù)雜度和空間復(fù)雜度是衡量一個算法好壞的度量,其中時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量;空間復(fù)雜度是指算法在執(zhí)行過程中所需要的計(jì)算機(jī)存儲空間。算法的空間復(fù)雜度與時(shí)間復(fù)雜度不一定相關(guān)。
數(shù)據(jù)的邏輯結(jié)構(gòu)反映的是數(shù)據(jù)的邏輯關(guān)系,與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān),是獨(dú)立于計(jì)算機(jī)的。因此,題目中說數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)一一對應(yīng)的說法不正確。本題答案選C。
64.Ar右移1位,結(jié)果為4,所以選擇A。
65.C
66.C
67.D
68.C函數(shù)的參數(shù)通常分為兩種:數(shù)值變量和指針變量。數(shù)值變量被函數(shù)調(diào)用后,函數(shù)內(nèi)的參數(shù)為該數(shù)值變量的副本。對副本的一切操作都不會影響到調(diào)用函數(shù)外原來的參數(shù)。指針變量在函數(shù)中傳遞的是對其
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度建筑防水工程防水材料研發(fā)與市場調(diào)研合同
- 金華浙江金華市交通工程管理中心招聘編外人員筆試歷年參考題庫附帶答案詳解
- 遼寧2025年渤海大學(xué)招聘高層次人才92人筆試歷年參考題庫附帶答案詳解
- 湖南2025年湖南省生態(tài)環(huán)境廳直屬事業(yè)單位招聘44人筆試歷年參考題庫附帶答案詳解
- DB2103-T 008-2023 消防技術(shù)服務(wù)機(jī)構(gòu)從業(yè)規(guī)范
- 沈陽2025年遼寧沈陽遼中區(qū)四家事業(yè)單位面向區(qū)內(nèi)事業(yè)單位遴選18人筆試歷年參考題庫附帶答案詳解
- 常州2025年江蘇常州工學(xué)院高層次人才招聘60人(長期)筆試歷年參考題庫附帶答案詳解
- 2025年中國兩側(cè)擋渣器市場調(diào)查研究報(bào)告
- 2025年語音電路項(xiàng)目可行性研究報(bào)告
- 2025年耐高溫硅橡膠項(xiàng)目可行性研究報(bào)告
- 2025年電力鐵塔市場分析現(xiàn)狀
- GB 12158-2024防止靜電事故通用要求
- 《教育強(qiáng)國建設(shè)規(guī)劃綱要(2024-2035年)》全文
- 山東省濱州市2024-2025學(xué)年高二上學(xué)期期末地理試題( 含答案)
- 體育老師籃球說課
- 化學(xué)-江蘇省蘇州市2024-2025學(xué)年2025屆高三第一學(xué)期學(xué)業(yè)期末質(zhì)量陽光指標(biāo)調(diào)研卷試題和答案
- 蛋雞生產(chǎn)飼養(yǎng)養(yǎng)殖培訓(xùn)課件
- 運(yùn)用PDCA降低住院患者跌倒-墜床發(fā)生率
- 海底撈員工手冊
- 2024CSCO小細(xì)胞肺癌診療指南解讀
- 立春氣象與生活影響模板
評論
0/150
提交評論