




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022年江蘇省南通市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.有以下程序:#include<stdi0.h>main(){inta=1,b=2;for(;a<8;a++){b+=a;a+=2;)printf("%d,%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。A.9,18B.8,11C.7,11D.10,14
2.有三個(gè)關(guān)系R、s和T如下:
由關(guān)系R和s通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。
A.并B.自然連接C.笛卡爾積D.交
3.若已定義:inta[9],*p=a;并在以后的語(yǔ)句中未改變p的值,不能表示a[1]地址的表達(dá)式是_______。
A.p+1B.a+1C.a++D.++p
4.
5.
6.已知字母A的ASCII碼為十進(jìn)制的65,下面程序main(){charch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}的輸出是_________。
A.67,DB.B,CC.C,DD.不確定的值
7.以下說(shuō)法正確的是()。
A.C語(yǔ)言只接受十進(jìn)制的數(shù)
B.C語(yǔ)言只接受八進(jìn)制、十進(jìn)制、十六進(jìn)制的數(shù)
C.C語(yǔ)言接受除二進(jìn)制之外任何進(jìn)制的數(shù)
D.C語(yǔ)言接受任何進(jìn)制的數(shù)
8.若有定義:typedefint*(*T[10])[10];Tb;則以下選項(xiàng)中所定義的a與上述定義中的b,其類(lèi)型完全相同的是()。
A.int*(*a[10][10]);
B.int**a[10][10];
C.int*(a[10])[10];
D.int*(*a[10])[10];
9.在一個(gè)C語(yǔ)言源程序文件中所定義的全局變量,其作用域?yàn)?)。
A.所在文件的全部范圍B.所在程序的全部范圍C.所在函數(shù)的全部范圍D.由具體定義位置和extern說(shuō)明來(lái)決定范圍
10.下列關(guān)于return語(yǔ)句的敘述中正確的是()。
A.—個(gè)自定義函數(shù)中必須有一條return語(yǔ)句
B.—個(gè)自定義函數(shù)中可以根據(jù)不同情況設(shè)置多條return語(yǔ)句
C.定義成void類(lèi)型的函數(shù)中可以有帶返回值的return語(yǔ)句
D.沒(méi)有return語(yǔ)句的自定義函數(shù)在執(zhí)行結(jié)束時(shí)不能返回到調(diào)用處
11.若串S1="ABCDEFG",S2="9898",S3="###",S4="012345",執(zhí)行其結(jié)果為()。A.ABC###G0123B.ABCD###2345C.ABC###G1234D.ABCD###1234
12.有以下程序main(intargc,char*argv[]){intn=0,i;for(i=1;i<argc;i++)n=n*10+*argv[i]'0';printf("%d\n",n);}編譯連接后生成可執(zhí)行文件tt.exe。若運(yùn)行時(shí)輸入以下命令行tt12345678程序運(yùn)行后的輸出結(jié)果是A.12B.12345C.12345678D.136
13.下列敘述中正確的是()。A.在棧中,棧中元素隨棧底指針與棧頂指針的變化而動(dòng)態(tài)變化
B.在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動(dòng)態(tài)變化
C.在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動(dòng)態(tài)變化
D.在棧中,棧中元素不會(huì)隨棧底指針與棧頂指針的變化而動(dòng)態(tài)變化
14.有以下程序:#include<stdio.h>intfun(intx,inty){if(x!=y)return((x+y)/2);elsereturn(x);}main(){inta=4,b=5,c=6;printf(“%d\n”,fun(2*a,fun(b,c)));}程序運(yùn)行后的輸出結(jié)果是()。
A.3B.6C.8D.12
15.
16.若已包括頭文件且已有定義charsl[18],s2={"ABCDE")和inti,現(xiàn)要將字符串”ABCDE”賦給sl,下列語(yǔ)句錯(cuò)誤的是()。
A.strcpy(s1,s2)
B.strcpy(s1,"ABCDE");
C.sl="ABCDE";
D.for(i=0;i<6;i++)sl[i]=s2[i]
17.程序中頭文件typel.h的內(nèi)容是:#defineN5#defineM1N*3程序如下:#include“typel.h”#defineM2N*2main(){inti;i=M1+M2;Printf(“%d\n”,0;}程序編譯后運(yùn)行的輸出結(jié)果是:
A.10B.20C.25D.30
18.C語(yǔ)言中,要求參加運(yùn)算的數(shù)必須是整數(shù)的運(yùn)算符是()。
A./B.!C.%D.==
19.下列程序的輸出結(jié)果是#include"stdio.h”"main(){inti,a=0,b=0;for(i=1;i<10;i++){if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b);}
A.a=4,b=4B.a=4,b=5C.a=5,b=4D.a=5,b=5
20.合法的main函數(shù)命令參數(shù)形式是()。
A.main(inta,char*c[])
B.main(intarc,char**arv)
C.main(intargc,char*argv)
D.main(intargv,char*argc[])
二、2.填空題(20題)21.軟件的【】設(shè)計(jì)又稱(chēng)為總體結(jié)構(gòu)設(shè)計(jì),其主要任務(wù)是建立軟件系統(tǒng)的總體結(jié)構(gòu)。
22.有以下語(yǔ)句段
intn1=10,n2=20;
printf("【】",n1,n2);
要求按以下格式輸出n1和n2的值,每個(gè)輸出行從第一列開(kāi)始,請(qǐng)?zhí)羁铡?/p>
n1=10
n2=20
23.下列程序的運(yùn)行結(jié)果是_______。
main()
{intx=1,y=2,z=3;
printf("%d,",x<y?y:x);
primf("%d,",z<y?x++:y++);
primf("%d,%d",x,y);
}
24.數(shù)據(jù)模型按不同的應(yīng)用層次分為三種類(lèi)型,它們是______數(shù)據(jù)模型、邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模型。
25.數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱(chēng)為【】。
26.以下程序的功能是計(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);
}
27.若已知a=10,b=20,則表達(dá)式!a<b的值為【】。
28.算法的執(zhí)行過(guò)程中,所需要的存儲(chǔ)空間稱(chēng)為算法的【】。
29.隊(duì)列是限定在表的一端進(jìn)行插入和在另一端進(jìn)行刪除操作的線(xiàn)性表。允許刪除的一端稱(chēng)作()。
30.若a是int型變量,則表達(dá)式(a=2*3,a*2),a+4的值為_(kāi)_____。
31.若有以下程序:
main()
{intp,a=5;
if(p=a!=0)
printf("%d\n",p);
else
printf("%d\n",p+2);
執(zhí)行后的輸出結(jié)果是【】。
32.若有程序
main()
{inti,j;
scanf("i=%d,j=%d",&i,&j);
printf("i=%d,j-%d\n",i,j);
}
要求給i賦10,給j賦20,則應(yīng)該從鍵盤(pán)輸入______。
33.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{intp=30;
printf("%dkn",(p/3>0?p/10:p%3));
}
34.以下程序運(yùn)行后的輸出結(jié)果是______。
#include<string.h>
voidfun(char*s,intp,intk)
{inti;
for(i=p;i<k-1;i++)s[i]=s[i+2];
}
main()
{chars[]="abcdefg";
fun(s,3,strlen(s));puts(s);
}
35.請(qǐng)?jiān)谝韵鲁绦虻谝恍械南聞澗€(xiàn)處填寫(xiě)適當(dāng)內(nèi)容,使程序能正確運(yùn)行。
【】(double,double);
main()
{doublex,y;
scanf("%1f%1f",&x,&y);
printf("%1f\n",max(x,y));
}
doublemax(doublea,doubleB)
{return(a>b?a:b);}
36.若i、j為int類(lèi)型,則以下程序段內(nèi)循環(huán)體的總執(zhí)行次數(shù)是【】。
for(i=5;i;i--)
for(j=0;j<3;j++)
{
}
37.下程序的輸出結(jié)果是【】。
#include<stdio.h>
#defineMAX_COUNT4
voidfun()
main()
{intcount;
for(count=1;count<=MAX_COUNT;coun++)fun();
}
voidfun()
{staicinti;
i+=2;
printf(”%d,i);
}
38.深度為5的滿(mǎn)二叉樹(shù)中,葉子結(jié)點(diǎn)的個(gè)數(shù)為_(kāi)_____。
39.已知字符A的ASCII代碼值為65,以下程序運(yùn)行時(shí)若從鍵盤(pán)輸入:B33<回車(chē)>,則輸出結(jié)果是【】。
#include
main()
{chara,b;
a=getchar();scanf("%d",&b);
a=a-'A'+'0';b=b*2;
printf("%c%c\n",a,b);
}
40.在數(shù)據(jù)結(jié)構(gòu)中,順序存儲(chǔ)結(jié)構(gòu)的數(shù)據(jù)元素所占的存儲(chǔ)空間是______的。
三、1.選擇題(20題)41.以下敘述中不正確的是()。
A.預(yù)處理命令行都必須以#號(hào)開(kāi)始
B.在程序中凡是以#號(hào)開(kāi)始的語(yǔ)句行都是預(yù)處理命令行
C.宏替換不占用運(yùn)行時(shí)間,只占編譯時(shí)間
D.定義#definePI3.1415926;是正確的
42.結(jié)構(gòu)化程序設(shè)計(jì)的主要任務(wù)是確定每個(gè)模塊的
A.程序的規(guī)模B.程序的易讀性C.程序的執(zhí)行效率D.程序的可移植性
43.設(shè)有如下定義:structsk{intn;floatx;}data,*p;若要使p指向data中的n域,正確的賦值語(yǔ)句是
A.p=&data.n;
B.*p=data.n;
C.p=(structsk*)&data.n;
D.p=(structsk*)data.n:
44.設(shè)Y為整型變量,A=1,A的地址為EF01;B=2,B的地址為EF02;執(zhí)行語(yǔ)句B=&A;Y=&b;后Y的值()。
A.1B.2C.EF01D.EF02
45.若有以下說(shuō)明和語(yǔ)句:structst{intn;char*ch;};strucesta[3]={5,"abc",7,"def",9,"ghk"},*p=a;則值為6的表達(dá)式是______。
A.p++->nB.p->n++C.(*p).n++D.++P->n
46.算法的時(shí)間復(fù)雜度是指______。
A.執(zhí)行算法程序所需要的時(shí)間B.算法程序的長(zhǎng)度C.算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)D.算法程序中的指令條數(shù)
47.下面不屬于軟件工程的3個(gè)要素的是______。
A.工具B.過(guò)程C.方法D.環(huán)境
48.以下4個(gè)選項(xiàng)中,不能看作一條語(yǔ)句的是
A.;B.a=5,b=2.5,c=3.6;C.if(a<5);D.if(b!=5)x=2;y=6;
49.設(shè)有如下定義:char*aa[2]={"abcd","ABCD"};則以下說(shuō)法中正確的是()
A.aa數(shù)組元素的值分別是"abcd"和"ABCD"
B.aa是指針變量,它指向含有兩個(gè)數(shù)組元素的字符型一維數(shù)組
C.aa數(shù)組的兩個(gè)元素分別存放的是含有4個(gè)字符的一維字符數(shù)組的首地址
D.aa數(shù)組的兩個(gè)元素中各自存放了字符'a'和'A'的地址
50.下列敘述中正確的是()。
A.程序設(shè)計(jì)過(guò)程中的主要工作是編制程序
B.程序設(shè)計(jì)的主要目標(biāo)是編制出運(yùn)行結(jié)果正確的程序
C.不良的程序設(shè)計(jì)風(fēng)格會(huì)增加程序的復(fù)雜性
D.上述三種說(shuō)法都不對(duì)
51.下列敘述中,不符合良好程序設(shè)計(jì)風(fēng)格要求的是
A.程序的效率第一,清晰第B.程序的可讀性好C.程序中要有必要的注釋D.輸入數(shù)據(jù)前要有提示信息
52.下述關(guān)于C語(yǔ)言文件的操作的結(jié)論中,正確的是______。
A.對(duì)文件操作必須先關(guān)閉文件
B.對(duì)文件操作必須先打開(kāi)文件
C.對(duì)文件操作順序無(wú)要求
D.對(duì)文件操作前必須先測(cè)文件是否存在,然后再打開(kāi)文件
53.在表示C語(yǔ)言的整型變量時(shí),表示“無(wú)符號(hào)整型”的符號(hào)是()
A.unsignedintB.unsignedshortC.longintD.unsignedlong
54.有以下程序:#include<stdio.h>main(){chark;inti;for(i=1;i<3;i++){scanf("%c",&k);switch(k){case'0':printf("another\n");case'1':printf("number\n");}{}程序運(yùn)行時(shí),從鍵盤(pán)輸入:01<回車(chē)>,程序執(zhí)行后的輸出結(jié)果是()。
A.anothernumber
B.anothernumberanother
C.anothernumber
D.numbernumber
55.若有“doublea;”,則正確的輸入語(yǔ)句是()。
A.scanf("%1f",A);
B.scanf("%f",&A);
C.scanf("%1f",&A);
D.scanf("%1e",A);
56.閱讀下列程序段,則程序的輸出結(jié)果為
#include"stdio.h"
#defineM(X,Y)(X)*(Y)
#defineN(X,Y)(X)/(Y)
main()
{inta=5,b=6,c=8,k;
k=N(M(a,b),c);
printf("%d\n",k);
A.3B.5C.6D.8
57.有以下程序:#include<stdio.h>main(){inti=1,j=1,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k);}執(zhí)行后輸出結(jié)果是()。
A.1,1,2B.2,2,1C.2,2,2D.2,2,3
58.變量m的值為8,m的地址為1010,若欲使p為指向m的指針變量,則下列賦值正確的是()。
A.&m=8B.*p=8C.*p=1010D.p=&m
59.下列敘述中錯(cuò)誤的是()。
A.一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)
B.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率無(wú)關(guān)
C.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)
D.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)在計(jì)算機(jī)中所占的空間不一定是連續(xù)的
60.有以下程序:#include<stdio.h>#defineN5#defineMN+1#definef(x)(x*M)main(){inti1,i2;i1=f(2);i2=f(1+1);printf("%d%d\n",i1,i2);}程序的運(yùn)行結(jié)果是()。
A.1212B.117C.1111D.127
四、選擇題(20題)61.如果要在表單中創(chuàng)建一個(gè)普通文本框,下列標(biāo)記中正確的是()。
A.<inputtype=”text”>
B.<inputtype=”password”>
C.<inputtype=”CheCkbox”>
D.<inputtype=”radio”>
62.URI的全稱(chēng)是()。A.標(biāo)準(zhǔn)資源描述符B.標(biāo)準(zhǔn)資源標(biāo)識(shí)符C.通用資源描述符D.統(tǒng)一資源標(biāo)識(shí)符
63.語(yǔ)句:“printf("%d",(a=)&&(b=-2));”的輸出結(jié)果是()。A.A.無(wú)輸出B.結(jié)果是不確定C.-1D.1
64.
65.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.4321098765B.5678901234C.0987654321D.0987651234
66.設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是()。
A.X=Y+z+5,++YB.int(15.8%5)C.X=Y*5=X+ZD.X=25%5.0
67.以下敘述中不正確的是
A.C語(yǔ)言中的文本文件以ASCII碼形式存儲(chǔ)數(shù)據(jù)
B.C語(yǔ)言中對(duì)二進(jìn)制文件的訪(fǎng)問(wèn)速度比文本文件快
C.C語(yǔ)言中,隨機(jī)讀寫(xiě)方式不適用于文本文件
D.C語(yǔ)言中,順序讀寫(xiě)方式不適用于二進(jìn)制文件
68.
69.有以下程序(a123.txt在當(dāng)前盤(pán)符下已經(jīng)存在)
#include"stdio.h"
voidmain()
{FILE*fp;
inta[10],*p=a;
fp=fopen("a123.txt","w");
while(strlen(gets(p))>0)
{fputs(a,fp);
fputs("\n",fp);
}
fclose(fp);
}
程序?qū)崿F(xiàn)的功能是
A.從鍵盤(pán)輸入若干行字符,按行號(hào)倒序?qū)懭胛谋疚募123.txt中
B.從鍵盤(pán)輸入若干行字符,取前兩行寫(xiě)入文本文件a123.txt中
C.從鍵盤(pán)輸入若干行字符,第一行寫(xiě)入文本文件a123.txt中
D.從鍵盤(pán)輸入若干行字符,依次寫(xiě)入文本文件a123.txt中
70.
若變量均已正確賦初值,則以下語(yǔ)句中
錯(cuò)誤的是()。
A.tl=t2;
B.t2.numl=tl.numl;
C.t2.mark=tl.Mark
D.t2.num2=tl.hum2;
71.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.aegiB.dfhkC.abedD.abedefghijk
72.
73.下列關(guān)于單目運(yùn)算符++、--的敘述中正確的是A.它們的運(yùn)算對(duì)象可以是任何變量和常量
B.它們的運(yùn)算對(duì)象可以是char型變量和int型變量,但不能是float型變量
C.它們的運(yùn)算對(duì)象可以是int型變量,但不能是double型變量和float型變量
D.它們的運(yùn)算對(duì)象可以是char型變量、int型變量和float型變量
74.下列敘述中正確的是()。
A.break語(yǔ)句只能用于switch語(yǔ)句體中
B.continue語(yǔ)句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)
C.break語(yǔ)句只能用在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)
D.在循環(huán)體內(nèi)使用break語(yǔ)句和continue語(yǔ)句的作用相同
75.
76.
77.若有以下定義:
chara;intb;
floatc;doubled;
則表達(dá)式a*b+d-c值的類(lèi)型為()。A.A.floatB.intC.charD.double
78.
79.
已有定義:charc;,程序前面已在命令行中包含ctype.h文件,不能用于判斷c中的字符是否為大寫(xiě)字堪的表達(dá)式是()。
A.isupper(c)
B.A<=c<=Z
C.A<=c&&c<=Z
D.c<=(z-32)&&(a-32)<=c
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:對(duì)M名學(xué)生的學(xué)習(xí)成績(jī),按從低到高的順序找出前m(m≤10)名學(xué)生來(lái),并將這些學(xué)生數(shù)據(jù)存放在一個(gè)動(dòng)態(tài)分配的連續(xù)存儲(chǔ)區(qū)中,此存儲(chǔ)區(qū)的首地址作為函數(shù)值返回。
請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫(xiě)函數(shù)fun(),該函數(shù)的功能是刪除一維數(shù)組中所有相同的元素,使之只剩一個(gè)。數(shù)組中的元素已按由小到大的順序排列,函數(shù)返回刪除后數(shù)組中元素的個(gè)數(shù)。例如,若一維數(shù)組中的元素是2223445666677899101010刪除后,數(shù)組中的元素應(yīng)該是2345678910注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:#include<stdio.h>#defineN80intfun(inta[],intn){}voidmain(){ inta[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10},i,n=20; printf(“Theoriginaldata:\n”); for(i=0;i<n;i++)<p=""></n;i++)<> printf(n%3d”,a[i]); n=fun(a,n); printf(“\n\nThedataafterdeleted:\n”); for(i=0;i<n;i++)<p=""></n;i++)<> printf(“%3d”,a[i]); printf(“\n\n”);}
參考答案
1.D第一次執(zhí)行循環(huán)前,a=1,滿(mǎn)足a<8,執(zhí)行循環(huán)后,b=3,a=3。執(zhí)行完a++操作后,a=4。由于a<8,執(zhí)行第二次循環(huán)后,b=7,a=6,執(zhí)行完a++操作后,a=7。由于a<8,執(zhí)行第三次循環(huán)后,b=14,a=9,執(zhí)行完a++操作后a=10。此時(shí)不滿(mǎn)足a<8,跳出循環(huán)。
2.D關(guān)系R與s經(jīng)交運(yùn)算后所得到的關(guān)系是由那些既在R內(nèi)又在S內(nèi)的共有元組組成的,記為RnS。
3.C解析:數(shù)組名是指針常量,是個(gè)固定的指針,不能對(duì)數(shù)組名賦予一個(gè)新的地址值,也不能使這個(gè)指針常駐量“移動(dòng)”,指向數(shù)組的其他元素。
4.A
5.B
6.A解析:由于字符“5”和“3”的ASCII碼相差為2,所以ch1經(jīng)過(guò)運(yùn)算后的值應(yīng)為65+2=67;同理,ch2經(jīng)過(guò)運(yùn)算后的值應(yīng)為65+3=68,即是字符“D”。
7.BC語(yǔ)言可以使用格式控制符“%d”“%u”等接受十進(jìn)制的數(shù),使用“%o”接受八進(jìn)制的數(shù),使用“%x”接受十六進(jìn)制的數(shù)。本題答案為B選項(xiàng)。
8.D“typedefint*(*T[10])[10];”使用typedef定義一種新類(lèi)型名T,T的類(lèi)型是二維數(shù)組指針,指向10個(gè)元素的數(shù)組。其中數(shù)組元素類(lèi)型為int*[10],即數(shù)組的每個(gè)元素又是包含10個(gè)元素的數(shù)組,數(shù)組的元素是整型指針類(lèi)型。故本題答案為D選項(xiàng)。
9.D
\n全局變量是在函數(shù)外部任意位置上定義的變量,它的作用域是從變量定義的位置開(kāi)始,到整個(gè)源文件結(jié)束止。當(dāng)全局變量定義在后,引用它的函數(shù)在前時(shí),應(yīng)該在引用它的函數(shù)中用extern對(duì)此全局變量進(jìn)行說(shuō)明,以便通知編譯程序該變量是一個(gè)已在外部定義了的全局變量,這時(shí)全局變量的作用域從extern說(shuō)明處起,延伸到該函數(shù)末尾。
\n
10.B在函數(shù)中允許有多個(gè)return語(yǔ)句,但每次調(diào)用只能有一個(gè)return語(yǔ)句被執(zhí)行,因此只能返回一個(gè)函數(shù)值,A選項(xiàng)描述錯(cuò)誤。定義成void類(lèi)型的函數(shù),不允許從該函數(shù)取得返回值,也不允許使用return語(yǔ)句,C選項(xiàng)描述錯(cuò)誤。沒(méi)有return語(yǔ)句的函數(shù)在執(zhí)行到函數(shù)的最后一條語(yǔ)句后會(huì)自動(dòng)返回到調(diào)用處,D選項(xiàng)描述錯(cuò)誤。故本題答案為B選項(xiàng)。
11.D
12.D解析:運(yùn)行時(shí)輸入該命令后,參數(shù)argc的值為4,字符串?dāng)?shù)組argv[1]、argv[2]、argv[3]分別為“12”、“345”、“678”,然后取這3個(gè)參數(shù)的第一個(gè)字符,將其轉(zhuǎn)化成原來(lái)的數(shù)字并組合成一個(gè)新的三位數(shù)。
13.C棧是先進(jìn)后出的數(shù)據(jù)結(jié)構(gòu),在對(duì)棧操作的整個(gè)過(guò)程中,棧底指針不變,入棧與出棧操作均由棧頂指針的變化來(lái)完成,因此本題答案為c)。
14.Bfun函數(shù)的功能是獲取2個(gè)數(shù)的平均值,注意平均值是整型數(shù),小數(shù)會(huì)被截?cái)?。調(diào)用函數(shù)“fun(2*4,fun(5,6))”相當(dāng)于調(diào)用函數(shù)“fun(8,5)”,平均值是6。故本題答案為B選項(xiàng)。
15.D
16.C數(shù)組名sl是代表sl數(shù)組首地址的地址常量,因?yàn)椤?”左邊不能出現(xiàn)常量,所以s1="ABCDE"的方法是錯(cuò)誤的。
17.C解析:編譯預(yù)處理時(shí),用“typel.h”中的內(nèi)容替代命令#include“typel.h”。表達(dá)式“i=M1+M2”經(jīng)過(guò)宏替換為“i=5*3+5*2”即i=25,所以最后輸出的i的值為25。
18.C
19.B解析:continue語(yǔ)句的作用是跳過(guò)本次循環(huán)體中余下尚未執(zhí)行的語(yǔ)句,接著再一次進(jìn)行循環(huán)條件的判定。當(dāng)能被2整除時(shí),a就會(huì)增1,之后執(zhí)行continue語(yǔ)句,直接執(zhí)行到for循環(huán)體的結(jié)尾,進(jìn)行i++,判斷循環(huán)條件。
20.C在C語(yǔ)言中,main函數(shù)也可以有參數(shù),例如,main(intar90,char*argv),argc是指字符串的指針數(shù)組,而其他幾項(xiàng)表達(dá)不正確。
21.概要概要
22.n1=%d\nn2=%d\n或n1=%d\nn2=%d或n1=%2d\nn2=%2d\n或n1=%2d\nn2=%2dn1=%d\\nn2=%d\\n或n1=%d\\nn2=%d或n1=%2d\\nn2=%2d\\n或n1=%2d\\nn2=%2d解析:printf函數(shù)有兩種參數(shù):格式控制參數(shù)和輸出項(xiàng)參數(shù),其中格式控制參數(shù)由兩種成分組成:格式說(shuō)明和普通字符,普通字符將被簡(jiǎn)單地復(fù)制顯示,格式說(shuō)明項(xiàng)將引起一個(gè)輸出參數(shù)項(xiàng)的轉(zhuǎn)換與顯示,它是由“%”引出并以一個(gè)類(lèi)型描述符結(jié)束的字符串。本題中,n1=和n2=就是普通字符,可以直接顯示,又因?yàn)閚1,n2為整數(shù),所以格式說(shuō)明項(xiàng)為%d,也可以在%與d之間加上域?qū)?,另外還要在每行輸出結(jié)束時(shí)加轉(zhuǎn)義字符\\n進(jìn)行換行。所以,應(yīng)填寫(xiě)n1=%d\\nn2=%d\\n或n1=%d\\nn2=%d或n1=%2d\\nn2=%2dn或n1=%2d\\nn2=%2d。
23.22132,2,1,3解析:本題考查++,--運(yùn)算符和條件運(yùn)算符的使用。
“表達(dá)式1?表達(dá)式2:表達(dá)式3”的功能是:表達(dá)式1的值若非0,則計(jì)算表達(dá)式2的值,且表達(dá)式2的值為最終結(jié)果;若表達(dá)式1的值為0,則計(jì)算表達(dá)式3的值,且為最終結(jié)果。
本題中,x=1,y=2時(shí),x<y成立,輸出y的值2;y=2,z=3時(shí),z<y不成立,執(zhí)行y++,輸出2后y值增1,所以最后一個(gè)輸出x的值不變?yōu)?,y的值為增加后的3。
24.概念概念
25.數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)
26.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。
27.11解析:計(jì)算表達(dá)式!a<b,先計(jì)算!a,因a的值為10,!a的值為0,而關(guān)系表達(dá)式0<20為真,所以表達(dá)式!a<b的值為1。
28.空間復(fù)雜度空間復(fù)雜度解析:算法執(zhí)行時(shí)所需要的存儲(chǔ)空間,稱(chēng)為算法的空間復(fù)雜度。
29.隊(duì)頭隊(duì)頭解析:隊(duì)列是只允許在一端刪除,在另一端插入的順序表,在隊(duì)列中,允許插入的一端叫做“隊(duì)尾”,允許刪除的一端叫做“隊(duì)頭”。
30.此題考查逗號(hào)表達(dá)式。逗號(hào)表達(dá)式的值是最后一個(gè)表達(dá)式的值,所以本題的返回值是a+4。前面已經(jīng)給a賦值6,所以返回值a+4=6+4=10。
31.11解析:本題考查C語(yǔ)言中的if-else語(yǔ)句。if語(yǔ)句中的條件表達(dá)式p=a!=0是一個(gè)賦值語(yǔ)句,將關(guān)系表達(dá)式a!=0的結(jié)果賦值給變量p。因a=5,所以a!=0的結(jié)果為1,即p=1,條件為真,所以執(zhí)行if后面的語(yǔ)句printf('%d\\n',p),輸出結(jié)果為1。
32.i=0j=20i=0j=20解析:本題考核的知識(shí)點(diǎn)是scanf()數(shù)的使用.該函數(shù)的第一個(gè)參數(shù)是格式字符串,主要由兩類(lèi)字符組成,一類(lèi)是非格式符要求原樣輸入,一類(lèi)是格式符對(duì)應(yīng)要輸入的變量,所以說(shuō)本題中應(yīng)該原樣輸入i=j=,后面分別給變量0和20,所以說(shuō)空格處應(yīng)該填入i=0,j=20。
33.33本試題中,先判斷表達(dá)式p/3>0,該值為真,所以此表達(dá)式等于p/10的值3,故最后輸出的值為3。
34.abcfgabcfg解析:本題考查的是字符數(shù)組用作函數(shù)參數(shù)。C語(yǔ)言中數(shù)組名可以看作該數(shù)組首地址的常量指針、因此可以直接傳遞給指針類(lèi)型的參數(shù)。本題的主函數(shù)調(diào)用fun(s,3,strlen(s));后,函數(shù)中for循環(huán)就是for(i=3;i<strlen(s)-1;i++),即i從3遞增到字符數(shù)組s的長(zhǎng)度-2位置,循環(huán)中讓s[i]=s[i+2],所以函數(shù)fun()實(shí)現(xiàn)的功能簡(jiǎn)單來(lái)說(shuō)就是將字符串s下標(biāo)為p+2~k范圍的字符整體復(fù)制到字符串s下標(biāo)為p~k-2的位置上。在本題中strlen(s)返回s的長(zhǎng)度7,所以復(fù)制的字符為s[5]~s[7],即'f'、'g','\\0'三個(gè)字符,復(fù)制到s[3]~s[5],故最終輸出的字符串為abcfg(因?yàn)閟[5]為'\\0',所以后面的字符不會(huì)輸出)。
35.doublemax或externdoublemaxdoublemax或externdoublemax解析:本題中main()函數(shù)需要調(diào)用max()函數(shù),在main()之前就需要聲明函數(shù)max(),并且可以用extern說(shuō)明符使變量的作用域擴(kuò)充到需要用到它的函數(shù),所以,填寫(xiě)doublemax(或externdoublemax)。
36.1515解析:執(zhí)行二重循環(huán)時(shí),外循環(huán)每執(zhí)行一次,內(nèi)循環(huán)將循環(huán)一遍。本題的程序段中外循環(huán)執(zhí)行了5次,內(nèi)循環(huán)執(zhí)行了3次,所以程序段內(nèi)循環(huán)體的總執(zhí)行次數(shù)是15。
37.2468(若字符間有空格扣1分)2468(若字符間有空格扣1分)
38.1616解析:滿(mǎn)二叉樹(shù)的葉子結(jié)點(diǎn)都在最后一層,即第4層,且第4層的結(jié)點(diǎn)達(dá)到最大數(shù),即25-1=16。
39.1B1B解析:從鍵盤(pán)輸入后,有a=B,b=33。a=a-'A'+'0'='B'-'A'+'0'='1',b=b*2=66,在輸出時(shí)均需要把a(bǔ),b轉(zhuǎn)化為字符型,因此輸出為1B。
40.連續(xù)連續(xù)解析:順序存儲(chǔ)結(jié)構(gòu)具有兩個(gè)特點(diǎn):1)數(shù)據(jù)元素所占空間是連續(xù)的;2)數(shù)據(jù)元素在存儲(chǔ)空間中是按邏輯順序依次存放的。
41.D解析:帶參數(shù)的宏定義如下:#define宏名(參數(shù))字符串。本題中,宏定義的作用是指定用標(biāo)識(shí)符PI來(lái)代替“3.1415926”這個(gè)字符串,但宏定義不是C語(yǔ)句,行末不加分號(hào)。
42.B解析:按結(jié)構(gòu)化程序設(shè)計(jì)方法設(shè)計(jì)出的程序具有明顯的優(yōu)點(diǎn),即程序易于理解、使用和維護(hù),便于控制、降低程序的復(fù)雜性,便于驗(yàn)證程序的正確性,程序清晰易讀,可理解性好。
43.C解析:本題主要考查了結(jié)構(gòu)體變量引用成員數(shù)據(jù)的方法,主要有以下幾種:結(jié)構(gòu)體變量名.成員名或結(jié)構(gòu)體指針->成員名的方法來(lái)引用結(jié)構(gòu)體成員。
44.C
45.D解析:根據(jù)結(jié)構(gòu)變量的存儲(chǔ)特點(diǎn),p+1意味著增加地址值為結(jié)構(gòu)體數(shù)組a的一個(gè)元素所占的字節(jié)數(shù),即p++使p由a[0]指向a[1]起始地址。本題++p->n得到p指向的結(jié)構(gòu)伸變量中成員n的值使之加1。因?yàn)閜指向數(shù)組a起始地址,p->n的值為5,再執(zhí)行自加1運(yùn)行,結(jié)果為6。
46.C解析:算法的時(shí)間復(fù)雜度實(shí)際上就是執(zhí)行算法程序所需要的計(jì)算工作量。為了客觀地反映算法性能,在度量算法的時(shí)間復(fù)雜度時(shí),應(yīng)該與編寫(xiě)算法程序所使用的程序設(shè)計(jì)語(yǔ)言、執(zhí)行算法程序時(shí)所使用的計(jì)算的工具以及程序員的水平無(wú)關(guān)。選項(xiàng)A錯(cuò)誤,因?yàn)橥凰惴ǔ绦蛟谶\(yùn)行速度不同的計(jì)算機(jī)上運(yùn)行時(shí),其計(jì)算時(shí)間是不同的。選項(xiàng)B錯(cuò)誤,因?yàn)樗惴ㄋ帉?xiě)的程序長(zhǎng)度往往與程序設(shè)計(jì)語(yǔ)言以及程序員的水平有關(guān),同一個(gè)算法,用不同的程序設(shè)計(jì)語(yǔ)言或者不同的程序員所編寫(xiě)出的程序其長(zhǎng)度可能會(huì)大不相同。選項(xiàng)D錯(cuò)誤,因?yàn)楦鶕?jù)一個(gè)算法所編制出的程序之中,其指令條數(shù)往往與程序設(shè)計(jì)語(yǔ)言以及程序員的水平有關(guān),不能用算法程序中的指令條數(shù)來(lái)度量算法的時(shí)間復(fù)雜度。所以,本題正確答案為C。
47.D解析:軟件工程包括3個(gè)要素,即方法、工具和過(guò)程。方法是完成軟件工程項(xiàng)目的技術(shù)手段;工具支持軟件的開(kāi)發(fā)、管理、文檔生成;過(guò)程支持軟件開(kāi)發(fā)的各個(gè)環(huán)節(jié)的控制和管理。
48.D解析:選項(xiàng)D)為兩條語(yǔ)句。
49.C
50.C解析:程序設(shè)計(jì)過(guò)程中包括很多步驟,編制程序只是其中的一步。所以,選項(xiàng)A錯(cuò)誤。
程序設(shè)計(jì)的最終產(chǎn)品是程序,但僅設(shè)計(jì)和編制出一個(gè)運(yùn)行結(jié)果正確的程序是不夠的,還應(yīng)養(yǎng)成良好的程序設(shè)計(jì)風(fēng)格。所以,選項(xiàng)B錯(cuò)誤。
程序設(shè)計(jì)的根本目標(biāo)是要降低程序的復(fù)雜性和提高程序的可讀性。而程序的復(fù)雜性主要來(lái)自以下兩個(gè)方面:?jiǎn)栴}固有的復(fù)雜性;不良的設(shè)計(jì)風(fēng)格人為增加了程序的復(fù)雜性。所以,良好的設(shè)計(jì)風(fēng)格對(duì)于降低程序的復(fù)雜性是很重要的,并且,好的設(shè)計(jì)風(fēng)格是好的程序風(fēng)格的基本保證。選項(xiàng)C正確。
51.A解析:當(dāng)今主導(dǎo)的程序設(shè)計(jì)風(fēng)格是“清晰第一,效率第二”的觀點(diǎn)。結(jié)構(gòu)化程序設(shè)計(jì)思想提出之前,在程序設(shè)計(jì)中曾強(qiáng)調(diào)程序的效率,而在實(shí)際應(yīng)用中,人們更注重程序的可理解性。
52.B解析:在C中對(duì)文件操作必須先打開(kāi)文件,待文件操作完畢后要關(guān)閉文件。對(duì)文件以讀的方式進(jìn)行打開(kāi)操作時(shí),同時(shí)會(huì)執(zhí)行文件的檢查文件是否存在,不存在將會(huì)返回空的文件指針,如果對(duì)文件以寫(xiě)的方式打開(kāi)時(shí),文件不存在,將會(huì)自動(dòng)創(chuàng)建文件,因此在C中打開(kāi)文件前不必對(duì)其檢查文件是否存在,故答案為B。
53.A
54.C解析:本題中沒(méi)有使用break終止switch語(yǔ)句的執(zhí)行,當(dāng)k為'0'時(shí),執(zhí)行完case'0'后的輸出后將繼續(xù)執(zhí)行case'1'后的輸出;當(dāng)k為'1'時(shí),執(zhí)行case'1'后的輸出。
55.C
56.A解析:帶參數(shù)的宏定義命令行形式如下:#define宏名(形參表)替換文本。首先進(jìn)行M的宏替換,之后再進(jìn)行N的宏替換,替換后的表達(dá)式為(a)*(b)/(c)。
57.C解析:該題目的關(guān)鍵是要搞清楚“&&”和“||”兩個(gè)邏輯運(yùn)算符的運(yùn)算功能。運(yùn)算符“&&”和“||”是雙目運(yùn)算符,要求有兩個(gè)運(yùn)算量。在邏輯與運(yùn)算中,只有當(dāng)“&&”運(yùn)算符前面運(yùn)算量的值為真時(shí),才需要判斷后面的值;若為假,就不必判斷后面的值。而在邏輯或運(yùn)算中,只要“||”運(yùn)算符前面的值為真,就不再判斷后面的值;只有前面的值為假,才判斷后面的值。本題中j++的值為真,因此不進(jìn)行k++運(yùn)算,k值保持不變,(j++||k++)的值為真,繼續(xù)計(jì)算i++,計(jì)算后i值為2。
58.D解析:指針變量是通過(guò)指向變量地址來(lái)指定變量值的。這里只要取m的地址賦給p,即可實(shí)現(xiàn)使p為指向m的指針變量。
59.BB?!窘馕觥繑?shù)據(jù)的存儲(chǔ)結(jié)構(gòu)分為順序結(jié)構(gòu)和鏈?zhǔn)浇Y(jié)構(gòu),一個(gè)數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)。順序結(jié)構(gòu)中數(shù)據(jù)元素所占的存儲(chǔ)空間是連續(xù)的,而鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,數(shù)據(jù)元素所占的存儲(chǔ)空間不一定是連續(xù)的。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)。
60.B解析:題目中第1條要替換的語(yǔ)句i1=f(2);展開(kāi)后是i1=(2*M);再展開(kāi)為i1=(2*N+1);最后展開(kāi)為i1=(2*5/1),結(jié)果使i1=11。而第2條語(yǔ)句i2=f(1+1);展開(kāi)后為i2=(1+1*M);再展開(kāi)為i2=(1+1*N+1);最后展開(kāi)為i2=(1+1*5+1),結(jié)果使i2=7。故應(yīng)該選擇B。
61.A
62.D
63.D因?yàn)樵谶壿嫳磉_(dá)式中,兩邊的賦值表達(dá)式都成立,即值為1,故選擇D選項(xiàng)。
64.A
65.B該程序首先給一維數(shù)組賦值,然后三次調(diào)用fun函數(shù),其中fun(a,0,3);功能是將一維數(shù)組中第1個(gè)元素和第4個(gè)元素互換,第2個(gè)元素和第3個(gè)元素互換;其中fun(a,4,9);功能是將一維數(shù)組中第5個(gè)元素和第10個(gè)元素互換,第6個(gè)和第9個(gè)元素互換,第7個(gè)元素和第8個(gè)元素互換;其中fun(a.O,9);功能是將將一維數(shù)組中第l個(gè)元素和第10個(gè)元素互換,第2個(gè)元素和第9個(gè)元素互換……依此類(lèi)推。因此B選項(xiàng)正確。
66.A?B)與D)選項(xiàng)中取模運(yùn)算符%的左右兩個(gè)操作數(shù)均應(yīng)為整數(shù),所以B)、D)錯(cuò)誤。C)選項(xiàng)中不能將x+z的值賦給表達(dá)式y(tǒng)*5,所以C)錯(cuò)誤。
67.D解析:在C語(yǔ)言中文本文件是以ASCII碼形式存放的,每個(gè)字符占一個(gè)字節(jié)。由于數(shù)據(jù)在計(jì)算機(jī)中是以二進(jìn)制形式存放的,因此二進(jìn)制文件中的數(shù)據(jù)可以直接讀出
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國(guó)隔熱飲料行業(yè)市場(chǎng)分析及投資價(jià)值評(píng)估前景預(yù)測(cè)報(bào)告
- 2025年氫能基礎(chǔ)設(shè)施建設(shè)投融資模式創(chuàng)新與氫能產(chǎn)業(yè)鏈發(fā)展報(bào)告
- 2025年新能源綠色信貸政策優(yōu)化與風(fēng)險(xiǎn)防范報(bào)告
- 2025-2030年新能源行業(yè)供應(yīng)鏈金融風(fēng)險(xiǎn)控制與產(chǎn)業(yè)鏈協(xié)同發(fā)展報(bào)告
- 三年級(jí)品德與社會(huì)下冊(cè) 我們的生活需要誰(shuí)說(shuō)課稿3 人教新課標(biāo)版
- 北理工·2019(第3版)教學(xué)設(shè)計(jì)中職中職專(zhuān)業(yè)課電氣自動(dòng)化類(lèi)66 裝備制造大類(lèi)
- 星空的聯(lián)想 說(shuō)課稿(教案)-人教版(2012)美術(shù)三年級(jí)上冊(cè)
- 醫(yī)療救護(hù)知識(shí)培訓(xùn)意義
- 認(rèn)識(shí)身邊的樹(shù)(教學(xué)設(shè)計(jì))-人美版(2012)美術(shù)二年級(jí)下冊(cè)
- Unit 3 Family Ties - Understanding Ideas英文版教學(xué)設(shè)計(jì) 外研版英語(yǔ)七年級(jí)上冊(cè)
- 2024-2025學(xué)年江蘇省南通市海安市高二(上)月考物理試卷(10月份)(含答案)
- 中國(guó)少年先鋒隊(duì)隊(duì)史
- 造白渣原則及渣況判斷
- 反應(yīng)釜清洗操作規(guī)程
- 北師大版六年級(jí)數(shù)學(xué)上冊(cè) (生活中的比)比的認(rèn)識(shí)課件教學(xué)
- 大班健康《貪吃的大嘴魚(yú)》
- 高考英語(yǔ)讀后續(xù)寫(xiě)高分講義:萬(wàn)能語(yǔ)料之心理描寫(xiě)
- 人教版小學(xué)三年級(jí)數(shù)學(xué)上冊(cè)幾分之一課件16888
- 【孤獨(dú)癥學(xué)生心理特點(diǎn)與教育對(duì)策(論文)】
- 普通昆蟲(chóng)學(xué)形態(tài)學(xué)部分
- 人文關(guān)懷與人文護(hù)理
評(píng)論
0/150
提交評(píng)論