![2021-2022年湖南省婁底市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第1頁(yè)](http://file4.renrendoc.com/view/956189da25e2dfd104c09e143e672d10/956189da25e2dfd104c09e143e672d101.gif)
![2021-2022年湖南省婁底市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第2頁(yè)](http://file4.renrendoc.com/view/956189da25e2dfd104c09e143e672d10/956189da25e2dfd104c09e143e672d102.gif)
![2021-2022年湖南省婁底市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第3頁(yè)](http://file4.renrendoc.com/view/956189da25e2dfd104c09e143e672d10/956189da25e2dfd104c09e143e672d103.gif)
![2021-2022年湖南省婁底市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第4頁(yè)](http://file4.renrendoc.com/view/956189da25e2dfd104c09e143e672d10/956189da25e2dfd104c09e143e672d104.gif)
![2021-2022年湖南省婁底市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第5頁(yè)](http://file4.renrendoc.com/view/956189da25e2dfd104c09e143e672d10/956189da25e2dfd104c09e143e672d105.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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ì)測(cè)試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.以下能正確定義一維數(shù)組的選項(xiàng)是
A.inta[5]={0,1,2,3,4,5}
B.chara[]={'0','1','2','3','4','5','\0'};
C.chara={'A','B','C'};
D.inta[5]="0123";
2.數(shù)據(jù)庫(kù)是______的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲(chǔ)介質(zhì)內(nèi),可被各個(gè)應(yīng)用程序所共享。
A.視圖B.消息C.數(shù)據(jù)D.關(guān)系
3.若有定義:typedefint*INTEGER;INTEGERp,*q;則以下敘述正確的是()。
A.q是基類型為int的指針變量
B.p是int型變量
C.p是基類型為int的指針變量
D.程序中可用INTEGER代替類型名int
4.
5.
6.軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過程設(shè)計(jì),其中軟件的過程設(shè)計(jì)是指()
A.模塊間的關(guān)系B.系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述C.軟件層次結(jié)構(gòu)D.軟件開發(fā)過程
7.以下選項(xiàng)中敘述錯(cuò)誤的是()。
A.C程序函數(shù)中定義的賦有初值的靜態(tài)變量,每調(diào)用一次函數(shù),賦一次初值
B.在同一函數(shù)中,各復(fù)合語(yǔ)句內(nèi)可以定義變量,其作用域僅限本復(fù)合語(yǔ)句內(nèi)
C.C程序函數(shù)中定義的自動(dòng)變量,系統(tǒng)不自動(dòng)賦確定的初值
D.C程序函數(shù)的性能不可以說明為static型變量
8.有以下定義語(yǔ)句,編譯時(shí)會(huì)出現(xiàn)編譯錯(cuò)誤的是()。
A.chara=a;B.chara=\nC.chara=aa;D.chara=\x2d;
9.設(shè)有定義:“char*c;”,以下選項(xiàng)中能夠使字符型指針c正確指向一個(gè)字符串的()。
A.charstr[]="string";c=str;
B.scanf(%s,c):
C.c=getchar();
D.*c="strin9";
10.若變量已正確定義,有以下程序段
A.0,0B.0,1C.1,1D.程序進(jìn)入無限循環(huán)
11.
12.將發(fā)送端數(shù)字脈沖信號(hào)轉(zhuǎn)換成模擬信號(hào)的過程稱為
A.鏈路傳輸B.調(diào)制C.解調(diào)D.數(shù)字信道傳輸
13.若有定義語(yǔ)句:“intx=12,y=8,z;”,在其后執(zhí)行語(yǔ)句“z=0.9+x/y;”,則z的值為()。A.1.9B.1C.2D.2.4
14.函數(shù)調(diào)用:strcat(strcpy(str1,str2),str3)的功能是______。
A.將串str1復(fù)制到串str2中后再連接到串str3之后
B.將串str1連接到串str2之后再?gòu)?fù)制到串str3之后
C.將串str2復(fù)制到串str1中后再將串sir3連接到串str1之后
D.將串str2連接到串str1之后再將串str1復(fù)制到串str3中
15.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。
A.654321
B.65432
C.65453452
D.654534521
16.以下敘述中正確的是()A.當(dāng)對(duì)文件的讀(寫操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失
B.打開一個(gè)已存在的文件并進(jìn)行了寫操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋
C.在一個(gè)程序中當(dāng)對(duì)文件進(jìn)行了寫操作后,必須先關(guān)閉該文件然后再打開,才能讀到第1個(gè)數(shù)據(jù)
D.語(yǔ)言中的文件是流式文件,因此只能順序存取數(shù)據(jù)
17.下列程序的輸出結(jié)果是______。main(){charch[2][5]={"6937","8254"},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>'\0';j+=2)s=10*s+p[i][j]-'0';printf("%d\n",s);}
A.69825B.63825C.6385D.693825
18.執(zhí)行下面程序中的輸出語(yǔ)句后,輸出結(jié)果是()。A.65B.20C.15D.10
19.一個(gè)算法應(yīng)當(dāng)具有5個(gè)特性,以下敘述中正確的是()。
A.有窮性、確定性、復(fù)雜性、有零個(gè)或多個(gè)輸入、有一個(gè)或多個(gè)輸出
B.有窮性、確定性、可行性、有零個(gè)或多個(gè)輸入、有一個(gè)或多個(gè)輸出
C.有窮性、確定性、可行性、必須要有一個(gè)以上的輸入、有一個(gè)或多個(gè)輸出
D.有窮性、確定性、復(fù)雜性、有零個(gè)或多個(gè)輸入、必須要有多個(gè)輸出
20.有以下程序#include<stdio.h>main(){char*s=(“ABC);do{printf(“%d”,*s%10);s++;}while(*s);}注意,字母A的ASCII碼值為65。程序運(yùn)行后的輸出結(jié)果是A.5670B.656667C.567D.ABC
二、2.填空題(20題)21.下列程序執(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);
22.若有如下程序:
main()
{intx=4,y=1;
printf("%d\n",sub(x,sub(x,y)));}
sub(inti,intj)
{staticinta=0;
intb=2;
a+=i+b;
b+=j(luò)+a;}
則程序運(yùn)行后的輸出結(jié)果是【】。
23.設(shè)inta=5,b=6,表達(dá)式(++a==b--)?++a:--b的值是【】。
24.#define命令出現(xiàn)在程序中函數(shù)的外面,宏名的有效范圍為______。
25.測(cè)試用例包括輸入值集和【】值集。
26.下面程序的輸出結(jié)果是【】。
#defineMAX3
inta[MAX];
main()
{fun1();{un2(A);printf("\n");}
funl()
{intk,t=0;
for(k=0;k<MAX;k++,t++)a[k]=t+t;
}
fun2(intb[])
{intk;
for(k=0;k<MAX;k++)printf("%d",*(b+k));
}
27.若已定義inta[10],i;以下fun函數(shù)的功能是,在第一個(gè)循環(huán)中給前10個(gè)數(shù)組元素依次賦1,2,3,4,5,6,7,8,9,10;在第二個(gè)循環(huán)中使a數(shù)組前10個(gè)元素中的值對(duì)稱拆疊,變成1,2,3,4,5,5,4,3,2,1。請(qǐng)?zhí)羁铡?/p>
fun(inta[])
{inti;
for(i=1;i<=10;i++)【】=i;
for(i=0;i<5;i++)【】=a[i];
}
28.設(shè)有宏定義:
#defineWIDTH80
#defineLENGTHWIDTH+40
則執(zhí)行賦值語(yǔ)句“v=LENGTH*20;"(v為int型變量)后,v的值是【】。
29.若a=10,b=20,則表達(dá)式!(a<b)的值是【】。
30.與表達(dá)式a+=b等價(jià)的另一書寫形式是______。
31.注釋說明了程序的功能,它分為【】注釋和功能性注釋。
32.以下程序中,函數(shù)fun的功能是計(jì)算x2-2x+6,主函數(shù)中將調(diào)用fun函數(shù)計(jì)算:
y1=(x+8)2-2(x+8)+6
y2=sin2(x)-2sin(x)+6
請(qǐng)?zhí)羁铡?/p>
#include"math.h"
doublefun(doublex){return(x*x-2*x+6);}
main()
{doublex,y1,y2;
printf("Enterx:");scanf("%lf",&x);
y1=fun(【】);
y2=fun(【】);
printf("y1=%lf,y2=%lf\n",y1,y2);
}
33.有一個(gè)已排好序的數(shù)組,今輸入一個(gè)數(shù),要求按原來的順序規(guī)律將它插入到數(shù)組中。算法是:假設(shè)排序順序是從小到大,對(duì)輸入的數(shù),檢查它在數(shù)組中哪個(gè)數(shù)之后,然后將比這個(gè)數(shù)大的數(shù)順序后移一個(gè)位置,在空出的位置上將該數(shù)插入。請(qǐng)?jiān)诔绦蛑械目瞻滋幪钌弦粭l語(yǔ)句或一個(gè)表達(dá)式。
#defineN100
main()
{floata[N+1],x;
inti,p;
for(i=0;i<N;i++)
scanf("%f"&a[i]);
scanf("%f",&x);
for(i=0,p=N;i<N;i++)
if(x<a[i])
{【】;
break;}
for(i=N-1;【】;i-)
a[i+1]=a[i];
a[p]=x;
for(i=0;【】;i++)
{printf("%8.2f",a[i]);
if(i%5=0)
printf("\n");
}
}
34.以下程序中,主函數(shù)調(diào)用了LineMax函數(shù),實(shí)現(xiàn)在N行M列的二維數(shù)組中,找出每一行上的最大值。
請(qǐng)?zhí)羁铡?/p>
#defineN3
#defineM4
voidLineMax(intx[N][M])
{inti,j,P;
for(i=0;i<N;i++)
{p=0;
for(j=1;j<M;j++)
if(x[i][p]<x[i][j])【】;
printf("Themaxvalueinline%dis%d\n",i,【】);
}
main()
{intx[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};
【】;
}
35.設(shè)有下列的程序段;
charstr[]="Hello";
char*ptr;
ptr=str;
執(zhí)行上面的程序段后,*(ptr+5)的值為______。
36.已知字符'A'的ASCII碼值為65,以下語(yǔ)句的輸出結(jié)果是【】。
charch='B';
printf("%c%d\n",ch,ch);
37.下面程序運(yùn)行后的輸出結(jié)果是()。
#include<stdio.h>
main()
{inta[]={1,2,3,4,5,6},*k[3],i=1;
while(i<4)
{k[i-1]=&a[2*i-1];
printf("%d",*k[i-1]);
i++;
}
}
38.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
39.解題方案的準(zhǔn)確而完整的描述稱為______。
40.下面程序的功能是:計(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);}
三、1.選擇題(20題)41.下列選項(xiàng)中,不是一個(gè)算法的基本特征的是()。
A.完整性B.可行性C.有窮性D.擁有足夠的情報(bào)
42.下述程序的輸出結(jié)果是()。#include<stdio.h>voidmain(){inta[20],*p[4];inti,k=0;for(i=0;i<20;i++)a[i]=i;for(i=0;i<4;i++)p[i]=&a[i*i+1];for(i=0;i<4;i++){k=k+*p[i];}printf("%d",k);}
A.10B.18C.6D.數(shù)組元素引用不合法,輸出結(jié)果不定
43.若執(zhí)行下列的程序時(shí),從鍵盤上輸入1和2,則輸出結(jié)果是()。#include<stdio.h>main(){inta,b,s;scanf("%d%d",&a,&b);s=a;if(a<b)s=b;S=S*S,printf("%d\n",s);}
A.1B.4C.2D.9
44.有以下程序
#include<stdio.h>
voidfun(int*a,intn)/*fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序*/
{intt,i,j;
for(i=0;i<n-1;j++)
for(j=i+1;j<n;j++)
if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}
}
main()
{intc[10]={1,2,3,4,5,6,7,8,9,0},i;
fun(c+4,6);
for(i=0;i<10;i++)printf("%d,",c[i]);
printf("\n");
}
程序的運(yùn)行結(jié)果是
A.1,2,3,4,5,6,7,8,9,0,
B.0,9,8,7,6,5,1,2,3,4,
C.0,9,8,7,6,5,4,3,2,1,
D.1,2,3,4,9,8,7,6,5,0,
45.標(biāo)準(zhǔn)庫(kù)函數(shù)fgets(s,n,f)的功能是()
A.從文件f中讀取長(zhǎng)度為n的字符串存入指針s所指的內(nèi)存
B.從文件f中讀取長(zhǎng)度不超過n-1的字符串存入指針s所指的內(nèi)存
C.從文件f中讀取n個(gè)字符串存入指針s所指的內(nèi)存
D.從文件f中讀取長(zhǎng)度為n-1的字符串存入指針s所指的內(nèi)存
46.有以下程序:main(){inti=0,s=0;do{if(i%2){i++;continue;}i++;s+=i;}while(i<7);.printf("%d\n",s);}執(zhí)行后輸出的結(jié)果是()。
A.16B.12C.28D.21
47.有以下程序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
48.下列程序段執(zhí)行后,c3中的值是______。intc1=1,c2=2,c3;c3=1.0/c2*c1;
A.0B.0.5C.1D.2
49.下述程序的輸出結(jié)果是
#include<stdio.h>
voidmain()
{inta[5]={2,4,6,8,10};
int*p=a,**q=&p;
printf("%d,",*(p++));
printf("%d",**q);}
A.4,4B.2,2C.4,5D.2,4
50.數(shù)據(jù)處理的最小單位是()。
A.數(shù)據(jù)B.數(shù)據(jù)元素C.數(shù)據(jù)項(xiàng)D.數(shù)據(jù)結(jié)構(gòu)
51.有以下程序段
intj;floaty;charname[50];
scanf("%2d%f%s",&j,&y,name);
當(dāng)執(zhí)行上述程序段,從鍵盤上輸入555667777abc后,y的值為
A.55566.0B.566.0C.7777.0D.566777.0
52.若有定義inta=5,b=7;,則表達(dá)式a%=(b%2)運(yùn)算后,a的值為()。
A.0B.1C.11D.3
53.在計(jì)算機(jī)中,算法是指()。
A.查詢方法B.加工方法C.解題方案的準(zhǔn)確而完整的描述D.排序方法
54.設(shè)有定義:inta=2,b=3,c=4;,則以下選項(xiàng)中值為0的表達(dá)式是()。
A.(!a==1)&&(!b==0)B.(a<B)&&!c||1C.a&&bD.a||(b+B)&&(c-A)
55.為了合理組織數(shù)據(jù),應(yīng)遵循的設(shè)計(jì)原則是()
A.“一事一地”的原則,即一個(gè)表描述一個(gè)實(shí)體或?qū)嶓w之間的一種聯(lián)系
B.用外部關(guān)鍵字保證有關(guān)聯(lián)的表之間的聯(lián)系
C.表中的字段必須是原始數(shù)據(jù)和基本數(shù)據(jù)元素,并避免在表之間出現(xiàn)重復(fù)字段
D.以上各原則都包括
56.為了使模塊盡可能獨(dú)立,要求()。
A.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)
B.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱
C.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱
D.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)
57.執(zhí)行以下程序后,a,b的值分別為main(){ina,b,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;b=(*p1)/(*p2)+7;printf("a=%d\n",a);printf("b=%d\n",b);}
A.-1,5B.1,6C.0,7D.4,10
58.有如下程序段inta=14,b=15,x;charc='A';x=(a&&b)&&(c<'B');執(zhí)行該程序段后,x的值為______。
A.真B.假C.0D.1
59.在調(diào)用函數(shù)時(shí),如果實(shí)參是簡(jiǎn)單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是______。
A.地址傳遞B.單向值傳遞C.由實(shí)參傳紿形,再由形參傳回實(shí)參D.傳遞方式由用戶指定
60.一個(gè)采用順序存儲(chǔ)方式的線性表中,若線性表的第一個(gè)元素的存儲(chǔ)地址是200,每一個(gè)元素的長(zhǎng)度是2,則第6個(gè)元素的地址是______。
A.208B.210C.211D.212
四、選擇題(20題)61.當(dāng)執(zhí)行以下程序段時(shí),()。x=-l:do{x=x*X;)while(!x);A.循環(huán)體將執(zhí)行一次B.循環(huán)體將執(zhí)行兩次C.循環(huán)體將執(zhí)行無限次D.系統(tǒng)將提示有語(yǔ)法錯(cuò)誤
62.
63.設(shè)有宏定義:
64.
65.有以下定義語(yǔ)句,編譯時(shí)會(huì)出現(xiàn)編譯錯(cuò)誤的是()。
A.chara=’\x2d’;B.chara=。\n。;C.chara=…a;D.chara=”aa”:
66.
67.
68.有以下程序:
當(dāng)執(zhí)行程序時(shí),按下列方式輸入數(shù)據(jù)(從第l列開始,<;CR>;代表回車,注意:回車也是一個(gè)字符]12<;CR>;34<;CR>;則輸出結(jié)果是()。
A.12B.123C.1234D.12343
69.
以下程序執(zhí)行后sum的值是()。
main
{inti,sum;
for(i=1;i<6;i++)sum+=i:
printf("1%d\n",sum):
}
A.15B.14C.不確定D.0
70.有以下程序程序執(zhí)行后的輸出結(jié)果是()。
A.abe,a23B.abe,123C.123,abeD.321,cba
71.有以下程序:
#include<stdio.h>
structord
{intX,y;)dt[2]={1,2,3,4};
main()
{
structord*p=dt;
printf("%d,",++(p->x));printf("%d\n",++(p->y));
}
程序運(yùn)行后的輸出結(jié)果是()。
A.1,2
B.4,1
C.3,4
D.2,3
72.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.16B.1C.32D.0
73.以下敘述中正確的是______。A.預(yù)處理命令行必須位于源文件的開頭
B.在源文件的一行上可以有多條預(yù)處理命令
C.宏名必須用大寫字母表示
D.宏替換不占用程序的運(yùn)行時(shí)間
74.下列敘述中正確的是()。
A.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大
B.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小
C.一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小
D.上述三種說法都不對(duì)
75.以下敘述中錯(cuò)誤的是()。
A)對(duì)于double類型數(shù)組,不可以直接用數(shù)組名對(duì)數(shù)組進(jìn)行整體輸入或輸出
B)數(shù)組名代表的是數(shù)組所占存儲(chǔ)區(qū)的首地址,其值不可改變
C)當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時(shí),系統(tǒng)將給出“下標(biāo)越界的出錯(cuò)信息”
D)可以通過賦初值的方式確定數(shù)組元素的個(gè)數(shù)
76.若二維數(shù)組a有m列,則在a[i][j]前的元素個(gè)數(shù)為()。
A.i*m+j-1B.i*m+jC.J*m+iD.i*m+j+1
77.
78.下列敘述中正確的是()。
A.用E—R圖能夠表示實(shí)體集之間一對(duì)一的聯(lián)系、一對(duì)多的聯(lián)系、多對(duì)多的聯(lián)系
B.用E—R圖只能表示實(shí)體集之間一對(duì)一的聯(lián)系
C.用E—R圖只能表示實(shí)體集之間一對(duì)多的聯(lián)系
D.用E—R圖表示的概念數(shù)據(jù)模型只能轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型
79.(51)在計(jì)算機(jī)中,算法是指()
A.查詢方法
B.加工方法
C.解題方案的準(zhǔn)確而完整的描述
D.排序方法
80.有以下計(jì)算公式:
若程序前面已在命令行中包含math.h文件,不能夠正確計(jì)算上述公式的程序段是
([answer]
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun()的功能是:計(jì)算函數(shù)F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。其中x和y的值不相等,2和Y的值不相等。例如,當(dāng)x的值為1,y的值為2,z的值為3時(shí),函數(shù)值為2.O0。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,編寫函數(shù)fun(),該函數(shù)的功能是統(tǒng)計(jì)一行字符串中單詞的個(gè)數(shù),并將其作為函數(shù)值返回。字符串在主函數(shù)中輸入,規(guī)定所有單詞由小寫字母組成,單詞之間由若干個(gè)空格隔開,一行的開始沒有空格。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語(yǔ)句。試題程序:1#include<string.h>2#include<stdio.h>3#defineN804intfun(char*s)5{67}8voidmain()9{10FILE*wf;11charline[N];12intnum=0;13printf("Enterastring:\n");14gets(line);15num=fun(line);16printf("Thenumberofwordsis:%d\n\n",num);17/*********found*********/18wf=fopen("out.dat","w");19fprintf(wf,"%d",fun("abigcar"));20fclose(wf);21/*********found*********/22}
參考答案
1.B解析:選項(xiàng)A)中,定義的初值個(gè)數(shù)大于數(shù)組的長(zhǎng)度;選項(xiàng)C)中,數(shù)組名后少了中括號(hào);選項(xiàng)D)中,整型數(shù)組不能賦予字符串。
2.C解析:數(shù)據(jù)庫(kù)是數(shù)據(jù)的集合,其中的數(shù)據(jù)是按數(shù)據(jù)所提供的數(shù)據(jù)模式存放的,它能構(gòu)造復(fù)雜的數(shù)據(jù)結(jié)構(gòu),以建立數(shù)據(jù)之間的內(nèi)在聯(lián)系與復(fù)雜的關(guān)系-故答案為C。
3.C題干中使用typedef定義新類型名INTEGER,它代表int*類型。使用INTEGER定義p,相當(dāng)于int*p。使用INTEGER定義*q,相當(dāng)于int**q。所以p是基類型為int的指針變量,q是基類型為int*的指針變量,選項(xiàng)A、B、D錯(cuò)誤。故本題答案為C選項(xiàng)。
4.D
5.D
6.B軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)接口設(shè)計(jì)和過程設(shè)計(jì)。其中軟件結(jié)構(gòu)設(shè)計(jì)主要包括系統(tǒng)由哪些子系統(tǒng)構(gòu)成,以及這些子系統(tǒng)之間的關(guān)系是怎樣的,并將這些內(nèi)容編寫成文檔;數(shù)據(jù)接口設(shè)計(jì)的任務(wù)是為每個(gè)子系統(tǒng)設(shè)計(jì)其與其他子系統(tǒng)間的接口,并編寫成文檔,這個(gè)接口要是一個(gè)無二義的接口,不需要子系統(tǒng)的操作知識(shí)就可以使用;過程設(shè)計(jì)是指系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述。
7.A靜態(tài)變量不是每調(diào)用一次就賦一次初值,而是將需要定義許多相同的具有相同屬性的值時(shí),使用靜態(tài)變量來節(jié)省空間,所以A選項(xiàng)錯(cuò)誤。
8.Cchar類型用于存儲(chǔ)單個(gè)字符的簡(jiǎn)單變量類型,它可以被指定為一個(gè)字符常量或一個(gè)整數(shù)。
9.A選項(xiàng)B是從鍵盤上輸入字符串,選項(xiàng)C是接收字符,選項(xiàng)D不正確。
10.Bdo…while循環(huán)的執(zhí)行過程如下:①執(zhí)行do后面的循環(huán)體中的語(yǔ)句。②計(jì)算while后一對(duì)圓括號(hào)中表達(dá)式的值。當(dāng)值為非0時(shí),轉(zhuǎn)去執(zhí)行步驟①;當(dāng)值為0時(shí),執(zhí)行步驟③。③退出do…while循環(huán)。對(duì)于本題變量i的初始值等于“0”,接著執(zhí)行do后面的循環(huán)體中的語(yǔ)句,輸出變量i的值0。再判斷while后面括號(hào)中表達(dá)式i十的值,其值為0,所以循環(huán)結(jié)束。.此時(shí)變量i的值經(jīng)過自加已經(jīng)變?yōu)?,所以再次輸出i的值“1”。
11.B
12.B
13.B此題考查除法運(yùn)算,根據(jù)先乘除后加減,有括號(hào)先算括號(hào)的原則,先計(jì)算x/y,即l2/8=1,所以z=0.9+1=1.9。但是Z是整型的,轉(zhuǎn)化一下取整除部分,結(jié)果Z=1
14.C解析:題目中所給函數(shù)的功能是;先用函數(shù)strcpy把參數(shù)串str2復(fù)制到參數(shù)串str1中去,然后用函數(shù)strcat把參數(shù)串str3連接到經(jīng)過修改后的參數(shù)串str1后,因此選項(xiàng)C正確。
15.C程序首先定義整型變量a和b,a的初值為123456。接著通過while循環(huán),判斷a的值是否為0,若不為0,則執(zhí)行循環(huán)體。每次循環(huán)將a當(dāng)前值的個(gè)位數(shù)字(a%10)賦給b,a自身除以10。再通過switch語(yǔ)句判斷b的值執(zhí)行對(duì)應(yīng)分支語(yǔ)句。所以對(duì)應(yīng)a的每個(gè)個(gè)位數(shù),b的取值為6,5,4,3,2,1。當(dāng)b取值為6時(shí),執(zhí)行default,輸出6,接著繼續(xù)執(zhí)行case1,通過break退出switch。執(zhí)行下一次循環(huán),當(dāng)b取值為5時(shí),執(zhí)行case5輸出5。執(zhí)行下一次循環(huán),當(dāng)b取值為4時(shí),執(zhí)行case4輸出4,繼續(xù)執(zhí)行case5輸出5。接著執(zhí)行下一次循環(huán),當(dāng)b取值為3時(shí),執(zhí)行case3輸出3,執(zhí)行case4輸出4,執(zhí)行case5輸出5;當(dāng)b取值為2時(shí),執(zhí)行case2輸出2,通過break退出switch;當(dāng)b取值為1時(shí),執(zhí)行break,此時(shí)a的取值為0,循環(huán)終止。綜上,程序輸出結(jié)果為:65453452。本題答案為C選項(xiàng)。
16.AB)選項(xiàng)中打開一個(gè)已存在的文件并進(jìn)行了寫操作后,原有文件中的全部數(shù)據(jù)不一定被覆蓋,也可以對(duì)源文件進(jìn)行追加操作等。C)選項(xiàng)中在一個(gè)程序中當(dāng)對(duì)文件進(jìn)行了寫操作后,不用先關(guān)閉該文件然后再打開,才能讀到第1個(gè)數(shù)據(jù),可以用fseek()函數(shù)進(jìn)行重新定位即可。D)選項(xiàng)中,C語(yǔ)言中的文件可以進(jìn)行隨機(jī)讀寫。
17.C
18.B
19.B算法是指為解決某個(gè)特定問題而采取的確定且有限的步驟,一個(gè)算法應(yīng)當(dāng)具有5個(gè)特征:有窮性、確定性、可行性、有雩個(gè)或多個(gè)輸入、有一個(gè)或多個(gè)輸出。本題答案為B選項(xiàng)。
20.C
21.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。
22.19
23.77解析:此表達(dá)式為三目運(yùn)算符,++a的值為6,b--的值為6,則整個(gè)表達(dá)式的值為++a的值,++a的值為7。請(qǐng)注意前綴++,--和后綴++,--的區(qū)別。
24.從定義到本源文件結(jié)束從定義到本源文件結(jié)束解析:C語(yǔ)言規(guī)定,宏名的有效范圍為從定義宏到本源程序結(jié)束。
25.輸出輸出解析:測(cè)試用例曲測(cè)試輸入數(shù)據(jù)(輸入值集)和與之對(duì)應(yīng)的預(yù)期輸出結(jié)果(輸出值集)兩部分組成。
26.24
27.a[i-1]或a[-1+i]a[9-i]或a[-i+9]a[i-1]或a[-1+i]\r\na[9-i]或a[-i+9]
28.880
29.00解析:已知a=10,b=20,所以邏輯表達(dá)式a<b的值為true,即為1,在這個(gè)表達(dá)式前面有一個(gè)邏輯運(yùn)算符!,表示反操作,所以整個(gè)語(yǔ)句的值應(yīng)當(dāng)為false,即為0。
30.a=a+ba=a+b解析:a+=b與a=a+b等價(jià),作用是把變量a的值加b后再賦給變量a。
31.序言性序言性解析:注釋一般分為序言性注釋和功能性注釋。
32.x+8sin(x)x+8,sin(x)解析:考查考生對(duì)函數(shù)調(diào)用相關(guān)知識(shí)的了解。用x+8代替函數(shù)fun(doublex)中形式參數(shù)x;用sin(x)代替函數(shù)fun(doublex)中形式參數(shù)x。
33.p=i;i>=pi<=Np=i;\r\ni>=p\r\ni<=N解析:本題主要考查了插入排序。由于程序中的數(shù)組在開始己經(jīng)按從小到大順序排序排好。在插入時(shí),首先要查到第一個(gè)大于恃插入數(shù)的數(shù)組下標(biāo),即當(dāng)待插入元素小于數(shù)組中當(dāng)前元素時(shí),記下數(shù)組的當(dāng)前下標(biāo)p,并結(jié)束循環(huán),故第一空目的是為了記下數(shù)組下標(biāo),應(yīng)填p=i;插入排序的第二部是將大于待插入元素的所有元素都向后移動(dòng)—位,故在循環(huán)時(shí),要從最后一個(gè)元素到第p個(gè)元素都要后移一位,因此第二空應(yīng)填>i=p。最后一個(gè)循環(huán)是將N+1個(gè)元素都輸出,故最后一空應(yīng)為i<=N。(注:本題有多種答案,以上僅提供一種)
34.p=jx[i][p]LineMax(x)
35.'\0''\\0'解析:本題涉及字符數(shù)組和指針的兩個(gè)知識(shí)點(diǎn):①在C語(yǔ)言中,字符型數(shù)組在存放字符串時(shí)會(huì)自動(dòng)在末尾加上字符串結(jié)束標(biāo)識(shí)符'\\0'所以題中數(shù)組str有6個(gè)元素。②ptr指向數(shù)組str的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。
36.B66B66解析:字符B的ASCII碼值為66,因此,按%c形式輸出B,按%d形式輸出66,輸出結(jié)果為:B66。
37.246
38.軟件開發(fā)
39.算法算法解析:算法是指對(duì)解題方案的準(zhǔn)確而完整的描述。
40.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ù)之和。
41.A解析:作為一個(gè)算法,一般應(yīng)該具有下列4個(gè)特征:(1)可行性,即考慮到實(shí)際的條件能夠達(dá)到一個(gè)滿意的結(jié)果;(2)確定性,算法中的每一個(gè)步驟都必須是有明確定義的,(3)有窮性,一個(gè)算法必須在有限的時(shí)間內(nèi)做完;(4)擁有足夠的情報(bào)。
42.B解析:第一個(gè)for循環(huán),給數(shù)組a的20個(gè)元素分別賦值0~19;第二個(gè)for循環(huán),給數(shù)組p賦值,p[0]=a[1]=1,p[1]=a[2]=2,p[2]=a[5]=5,p[3]=a[10]=10;第三個(gè)for循環(huán),將數(shù)組p中元素的值進(jìn)行累加,k=1+2+5+10=18。
43.B解析:本題考查if語(yǔ)句。scanf函數(shù)通過鍵盤讀入a、b的值,a=1,b=2。第一個(gè)if語(yǔ)句,先判斷條件,發(fā)現(xiàn)a<b條件成立,則s=b=2,s=s*s=4。
44.D解析:在本題中,主函數(shù)在調(diào)用fun()函數(shù)進(jìn)行排序時(shí),傳遞的參數(shù)是c+4和6,fun()函數(shù)實(shí)現(xiàn)的功能是將數(shù)組c的第5個(gè)元素開始的6個(gè)元素依次進(jìn)行從大到小的順序排列。排序之后,數(shù)組c的內(nèi)容變?yōu)閧1,2,3,4,9,8,7,6,5,0}。
45.B
46.A
47.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。
48.A
49.D解析:考查一維數(shù)組的指針和指向指針的指針兩個(gè)知識(shí)點(diǎn)。通過賦值,指針p和q都指向了數(shù)組a的首地址,*(p++)先引用數(shù)組元素,然后p++,所以輸出結(jié)果為2,**q指向的數(shù)組元素為4。
50.C解析:數(shù)據(jù)處理的最小單位是數(shù)據(jù)項(xiàng);由若干數(shù)據(jù)項(xiàng)組成數(shù)據(jù)元素;而數(shù)據(jù)是指能夠被計(jì)算機(jī)識(shí)別、存儲(chǔ)和加工處理的信息載體;數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)之間的相互關(guān)系和數(shù)據(jù)運(yùn)算。故正確答案為選項(xiàng)C)。
51.B解析:本題考查通過scanf函數(shù)輸入數(shù)據(jù)時(shí)的格式控制問題。變量j的格式控制為“%2d”,即只接收輸入數(shù)據(jù)的前兩位,從第三位開始直到空格之間的輸入都會(huì)被保存到變量y中,因?yàn)閥為浮點(diǎn)型數(shù)據(jù),所以輸出結(jié)果為選項(xiàng)B)。
52.A解析:本題考查'%'運(yùn)算符的使用。運(yùn)算符'%'要求兩個(gè)運(yùn)算對(duì)象都為整型,其結(jié)果是整數(shù)除法的余數(shù)。本題中表達(dá)式ao%=(b%2)等價(jià)于a=a%o(b%2)=5%(7%2)=5%1=0。
53.CC?!窘馕觥坑?jì)算機(jī)算法是指解題方案的準(zhǔn)確而完整的描述,它的基本特征分別是:可行性、確定性、有窮性和擁有足夠的情報(bào)。
54.A解析:本題考查邏輯運(yùn)算。根據(jù)運(yùn)算符的優(yōu)先級(jí)順序,選項(xiàng)A的值為“(!2==1)&&(!3==0)=0&&(!3==0)=0”,選項(xiàng)B的值為“(2>3)&&!4||1=0&&!4||1=0&&0||1=0||1=1”。選項(xiàng)C的值為“2&&3=1”。選項(xiàng)D的值為“2||(6)&&(2)=2||1=1”。所以只有選項(xiàng)A的值為0。注意:在進(jìn)行邏輯與運(yùn)算時(shí),若“&&”的左邊運(yùn)算結(jié)果已經(jīng)為0,則“&&”右邊的表達(dá)式將不再進(jìn)行計(jì)算,結(jié)果總為0;在進(jìn)行邏輯或運(yùn)算時(shí),若“||”的左邊運(yùn)算結(jié)果已經(jīng)為1,則“||”右邊的表達(dá)式也將不再進(jìn)行計(jì)算,結(jié)果總為1。
55.D解析:為了合理的組織數(shù)據(jù),應(yīng)遵循的設(shè)計(jì)原則有:“一事一地”的原則,即一個(gè)表描述一個(gè)實(shí)體或?qū)嶓w之間的一種聯(lián)系;用外部關(guān)鍵字保證有關(guān)聯(lián)的表之間的聯(lián)系;表中的字段必須是原始數(shù)據(jù)和基本數(shù)據(jù)元素,并避免在表之間出現(xiàn)重復(fù)字段。所以選擇D。
56.B解析:模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。耦合性與內(nèi)聚性是模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn),耦合與內(nèi)聚是相互關(guān)聯(lián)的。在程序結(jié)構(gòu)中,各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。本題答案為B。
57.C解析:inta,b,k=4,m=6,*p1=&k,*p2=&m;聲明整型變量a,b,k,m和指針p1,p2,并分別將4和6賦給k和m,將k和m的地址賦給P1和p2;a=p1==&m;等價(jià)于a=(p1==&m);將p1是否等于地址m的值(0)賦給變量a,b=(*p1)/(*p2)+7;該句的含義是將后面表達(dá)式的的值7賦給變量b。
58.D解析:a&&b的值為true,c<'B'的值也為true,所以(a&&b)&&(c<'B')的值為true。但x是int型變量,所以(a&&b)&&(c<'B')的值最后要從bool型轉(zhuǎn)換為int型賦給x。這樣x的值應(yīng)為1。
59.B解析:C語(yǔ)言函數(shù)中的參數(shù)傳遞方式有傳值與傳址兩種方式,傳值方式是指將實(shí)參的值復(fù)制一份傳遞給形參,而傳址方式是指將實(shí)參的變量地址傳遞給形參,也就是實(shí)參的引用。
60.B解析:順序結(jié)構(gòu)中,第n個(gè)元素的地址為An=A0+(n-1)*L(A為地址,L為元素長(zhǎng)度)。
61.Ado-wlfile的功能是先執(zhí)行一次循環(huán)體,再判斷條件是否成立,當(dāng)x=-1時(shí),執(zhí)行do語(yǔ)句,x=x*x=1,接著執(zhí)行while后的表達(dá)式,其值為0,退出循環(huán),因此循環(huán)體只執(zhí)行了一次。
62.A
63.AIsDIV(k,n)判斷k被n整除是否余l(xiāng),所以IsDIV(m,5)&&IsDIV(m,7)就是判斷m被5和7整除是否都余l(xiāng)。
64.B
65.DD選項(xiàng)中將字符串常量…aa賦給字符變量a是錯(cuò)誤的。
66.C
67.C
68.D按照從鍵盤輸入的數(shù)據(jù)可以_判斷字符l給了變量a,字符2給了變量b,字符<CR>即回車給了變量c,字符3給了變量d。所以打印輸出的結(jié)果為D選項(xiàng)。
69.C
\nsum+=i等價(jià)于sun+i,在本題中sum沒有賦初值,而題中只輸出sum的值,因此整個(gè)結(jié)果為不確定值。
\n
70.A字符串是一個(gè)特殊的數(shù)組,按照數(shù)組的規(guī)則,sl應(yīng)該指向的是數(shù)組的首地址,即“abc”的第一個(gè)字符的地址,s2指向的是“123”的第一個(gè)字符的地址。調(diào)用swap函數(shù)之后交換的是兩個(gè)字
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025標(biāo)準(zhǔn)版?zhèn)€人購(gòu)房合同書
- 2025合伙買車合同
- 2024-2025學(xué)年新教材高中生物 第二章 基因和染色體的關(guān)系 微專題四 伴性遺傳的解題方法說課稿 新人教版必修第二冊(cè)
- 預(yù)制樓板施工方案
- 肇慶鋼板樁支護(hù)施工方案
- 別墅電梯出售合同范例
- 2023九年級(jí)數(shù)學(xué)下冊(cè) 第二十九章 投影與視圖29.1 投影第2課時(shí) 正投影說課稿 (新版)新人教版001
- 2024年四年級(jí)英語(yǔ)上冊(cè) Unit 3 Let's Go Lesson 15 In the City說課稿 冀教版(三起)
- 自然補(bǔ)償管道施工方案
- 2024年四年級(jí)英語(yǔ)上冊(cè) Unit 1 My classroom The fifth period(第五課時(shí))說課稿 人教PEP
- 2025年熱管換熱氣行業(yè)深度研究分析報(bào)告
- 職業(yè)學(xué)院學(xué)生晚出、晚歸、不歸管理辦法
- 2025年陜西西安市經(jīng)濟(jì)技術(shù)開發(fā)區(qū)管委會(huì)招聘30人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025山東能源集團(tuán)中級(jí)人才庫(kù)選拔高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《安利蛋白質(zhì)粉》課件
- 【可行性報(bào)告】2024年數(shù)據(jù)標(biāo)注與審核項(xiàng)目可行性研究分析報(bào)告
- 2024-2025學(xué)年滬科版數(shù)學(xué)七年級(jí)上冊(cè)期末綜合測(cè)試卷(一)(含答案)
- 2025門診護(hù)理工作計(jì)劃
- 《針法灸法》課件-溫灸器灸
- 電氣領(lǐng)域知識(shí)培訓(xùn)課件
- 山東省部分學(xué)校2024-2025學(xué)年高一上學(xué)期12月選科指導(dǎo)聯(lián)合測(cè)試地理試題( 含答案)
評(píng)論
0/150
提交評(píng)論