版權(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ì)測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.以下程序執(zhí)行后sum的值是()。
A.15
B.14
C.不確定
D.0main(){inti,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}
2.若有定義語(yǔ)句:intX=10;,則表達(dá)式x-=x+X的值為A.-20B.-10C.0D.10
3.有以下程序:
#include<stdio.h>,
main()
{intS;
scanf("%d",&s);
while(s>O)
{switch(s)
{casel:printf("%d",s+5);
case2:printf("%d",s+4);break;
case3:printf("%d",s+3);
default:("%d",s+1);break;
}
scanf("%d",&s);
}
}
運(yùn)行時(shí),若輸入123450<回車>,由輸出結(jié)果是()。
A.6566456B.66656C.66666D.6666656
4.
5.有以下程序:#include<stdio.h>structS{inta,b;}data[2]=110,100,20,200};main(){structSp=data[1];printf(“%d\n”,++(p.a));}程序的運(yùn)行結(jié)果是()。
A.10B.11C.20D.21
6.判斷一個(gè)棧ST(最多元素為Maxsize)為滿的條件是()。
A.ST->top!==-1
B.ST->top==-1
C.ST->top!==Maxsize-1
D.ST->top==Maxsize-1
7.有下列程序:main{intk=5,n=0;while(k>0){switch(k){dcfault:break;case1:n=n+k;case2:case3:n+=k;}k--;}printf("%d\n".n);}程序運(yùn)行后的輸出結(jié)果足()。A.0B.4C.6D.7
8.有以下程序:#include<stdio.h>main(){FILE*pf;char*s1=“China”,*s2=“Beijing”;pf=fopen(“abc.dat”,“wb+”);fwrite(s2,7,1,pf);rewind(pf);/*文件位置指針回到文件開頭*/fwrite(s1,5,1,pf);fclose(pf);}程序執(zhí)行后,abc.dat文件的內(nèi)容是()。
A.ChinaB.ChinangC.ChinaBeijingD.BeijingChina
9.設(shè)n、m為一棵二叉樹上的兩個(gè)結(jié)點(diǎn),在中序遍歷時(shí),n在m之前的條件是_____________。
A.n在m右方B.n是m的祖先C.n在m左方D.n是m子孫
10.有以下程序(注:字符a的ASCIl碼值為97)#include<stdio.h>main(){char*s={"abc")do{printf("%d",*S%10");++S;}while(*s);}隉序運(yùn)行后的輸出結(jié)果是()。A.abcB.789C.7890D.979899
11.在一個(gè)C程序中
A.main函數(shù)必須出現(xiàn)在所有函數(shù)之前
B.main函數(shù)可以在任何地方出現(xiàn)
C.main函數(shù)必須出現(xiàn)在所有函數(shù)之后
D.main函數(shù)必須出現(xiàn)在固定位置
12.已有定義:chara[]="xyz",b[]={'x','y','z'};,以下敘述中正確的是()。
A.數(shù)組a和b的長(zhǎng)度相同B.a數(shù)組長(zhǎng)度小于b數(shù)組長(zhǎng)度C.a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度D.以述說(shuō)法都不對(duì)
13.以下選項(xiàng)中關(guān)于C語(yǔ)言常量的敘述錯(cuò)誤的是()。
A.所謂常量,是指在程序運(yùn)行過(guò)程中,其值不能被改變的量
B.常量分為整型常量、實(shí)型常量、字符常量和字符串常量
C.常量可分為數(shù)值型常量和非數(shù)值常量
D.經(jīng)常被使用的變量可以定義成常量
14.對(duì)于一個(gè)正常運(yùn)行的C程序,下列敘述中正確的是()。A.A.程序的執(zhí)行總是從main函數(shù)開始,在main函數(shù)結(jié)束
B.程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開始,在main函數(shù)結(jié)束
C.程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個(gè)函數(shù)中結(jié)束
D.程序的執(zhí)行總是從程序中的第一個(gè)函數(shù)開始,在程序的最后一個(gè)函數(shù)中結(jié)束
15.冒泡排序在最壞情況下的比較次數(shù)是()。
A.n(n+1)/2B.nlog2nC.n(n-1)/2D.n/2
16.
17.當(dāng)用戶要求輸入的字符串中含有空格時(shí),應(yīng)使用的輸入函數(shù)是()。
A.scanfB.getcharC.getsD.getc
18.
19.以下不屬于C語(yǔ)言整數(shù)的是()。
A.12fB.25uC.-32D.+20L
20.以下與函數(shù)fseek(fp,0L,SEEK_SET)有相同作用的是
A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp)
二、2.填空題(20題)21.數(shù)據(jù)庫(kù)系統(tǒng)在其內(nèi)部分為三級(jí)模式,即概念模式、內(nèi)模式和外模式。其中,______給出了數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法。
22.若有以下程序
main()
{chara;
a='H'-'A'+'0';
printf("%c\n",A);
}
執(zhí)行后輸出結(jié)果是【】。
23.排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,常見的排序方法有插入排序、______和選擇排序。
24.以下程序的輸出結(jié)果是______。
main()
{inta=1,b=2;
a=a+b;b=a-b;a=a-b;
printf("%d,%d\n",a,b);
}
25.數(shù)據(jù)模型按不同應(yīng)用層次分成三種類型,它們是概念數(shù)據(jù)模型、【】和物理數(shù)據(jù)模型。
26.下列程序的功能:對(duì)輸入的一行字符中的數(shù)字字符的字面值累加,輸出此累加和,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
#include<ctype.h>
main()
{charc;
inta,s=0;
while(______)
if(isdigit(c))
{a=c-'0';s+=a;}
printf("s=%d",s);
}
27.以下程序的運(yùn)行結(jié)果是()。
intk=0;
voidfun(intm)
{m+=k;k+=m;printf("m=%d\nk=%d",m,k++);}
main()
{inti=4;
fun(i++);printf("i=%dk=%d\n",i,k);
}
28.下面函數(shù)用來(lái)求兩個(gè)單精度數(shù)之和,并通過(guò)形參將結(jié)果傳回,請(qǐng)?zhí)羁铡?/p>
voidsub(floatx,floaty,【】z)
{【】=x+y;}
29.以下程序的功能是:輸出x、y、z三個(gè)變量中的最大值,請(qǐng)?zhí)羁铡?/p>
main()
{intx,y,z,u;
printf("Enterx,y,x;");scanf("%d%d%d",&x,&y,&z);
if(【】)u=x;
elseu=y(tǒng);
if(【】)u=z;
printf("u=%d",u);
}
30.數(shù)據(jù)庫(kù)系統(tǒng)階段的數(shù)據(jù)具有較高獨(dú)立性,數(shù)據(jù)獨(dú)立性包括物理獨(dú)立性和【】?jī)蓚€(gè)含義。
31.以下程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
#defineMAX(a,b)(a>b?a:b)+1
main()
{inti=6,j=8,k;
printf("%d\n",MAX(i,j));
}
32.算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和______復(fù)雜度。
33.以下程序的功能是將寧符串s中的數(shù)字字符放入d數(shù)組中,最后輸出d中的字符串。例如,輸入字符串:abcl23edf4568h,執(zhí)行程序后輸出:123456。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
#include<ctype.h>
main()
{chars[80],d[80];inti,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if(【】){d[j]=s[i];j++;}
d[j]='\0';
puts(d);
}
34.下列程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
#defineM100
voidfun(intm,int*a,int*n)
{inti,j=0;
for(i=1;i<=m;i++)
if(i%7==0||i%11==0)a[j++]=i;
*n=j;
}
main()
{intaa[M],n,k;
fun(10,aa,&n);
for(k=0;k<n;k++)
if((k+1)%20==0)printf("\n");
elseprintf("%4d",aa[k]);
printf("\n");
}
35.注釋一般分為序言性注釋和______注釋。
36.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{
inti,n[]={0,0,0,0,0};
for(i=1;i<=4;i++)
{
n[i]=n[i-1]*2+1;
printfi["%d",n[i]);
}
}
37.一個(gè)類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個(gè)方法提高了軟件的【】。
38.執(zhí)行以下程序后,輸出#號(hào)的個(gè)數(shù)是【】。
#include<studio.h>
main()
{inti,j;
for(i=1;i<5;i++)
for(j=2;j<=i;j++)putchar('#');
}
39.若有定義:inta[4][4]={{l,2,3,4},{0},{4,6,8,10},{1,3,5,7}},則初始化后,a[2][2]得到的初值是______。
40.在關(guān)系模型中,把數(shù)據(jù)看成是二維表,每一個(gè)二維表稱為一個(gè)【】。
三、1.選擇題(20題)41.下列程序的輸出結(jié)果是______。#defineA100main(){inti=0,sum=0;do{if(i==(i/2)*2)continue;sum+=i;}while(++i<A);printf("%d\n",sum);}
A.2500B.2050C.4D.0
42.需求分析中開發(fā)人員要從用戶那里了解
A.軟件做什么B.用戶使用界面C.輸入的信息D.軟件的規(guī)模
43.若已定義的函數(shù)有返回值,則以下關(guān)于該函數(shù)調(diào)用敘述中錯(cuò)誤的是
A.函數(shù)調(diào)用可以作為獨(dú)立的語(yǔ)句存在
B.函數(shù)調(diào)用可以作為一個(gè)函數(shù)的實(shí)參
C.函數(shù)調(diào)用可以出現(xiàn)在表達(dá)式中
D.函數(shù)調(diào)用可以作為一個(gè)函數(shù)的形參
44.當(dāng)說(shuō)明一個(gè)結(jié)構(gòu)體變量時(shí)系統(tǒng)分配給它的內(nèi)存是()。
A.各成員所需要內(nèi)存量的總和
B.結(jié)構(gòu)中第一個(gè)成員所需的內(nèi)存量
C.成員中占內(nèi)存最大者所需的容量
D.結(jié)構(gòu)中最后一個(gè)成員所需要的內(nèi)存量
45.對(duì)于下述程序,在方式串分別采用“wt”和“wb”運(yùn)行時(shí),兩次生成的文件TEST的長(zhǎng)度是#include<stdio.h>voidmain(){FILE*fp=fopen("TEST",);fputc('A',fp);fputc('\n',fp);fputc('B',fp);fputc('\n',fp);fputc('C',fp);fclose(fp);}
A.7字節(jié)、7字節(jié)B.7字節(jié)、5字節(jié)C.5字節(jié)、7字節(jié)D.5字節(jié)、5字節(jié)
46.已知一個(gè)有序線性表為(13,18,24,35,47,50,62,83,90,115,134),當(dāng)用二分法查找值為90的元素時(shí),查找成功的比較次數(shù)為()。
A.1B.2C.3D.9
47.在下列字符序列中,合法的標(biāo)識(shí)符是()
A.P12&.aB.stud_100C.$water.12D.88sum
48.以下函數(shù)的功能是()intfun(char*A){char*b=a;while(*B)b++;{returnb-a;}}
A.比較兩個(gè)字符串的大小B.字符串的復(fù)制C.計(jì)算字符串的長(zhǎng)度D.字符串的連接
49.設(shè)intb=2;,表達(dá)式(b<<2)/(b>>1)的值是()
A.0B.2C.4D.8
50.以下敘述中正確的是
A.用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作
B.用C程序?qū)崿F(xiàn)的算法可以沒有輸出但必須要有輸入
C.用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出
D.用C程序?qū)崿F(xiàn)的算法可以既沒有輸入出沒有輸出
51.第
13
題
設(shè)有程序段
intk=10;
while(k=0)k=k-1;
則下面描述中正確的是A.while循環(huán)執(zhí)行10次B.循環(huán)是無(wú)限循環(huán)C.循環(huán)體語(yǔ)句一次也不執(zhí)行D.循環(huán)體語(yǔ)句執(zhí)行一次
52.s1和s2已正確定義并分別指向兩個(gè)字符串。若要求:當(dāng)s1所指串大于s2所指串時(shí),執(zhí)行語(yǔ)句S:則以下選項(xiàng)中正確的是
A.if(s1>s2)S;
B.if(strcmp(s1,s2))S;
C.if(strcmp(s2,s1)>0)S:
D.if(strcmp)(s1,s2)>0)S;
53.下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是()。
A.順序存儲(chǔ)的有序線性表B.結(jié)性鏈表C.二叉鏈表D.有序線性鏈表
54.以下程序運(yùn)行后,輸出結(jié)果是()#include<stdio.h>#definePT5.5#defineS(x)PT*x*xmain(){inta=1,b=2;printf("%4.1f\n",s(a+b));}
A.49.5B.9.5C.22D.45
55.以下程序的輸出結(jié)果是()。#include<stdio.h>#defineF(x)2.84+x#definew(y)printf("%d",(int)(y))#defineP(y)w(y)main(){intx=2;P(F(5)*x);}
A.12B.13C.14D.16
56.程序流程圖中帶有箭頭的線段表示的是()。
A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系
57.以下程序的功能是進(jìn)行位運(yùn)算:#include<stdio.h>main()unsignedchara,b;a=7∧3;b=~4&3;printf("%d%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。
A.43B.73C.70D.40
58.下面程序的輸出結(jié)果是______。#definea121constb=12;enumc{a1,a2};main(){printf("%d,%d,%d",sizeof(a),sizeof(b),sizeof(enumc));}
A.121,0,4B.2,2,2C.0,2,4D.0,2,2
59.模塊獨(dú)立性是軟件模塊化所提出的要求,衡量模塊獨(dú)立性的度量標(biāo)準(zhǔn)則是模塊的
A.抽象和信息隱蔽B.局部化和封裝化C.內(nèi)聚性和耦合性D.激活機(jī)制和控制方法
60.在軟件研制過(guò)程中,CASE是指()
A.計(jì)算機(jī)輔助軟件工程B.計(jì)算機(jī)產(chǎn)生的例子C.實(shí)驗(yàn)室使用的工具D.計(jì)算機(jī)輔助系統(tǒng)工程
四、選擇題(20題)61.按照“先進(jìn)后出”原則組織數(shù)據(jù)的結(jié)構(gòu)是()。
A.隊(duì)列B.棧C.雙向鏈表D.二叉樹
62.若有定義intx'y;并已正確給變量賦值。則以下選項(xiàng)中與表達(dá)式(x-y)?(x++):(y++)中的條件表達(dá)式(x_y)等價(jià)的是()。
A.(x-y011x-y>0)B.(x-y<0)C.(x-y>0)D.(x-y=o)
63.HTML是一種標(biāo)記語(yǔ)言,它是由()解釋執(zhí)行的。
A.不需要解釋B.WindowsC.瀏覽器D.標(biāo)記語(yǔ)言處理軟件
64.下列可作為C語(yǔ)言賦值的語(yǔ)句的是()。
A.x一3,y=5B.a=b=6C.i--;D.a,c
65.若a為int類型,且其值為3,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是()。
A.-3B.9C.-12D.6
66.下列敘述中正確的是()。
A.數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)是一一對(duì)應(yīng)的
B.算法的時(shí)間復(fù)雜度與空間復(fù)雜度一定相關(guān)
C.算法的效率只與問(wèn)題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無(wú)關(guān)
D.算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量
67.數(shù)據(jù)庫(kù)設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是()
A.概念設(shè)計(jì)和邏輯設(shè)計(jì)B.模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)C.內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)D.結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)
68.下列程序段的輸出結(jié)果是
inta=1234;
floatb=123.456;
doublec=12345.54321;
printf("%2d,%2.1f,%2.1f",a,b,c);
A.無(wú)輸出B.12,123.5,12345.5
C.1234,123.5,12345.5D.1234,123.4,12345.5
69.下列描述錯(cuò)誤的是()。
A.繼承分為多重繼承和單繼承
B.對(duì)象之問(wèn)的通信靠傳遞消息來(lái)實(shí)現(xiàn)
C.在外面看不到對(duì)象的內(nèi)部特征是基于對(duì)象的“模塊獨(dú)立性好”這個(gè)特征
D.類是具有共同屬性、共同方法的對(duì)象的集合
70.
71.
有以下程序
#include<stdio.h>
voidfun(char**p)
{++p;printf("%s",*p);}
main
{char*a[]={"Morning","Afternoon","Evening","Night");
fun(a);
}
程序的運(yùn)行結(jié)果是()。
A.AfternoonB.fternoonC.MorningD.orning
72.
73.有以下程序:
#include<stdio.h>
main()
{FILE*fp;charstr[10];
fp=fopen("myfile,dat","");
{puts("abe",ip);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.內(nèi)類型不一致而出錯(cuò)
74.
75.若已包括頭文件<string.h>且已有定義charsl[18],s2={"ABCDE")和inti,現(xiàn)要將字符串”ABCDE”賦給sl,下列語(yǔ)句錯(cuò)誤的是()。A.A.strcpy(s1,s2)
B.strcpy(s1,"ABCDE");
C.sl="ABCDE";
D.for(i=0;i<6;i++)sl[i]=s2[i]
76.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.7,4B.4,10C.8,8D.10,10
77.設(shè)x,y和z都是int型變量,且x=3,y=4,z=5,則下列表達(dá)式中,值為0的表達(dá)式是
A.x&&yB.x<=y
C.x||++y&&y-zD.!(x<y&&!z||1)
78.在C語(yǔ)言中,合法的長(zhǎng)整型常數(shù)是()。
A.0.123456B.4962717C.9LD.5.321e2
79.
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun的功能是:將s所指字符串的正序和反序進(jìn)行連接,形成的新串放在t所指的數(shù)組中。例如,當(dāng)S所指字符串為“ABCD”時(shí),t所指字符串中的內(nèi)容應(yīng)為“ABCDDCBA”。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)proc,其功能是:將str所指字符串中除下標(biāo)為偶數(shù)、同時(shí)ASCIl碼值為奇數(shù)的字符外,其余的字符都刪除,串中剩余字符所形成的一個(gè)新串放在t所指的數(shù)組中。例如,若str所指字符串中的內(nèi)容為ABCDEFGl2345,其中字符B的ASCIl碼值為偶數(shù),所在元素的下標(biāo)為奇數(shù),因此必須刪除;而字符A的ASCIl碼值為奇數(shù),所在數(shù)組中的下標(biāo)為偶數(shù),因此不應(yīng)當(dāng)刪除。依此類推,最后t所指的數(shù)組中的內(nèi)容應(yīng)是ACEG。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填人所寫的若干語(yǔ)句。試題程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>#include<string.h>voidproc(char*str,chart[]){}voidmain{charstr[100],t[100];system("CLS");printf("\nPleaseenterstringstr:");scanf("%S",str);proc(str,t);printf("\nTheresultiS:%s\n",t);
參考答案
1.C解析:C語(yǔ)言中,如果對(duì)定義的變量沒有賦初值,那么在后面使用時(shí),變量的值是不確定的。所以,本程序中,沒有對(duì)sum賦初值,它的值不確定。在執(zhí)行了for循環(huán)語(yǔ)句后,sum的值也不確定的,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
2.B解析:x-=x+x可化為:x=x-(x+x),由于x初始值為10,所以計(jì)算后,x=10-20=-10,因此選B)。
3.A\n根據(jù)題意,當(dāng)s=1時(shí),輸出65;當(dāng)s=2時(shí),輸出6;當(dāng)S=3時(shí),則輸出64;當(dāng)S=4時(shí),輸出5;當(dāng)s=5時(shí),輸出6;當(dāng)s=0時(shí),程序直接退出。所以最后答案為6566456,A選項(xiàng)正確。
\n
4.D
5.D聲明data是結(jié)構(gòu)體S的數(shù)組,初始化data[0].a=10,data[0].b=100,data[l].a=20,data[1].b=200。主函數(shù)中“p=data[1];”,即p.a=data[1].a,p.b=data[1].b,執(zhí)行語(yǔ)句“printf(“%d\\n”,++(p.a));”。輸出時(shí),p.a先增1再輸出,p.a=data[1].a=20,先增1等于21。故本題答案為D選項(xiàng)。
6.D
7.D本題主要考查while循環(huán)語(yǔ)句和switchcase語(yǔ)句的使用方法。其執(zhí)行步驟為:k=5時(shí),跳出switch語(yǔ)句,然后k自減1;當(dāng)k=4時(shí),跳出switch語(yǔ)句,然后k自減1;當(dāng)k=3時(shí),n=13+k=0+3=3,跳出switch語(yǔ)句,然后k自減1;當(dāng)k=2時(shí)n=n+k=3+2=5,跳出switch語(yǔ)句,然后k自減l;當(dāng)k=1時(shí),case1:n=n+k一5+1=6,沒有break繼續(xù)執(zhí)行CaSe3;n=n+k=6+1=7,跳出switch語(yǔ)句,然后k自減1;當(dāng)k=0時(shí),退出循環(huán),所以輸出結(jié)果為7。
8.B題目中先是將s2字符串寫入adc.dat中,然后執(zhí)行rewind函數(shù)將寫指針?lè)胖糜谖募_頭,寫入s1字符串。s1字符串將前5個(gè)字符覆蓋,所以最終結(jié)果為Chinang。故本題答案為B選項(xiàng)。
9.C
10.B程序中的*s%10是求余運(yùn)算,分別是a、b、C的ASCIl碼值對(duì)10進(jìn)行求余運(yùn)算然后輸出,所以輸出的答案為789。r
11.B解析:一個(gè)完整的C語(yǔ)言程序有且僅有一個(gè)主函數(shù)(main()函數(shù))。程序總從main()函數(shù)的第一條語(yǔ)句開始執(zhí)行,到main()函數(shù)的最后一條語(yǔ)句結(jié)束,其他函數(shù)都是在執(zhí)行main()函數(shù)時(shí),通過(guò)函數(shù)調(diào)用或嵌套調(diào)用而得以執(zhí)行的。C語(yǔ)言規(guī)定,main()函數(shù)在程序中的位置是任意的,故選項(xiàng)A、選項(xiàng)C和選項(xiàng)D均不正確。所以,B選項(xiàng)為所選。
12.C解析:對(duì)字符型一維數(shù)組在定義時(shí)初始化,既可以使用初始化列表,也可以使用字符串常量。不過(guò)由于字符串常量會(huì)自動(dòng)在結(jié)尾添加\'\\0\',字符做結(jié)束標(biāo)志,所以用字符串常量的初始化列表項(xiàng)個(gè)數(shù)是字符串的長(zhǎng)度加1。因此題目中的chara[]='xyz';等價(jià)于chara[]={\'x\',\'y\',\'z\',\'\\0\');,所以a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度,應(yīng)該選C。
13.D此題考查的是常量和變量的定義,常量不是經(jīng)常使用的變量,而是一個(gè)確定的數(shù)值,所以答案選擇D。
14.A解析:一個(gè)C語(yǔ)言源程序無(wú)論包括了多少函數(shù),總是從main函數(shù)開始執(zhí)行,從main函數(shù)結(jié)束。
15.C冒泡排序的基本思想是:將相鄰的兩個(gè)元素進(jìn)行比較,如果反序,則交換;對(duì)于一個(gè)待排序的序列,經(jīng)一趟排序后,最大值的元素移動(dòng)到最后的位置,其他值較大的元素也向最終位置移動(dòng),此過(guò)程稱為一趟冒泡。對(duì)于有n個(gè)數(shù)據(jù)的序列,共需n-1趟排序,第i趟對(duì)從l到n-i個(gè)數(shù)據(jù)進(jìn)行比較、交換。冒泡排序的最壞情況是待排序序列逆序,第l趟比較n-1次,第2趟比較n-2次。依此類推,最后趟比較1次,一共進(jìn)行n-l趟排序。因此,冒泡排序在最壞情況下的比較次數(shù)是(n-1)+(n-2)+…+l,結(jié)果為n(n-1)/2。本題的正確答案是選項(xiàng)C。
16.A
17.C解析:C語(yǔ)言提供了許多輸入函數(shù),其中有:getchar(輸入字符)、scanf(格式輸入)和gets\u3000(輸入字符串)等。題目要求輸入的是字符串,所以可以排除getchar,而且要求輸入的字符串中包含空格,而scanf函數(shù)默認(rèn)將輸入的空格字符作為分割符,所以空格不會(huì)被輸入,故可排除scanf。getc的作用是從文件中輸入一個(gè)字符,故也不可取。gets函數(shù)可以輸入一整行作為一個(gè)字符串,其中也包括空格字符,故應(yīng)該選擇C。
18.D
19.AC語(yǔ)言中整型常量,從表示形式來(lái)看,有十進(jìn)制、八進(jìn)制或十六進(jìn)制;從符號(hào)位來(lái)看,有有符號(hào)整數(shù)和無(wú)符號(hào)整數(shù)兩類。選項(xiàng)A的“12f”是float類型的實(shí)數(shù),不是整數(shù);選項(xiàng)B的“25u”屬于無(wú)符號(hào)整數(shù);選項(xiàng)C的“-32”是十進(jìn)制形式的有符號(hào)整數(shù);選項(xiàng)D的“+20L”是十進(jìn)制形式的長(zhǎng)整數(shù)。故本題答案為A選項(xiàng)。
20.D解析:本題考查的是文件操作函數(shù).題目中fseek(fp,0L,SEEK_SET)的作用將文件指針定位到文件開始。feof(fp)的作用是判斷文件指針是否已到文件結(jié)尾,因此選項(xiàng)A不對(duì)。ftell(fp)的作用是獲取當(dāng)前文件指針的位置,因此選項(xiàng)B不對(duì)。fgetc(fp)的作用是從文件中讀取一個(gè)字節(jié),因此選項(xiàng)C不對(duì)。rewind(中)的作用是將文件指針重定位到文件開頭,所以應(yīng)該選擇D。
21.內(nèi)模式內(nèi)模式解析:內(nèi)模式又稱為物理模式,它給出?數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法。
22.77解析:字符型數(shù)據(jù)可作為整型參加算術(shù)運(yùn)算,其值為其對(duì)應(yīng)的ASCII碼。'H'-'A',的結(jié)果是7,加'0'后是'7'的ASCII碼,所以輸出的是字符'7'。
23.交換排序交換排序解析:所謂排序是指將一個(gè)無(wú)序序列整理成按值非遞減順序排列成的有序序列,常用的排序方法有:交換排序、插入排序和選擇排序。其中交換排序包括冒泡排序和快速排序,插入排序包括簡(jiǎn)單插入排序和希爾排序,選擇排序包括直接選擇排序和堆排序。
24.21
25.邏輯數(shù)據(jù)模型邏輯數(shù)據(jù)模型解析:數(shù)據(jù)模型按不同的應(yīng)用層次分成三種類型,它們是概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型、物理數(shù)據(jù)模型。
26.分析題目可知,程序中運(yùn)用函數(shù)c=getchar()從標(biāo)準(zhǔn)輸入設(shè)備讀取下一個(gè)字符,而且是一行的字符(即沒有換行),所以條件為(c=getchar())!='\\n'。\r\n\r\n
27.m=4k=4i=5k=5m=4k=4i=5k=5解析:在主函數(shù)main()中定義了一個(gè)變量i,并賦初值4,調(diào)用fun()函數(shù)將i的初值傳遞給形參m,進(jìn)行fun()函數(shù)后的運(yùn)算,輸出結(jié)果為m=4,k=4。將k值輸出后自行增加1,k=5,此時(shí)全局變量k的值變?yōu)?。主函數(shù)中調(diào)用fun()函數(shù)后,i再自行增加1,i=5,所以主函數(shù)輸出的結(jié)果為“i=5k=5”。
28.float**zfloat*\r\n*z解析:C程序中可以通過(guò)傳送地址的方式在被調(diào)用函數(shù)中直接改變被調(diào)用函數(shù)中變量的值,從而達(dá)到函數(shù)之間數(shù)據(jù)的傳遞。
29.x>yz>u
30.邏輯獨(dú)立性邏輯獨(dú)立性解析:數(shù)據(jù)獨(dú)立性是數(shù)據(jù)與程序間的互不依賴性,即數(shù)據(jù)庫(kù)中數(shù)據(jù)獨(dú)立于應(yīng)用程序而不依賴于應(yīng)用程序。數(shù)據(jù)獨(dú)立性一般分為物理獨(dú)立性與邏輯獨(dú)立性兩個(gè)含義。注意:在人工管理階段,文件系統(tǒng)階段和數(shù)據(jù)庫(kù)管理階段中數(shù)據(jù)獨(dú)立性的特點(diǎn)。
31.99解析:本題考查宏定義與三目運(yùn)算符的綜合應(yīng)用。宏定義是原樣替換,本題中,如果a>b成立,則a+1的值為整個(gè)表達(dá)式的值,否則b+1的值為整個(gè)表達(dá)式的值(應(yīng)注意后面的加1)。
32.空間空間解析:算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。一個(gè)算法的空間復(fù)雜度,一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。
33.s[i]>='0'&&s[i]<='9'或isdigit(s[i])或s[i]>=48&&s[i]<=57或s[i]<='9'&&s[i]>='0'或'9'>=s[i]&&'0'<=s[i]或'0'<=s[i]&&'9'>=s[i]或s[i]<=57&&s[i]>=48或57>=s[i]&&48<=s[i]或48<=s[i]&&57>=s[i]s[i]>=\'0\'&&s[i]<=\'9\'或isdigit(s[i])或s[i]>=48&&s[i]<=57或s[i]<=\'9\'&&s[i]>=\'0\'或\'9\'>=s[i]&&\'0\'<=s[i]或\'0\'<=s[i]&&\'9\'>=s[i]或s[i]<=57&&s[i]>=48或57>=s[i]&&48<=s[i]或48<=s[i]&&57>=s[i]解析:本題中,chars[80],d[80];定義了兩個(gè)字符型數(shù)組,可以放入80個(gè)字符。gets函數(shù)是C語(yǔ)言提供的一個(gè)專門用于讀字符串的函數(shù),它讀入全部字符(包括空格),直到遇到回車為止。本題中,讀入字符串s后,開始比較s中的每個(gè)字符是否為數(shù)字字符,因?yàn)樽址麛?shù)據(jù)在內(nèi)存中以相應(yīng)的ASCII碼存放,所以只需比較相應(yīng)的ASCII碼值是否在48(\'0\'的ASCII代碼)與57(\'9\'的ASCII代碼)之間,或者直接與\'0\',\'9\'進(jìn)行比較,如果是數(shù)字字符則將此字符存入d數(shù)組中,不是則繼續(xù)進(jìn)行下一字符的比較,直至s結(jié)束(即\'\\0\'的出現(xiàn))。將'\\0'字符作為字符串d結(jié)束標(biāo)志,最后調(diào)用puts函數(shù)輸出d。所以在空格處應(yīng)填入比較語(yǔ)句s[i]>=\'0\'&&s[i]<=\'9\'或isdigit(s[i])或s[i]>=48&&s[i]<=57或s[i]<=\'9\'&&s[i]>=\'0\'或9\'>>=s[i]&&\'0\'<=s[i]或\'0\'<=s[i]&&\'9\'>=s[i]或s[i]<=57&&s[i]>=48或57>=s[i]&&48<=s[i]或48<=s[i]&&57>=s[i]。
34.77解析:程序中的if(i%7==0||i%11==0)是找出能被7或11整除的所有整數(shù),a[j++]=i是將滿足條件的數(shù)放到a數(shù)組中,變量j記錄了滿足條件的數(shù)據(jù)個(gè)數(shù),main函數(shù)通過(guò)變量n得到此數(shù)據(jù)個(gè)數(shù)。如果m的值為50,即表達(dá)式fun(10,aa,&n)為fun(50,aa,&n)時(shí),輸出結(jié)果為:711142122283335424449
35.功能性功能性解析:注釋一般分為序言性注釋和功能性注釋。序言性注釋通常位于每個(gè)程序的開頭部分,給出程序的整體說(shuō)明;功能性注釋一般嵌在源程序體之中,主要描述其后的語(yǔ)句或程序做什么,
36.1371513715解析:本題中,定義了個(gè)整型數(shù)組n并初始化,在for循環(huán)語(yǔ)句中,再對(duì)數(shù)組中各元素重新賦值。循環(huán)執(zhí)行第一次時(shí),n[1]=n[0]*2+1=0+1=1,printf函數(shù)輸出1,然后i的值加1,比較i<=4成立,繼續(xù)執(zhí)行循環(huán)體語(yǔ)句,相應(yīng)輸出3、7、15,直至i<=4不成立,退出循環(huán)。所以最后輸出為1、3、7、15。
37.可重用性繼承的優(yōu)點(diǎn):相似的對(duì)象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序中的冗余,提高軟件的可重用性。
38.66解析:本題中,i、j分別為外循環(huán)和內(nèi)循環(huán)的循環(huán)控制變量,外層循環(huán)共執(zhí)行了4次。當(dāng)i=1時(shí),由于內(nèi)層循環(huán)判斷條件(2<=1)為假不執(zhí)行內(nèi)層循環(huán)。當(dāng)i=2時(shí),執(zhí)行內(nèi)層循環(huán),輸出一個(gè)#;當(dāng)i=3時(shí),內(nèi)層循環(huán)循環(huán)兩次,輸出兩個(gè)#:當(dāng)i=4時(shí),內(nèi)層循環(huán)循環(huán)3次,輸出3個(gè)#。當(dāng)i=5時(shí),循環(huán)判斷條件不成立,退出外層循環(huán)。所以一共輸出6個(gè)#。
39.88解析:二維數(shù)組可以看成是按矩陣形式排列的,題目中給二維數(shù)組賦初值是按行分段賦值的,a[4][4]可以分解為4個(gè)一維數(shù)組,其數(shù)組名分別為a[0]、a[1]、a[2]、a[3],這4個(gè)一維數(shù)組都有,4個(gè)元素,a[0]的元素為a[0][0]、a[0][1]、a[O][2]、a[0][3]。
40.關(guān)系關(guān)系解析:在數(shù)據(jù)庫(kù)中,一個(gè)表就是一個(gè)關(guān)系。一個(gè)關(guān)系的邏輯結(jié)構(gòu)就是一張二維表。
41.A解析:本題程序的功能是求1到99之間(包括1和99)所有奇數(shù)之和。程序中的while循環(huán)的終止條件為++i=100,在while循環(huán)體內(nèi),如果i是偶數(shù),則執(zhí)行continue,跳過(guò)這一次循環(huán),執(zhí)行下—次循環(huán),否則求和和。最后輸出的值是1到99之間(包括1和99)所有奇數(shù)之和(1+99)*50/2=2500。
42.A解析:需求分析是軟件定義時(shí)期的最后一個(gè)階段,它的基本任務(wù)就是準(zhǔn)確問(wèn)答“系統(tǒng)必須做什么”。這個(gè)問(wèn)題即軟件系統(tǒng)功能,需求分析的任務(wù)還不是確定系統(tǒng)怎樣完成它的工作,而僅僅是確定系統(tǒng)必須完成哪些工作,也就是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。
43.D解析:在c語(yǔ)言中規(guī)定,無(wú)返回值的函數(shù)調(diào)用,可以作為表達(dá)式或表達(dá)式的一部分,也可以作為一條語(yǔ)句;而有返回值的函數(shù)調(diào)用只能作為一個(gè)函數(shù)的實(shí)參(即將其返回值傳給相應(yīng)的形參),而不能作為形參(因?yàn)樾螀⑹窃诤瘮?shù)定義時(shí)說(shuō)明的)。
44.A解析:本題主要考查結(jié)構(gòu)體的內(nèi)存使用:對(duì)結(jié)構(gòu)體而言,結(jié)構(gòu)中不同的成員分別使用不同的內(nèi)存空間,一個(gè)結(jié)構(gòu)所占內(nèi)存空間的大小是結(jié)構(gòu)中每個(gè)成員所占內(nèi)存空間大小的總和,結(jié)構(gòu)中每個(gè)成員相互獨(dú)立。
45.B解析:以“wt”方式寫入的是字符文件,轉(zhuǎn)義字符\'\\n\'被看作兩個(gè)字符來(lái)處理。而'wb'方式寫入的是二進(jìn)制文件,轉(zhuǎn)義字符\'\\n\'是一個(gè)字符。故正確答案為選項(xiàng)B)。
46.BB?!窘馕觥扛鶕?jù)二分法查找法需要兩次:(1)首先將90與表中間的元素50進(jìn)行比較,由于90大于50,所以性表的后半部分查找。(2)第二次比較的元素是后半部分的中間元素,即90,這時(shí)兩者相等,即查找成功。
47.B
48.C
49.D
50.C解析:算法是指為解決某個(gè)特定問(wèn)題而采取的確定且有限的步驟。一個(gè)算法應(yīng)當(dāng)具有以下五個(gè)特性:有窮性;確定性;可行性;有零個(gè)或多個(gè)輸入;有一個(gè)或多個(gè)輸出。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
51.C本題中,首先將0賦給k,表達(dá)式變?yōu)?,跳出循環(huán),沒有執(zhí)行循環(huán)體語(yǔ)句。解答本題的關(guān)鍵是掌握while語(yǔ)句。
52.D解析:在C語(yǔ)言中字符串的比較用strcmp()函數(shù),該函數(shù)有兩個(gè)參數(shù),分別為被比較的兩個(gè)字符串。如果第一個(gè)字符串大于第二個(gè)字符串返回值大于0,若小于返回值小于0,相等返回值為0.字符串比較大小的標(biāo)準(zhǔn)是從第一個(gè)字符開始依次向右比較,遇到某一個(gè)字符大,該字符所在的字符串就是較大的字符串,如果遇到某一個(gè)字符小,該字符所在的字符串就是較小的字符串。本題中要求當(dāng)s1所指字符串大于s2所指串時(shí),執(zhí)行語(yǔ)句s,因此應(yīng)該為strcmp(s1,s2)>0或者strcmp(s2,s1)<0,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
53.A\nA?!窘馕觥慷址ú檎抑贿m用于順序存儲(chǔ)的有序線性表,對(duì)于順序存儲(chǔ)的非有序線性表和線性鏈表,都只能采用順序查找。
\n
54.B
55.A
56.C解析:程序流程圖是人們對(duì)解決問(wèn)題的方法、思路或算法的一種描述。其中,圖框表示各種操作的類型,圖框中的文字和符號(hào)表示操作的內(nèi)容,流程線表示操作的先后次序。帶箭頭的線段在數(shù)據(jù)流程圖中表示數(shù)據(jù)流。帶箭頭的線段在程序流程圖中表示控制流。題中給出的選項(xiàng)中,在圖元之間用帶有箭頭的線段表示圖元關(guān)系。在模塊之間用帶有箭頭的線段表示調(diào)用關(guān)系。構(gòu)成程序流程圖的基本圖符及含義:→或↓表示控制流;□表示加工步驟;
表示邏輯條件。
57.A解析:“^”是按位異或運(yùn)算,運(yùn)算規(guī)則是:當(dāng)兩個(gè)二進(jìn)制數(shù)對(duì)應(yīng)位上的數(shù)相同時(shí),異或結(jié)果為0,否則結(jié)果為1。73相當(dāng)于0110011,所以a的值為4。“&”是按位與運(yùn)算符,其運(yùn)算規(guī)則是:當(dāng)二進(jìn)制數(shù)的所有對(duì)應(yīng)位上的數(shù)值都為1時(shí),結(jié)果才為1;“~”是按位取反?!?&3相當(dāng)于1011&0011=0011,所以b的值為3。
58.B解析:sizeof函數(shù)是取變量所占的存儲(chǔ)空間的字節(jié)數(shù),標(biāo)識(shí)a代表常量121;constb=12;,其中數(shù)據(jù)類型可以缺省,默認(rèn)為整型;enumc{a1,a2};定義了—個(gè)枚舉類型enumc,a1,a2為枚舉元素,在C編譯時(shí),對(duì)枚舉元素按常量處理,它們的值按定義順序依次為0,1。因此它們的字節(jié)數(shù)均為2,2,2。
59.C解析:模塊的獨(dú)立程序是評(píng)價(jià)設(shè)計(jì)好壞的重要度量標(biāo)準(zhǔn)。衡量軟件的模塊獨(dú)立性使用耦合性和內(nèi)聚性這兩個(gè)定性的度量標(biāo)準(zhǔn)。
60.A
61.B棧是線性表的一種,其插入和刪除運(yùn)算都只在表的一端進(jìn)行。進(jìn)行插入、刪除的一端稱為棧頂,封閉的一端稱為棧底。棧頂元素是最后被插入的元素,不是最后被刪除的元素,是按先進(jìn)后出的原則組織數(shù)據(jù)的。
62.A條件表達(dá)式:X----表達(dá)式l?表達(dá)式2:表達(dá)式3的含義是:先求解表達(dá)式1,若其值為非0(真),則求解表達(dá)式2,將表達(dá)式2的值賦給x,若表達(dá)式1的值為o(假),則求解表達(dá)式3,將表達(dá)式3的值賦給x。在本題中與表達(dá)式(x_y)等價(jià)的是(x—y<011x—y>0),A選項(xiàng)正確。
63.C
64.C本題考查賦值語(yǔ)句,而選項(xiàng)A、B是表達(dá)式,不合題意,選項(xiàng)D中強(qiáng)制類型轉(zhuǎn)換,應(yīng)把類型名用括號(hào)括起來(lái),選項(xiàng)C中i--也可寫成i=i-1,故選擇c選項(xiàng)。
65.C解析:本題中首先定義一個(gè)整型變量a并給它賦初值為3,在表達(dá)式中,從右開始執(zhí)行,即先執(zhí)行“a-=a*a;”等價(jià)于a=a-a*a即a=3-3*3=-6,此時(shí)a的值為-6,接著執(zhí)行“a+=a-;”相
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 口才基本功培訓(xùn)
- 16.3 電阻(7大題型)(含答案解析)
- T-YNAEPI 0003-2024 綠美高速公路綠化設(shè)計(jì)指南
- 學(xué)習(xí)任務(wù)群視域下的小學(xué)語(yǔ)文作業(yè)設(shè)計(jì)策略
- 21高爐轉(zhuǎn)爐流程
- 生命體征PBP的評(píng)估與護(hù)理
- 高中語(yǔ)文第3單元因聲求氣吟詠詩(shī)韻一將進(jìn)酒課件新人教版選修中國(guó)古代詩(shī)歌散文欣賞
- 中職生心理健康教育教案設(shè)計(jì)
- 2.4 噪聲的危害和控制課件-2024-2025學(xué)年人教版物理八年級(jí)上冊(cè)
- 全省小學(xué)數(shù)學(xué)教師賽課一等獎(jiǎng)數(shù)學(xué)一年級(jí)上冊(cè)(人教2024年新編)《在教室里認(rèn)一認(rèn)》課件
- 四川省成都市2023-2024學(xué)年高一上學(xué)期語(yǔ)文期中考試試卷(含答案)
- 幼兒園公開課:大班語(yǔ)言《相反國(guó)》課件(優(yōu)化版)
- 雅馬哈YS12編程手冊(cè)
- 新職員崗前培訓(xùn)引導(dǎo)清單(其他)
- 液壓管道沖洗方案
- 農(nóng)機(jī)修理工國(guó)家職業(yè)標(biāo)準(zhǔn)及教學(xué)大綱
- 絲網(wǎng)花初級(jí)教材
- 情境7庫(kù)存管理技術(shù)
- 玻璃制品的應(yīng)力與退火(邸工)
- 小學(xué)部編版四年級(jí)語(yǔ)文上冊(cè)全冊(cè)一課一練含答案
- 重點(diǎn)??茀R報(bào)版本ppt課件
評(píng)論
0/150
提交評(píng)論