




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022年貴州省畢節(jié)地區(qū)全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.有以下程序:#include<stdio.h>main(){charc;for(;(c=getchar())!=‘#’;){if(c>=‘a(chǎn)’&&c<=‘z’)c=c-‘a(chǎn)’+‘A’;putchar(++c);}}執(zhí)行時(shí)輸入aBcDefG##并按<Enter>鍵,則輸出結(jié)果是()。
A.AbCdEFgB.ABCDEFGC.BCDEFGHD.bcdefgh
2.若有定義:Typedefint*T[10];T*a;則以下與上述定義中a類(lèi)型完全相同的是()。
A.int*a[10];
B.int**a[10];
C.int*(*a)[10];
D.int*a[][10];
3.以下是一個(gè)對(duì)數(shù)組A(含有n個(gè)數(shù)值元素)進(jìn)行排序的算法偽代碼,請(qǐng)問(wèn)它的平均時(shí)間復(fù)雜度是多少()
A.O(n)B.O(n^2)C.O(1)D.O(log(n))
4.以下敘述中錯(cuò)誤的是()。
A.線(xiàn)性結(jié)構(gòu)也能采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
B.線(xiàn)性結(jié)構(gòu)一定能采用順序存儲(chǔ)結(jié)構(gòu)
C.有的非線(xiàn)性結(jié)構(gòu)也能采用順序存儲(chǔ)結(jié)構(gòu)
D.非線(xiàn)性結(jié)構(gòu)一定不能采用順序存儲(chǔ)結(jié)構(gòu)
5.有以下程序段intj;floaty;charname[50];scanf("%2d%f%s",&i,&y,name);當(dāng)執(zhí)行上述程序段,從鍵盤(pán)上輸入555667777abc后,y的值為()。A.55566.0B.566.0C.7777.0D.566777.0
6.
7.設(shè)以下變量均為int類(lèi)型,則值不等于7的表達(dá)式是()。
A.(x=y=6,x+y,x+1)
B.(x=y=6,x+y,y+1)
C.(x=6,x+1,y=6,x+y)
D.(y=6,y+l,x=y,x+1)
8.有以下程序(提示:程序中fseek(fp-2L*sizeof(int),SEEK_END);語(yǔ)句的作用是使位置指針從文件末尾向前移2*sizeof(ing)字節(jié))#include<stdio.h>main(){FILE*fp;inti,a[4]={1,2,3,4},b;fp=fopen("data.dat","wb");for(i=0;i<4;i++)fwrite(&a[i],sizeof(int),1,fp);fclose(fp);fp=fopen("data.dat","rb");fseek(fp,-2L*sizeof(int),SEEK_END);fread(&b,sizeof(int),1,fp);/*從文件中讀取sizeof(int)字節(jié)的數(shù)據(jù)到變量b中*/fclose(fp);printf("%d\n",B);}執(zhí)行后輸出結(jié)果是
A.2B.1C.4D.3
9.同一個(gè)關(guān)系模型的任意兩個(gè)元組值()。
A.可以全相同B.不能全相同C.必須全相同D.以上都不對(duì)
10.設(shè)a、b和、c都是int型變量,且a=3、b=4、c=5,則下面的表達(dá)式中,值為0的表達(dá)式為()
A.'a'&&'b'
B.a<=b
C.a‖b+c&&b-c
D.!(a-b)&&(!c‖1)
11.如果最常用的操作是取第i個(gè)結(jié)點(diǎn)及其前驅(qū),則采用()存儲(chǔ)方式最節(jié)省時(shí)間。A.單鏈表B.雙鏈表C.單循環(huán)鏈表D.順序表
12.下列程序的運(yùn)行結(jié)果是()。main{intx=1,y=3,a=0;while(x++!=(y-=l)){a+=1;if(y<x)break;}printf("%d,%d,%d\n",x,y,a);}A.2,3,2B.2,3,1C.1,3,3D.3,1,2
13.
14.結(jié)構(gòu)化程序設(shè)計(jì)方法的3種基本控制結(jié)構(gòu)中不包括
A.循環(huán)結(jié)構(gòu)B.遞歸結(jié)構(gòu)C.順序結(jié)構(gòu)D.選擇結(jié)構(gòu)
15.以下選項(xiàng)中,非法的字符常量是______。
A.'\t'B.'\17'C.\nD.'\xaa'
16.若有下列定義(設(shè)int類(lèi)型變量占2個(gè)字節(jié)):inti=8,j=9;則下列語(yǔ)句:printf("i=%%d,j=%%d\n",i,j);輸出的結(jié)果是()。A.i=8,j=9B.i=%d,j=%dC.i=%8,j=%9D.8,9
17.有下列程序:main{inty=10;do{y--;}while(--y);printf("%d\n",--y);)當(dāng)執(zhí)行程序時(shí),輸出的結(jié)果是()。A.-1B.1C.4D.0
18.有以下程序:#include<stdio.h>#include<string.h>main(){printf(“%d\n”,strlen(“0\t\n\0C011\1”));}程序運(yùn)行后的輸出結(jié)果是()。
A.3B.13C.1D.0
19.以下敘述中錯(cuò)誤的是()。
A.可以通過(guò)typedef增加新的類(lèi)型
B.可以typedef將已存在的類(lèi)型用一個(gè)新的名字來(lái)代表
C.用typedef定義新的類(lèi)型名后,原有類(lèi)型名仍有效
D.用typedef可以為各種類(lèi)型起別名,但不能為變量起別名
20.有嵌套的if語(yǔ)句:if(a<b) if(a<c)k=a; elsek=c;elseif(b<c)k=b;elsek=c;以下選項(xiàng)中與上述if語(yǔ)句等價(jià)的語(yǔ)句是()。
A.k=(a<b)?((b<c)?a:b):((b>c)?b:c);
B.k=(a<b)?((a<c)?a:c):((b<c)?b:c);
C.k=(a<b)?a:b;k=(b<c)?b:c;
D.k=(a<b)?a:b;k=(a<c)?a:c;
二、2.填空題(20題)21.用高級(jí)語(yǔ)言編寫(xiě)的程序稱(chēng)為【】程序,它可以通過(guò)解釋程序翻譯一句執(zhí)行一句的方式執(zhí)行,也可以通過(guò)編譯程序一次翻譯產(chǎn)生目標(biāo)程序,然后執(zhí)行。
22.若x、y和z均是int型變量,則執(zhí)行下面表達(dá)式后的x值為【】。
x=(y=4)+(z=3)
23.數(shù)據(jù)模型按不同應(yīng)用層次分成三種類(lèi)型,它們是概念數(shù)據(jù)模型、【】和物理數(shù)據(jù)模型。
24.執(zhí)行以下程序后,輸出“#”的個(gè)數(shù)是【】。
#include<stdio.h>
main()
{inti,j;
for(i=1;i<5;i++)
for(j=2;j<=i;j++)putchar('#');
}
25.以下程序運(yùn)行后輸出結(jié)果是【】。
#include<stdio,h>
main()
{inta,b,c;
a=10;b:20;c=(a%b<1)‖(a/b>1);
printf("%d%d%d\n",a,b,c);
}
26.函數(shù)sstrcmp()的功能是對(duì)兩個(gè)字符串進(jìn)行比較。當(dāng)s所指字符串和t所指字符串相等時(shí),返回值為0;當(dāng)s所指字符串大于t所指字符串時(shí),返回值大于0;當(dāng)s所指字符串小于t所指字符串時(shí),返回值小于0(功能等同于庫(kù)函數(shù)strcmp())。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
intsstrcmp(char*s,char*t)
{
while(*s&&*t&&*s==【】)
{s++;t++;}
rerurn【】;
}
27.按照邏輯結(jié)構(gòu)分類(lèi),結(jié)構(gòu)可以分為線(xiàn)性結(jié)構(gòu)和非線(xiàn)性結(jié)構(gòu),棧屬于______。
28.C語(yǔ)言用于結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)是______、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。
29.下面程序的功能是:輸出100以?xún)?nèi)能被3整除且個(gè)位數(shù)為9的所有整數(shù),清填空。main(){inti,j;for(i=0;();i++){j=i*10+9;if(j%3!=0)continue;printf("%d",j);}}
30.數(shù)據(jù)流的類(lèi)型有______和事務(wù)型。
31.在面向?qū)ο蟮姆椒ㄖ?,______描述的是具有相似屬性與操作的一組對(duì)象。
32.與十進(jìn)制數(shù)101等值的二進(jìn)制數(shù)為【】。
33.定義inta=5,b;,則執(zhí)行表達(dá)式b=++a*--a之后,變量b的值為【】。
34.排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,常見(jiàn)的排序方法有插入排序、【】和選擇排序等。
35.以下程序運(yùn)行后的輸出結(jié)果是【】。
#include<stdio,h>
#include<stating,h>
voidfun(char*s,intp,intk)
{inti;
for(i=p;i<k-1;i++)s[i]=s[i+2];
}
main()
{chars[]="abedefg";
fun(s,3,strlen(s));puts(s);
}
36.下列程序的循環(huán)次數(shù)是______。
x=2;
do
{x=x*x;}
while(!x);
37.有以下程序main(){inti,s=0,t[]={1,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);printf("%d\n",s);}程序執(zhí)行后的輸出結(jié)果是
38.C語(yǔ)言中用______表示邏輯值為“真”,用數(shù)字“0”表示邏輯值為“假”。
39.閱讀程序:
#include<string.h>
#include<strdio.h>
strle(chara[],charb[])
{intnum=0,n=0;
while(*(a+num)!='0')num++;
while(b[n])
{*(a+num)=b[n];num++;n++;}
return(num);
}
main()
{charstrl[81],str2[81],*p1=strl,*p2=str2;
gets(p1);gets(p2);
prinf("%d\n",strle(p1,p2));
}
運(yùn)行上面的程序,如果從鍵盤(pán)上輸入字符串qwerty和字符串a(chǎn)bcd,則程序的輸出結(jié)果是【】。
40.下列程序運(yùn)行時(shí)輸入1234567<CR>,則輸出結(jié)果是______。
#include<stdio.h>
main()
{inta=1,b;
scanf("%2d%2d",&a,&b);printf("%d%d\n",a,b);
}
三、1.選擇題(20題)41.下述程序的輸出結(jié)果是()。#include<stdio.h>voidmain(){inta[5]={1,2,3,4,5};int*p=a,**q=&p;printf("%d,",*(p++));printf("%d",**q);}
A.2,2B.1,1C.3,4D.1,2
42.先用以下語(yǔ)句定義字符型變量:charc;然后要將字符a賦給變量c,則下列語(yǔ)句中正確的是()
A.c='a';B.c="a";C.c="97";D.c='97'
43.下列不正確的轉(zhuǎn)義字符是()。
A.'\\'B.'\t'C.'\n'D.'088'
44.以下程序的輸出結(jié)果是
main()
{inta,i;a=0;
for(i=1;i<5;i++)
{switch(i)
{case0:
case3:a+=2;
case1:
case2:a+=3;
default:a+=5;}
}printf("%d\n",a);}
A.31B.13C.10D.20
45.下列敘述中正確的是()。
A.測(cè)試工作必須由程序編制者自己完成
B.測(cè)試用例和調(diào)試用例必須一致
C.一個(gè)程序經(jīng)調(diào)試改正錯(cuò)誤后,一般不必再進(jìn)行測(cè)試
D.上述三種說(shuō)法都不對(duì)
46.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是()。
A.程序的規(guī)模B.程序的效率C.程序設(shè)計(jì)語(yǔ)言的先進(jìn)性D.程序的易讀性
47.已知i、j、k為int型變量,若從鍵盤(pán)輸入:1,2,3<回車(chē)>,使i的值為1、j的值為2、k的值為3,以下選項(xiàng)中正確的輸入語(yǔ)句是______。
A.sanf("%2d%2d%2d",&i,&j,&k);
B.scanf("%d%d%d",&i,&j,&k);
C.scanf("%d,%d,%d",&i,&j,&k);
D.scanf("i=%d,j=%d,k=%d",&i,&j,&k)
48.若有定義intb[8],*p=b;則p+6表示()。
A.數(shù)組元素b[6]的值B.數(shù)組元素b[6]的地址C.數(shù)組元素b[7]的地址D.數(shù)組元素b[0]的值加上6
49.若有“doublea;”,則正確的輸入語(yǔ)句是()。
A.scanf("%1f",A);
B.scanf("%f",&A);
C.scanf("%1f",&A);
D.scanf("%1e",&A);
50.有如下程序:main(){ints=0,a=1,n;scanf("%d",&n);do{s+=1;a=a-2;}while(a!=n)printf("%d\n",s);}若要使程序輸出2,則應(yīng)該從鍵盤(pán)輸入的值是______。
A.-1B.-3C.-5D.0
51.關(guān)于線(xiàn)性表的描述,錯(cuò)誤的一條是______。
A.線(xiàn)性表是線(xiàn)性結(jié)構(gòu)
B.線(xiàn)性表就是單鏈表
C.線(xiàn)性表的順序存儲(chǔ)結(jié)構(gòu),必須占用一片連續(xù)的存儲(chǔ)單元
D.線(xiàn)性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),不必占用連續(xù)的存儲(chǔ)單元
52.若程序有宏定義:#defineN100則以下敘述中正確的是______。
A.宏定義中定義了標(biāo)識(shí)符N的值為整數(shù)100
B.在編譯程序?qū)源程序進(jìn)行預(yù)處理時(shí)用100替換標(biāo)識(shí)符N
C.對(duì)C源程序進(jìn)行編譯時(shí)用100替換標(biāo)識(shí)符N
D.在運(yùn)行時(shí)用100替換標(biāo)識(shí)符N
53.設(shè)有以下說(shuō)明語(yǔ)句structex{intX;floaty;charz;}example;則下面的敘述中不正確的是
A.struct結(jié)構(gòu)體類(lèi)型的關(guān)鍵字
B.example是結(jié)構(gòu)體類(lèi)型名
C.x,y,z都是結(jié)構(gòu)體成員名
D.structex是結(jié)構(gòu)體類(lèi)型名
54.有以下程序A:intf1(intx,inty){returnx>y?x:y;}intf2(intx,inty){returnx>y?y:x;)main(){inta=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,B),f1(c,D));f=f1(f2(a,B),f2(c,D));g=a+b+c+d-e-f;printf("%d,%d,%d\n",e,f,g);}程序運(yùn)行后的輸出結(jié)果是()。
A.4,3,7B.3,4,7C.5,2,7D.2,5,7
55.判斷char型變量c1是否為小寫(xiě)字母的正確表達(dá)式為()
A.'a'<=c1<='z'
B.(c1>=a)||(c1<=z)
C.('a'=>c1||('z'<=c1)
D.(c1>='a')&&(c1<='z')
56.運(yùn)行下面的程序,其輸出結(jié)果為_(kāi)_____。main(){pintf("%d,%d",5%-3,-5%3);}
A.2,-2B.-2,2C.-2,-2D.2,2
57.若fp已正確定義并指向某個(gè)文件,當(dāng)未遇到該文件結(jié)束標(biāo)志時(shí)函數(shù)feof(中)的值為
A.0B.1C.-1D.一個(gè)非0值
58.電子郵件是()
A.網(wǎng)絡(luò)信息檢索服務(wù)
B.通過(guò)Web網(wǎng)頁(yè)發(fā)布的公告信息
C.通過(guò)網(wǎng)絡(luò)實(shí)時(shí)交互的信息傳遞方式
D.一種利用網(wǎng)絡(luò)交換信息的非交互式服務(wù)
59.設(shè)整型數(shù)i=5,則printf("%d",i+++++i);的輸出為_(kāi)_____。
A.10B.11C.12D.語(yǔ)法錯(cuò)誤
60.運(yùn)行下列程序時(shí),若輸入的數(shù)據(jù)為“1,2,3”,則輸出結(jié)果是()。main(){floata,b,c,t;scanf("%f,%f,%f",&a,&b,&c);if(a<b){t=a;a=b;b=t;}if(a<c){t=a;a=c;c=t;}if(b<c){t=b;b=c;c=t;)printf("%f\n%f\n%f\n",a,b,c);}
A.1
B.1.002.003.003.002.00
C.1
D.3.00000032.00000021.000000
四、選擇題(20題)61.
62.以下關(guān)于C語(yǔ)言的敘述中正確的是()。
A.C語(yǔ)言中的注釋不可以?shī)A在變量名或關(guān)鍵字的中間
B.C語(yǔ)言中的變量可以在使用之前的任何位置進(jìn)行定義
C.在C語(yǔ)言算術(shù)表達(dá)式的書(shū)寫(xiě)中,運(yùn)算符兩側(cè)的運(yùn)算數(shù)類(lèi)型必須一致
D.C語(yǔ)言的數(shù)值常量中夾帶空格不影響常量值的正確表示
63.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.1,0,7,0,B.1,2,3,4,C.1,4,5,9,D.3,4,8,10,
64.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.321B.12300C.1D.123
65.
66.若有以下程序段:
程序運(yùn)行后的輸出結(jié)果是()。
A.16B.8C.4D.2
67.
68.有以下程序程序執(zhí)行后的輸出結(jié)果是()。
A.y=-IB.y=oC.y=lD.while構(gòu)成無(wú)限循環(huán).
69.
70.軟件詳細(xì)設(shè)計(jì)的主要任務(wù)是確定每個(gè)模塊的()。
A.算法和使用的數(shù)據(jù)結(jié)構(gòu)B.外部接口C.功能D.編程
71.
72.
73.
74.有以下程序
structSTU
{
charname[10];
intnum;
intScore;
};
main()
{
structSTUs[5]={{"YangSan",20041,703},
{"LiSiGuo",20042,580},
{"WangYin",20043,680},
{"SunDan",20044,550},
{"Penghua",20045,537}},*p[5],*t;
inti,j;
for(i=0;i<5;i++)
p[i]=&s[i];
for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
if(p[i]->Score>p[j]->Score)
{
t=p[i];
p[i]=p[j];
p[j]=t;
}
printf("%d%d\n",s[1].Score,p[1]->Score);
}
程序運(yùn)行后的輸出結(jié)果是
A.550550B.580550
C.680680D.580680
75.有以下程序
#include<stdio.h>
#include<stdlib.h>
intfun(intt)
{int*p;
p=(int*)malloc(sizeof(int));
*p=t;return*p;
}
main()
{inta;
a=fun(8);
printf("%d\n",a+fun(10));
}
程序的運(yùn)行結(jié)果是
A.0B.10
C.18D.出錯(cuò)
76.若在定義語(yǔ)句:inta,b,c,*p=&c;之后,接著執(zhí)行以下選項(xiàng)中的語(yǔ)句,則能正確執(zhí)行的語(yǔ)句是()。
A.scanf("%d",a,b,c);
B.scanf("%d%d%d",a,b,c):
C.scanf("%d",p);
D.scanf("%d",&p);
77.執(zhí)行下列程序后,變量a,b,C的值分別是()。intx=5,y=4;inta,b,c;a=(--x==y++)?X:++y;b=++x:c=y:A.a=5,b=5,c=5B.a=4,b=5,c=5C.a=5,b=6,c=5D.a=1,b=5,c=6
78.下列敘述中正確的是()。
A.算法就是程序B.設(shè)計(jì)算法時(shí)只需要考慮數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)C.設(shè)計(jì)算法時(shí)只需要考慮結(jié)果的可靠性D.以上3種說(shuō)法都不對(duì)
79.執(zhí)行下面的程序后,a的值為()。main{inta,b;for(a=1,b=1;a<=10;a++){if(b%3==l){b+=3;continue;}b-=5;}}A.7B.8C.9D.10
80.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
A.1,2,3.4,5,6,7,8,9,10,
B.10,9,8,7,6,5,4,3,2,1,
C.2,3,1,6,8,7,5,4,10,9,
D.10,9,8,7,6,1,2,3,4,5,
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:從m個(gè)學(xué)生的成績(jī)中統(tǒng)計(jì)出低于平均分的學(xué)生人數(shù),人數(shù)由函數(shù)值返回,平均分存放在形參aver所指的存儲(chǔ)單元中。例如,輸入8名學(xué)生的成績(jī):6070809065758595則低于平均分的學(xué)生人數(shù)為4(平均分為77.5)。實(shí)際輸入時(shí)學(xué)生數(shù)以“Enter”鍵作為結(jié)束,成績(jī)與成績(jī)之間也與Enter鍵作為分隔。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)proc,它的功能是:將字符串中的前導(dǎo)*號(hào)全部刪除,中間和后面的*號(hào)不刪除。 例如,若字符串中的內(nèi)容為****a*bc*def*g****,刪除后,字符串中的內(nèi)容則應(yīng)當(dāng)是a*bc*def*g****。 注意:部分源程序給出如下。 請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。 試題程序: #include<stdio.h=:{> #include<conio.h> woidproc(char*str) { } voidmaincharstr[81];printf("Enterastring:\n");gets(str);proc(str):printf("Thestringafterdeleted:\n");puts(str);}
參考答案
1.C題干中,循環(huán)的作用是將輸入的字符串轉(zhuǎn)化為大寫(xiě),getchar函數(shù)讀入一個(gè)字符,putchar函數(shù)輸出一個(gè)字符,當(dāng)遇到‘#’字符結(jié)束?!皃utcha(++C);”,表示將字符變量c加1后輸出。當(dāng)輸入“aBcDefG##”時(shí),得到的結(jié)果是BCDEFGH。故本題答案為C選項(xiàng)。
2.B由題意可知,T是一個(gè)數(shù)組指針,即int*[],所以使用T*a定義,可知a屬于int**[\n]類(lèi)型。本題答案為B選項(xiàng)。
3.B
4.D滿(mǎn)二叉樹(shù)與完全二叉樹(shù)均為非線(xiàn)性結(jié)構(gòu),但可以按照層次進(jìn)行順序存儲(chǔ)。本題答案為D選項(xiàng)。
5.B變量J只接收輸入數(shù)據(jù)的前兩位,從第三位開(kāi)始直到空格之間的輸入整數(shù)都會(huì)被保存到浮點(diǎn)型變量Y中。
6.C
7.C
8.D解析:函數(shù)fopen(constchar*filename,constchar*mode)的功能是以mode指定的模式打開(kāi)filename指定的磁盤(pán)文件:fclose(FILE*fp)的功能是關(guān)閉文件指針fp指向的文件;函數(shù)fscanf(FILE*fp,constchat\'*format1,address,--])的功能是根據(jù)format中的格式從中指向的文件中讀取數(shù)據(jù),并存入到相應(yīng)的address指向的變量中.函數(shù)fprintf(FILE*fp,constchar*format[,argument--])的功能是把a(bǔ)rgument列表中的表達(dá)式值寫(xiě)到fp所指向的文件中;函數(shù)fwfite(void*ptr,intsize,intn,FILE*fp)的功能是把ptr指向的緩沖區(qū)中的size×n個(gè)字節(jié)寫(xiě)到文件指針fp指向的文件中。本題中首先定義了一個(gè)文件指針fp,然后通過(guò)函數(shù)fopen以可'wb'的方式打開(kāi)文件'data.daft',直接通過(guò)一個(gè)for循環(huán),每循環(huán)一次調(diào)用函數(shù)fwrite將數(shù)組中的元素a[i]的值寫(xiě)進(jìn)fp所指的文件中,該循環(huán)共循環(huán)4次,循環(huán)完后fp所指文件的內(nèi)容為123,然后通過(guò)fclose函數(shù)關(guān)閉fp所指文件.接著通過(guò)函數(shù)fopen以'rb”的方式打開(kāi)文件'data.dat',通過(guò)fseek函數(shù)讓指針中從文件末尾向前移動(dòng)2個(gè)int型大小字節(jié)的,然后通過(guò)函數(shù)fread從中所指的文件中讀取一個(gè)int型大小的數(shù)據(jù)到變量b中,故此時(shí)b的值為3,因此最后輸出的,b的值為3,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
9.B關(guān)系具有以下7個(gè)性質(zhì)。①元組個(gè)數(shù)有限性:二維表中元組的個(gè)數(shù)是有限的。②元組的唯一性:二維表中任意兩個(gè)元組不能完全相同。③元組的次序無(wú)關(guān)性:二維表中元組的次序,即行的次序可以任意交換。④元組分量的原子性:二維表中元組的分量是不可分割的基本數(shù)據(jù)項(xiàng)。⑤屬性名唯一性:二維表中不同的屬性要有不同的屬性名。⑥屬性的次序無(wú)關(guān)性.二維表中屬性的次序可以任意交換。⑦分量值域的同一性:二維表屬性的分量具有與該屬性相同的值域,或者說(shuō)列是同質(zhì)的。滿(mǎn)足以上7個(gè)性質(zhì)的二維表稱(chēng)為關(guān)系,以二維表為基本結(jié)構(gòu)所建立的模型稱(chēng)為關(guān)系模型。本題答案為B選項(xiàng)。
10.D
11.D
12.D本題考查"drhile循環(huán)。第一次循環(huán),y=y-1,y=2,循環(huán)條件成立,x=1,X++后值為1,x自加變成2,進(jìn)入循環(huán),a=a+1=1,判斷if語(yǔ)句條件是否成立,y<x不成立,接著執(zhí)行下一次循環(huán)。第二次循環(huán),x=2,y-1=1,循環(huán)條件成立,進(jìn)入循環(huán),a=a+1=2,判斷if語(yǔ)句的控制條件是否成立,y<X成立,執(zhí)行break語(yǔ)句,退出循環(huán)。結(jié)果為D。
13.B
14.B解析:本題考查了程序的基本結(jié)構(gòu)。程序由一些基本結(jié)構(gòu)組成。任何一個(gè)大型的程序都由3種基本結(jié)構(gòu)組成,由這些基本結(jié)構(gòu)順序的構(gòu)成了一個(gè)結(jié)構(gòu)化的程序。這3種基本結(jié)構(gòu)為:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。
15.C解析:C語(yǔ)言中字符常量是以單引號(hào)括起來(lái)的單個(gè)字符,或?yàn)橐浴癨\”與三位八進(jìn)制數(shù)值或兩位十六進(jìn)制數(shù)值代替單個(gè)字符。
16.B本題考查函數(shù)的輸出格式。在printf函數(shù),格式說(shuō)明符中有兩個(gè)“%”說(shuō)明;將第1個(gè)%后面的字符原樣輸出,并不輸出其對(duì)應(yīng)r的變量值。
17.A本題考查do-while循環(huán)。當(dāng)--y是0(即y是o)時(shí)結(jié)束循環(huán),輸出--y,先將y的值減1再輸出Y的值。
18.AC語(yǔ)言中的轉(zhuǎn)義字符也是一個(gè)字符。字符串“0\\t\\n\\0C011\\1”,共有字符‘0’、‘\\t’、‘\\n’3個(gè)字符。strlen遇到‘\\0’字符計(jì)數(shù)結(jié)束,因此計(jì)數(shù)為3。故本題答案為A選項(xiàng)。
19.A關(guān)鍵字typedet的作用只是將C語(yǔ)言中的已有的數(shù)據(jù)類(lèi)型作了置換,并不是增加新的類(lèi)型,所以A)錯(cuò)誤。
20.B題目中嵌套語(yǔ)句的含義是當(dāng)“a<b”且“a<c”成立時(shí),將a的值賦給k。如果“a<b”成立而“a<c”不成立,則將c的值賦給k。如果“a<b”不成立而“b<c”成立,則將b的值賦給k。如果“a<b”不成立且“b<c”也不成立,則將c的值賦給k。判斷條件表達(dá)式,只有B選項(xiàng)可以表示這個(gè)含義。故本題答案為B選項(xiàng)。
21.源程序源程序解析:用高級(jí)語(yǔ)言編寫(xiě)的程序稱(chēng)為源程序。源程序不能在計(jì)算機(jī)上直接運(yùn)行,運(yùn)行源程序有兩種方式:一種是通過(guò)解釋程序,對(duì)源程序逐句解釋執(zhí)行;另一種是先讓編譯程序?qū)⒃闯绦蛞淮畏g產(chǎn)生目標(biāo)程序(目標(biāo)程序是計(jì)算機(jī)可直接執(zhí)行的機(jī)器語(yǔ)言程序,是一種二進(jìn)制代碼程序),然后執(zhí)行目標(biāo)程序。
22.77解析:x=(y=4)+(z=3)等價(jià)于y=4,z=3,x=y+z=4+3=7。
23.邏輯數(shù)據(jù)模型邏輯數(shù)據(jù)模型解析:數(shù)據(jù)模型按不同的應(yīng)用層次分成三種類(lèi)型,它們是概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型、物理數(shù)據(jù)模型。
24.66解析:本題考察的是一個(gè)嵌套的循環(huán),當(dāng)滿(mǎn)足j<=i時(shí),輸出一個(gè)“#”號(hào),符合條件的有i=2,j=2;i=3,j=2;i=3,j=3;i=4,j=2;i=4,j=3;i=4,j=4,共輸出6個(gè)“#”。
25.1020010200解析:程序中(a%b<1)||(a/b>1)的運(yùn)算順序?yàn)橄人憷ㄌ?hào)→算術(shù)運(yùn)算符→關(guān)系運(yùn)算符→邏輯運(yùn)算符。首先計(jì)算a%b=10,a/b=0,因?yàn)閍%b<1為假(0),a/b>1也為假(0),所以整個(gè)表達(dá)式的結(jié)果為假(0),最后輸出a,b,c的值為10200。
26.*t或t[0]*s-*t或*s-t[0]或s[0]-*t或s[0]-t[0]*t或t[0]\r\n*s-*t或*s-t[0]或s[0]-*t或s[0]-t[0]解析:比較兩個(gè)字符串的大小方法是:從第一個(gè)字符開(kāi)始依次向后比較,若對(duì)應(yīng)的字符相等則接著比較下一個(gè)字符,一直到兩個(gè)字符串中對(duì)應(yīng)字符不等,或者有一個(gè)為“\\0”,此對(duì)應(yīng)字符的ASCII碼大的字符串就大。故循環(huán)條件是*s和*t不為“\\0”,且*s和*t相同,第一處應(yīng)填“*t”或其他等價(jià)形式。根據(jù)題意可知第二處應(yīng)填“*s-*t”或其等價(jià)形式。
27.線(xiàn)性結(jié)構(gòu)線(xiàn)性結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系,分為線(xiàn)性結(jié)構(gòu)和非線(xiàn)性結(jié)構(gòu)。常見(jiàn)的線(xiàn)性結(jié)構(gòu)有線(xiàn)性表、棧和隊(duì)列等,常見(jiàn)的非線(xiàn)性結(jié)構(gòu)有樹(shù)、二叉樹(shù)等。
28.順序結(jié)構(gòu)順序結(jié)構(gòu)解析:結(jié)構(gòu)化程序有3種摹本結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)(包括if語(yǔ)句和switch語(yǔ)句)和循環(huán)結(jié)構(gòu)(包括for語(yǔ)句、while語(yǔ)句、do…while語(yǔ)句)。
29.i<10i<10解析:分析程序,當(dāng)(i=0,1,2,…)時(shí),“j=i*10+9”語(yǔ)句的運(yùn)行結(jié)果是(9,39,69,99)個(gè)位數(shù)為9的所有整數(shù);題中要求是100以?xún)?nèi)的整數(shù),所以i<10;“if(j%3!=0)continue;”語(yǔ)句的功能是當(dāng)條件不能被3整除時(shí),繼續(xù)循環(huán)不執(zhí)行操作,直到能被3整除時(shí)輸出該數(shù),即輸出的數(shù)滿(mǎn)足條件100以?xún)?nèi)能被3整除且個(gè)位數(shù)為9。
30.變換型變換型
31.類(lèi)類(lèi)解析:在面向?qū)ο蟮姆椒ㄖ校丫哂邢嗤瑢傩院头椒ǖ膶?duì)象稱(chēng)為類(lèi),類(lèi)是對(duì)象的抽象,對(duì)象是類(lèi)的實(shí)例。
32.1100101
33.2525解析:#NAME?
34.交換排序交換排序解析:常見(jiàn)的排序方法有插入排序(包括簡(jiǎn)單插入排序法和希爾排序法等)、交換排序(包括冒泡排序和快速排序法等)和選擇排序(包括簡(jiǎn)單選擇排序和堆排序等)。注意:常見(jiàn)的排序方法及其作用機(jī)制和區(qū)別。
35.abcfgabcfg解析:fun函數(shù)中for循環(huán)語(yǔ)句的作用是將s所指的字符串中從第5個(gè)字符到第7個(gè)字符依次向前移動(dòng)兩個(gè)位置。輸出結(jié)果為abcfg。
36.11解析:do…while語(yǔ)句的功能是:首先執(zhí)行循環(huán)體語(yǔ)句,然后檢測(cè)循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語(yǔ)句,否則退出循環(huán);do…while語(yǔ)句的特點(diǎn)是先執(zhí)行后判斷,因此循環(huán)體至少執(zhí)行1次.本程序中x=2不符合循環(huán)條件,所以只循環(huán)1次。
37.C
38.非0非0解析:邏輯運(yùn)算中,非0表示邏輯“真”,用。表示邏輯“假”。
39.10
40.本題考查的重點(diǎn)是scanf函數(shù)的調(diào)用。scanf(“<格式化字符串>”,<地址表>),格式化字符串后可以加上場(chǎng)寬,本題中兩個(gè)變量的場(chǎng)寬都為2,所以輸入1234567<CR>后,變量a的值為12。變址b的值為34,從而輸出為1234。\r\n\r\n
41.D解析:題干中,*(p++)就是數(shù)組元素a[0],輸出a[0],之后指針p的值加1,**q即是數(shù)組元素a[1]。
42.A
43.D解析:'\\\\'是反斜線(xiàn)轉(zhuǎn)義字符:'\\t'是水平跳格轉(zhuǎn)義字符:'\\n'是換行轉(zhuǎn)義字符;C語(yǔ)言中沒(méi)有規(guī)定'088'為轉(zhuǎn)義字符。
44.A解析:本題考查用于多分支選擇的switch語(yǔ)句,其一般形式為:
switch(表達(dá)式)
{
case常量表達(dá)式1:語(yǔ)句1;
case常量表達(dá)式2:語(yǔ)句2;
…
case常量表達(dá)式n:語(yǔ)句n;
default:語(yǔ)句n+1;
}
其語(yǔ)義是:計(jì)算表達(dá)式的值,并逐個(gè)與其后的常量表達(dá)式值進(jìn)行比較,當(dāng)表達(dá)式的值與某個(gè)常量表達(dá)式的值相等時(shí),即執(zhí)行其后的語(yǔ)句,然后不再進(jìn)行判斷,繼續(xù)執(zhí)行后面所有case后的語(yǔ)句;如表達(dá)式的值與所有case后的常量表達(dá)式均不相等時(shí),則執(zhí)行default后的語(yǔ)句。
45.D解析:測(cè)試不是為了證明程序是正確的,而是在設(shè)想程序有錯(cuò)誤的前提下進(jìn)行的,其目的是設(shè)法暴露程序中的錯(cuò)誤和缺陷,一般應(yīng)當(dāng)避免由開(kāi)發(fā)者測(cè)試自己的程序,因此,選項(xiàng)A錯(cuò)誤;測(cè)試是為了發(fā)現(xiàn)程序錯(cuò)誤,不能證明程序的正確性,調(diào)試主要是推斷錯(cuò)誤的原因,從而進(jìn)一步改正錯(cuò)誤,調(diào)試用例與測(cè)試用例可以一致,也可以不一致,選項(xiàng)B錯(cuò)誤;測(cè)試發(fā)現(xiàn)錯(cuò)誤后,可進(jìn)行調(diào)試并改正錯(cuò)誤:經(jīng)過(guò)調(diào)試后的程序還需進(jìn)行回歸測(cè)試,以檢查調(diào)試的效果,同時(shí)也可防止在調(diào)試過(guò)程中引進(jìn)新的錯(cuò)誤,選項(xiàng)C錯(cuò)誤。
46.D解析:程序不僅是編寫(xiě)完就結(jié)束了,為了測(cè)試和維護(hù)程序,往往還有其他人閱讀和跟蹤程序,因此程序設(shè)計(jì)的風(fēng)格應(yīng)該強(qiáng)調(diào)簡(jiǎn)單和清晰,即程序的易讀性,“清晰第一,效率第二”。
47.C解析:scanf函數(shù)的格式控制部分中的非格式字符按原樣輸入,本題指出鍵盤(pán)輸入為:1,2,3<回車(chē)>,各個(gè)數(shù)據(jù)之間用“,”分隔,所以scanf函數(shù)中應(yīng)包含“,”,選項(xiàng)D中雖然包括“,”號(hào),但是還包含非格式字符i=、j=和k=,正確答案為選項(xiàng)C。
48.B解析:指針中存放的是變量的地址,指針也可以進(jìn)行增減運(yùn)算,這時(shí)指針移動(dòng)的最小單位是一個(gè)存儲(chǔ)單元,而不是一個(gè)字節(jié)。所以題中將p+6指的是將指針向后移動(dòng)了6個(gè)存儲(chǔ)單元,指向b[6],存放的是b[6]的地址。
49.D解析:函數(shù)scanf()的調(diào)用形式:scanf(格式字符串,輸入項(xiàng)地址表)。其中,“格式字符串”是要輸入的變量的格式符:“輸入項(xiàng)地址表”是要輸入的變量的地址。本題中定義變量a為雙精度型變量,雙精度變量的格式符為“1e”;變量的地址用取地址符“&”加變量名表示,如變量a的地址為“&a”。
50.B解析:本題中如果printf函數(shù)輸出為2,需要執(zhí)行兩次s+=1語(yǔ)句,第一次執(zhí)行完循環(huán)語(yǔ)句后得s=1、a=1-2=-1,第二次執(zhí)行完循環(huán)語(yǔ)句后得s=1+1=2、a=-1-2=-3,所以正確答案為-3。
51.A解析:線(xiàn)性表是一種最簡(jiǎn)單,最常用的數(shù)據(jù)結(jié)構(gòu)。線(xiàn)性表操作的實(shí)現(xiàn)依賴(lài)于線(xiàn)性表中數(shù)據(jù)元素及元素之間的關(guān)系在存儲(chǔ)器中如何存儲(chǔ)。采用順序存儲(chǔ)方式存儲(chǔ)的線(xiàn)性表稱(chēng)為順序表,用鏈?zhǔn)酱鎯?chǔ)方式存儲(chǔ)的線(xiàn)性表稱(chēng)為線(xiàn)性鏈表,用散列方法存儲(chǔ)的線(xiàn)性表稱(chēng)為散列表。
52.B解析:本題考查的重點(diǎn)是宏定義。#define指令定義一個(gè)標(biāo)識(shí)符和一個(gè)串,編譯程序在對(duì)C源程序處理時(shí),發(fā)現(xiàn)該標(biāo)識(shí)符就都用該串替換,因此選項(xiàng)B是正確的。
53.B解析:本題中,structex是結(jié)構(gòu)體類(lèi)型名,ex-ample是結(jié)構(gòu)體變量名。
54.A
55.D解析:C語(yǔ)言規(guī)定,字符常量在程序中要用單引號(hào)括起來(lái)。判斷c1是否為小寫(xiě)字母的充要條件c1>='a',和c1<='z',用邏輯與(&&)來(lái)表示。A選項(xiàng)的這種形式在C語(yǔ)言中沒(méi)有,所以選項(xiàng)D)正確。
56.A解析:在C中,參與%運(yùn)算的兩個(gè)參數(shù)都必須為整形,在大多數(shù)C編譯器下(包括TurboC)都采用了“向0靠近”的原則,即當(dāng)兩個(gè)運(yùn)算量有一個(gè)為負(fù)數(shù)時(shí),余數(shù)的符號(hào)由被除數(shù)的符號(hào)決定。故本題答案為A。
57.A解析:讀取文件時(shí),當(dāng)文件中的數(shù)據(jù)全部讀完后,文件位置指針將位于文件的結(jié)尾。此時(shí)如果讀數(shù)據(jù),將會(huì)出現(xiàn)錯(cuò)誤。為了保證讀寫(xiě)數(shù)據(jù)的正確性,需要進(jìn)行文件尾測(cè)試,文件尾測(cè)試使用函數(shù)feof(),它的功能測(cè)試fp指向的文件是否到達(dá)文件尾.若到達(dá)文件尾,返回值為非0,否則返回值為0。在本題中fP指向的某文件還沒(méi)有到了文件尾,因此返回0,所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。
58.D解析:電子郵件是利用Internet網(wǎng)傳送信件,不是檢索服務(wù),由于信件只發(fā)給收信人,所以不是公告信息,并不是一發(fā)信就必須要收信人立即接收,而是信件存放在郵箱中,收信人在需要的時(shí)候再取出。
59.D解析:C語(yǔ)言中有基本的算術(shù)運(yùn)算符(+、-、*、/)還包括自增自減運(yùn)算符(++、-),在C語(yǔ)言解析表達(dá)式時(shí),它總是進(jìn)行貪婪咀嚼,這佯,該表達(dá)式就被解析為i+++++i,顯然該表達(dá)式不合C語(yǔ)言語(yǔ)法。
60.D解析:本題考查if語(yǔ)句。第1個(gè)if語(yǔ)句,實(shí)現(xiàn)如果a<b,則交換a、b值的功能;第2個(gè)if語(yǔ)句,實(shí)現(xiàn)如果a<c,則交換a、c的值的功能;第3個(gè)if語(yǔ)句,實(shí)現(xiàn)如果b<c,則交換b、c的值的功能。3個(gè)if語(yǔ)句結(jié)合起來(lái)實(shí)現(xiàn)的功能就是將a、b、c按從大到小排序。
61.A
62.B解析:C語(yǔ)言中注釋可以放在任何位置,選項(xiàng)A錯(cuò)誤;C語(yǔ)言中的變量只要在使用之前定義即可,位置可以是使用前的任何位置,故選項(xiàng)B正確;C語(yǔ)言中兩側(cè)數(shù)據(jù)類(lèi)型可以不一致,系統(tǒng)可進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換,選項(xiàng)C錯(cuò)誤;C語(yǔ)言數(shù)值常量中不允許存在空格,選項(xiàng)D錯(cuò)誤。
63.A該程序首先在定義變量時(shí),對(duì)二維數(shù)組a[][N]進(jìn)行賦值操作;調(diào)用函數(shù)fun,函數(shù)fun的功能是將二維數(shù)組中的a[0兒0]、a[1][1]、a[2][2]和a[3][3]賦值給一維數(shù)組,最后將一維數(shù)組元素l,0,7,0,輸出。
64.D程序首先將數(shù)組a[10]中的元素l、2.3分別寫(xiě)入了文件dl。dat文件中,然后又將dl.dat文件中的數(shù)據(jù)123,整體寫(xiě)入到了變量n的空間中,所以打印n時(shí)輸出的數(shù)據(jù)為123。
65.B
66.C本題考查位運(yùn)算,屬于基礎(chǔ)知識(shí),題目中將整型變量8,二進(jìn)制表達(dá)為00(301000,右移一位為00000100,即4,選項(xiàng)c正確。
67.A
68.A當(dāng)y為。時(shí),表達(dá)式y(tǒng)一才為假,循環(huán)結(jié)束,最終y的值為一l,所以答案選擇A)。
69.D
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 藝術(shù)歷史教學(xué)
- 物理跨學(xué)科教學(xué)的意義與作用
- 冰雪旅游的服務(wù)模式與創(chuàng)新分析
- 2019-2025年消防設(shè)施操作員之消防設(shè)備基礎(chǔ)知識(shí)能力提升試卷A卷附答案
- 吸聲礦棉板合同范本
- 廠(chǎng)房買(mǎi)賣(mài)初步合同范例
- 商品輪胎出售合同范例
- 合同范本刪除刪
- 廚房與酒店合同范本
- 中學(xué)聘用合同范例
- 《采購(gòu)管理策略》課件
- 《校園安全教育(第二版)》 課件 項(xiàng)目一 走進(jìn)安全教育;項(xiàng)目二 維護(hù)校園治安
- 高標(biāo)準(zhǔn)農(nóng)田建設(shè)項(xiàng)目驗(yàn)收技術(shù)方案
- 2024年甘肅天水麥積山石窟藝術(shù)研究所招聘工作人員考試真題
- 人效的指標(biāo)體系及其“落地雙引擎”
- 2025年山東省榮成市屬事業(yè)單位招聘崗位及歷年高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 醫(yī)學(xué)三基知識(shí)考試題庫(kù)及答案(護(hù)理+臨床)
- 2024年6月浙江省高考化學(xué)試題含答案解析
- 火星表面材料分析-深度研究
- 2025年南京信息職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 《職業(yè)技能等級(jí)評(píng)價(jià)規(guī)范編制指南編制說(shuō)明》
評(píng)論
0/150
提交評(píng)論