版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022-2023年山東省棗莊市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.
2.下面程序的輸出結(jié)果是main(){charstr[10],c='a';inti=0;for(;i<5;i++)str[i]=c++;printf("%s",str);}
A.abcdeB.aC.不確定D.bcdef
3.表達(dá)式a*(-b+c)的逆波蘭式是()
A.ab-+c*B.abc-+*C.a*b-c+D.ab-c+*
4.有以下程序
main()
{inti,s=0,t[]={l,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2)s+=*(t+i);
printf("%d\n",s);
}
程序執(zhí)行后的輸出結(jié)果是A.A.45B.20C.25D.36
5.表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型為()。A.intB.floatC.doubleD.不確定
6.下列程序的執(zhí)行結(jié)果是()。#include<stdioh>main{inta,b,c;a=b=2,c=I;c=(a++)-1;printf("%d,0Ad",a,c);c+=-a+++(++b);printf("%d,%d",a,c);)A.3,14,1B.3,14,2C.2,04,1D.2,14,1
7.
8.數(shù)據(jù)庫(kù)系統(tǒng)的核心是()。
A.數(shù)據(jù)模型B.數(shù)據(jù)庫(kù)管理系統(tǒng)C.數(shù)據(jù)庫(kù)D.數(shù)據(jù)庫(kù)管理員
9.下列敘述錯(cuò)誤的是()。
A.函數(shù)名是屬于用戶標(biāo)識(shí)符,需符合C語(yǔ)言對(duì)標(biāo)識(shí)符的規(guī)定
B.形參只能是變量
C.為保證程序的正常運(yùn)行,函數(shù)中定義的變量不能與其他函數(shù)中的變量同名
D.函數(shù)中定義的變量可以與其他函數(shù)中的變量同名
10.下列數(shù)據(jù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是
A.線性鏈表B.棧C.循環(huán)鏈表D.順序表
11.軟件調(diào)試的目的是______。
A.發(fā)現(xiàn)錯(cuò)誤B.改正錯(cuò)誤C.改善軟件的性能D.挖掘軟件的潛能
12.有以下程序:#include<stdio.h>intfun(){staticintx=1;X*=2:returnx;}main(){inti,S=1;for(i=1;i<=3;i++)S*=fun();printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是()。A.0B.10C.30D.64
13.設(shè)有以下程序段:structMP3{charname[20];charcolor;floatprice;}std,*ptr;ptr=&std:若要引用結(jié)構(gòu)體變量std中的color成員,寫法錯(cuò)誤的是()。A.std.colorB.ptr->colorC.std->colorD.(*ptr)color
14.有以下程序:#include<stdio.h>main(){inta=-2,b=2;for(;++a&&--b;)printf(“%d,%d\n”,a,b);}程序運(yùn)行后的輸出結(jié)果是()。
A.0,1B.0,0C.1,-1D.0,2
15.設(shè)有向無(wú)環(huán)圖G中的有向邊集合E={<1,2>,<2,3>,<3,4>,<1,4>},則下列屬于該有向圖G的一種拓?fù)渑判蛐蛄械氖?)。
A.1,2,3,4B.2,3,4,1C.1,4,2,3D.1,2,4,3
16.靜態(tài)鏈表中指針表示的是()。
A.內(nèi)存地址B.數(shù)組下標(biāo)C.下一元素地址D.左、右孩子地址
17.以下函數(shù)的功能是()intfun(char*A){char*b=a;while(*B)b++;{returnb-a;}}
A.比較兩個(gè)字符串的大小B.字符串的復(fù)制C.計(jì)算字符串的長(zhǎng)度D.字符串的連接
18.下列敘述中正確的是()。
A.在賦值表達(dá)式中,賦值號(hào)的左邊既可以是變量,也可以是任意表達(dá)式
B.實(shí)型變量中允許存放整型數(shù)
C.若a和b類型相同,在執(zhí)行賦值a=b后,b中的值將放入a中,但b中的值不變
D.在C程序中,求余算符“%”兩邊的類型相同時(shí)才能進(jìn)行運(yùn)算
19.執(zhí)行下列程序中的輸出語(yǔ)句后,a的值是()。main{inta;printf(“%d\n”,(a=2*3,a*5,a+7));}A.17B.37C.6D.13
20.
二、2.填空題(20題)21.以下程序的輸出結(jié)果是【】。
floatfun(intx,inty)
{return(x+y);}
main()
{inta=2,b=5,c=8;
printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}
22.執(zhí)行下列語(yǔ)句段后,x的值是______。
int*p,x;
x=100;
p=&x;
x=*p+50;
23.某二叉樹(shù)中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹(shù)中有【】個(gè)葉子結(jié)點(diǎn)。
24.【】(黑箱或白箱)測(cè)試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征。
25.下列的for語(yǔ)句的循環(huán)次數(shù)為_(kāi)_____。
for(x=1,y=0;(y!=19)&&(x<7);x++);
26.數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。
27.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{
intp=30;
printf("%d\n",(p/3>0?p/10:p%3));
}
28.下列程序的輸出結(jié)果是【】。
main()
{charb[]="Helloyou";
b[5]=0;
printf("%s\n",b);
}
29.軟件是程序、數(shù)據(jù)和【】的集合。
30.注釋一般分為序言性注釋和______注釋。
31.當(dāng)數(shù)據(jù)的物理結(jié)構(gòu)(存儲(chǔ)結(jié)構(gòu))改變時(shí),不影響數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),從而不致引起應(yīng)用程序的變化,這是指數(shù)據(jù)的【】。
32.實(shí)現(xiàn)程序可將磁盤中的一個(gè)文件復(fù)制到另一個(gè)文件中,兩個(gè)文件的文件名在可執(zhí)行命令的命令行中(相當(dāng)于copy命令),假定文件在當(dāng)前目錄下。請(qǐng)補(bǔ)全程序。
#include<stdio.h>
voidmain(intargc,char*argv[])
{FILE*f1,*f2;
if(argc<【】)
{printf("parametererror!\n");exit(0);}
f1=fopen(argv[1],"r");
f2=fopen(argv[2],"w");
while(【】)fputc(fgetc(f1),f2);
fclose(f1);
fclose(f2);
}
33.當(dāng)數(shù)據(jù)的物理結(jié)構(gòu)(存儲(chǔ)結(jié)構(gòu)、存取方式等)改變時(shí),不影響數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),從而不致引起應(yīng)用程序的變化,這是指數(shù)據(jù)的【】。
34.已有文本文件test.txt,其中的內(nèi)容為:Hello,everyone!。以下程序中,文件test.txt已正確為“讀”而打開(kāi),由文件指針fr指向該文件,則程序的輸出結(jié)果是【】。
#include<stdio.h>
main()
{
FILE*fr;charstr[40];
fgets(str,5,fr);
printf("%s\n",str);
fclose(fr);
}
35.在面向?qū)ο蟪绦蛟O(shè)計(jì)中,從外面看只能看到對(duì)象有外部特征,而不知道也無(wú)須知道數(shù)據(jù)的具體結(jié)構(gòu)以及實(shí)現(xiàn)操作的算法,這稱為對(duì)象的______。
36.以下程序從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)計(jì)其中正數(shù)的個(gè)數(shù),并計(jì)算它們之和。請(qǐng)?zhí)羁铡?/p>
main()
{
inti,a[20],sum,count;
sum=count=0;
for(i=0;i<20;i++)
scanf("%d",(______);
for(i=0;i<20;i++)
{
if(a[i]>0)
{
count++;
sum+=(______);
}
}
printf("sum=%d,count-%dkn",sum,count);
}
37.【】是數(shù)據(jù)庫(kù)設(shè)計(jì)的核心。
38.符合結(jié)構(gòu)化原則的三種基本控制結(jié)構(gòu)是順序結(jié)構(gòu)、()和循環(huán)結(jié)構(gòu)。
39.軟件設(shè)計(jì)模塊化的目的是______。
40.以下程序的輸出結(jié)果是()。
#include<stdio.h>
voidfun(intx)
{if(x/2>0)fun(x/2);
printf("%d",x);
}
main()
{fun(3);printf("\n");
}
三、1.選擇題(20題)41.定義下列結(jié)構(gòu)體(聯(lián)合)數(shù)組:structst{charname[15];intage;}a[10]={"ZHAO",14,"WANG",15,"LIU",16,"ZHANG",17};執(zhí)行語(yǔ)句printf["%d,%c",a[2].age,*(a[3].name+2))的輸出結(jié)果為()。
A.15,AB.16,HC.16,AD.17,H
42.以下合法的賦值語(yǔ)句是______。
A.X=Y=100B.D-;C.X+Y;D.C=int(A+B)
43.以下程序執(zhí)行后x的值是main(){intx,y=252,i=386,*m=&y,*z=&i;x=(z==y);printf("%d",x);}
A.252B.1C.0D.運(yùn)行時(shí)出錯(cuò),x無(wú)定值
44.下列描述中正確的是()。
A.軟件工程只是解決軟件項(xiàng)目的管理問(wèn)題
B.軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問(wèn)題
C.軟件工程的主要思想是強(qiáng)調(diào)在軟件開(kāi)發(fā)過(guò)程中需要應(yīng)用工程化原則
D.軟件工程只是解決軟件開(kāi)發(fā)中的技術(shù)問(wèn)題
45.數(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ì)
46.有以下程序main(){inti=1,j=l,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
47.在c語(yǔ)言中,變量的隱含存儲(chǔ)類別是()。
A.autoB.staticC.externD.無(wú)存儲(chǔ)類別
48.C語(yǔ)言的基本單位是()。
A.函數(shù)B.過(guò)程C.子程序D.子函數(shù)
49.下列說(shuō)法正確的是()。
A.一個(gè)C程序可以有多個(gè)主函數(shù)
B.一個(gè)C語(yǔ)言的函數(shù)中只允許有一對(duì)花括號(hào)
C.C程序的書寫格式是自由的,一個(gè)語(yǔ)句可以寫在一行上,也可以寫在多行內(nèi)
D.在對(duì)C程序進(jìn)行編譯時(shí),可以發(fā)現(xiàn)注釋行中的拼寫錯(cuò)誤
50.有以下程序:#include<stdio.h>main(){union{charch[2];intd;}s;s.d=0x4321;printf("%x,%x\n",s.ch[0],s.ch[1]);}在16位編譯系統(tǒng)上,程序執(zhí)行后的輸出結(jié)果是()。
A.21,43B.43,21C.43,00D.21,00
51.字符(char)型數(shù)據(jù)在微機(jī)內(nèi)存中的存儲(chǔ)形式是______。
A.反碼B.補(bǔ)碼C.EBCDIC碼D.ASCII碼
52.若有如下程序:voids(char*m,intn){*m=*m+3;n=n+3;printf("%c,%c,",*m,n);}main(){charp='b',q='B';s(&q,p);printf("%c,%c\n",p,q);}則程序運(yùn)行后的輸出結(jié)果是()
A.E,e,b,EB.e,E,b,F(xiàn)C.E,e,e,ED.e,E,b,E
53.在數(shù)據(jù)庫(kù)設(shè)計(jì)的四個(gè)階段中,為關(guān)系模式選擇存取方法應(yīng)該是在______階段。
A.需求分析B.概念設(shè)計(jì)C.邏輯設(shè)計(jì)D.物理設(shè)計(jì)
54.有以下程序main(){intx[8]={8,7,6,5,0,0},*s;s=x+3;printf("%d\n",s[2]);}執(zhí)行后輸出結(jié)果是
A.隨機(jī)值B.0C.5D.6
55.有以下程序point(char*p){p+=3;}main(){charb[4]={'a','b','c','d'},*p=b;point(p);printf("%c\n",*p);}程序運(yùn)行后的輸出結(jié)果是______。
A.aB.bC.cD.d
56.下列選項(xiàng)中錯(cuò)誤的說(shuō)明語(yǔ)句是
A.chara[]={'t','o','y','o','u','\0'};
B.chara[]={"toyou\0"};
C.chara[]="toyou\0";
D.chara[]='toyou\0';
57.以下不是面向?qū)ο笏枷胫械闹饕卣鞯氖?/p>
A.多態(tài)B.繼承C.封裝D.垃圾回收
58.設(shè)有以下定義和語(yǔ)句,輸出的結(jié)果是(用small模式編譯,指針變量占2個(gè)字節(jié))______。structdate{long*cat;structdate*next;doubledog;}too;printf("%d",sizeof(too));
A.20B.16C.14D.12
59.有以下程序main(){ints=0,a=1,n;seanf("%d",&n);do{s+=1;a=a-2;}while(a!=n);printf("%d\n",s);}若要使程序的輸出值為2,則應(yīng)該從鍵盤給n輸入的值是
A.-1B.-3C.-5D.0
60.現(xiàn)有如下程序段#include"stdio.h"#include"string.h"main(){chara[]="acfijk";/*這里是有序的字符序列*/charb[]="befijklqswz";/*這里是有序的字符序列*/charc[80],*p;inti=0,j=0,k=0;while(a[i]!='\0'&&b[j]!='\0'){if(a[i]<b[j])c[k++]=a[i++];elseif(a[i]>b[j])c[k++]=b[j++];else{c[k++]=b[j++];i++;}}while(a[i]=='\0'&&b[j]!='\0')c[k++]=b[j++];while(a[i]!=,'\0'&&b[j]=='\0')c[k++]=a[i++];c[k]='\0';puts(c);}則輸出結(jié)果是
A.acfijkbefijklqswz
B.abceffiijjkklqswz
C.befijklqswzacfijk
D.abcefijklqswz
四、選擇題(20題)61.以下函數(shù)按每行8個(gè)輸出數(shù)組中的數(shù)據(jù):
下劃線處應(yīng)填入的語(yǔ)句是()。
A.
B.
C.
D.
62.以下程序的輸出結(jié)果是()。
main()
{char*s="12134211";
intv1=0,v2=0,v3=0,v4=0,k;
for(k=0;s[k];k++)
switch(s[k])
{case’1’:v1++;
case’3’:v3++;
case’2’:v2++;
defaule:v4++;
}
printf("v1=%d,v2=%d,v3=%d,v4=%d\n,v1,v2,v3,v4);
}
A.v1=4,v2=2,v3=1,v4=1
B.v1=4,v2=9,v3=3,v4=1
C.v1=5,v2=8,v3=6,v4=1
D.v1=4,v2=7,v3=5,v4=8
63.
若已包括頭文件<string.h>且已有定義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]
64.以下程序的運(yùn)行結(jié)果是()。
A.17B.16C.15D.14
65.有以下程序:
當(dāng)執(zhí)行程序時(shí),按下列方式輸入數(shù)據(jù)(從第l列開(kāi)始,<;CR>;代表回車,注意:回車也是一個(gè)字符]12<;CR>;34<;CR>;則輸出結(jié)果是()。
A.12B.123C.1234D.12343
66.設(shè)有如下函數(shù)定義:
若執(zhí)行調(diào)用語(yǔ)句“l(fā)l=fm(3);”,則函數(shù)tim總共被調(diào)用的次數(shù)是()。
A.2B.3C.4D.5
67.已有定義intx=3,y=4,z=5;則表達(dá)式“!(x+y)+z-1y+z/2”的值是________。
A.6B.0C.2D.1
68.下列敘述中正確的是()。
A.程序執(zhí)行的效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)
B.程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)
C.程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量
D.以上三種說(shuō)法都不對(duì)
69.
70.定義無(wú)符號(hào)整數(shù)類為UInt,下面可以作為類UInt實(shí)例化值的是()。
A.-369B.369C.0.369D.整數(shù)集合{1,2,3,4,5}
71.有以下程序
程序運(yùn)行后的輸出結(jié)果是()。
A.15B.12C.16D.20
72.
73.
74.設(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’的地址
75.
76.下列關(guān)于C語(yǔ)言文件的敘述中正確的是()。
A.文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進(jìn)制文件
B.文件由結(jié)構(gòu)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件
C.文件由數(shù)據(jù)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件
D.文件由字符序列組成,其類型只能是文本文件
77.
78.按照C語(yǔ)言規(guī)定的用戶標(biāo)識(shí)符命名規(guī)則,不能出現(xiàn)在標(biāo)識(shí)符中的是()。
A.大寫字母B.連接符C.數(shù)字字符D.下劃線
79.
80.有以下函數(shù)intfun(char*X,char*y){intn=0;while((*x===*y)*x!=\O){x++;y++;n++;}returnn;}函數(shù)的功能是()。A.查找X和y所指字符串中是否有\(zhòng)o
B.統(tǒng)計(jì)x和Y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)
C.將Y所指字符串賦給X所指定存儲(chǔ)空間
D.統(tǒng)計(jì)X和Y所指字符串中相同的字符個(gè)數(shù)
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun()的功能是:將P所指字符串中的所有字符復(fù)制到b中,要求在每復(fù)制3個(gè)字符之后插入1個(gè)空格。
例如,若給a輸入字符串:“ABCDEFGHIJK”,調(diào)用函數(shù)后,字符數(shù)組b中的內(nèi)容為:“ABCDEFGHIJK”。
請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)proc,它的功能是計(jì)算:s=(In(1)4+ln(2)4+ln(3)+…+In(m))0.5
在C語(yǔ)言中可調(diào)用log(n)函數(shù)求ln(n)。
例如,若m的值為30,則proc函數(shù)值為8.640500。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填人所編寫的若干語(yǔ)句。
試題程序:
#include<stdlib.h>
#include<conio.h>
#inclllde<stdio.h>
#include<math.h>
doubleproc(intm)
{
}
voidmain
{
system("CLS");
printf("%f\n",proc(30));
}
參考答案
1.A
2.C解析:字符串少一個(gè)結(jié)束標(biāo)志,所以輸出的結(jié)果不確定。
3.D
4.C解析:統(tǒng)計(jì)1~9九個(gè)數(shù)中的奇數(shù)和,此題考察指向數(shù)組的指針,C語(yǔ)言規(guī)定數(shù)組名代表數(shù)組的首地址,也就是第一個(gè)元素的地址。因此*(t+i)代表數(shù)組的第i+1個(gè)元素。程序運(yùn)行的結(jié)果是1+2+3+4+5+6+7+8+9=25。
5.C因?yàn)閏語(yǔ)言數(shù)據(jù)進(jìn)行計(jì)算時(shí)數(shù)據(jù)類型會(huì)由低級(jí)向高級(jí)進(jìn)行隱式轉(zhuǎn)化,sqrt函數(shù)得到的是double類型,比其他的int數(shù)據(jù)類型高,所以整個(gè)結(jié)果得到的是double類型。
6.A本題主要考查自加減運(yùn)算符(++,--)的使用。①如果作為前綴變量“++a,--a”,在使用a之前,先使a的值加1或者減1,再使用表達(dá)式的值參與運(yùn)算;②后綴變量“a++,a--”,先使用表達(dá)式的值參與運(yùn)算,在使用a之后,再使i的值加1或者減1。在本題中計(jì)算表達(dá)式c=(a++)-1時(shí)先使用a的值進(jìn)行計(jì)算,結(jié)果為c=2-1=1,然后將a的值加1,即執(zhí)行完此句后l3-的值是3;表達(dá)式c+=-a+++(++b)也可寫成C=c+(一a++)+(++b),c=1+(一3)+3=1,此時(shí)a=4,b=3。
7.C
8.B解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)的核心,是負(fù)責(zé)數(shù)據(jù)庫(kù)的建立、使用和維護(hù)的軟件。數(shù)據(jù)庫(kù)管理系統(tǒng)建立在操作系統(tǒng)之上,實(shí)施對(duì)數(shù)據(jù)庫(kù)的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫(kù)命令以及應(yīng)用程序的執(zhí)行,最終都必須通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)。另外,數(shù)據(jù)庫(kù)管理系統(tǒng)還承擔(dān)著數(shù)據(jù)庫(kù)的安全保護(hù)工作,按照數(shù)據(jù)庫(kù)管理員所規(guī)定的要求,保證數(shù)據(jù)庫(kù)的完整性和安全性。
9.C解析:本題考查函數(shù)調(diào)用時(shí)參數(shù)的作用域。在函數(shù)調(diào)用時(shí),函數(shù)體內(nèi)定義的變量的作用域連函數(shù)體內(nèi),因而在不同函數(shù)體內(nèi)定義的變量可以相同,不影響各個(gè)變量的使用。
10.B解析:棧是限定在二端進(jìn)行插入與刪除的線性表。在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素,即棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。注意:隊(duì)列組織數(shù)據(jù)的原則是“先進(jìn)先出”或“后進(jìn)后出”。注意:數(shù)據(jù)結(jié)構(gòu)中,棧和隊(duì)列組織數(shù)據(jù)的原則。
11.B解析:在對(duì)程序進(jìn)行測(cè)試時(shí)會(huì)發(fā)現(xiàn)錯(cuò)誤,這就要進(jìn)行程序調(diào)試(排錯(cuò))。程序調(diào)試活動(dòng)由三部分組成:一是錯(cuò)誤定位,根據(jù)錯(cuò)誤的外部表現(xiàn)形式,確定程序中出錯(cuò)的位置,找出錯(cuò)誤的內(nèi)在原因;二是對(duì)程序進(jìn)行修改,排除這個(gè)錯(cuò)誤;三是進(jìn)行回歸測(cè)試,防止引進(jìn)新的錯(cuò)誤。所以程序調(diào)試的目的就是診斷和改正程序中的錯(cuò)誤。軟件調(diào)試不能改善軟件的性能,也不能挖掘軟件的潛能。
12.D函數(shù)fun是2的次方的運(yùn)算,而s*=fun,所以答案為64。
13.C【答案】C
【知識(shí)點(diǎn)】結(jié)構(gòu)體成員變量的引用
【解析】結(jié)構(gòu)體變量包括一個(gè)或多個(gè)成員變量,引用其成員變量的語(yǔ)法格式如下:
結(jié)構(gòu)體變量.成員變量。通過(guò)結(jié)構(gòu)體指針變量獲得其結(jié)構(gòu)體變量的成員變量的一般形式為:(*結(jié)構(gòu)體指針變量).成員變量,也可以使用:結(jié)構(gòu)體指針變量->成員變量來(lái)引用成員變量。
14.A在語(yǔ)句“for(;++a&&--b;)”中,for循環(huán)的表達(dá)式1和表達(dá)式3為缺省項(xiàng)。首先判斷條件表達(dá)式“b”。當(dāng)“a=-2,b=2”時(shí),第1次執(zhí)行“++a”和“--b”,條件表達(dá)式為真,循環(huán)條件成立。第2次執(zhí)行“++a”為0,由于運(yùn)算符,當(dāng)?shù)?個(gè)條件為假時(shí),不執(zhí)行第2個(gè)條件,因此“b=1”,發(fā)生短路,“--b”不再執(zhí)行。因此輸出的最終值為0,1。故本題答案為A選項(xiàng)。
15.A
16.C
17.C
18.D選項(xiàng)A,在賦值表達(dá)式中,賦值號(hào)的左邊只能是變量或者是代表某個(gè)存儲(chǔ)單元的表達(dá)式,不能是任意表達(dá)式,右邊也不得出現(xiàn)表達(dá)式;選項(xiàng)8中,整型變量中只能存放整型數(shù),但實(shí)型變量中能存放實(shí)型數(shù),也能存放整型數(shù);選項(xiàng)C,表達(dá)式a=b的意思是把變量b的值賦給變量a,從而覆蓋a中原來(lái)值;選項(xiàng)D,要求取余運(yùn)算符"%"兩邊的類型均為整型。
19.C本題考查逗號(hào)表達(dá)式。程序輸出時(shí)輸出一個(gè)%d,所以輸出第一個(gè)a的值與后續(xù)無(wú)關(guān)。本題考查逗號(hào)表達(dá)式。本題的返回值是a+7,a=2*3=6,a+7=13(注意:本題問(wèn)的是a的值,而不是程序的輸出值)。
20.D
21.99解析:本題考查函數(shù)的綜合知識(shí)。首先,我們可以利用強(qiáng)制轉(zhuǎn)換類型轉(zhuǎn)換運(yùn)算符,將一個(gè)表達(dá)式轉(zhuǎn)換成所需類型。如:(double)a是將a轉(zhuǎn)換成double類型;(int)(x+y)是將x+y的值轉(zhuǎn)換成整型。
本題可按部就班地逐步運(yùn)算:
fun((int)fun(a+c,b),a-c)
fun((int)fun(10,5),2-8)
fun((int)15.000000,-6)
fun(15,-6)
9
22.150150解析:本題先給變量x賦初始值100,然后將指針p指向變量x,*p是取指針p所指地址的內(nèi)容,即100,所以x=100+50=150。
23.1919解析:根據(jù)二叉樹(shù)的性質(zhì):在任意一棵二叉樹(shù)中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中度為2的結(jié)點(diǎn)數(shù)為18,故葉子結(jié)點(diǎn)數(shù)為18+1=19個(gè)。
24.黑箱黑箱解析:本題考查了軟件測(cè)試中的黑箱測(cè)試。黑箱測(cè)試是根據(jù)程序規(guī)格說(shuō)明所規(guī)定的功能來(lái)設(shè)計(jì)測(cè)試用例,它不考慮程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程。常用的黑箱測(cè)試技術(shù)分為等價(jià)類劃分、邊界分析、錯(cuò)誤猜測(cè)以及因果圖等。
25.66解析:分析程序可知,每循環(huán)一次,x的值加1,然后檢測(cè)循環(huán)控制條件(y!=19)&&(x<7),因y的值不變,故滿足x<7時(shí)循環(huán)6次。
26.概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)
27.33解析:條件表達(dá)式的一般形式為;表達(dá)式1?表達(dá)式2:表達(dá)式3條件運(yùn)算符的執(zhí)行順序:先求解表達(dá)式1,若為非0(真)則求解表達(dá)式2,此時(shí)表達(dá)式2的值就作為整個(gè)條件表達(dá)式的值;若表達(dá)式1的值為0(假),則求解表達(dá)式3,表達(dá)式3的值就是整個(gè)條件表達(dá)式的值。30/3=10>0,所以執(zhí)行p/10,結(jié)果為3。
28.HelloHello解析:執(zhí)行b[5]=0;是給數(shù)組的第6個(gè)元素賦值為0,即將Hello后的空格變?yōu)?。當(dāng)輸出字符串時(shí)遇到0終止輸出。
29.文檔文檔解析:計(jì)算機(jī)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關(guān)文檔的完整集合。
30.功能性功能性解析:注釋一般分為序言性注釋和功能性注釋。序言性注釋通常位于每個(gè)程序的開(kāi)頭部分,給出程序的整體說(shuō)明;功能性注釋一般嵌在源程序體之中,主要描述其后的語(yǔ)句或程序做什么,
31.物理獨(dú)立性數(shù)據(jù)獨(dú)立性是數(shù)據(jù)與程序間的互不依賴性,即數(shù)據(jù)庫(kù)中數(shù)據(jù)獨(dú)立于應(yīng)用程序而不依賴于應(yīng)用程序。也就是說(shuō),數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)與存取方式的改變不會(huì)影響應(yīng)用程序。數(shù)據(jù)獨(dú)立性一般分為物理獨(dú)立性與邏輯獨(dú)立性兩級(jí)。
32.3!feof(f1)3\r\n!feof(f1)解析:要實(shí)現(xiàn)文件復(fù)制,需要指定源文件及目的文件,因此在命令行下執(zhí)行程序時(shí)至少要指定兩個(gè)參數(shù),加上程序名本身,故argc的值至少為3,因此第一空應(yīng)填3。while循環(huán)中語(yǔ)句fputc(fgetc(f1),f2);的目的是將f1中的字符依次讀出并寫入到f2對(duì)應(yīng)的文件中去,直至文件f1結(jié)束為止,因此第二空為!feof(f1)。
33.物理獨(dú)立性物理獨(dú)立性
34.HellHell解析:該函數(shù)有3個(gè)參數(shù),第三個(gè)參數(shù)是文件指針指向要讀取數(shù)據(jù)的文件,第二個(gè)參數(shù)是一個(gè)整數(shù)(假設(shè)為n),表示從文件中讀取n-1個(gè)字符并在其后加一個(gè)'\\0',第一個(gè)參數(shù)為存放讀取的字符串的內(nèi)存區(qū)的起始地址,讀取的數(shù)據(jù)保存在其中。可見(jiàn)本題的輸出結(jié)果為Hell。
35.封裝性封裝性解析:對(duì)象具有下列5個(gè)基本特點(diǎn):①標(biāo)識(shí)惟一性;②分類性:③多態(tài)性;④封裝性;⑤模塊獨(dú)立性好。其中,封裝性是指從外面看只能看到對(duì)象的外部特征,對(duì)象的內(nèi)部特征即處理能力的實(shí)行和內(nèi)部狀態(tài),對(duì)外是不可見(jiàn)的,對(duì)象的內(nèi)部狀態(tài)只能由其自身改變。
36.&a[i]或a+ia[i]或*(a+i)&a[i]或a+ia[i]或*(a+i)解析:主函數(shù)中一開(kāi)始定義了一個(gè)長(zhǎng)度為20得整形數(shù)組,然后通過(guò)—個(gè)循環(huán),循環(huán)20次給它的每個(gè)元素賦初值,所以在第一個(gè)空格處應(yīng)填各個(gè)元素的地址,即填&a[1]或a+i,然后在通過(guò)一個(gè)循環(huán)執(zhí)行20次,每循環(huán)一次,先判斷該循環(huán)是否大于0,如果大于。將其累加到變量sum中,所以第二個(gè)空格處應(yīng)該填入數(shù)組元素,所以應(yīng)該填a[i]或*(a+i)。
37.數(shù)據(jù)模型數(shù)據(jù)模型
38.選擇結(jié)構(gòu)選擇結(jié)構(gòu)解析:程序設(shè)計(jì)語(yǔ)言僅僅使用順序、選擇和重復(fù)(循環(huán))三種基本控制結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計(jì)方法。遵循程序結(jié)構(gòu)化的設(shè)計(jì)原則,按結(jié)構(gòu)化程序設(shè)計(jì)方法設(shè)計(jì)出的程序易于理解、使用和維護(hù);可以提高編程工作的效率,降低軟件的開(kāi)發(fā)成本。
39.降低復(fù)雜性降低復(fù)雜性
40.1313解析:函數(shù)fun是一個(gè)遞歸函數(shù)。執(zhí)行fun(3);,x=3,x/2=1>0,又調(diào)用f(1),此時(shí),x=1,x/2=0,不滿足繼續(xù)遞歸調(diào)用的條件,輸出1,返回到fun(3)中,輸出3。所以本題的輸出結(jié)果為13。
41.C解析:本題主要考查結(jié)構(gòu)體數(shù)組。a[2].age為結(jié)構(gòu)體a[2]的age成員,即16。a[3].name為指向結(jié)構(gòu)體a[3]的name成員的第一個(gè)元素的指針,即指向“Z”,(a[3].name+2)將指針后移兩位指向第三個(gè)元素“A”,*(a[3].name+2))是取指針?biāo)赶虻刂返膬?nèi)容。
42.B解析:本題中的答案A與D都缺少“;”,而答案C中,表達(dá)式是不能獨(dú)立成為語(yǔ)句的,答案B使用了C語(yǔ)言的自減運(yùn)算符它就相當(dāng)于D=D-1,所以答案B為一賦值語(yǔ)句。
43.C解析:指針變量m和z分別指向整型變量y和i,所以這兩個(gè)指針變量中存儲(chǔ)的地址是不同的。變量x接受的是一個(gè)關(guān)系運(yùn)算的結(jié)果,因?yàn)閮蓚€(gè)地址是不同的,所以“z=y”的判斷結(jié)果為0。注意:C語(yǔ)言中,邏輯值的表示方法。
44.C\r\n軟件工程是試圖用工程、科學(xué)和數(shù)學(xué)的原理與方法研制、維護(hù)計(jì)算機(jī)軟件的有關(guān)技術(shù)及管理方法。軟件工程的主要思想是強(qiáng)調(diào)在軟件開(kāi)發(fā)工程中需要應(yīng)用工程化的原則。軟件工程用來(lái)解決以下問(wèn)題:軟件需求的增長(zhǎng)得不到滿足、軟件開(kāi)發(fā)成本和進(jìn)度無(wú)法控制、軟件質(zhì)量難以保證、軟件不可維護(hù)或維護(hù)程度低、軟件得成本不斷提高、軟件開(kāi)發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和應(yīng)用需求的增長(zhǎng)。軟件項(xiàng)目的管理、軟件產(chǎn)品的生產(chǎn)率、軟件開(kāi)發(fā)中的技術(shù)都是軟件工程需要解決的部分問(wèn)題。因此選項(xiàng)C正確。
45.A解析:模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)是概念設(shè)計(jì)的兩種方法。物理設(shè)計(jì)是根據(jù)特定的計(jì)算機(jī)系統(tǒng),對(duì)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)和存取方法進(jìn)行設(shè)計(jì),從而實(shí)現(xiàn)從邏輯結(jié)構(gòu)到物理結(jié)構(gòu)的轉(zhuǎn)換。從系統(tǒng)開(kāi)發(fā)的角度來(lái)看,結(jié)構(gòu)特性設(shè)計(jì)和行為特性-設(shè)計(jì)是數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)所具有的兩個(gè)特性。結(jié)構(gòu)特性的設(shè)計(jì),設(shè)計(jì)各級(jí)數(shù)據(jù)庫(kù)模式(靜態(tài)特性):行為特性的設(shè)計(jì),改變實(shí)體及其特性,決定數(shù)據(jù)庫(kù)系統(tǒng)的功能(動(dòng)態(tài)特性)。
46.C解析:本題考核的知識(shí)點(diǎn)是if語(yǔ)句的應(yīng)用。首先計(jì)算if語(yǔ)句后面的表達(dá)式值,先計(jì)算運(yùn)算符&&前面括號(hào)里的“‖”運(yùn)算.在“‖”運(yùn)算中先計(jì)算j++,值為1(j的值為2),為真,后面的k++將不再計(jì)算,k的值依舊為2。計(jì)算&&后面的表達(dá)式i++,值為1(i的值變?yōu)?)。整個(gè)表達(dá)式的值為真,所以執(zhí)行后面的輸出語(yǔ)句,最后輸出的i,j和k的值為2,2和2.所以,C選項(xiàng)為所選。
47.A解析:auto變量:無(wú)static聲明的局部變量。用auto作存儲(chǔ)類別的聲明時(shí),可以不寫auto,存儲(chǔ)類別隱含確定為auto(自動(dòng)存儲(chǔ)類別),是動(dòng)態(tài)存儲(chǔ)方式。大多數(shù)變量是自動(dòng)變量。用static聲明的局部變量是靜態(tài)局部變量。函數(shù)調(diào)用結(jié)束后靜態(tài)局部變量占據(jù)的內(nèi)存存儲(chǔ)單元空間不釋放,局部變量保留原值,下次調(diào)用時(shí)可以繼續(xù)使用該值。用extern聲明外部變量,外部變量即全局變量,可以用extern聲明來(lái)改變?nèi)肿兞康淖饔糜?實(shí)際上,關(guān)鍵字'auto'可以省略,auto不寫則隱含確定為'自動(dòng)存儲(chǔ)類別',屬于動(dòng)態(tài)存儲(chǔ)方式。
48.AA?!窘馕觥緾語(yǔ)言是函數(shù)式的語(yǔ)言。它的基本組成單位是函數(shù),在C語(yǔ)言中任何程序都是由一個(gè)或者多個(gè)函數(shù)組成的。
49.C解析:本題涉及C語(yǔ)言基本的3個(gè)知識(shí)點(diǎn):①C語(yǔ)言規(guī)定一個(gè)程序只允許有一個(gè)主函數(shù),一個(gè)函數(shù)內(nèi)可以允許有多個(gè)花括號(hào);②C語(yǔ)言的標(biāo)識(shí)符是由字母、數(shù)字、下劃線組成的,可以是大寫字母,而且標(biāo)識(shí)符區(qū)分字母的大小寫;③C程序的注釋部分僅僅是方便程序員閱讀,提高程序的可讀性和可移植性,它并不參與程序的編譯,所以編譯器也就不會(huì)發(fā)現(xiàn)注釋行中的錯(cuò)誤。
50.A解析:int型變量和字符數(shù)組ch共用兩個(gè)字節(jié)的存儲(chǔ)單元,通常ch[0]位于低字節(jié),ch[1]位于高字節(jié),所以s.ch[0]=21,s.c[1]=43。
51.D解析:將—個(gè)字符常量放到一個(gè)字符變量中,實(shí)際上并不是把該字符本身放到內(nèi)存單元中去,而是將該字符的ASCII碼值放到存儲(chǔ)單元中。
52.A
53.D解析:需求分析階段是分析用戶的需求,顯然不屬于這個(gè)階段,由此可以排除選項(xiàng)A.概念設(shè)計(jì)是將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)及概念模型的過(guò)程,涉及不到數(shù)據(jù)的存取,所以選項(xiàng)D錯(cuò)誤。邏輯設(shè)計(jì)是在概念設(shè)計(jì)的基礎(chǔ)上將E-R圖轉(zhuǎn)換成數(shù)據(jù)庫(kù)管理系統(tǒng)的邏輯數(shù)據(jù)模型表示的邏輯模式,也不涉及存取問(wèn)題,選項(xiàng)C也不對(duì)。答案為D。
54.B解析:本題考核的知識(shí)點(diǎn)是指向一維數(shù)組的指針變量,通過(guò)賦值語(yǔ)句“s=x+3”,使指針變量s指向數(shù)組元素x[3],輸出語(yǔ)句中的s[2]等價(jià)于*(s+2),即x[5]僖為0。所以,B選項(xiàng)為所選。
55.A解析:本題是一個(gè)陷阱,看似考查函數(shù)的傳址調(diào)用,其實(shí)考的是傳值調(diào)用。在C語(yǔ)言中,不管你給函數(shù)傳遞的參數(shù)是什么,指針也好數(shù)組名也罷,系統(tǒng)都是嚴(yán)格的將實(shí)參的值復(fù)制了一份作為函數(shù)的形參,即傳值調(diào)用。在函數(shù)中,對(duì)形參中的值怎么改變都不會(huì)影響到實(shí)參。那傳址調(diào)用又是怎么實(shí)現(xiàn)的呢?那是因?yàn)樵诤瘮?shù)中改變的不是形參指針變量中的值,而是形參指針變量所指內(nèi)存中的值。其實(shí)骨子里還是將實(shí)參指針的值復(fù)制?一份給形參指針變量,它們是兩個(gè)獨(dú)立的互不相干的變量,只不過(guò)指向的內(nèi)存地址值一模一樣罷了。本題的函數(shù)只是改變了形參指針變量p的值,這對(duì)程序沒(méi)有任何影響,主函數(shù)中p一開(kāi)始就是指向b[0],最后輸出時(shí)還是b[0]的值'a'。所以應(yīng)該選擇A。
56.D解析:通過(guò)賦初值的方式給一維數(shù)組賦字符串,可以用給一般數(shù)組賦初值的相同方式給一維字符數(shù)組賦字符串,也可以在賦值時(shí)直接賦字符串常量。選項(xiàng)B)和C)后面的'\\0'是多余的,不過(guò)也不錯(cuò),在C語(yǔ)言中,系統(tǒng)會(huì)自動(dòng)在字符串的結(jié)尾處加上一個(gè)字符'\\0'作為串的結(jié)束標(biāo)記。
57.D解析:面向?qū)ο笏枷胫械娜齻€(gè)主要特征是:封裝性、繼承性和多態(tài)性。
58.D解析:sizeof函數(shù)計(jì)算已知類型所占的字節(jié)數(shù)。結(jié)構(gòu)體變量所占內(nèi)存長(zhǎng)度是各成員占的內(nèi)存長(zhǎng)度之和。指針變量占2個(gè)字節(jié),所以cat和*next各占2個(gè)字節(jié);double型占8個(gè)字節(jié),故too共占12個(gè)字節(jié)。
59.B解析:根據(jù)題目要求,最后要使輸出的s值為2,在程序中改變。的值語(yǔ)句只有循環(huán)體中的s+=1;語(yǔ)句,而初始9的值為o,顯然要使s的值變?yōu)?,該語(yǔ)句必須執(zhí)行,兩次,即do-while循環(huán)中的循環(huán)體要執(zhí)行兩次,而在do-while中,首先不進(jìn)行條件而執(zhí)行do后面的循環(huán)體語(yǔ)句,然后再判斷while循環(huán)條件。所以說(shuō)不管循環(huán)判斷條件是否為真s+=1;語(yǔ)句至少執(zhí)行一次,根據(jù)分析,只需要while后面括號(hào)的循環(huán)判斷表達(dá)式的值為真一次且只能為真一次,將四個(gè)選項(xiàng)中的內(nèi)容依次代入該程序中不難得到只有n=-3剛好使循環(huán)判斷條件a!=n為真一次。
60.D解析:這個(gè)題目的功能是實(shí)現(xiàn)兩個(gè)有序字符串的合并,合并成一個(gè)新的有序的字符串。
61.C在c語(yǔ)言循環(huán)語(yǔ)句中continue用來(lái)跳出當(dāng)次循環(huán),因此B)項(xiàng)和D)項(xiàng)不正確。if(i/8==0)是指當(dāng)i除以8的商等于0,即i的值小于8時(shí),打印換行,因此A)項(xiàng)不正確。if(i%8==0)是指當(dāng)i除以8的余數(shù)等于0,即當(dāng)間隔8個(gè)數(shù)時(shí),打印換行,因此選項(xiàng)c)正確。
62.Dk=0,s[k]=1,v1++,v2++,v3++,v4++;k=1,s[k]=2,v2++,v4++;k=3,s[k]=1,……,直到k=8,s[k]=0.退出循環(huán)
63.C
\n數(shù)組名sl是代表sl數(shù)組首地址的地址常量,因?yàn)椤?”左邊不能出現(xiàn)常量,所以s1='ABCDE'的方法是錯(cuò)誤的。
\n
64.Dfun函數(shù)語(yǔ)句retun3(a++)+c;中訪問(wèn)的a,是其內(nèi)部定義的靜態(tài)局部變量,main函數(shù)中語(yǔ)句k+=f(a)訪問(wèn)的a是其局部變量,所以兩次調(diào)用實(shí)際上都是調(diào)用f(3)。第一次調(diào)用時(shí),fun函數(shù)中c=4,表達(dá)式(a++)+c的
值為6,a遞增為3,k=6。第二次調(diào)用時(shí),fun函數(shù)種c=4,表達(dá)式(a++)+c的值為7,a遞增為4,k=6+7=13。語(yǔ)句k+=a中的a是全局變量,所以k=13+l=14。
65.D按照從鍵盤輸入的數(shù)據(jù)可以_判斷字符l給了變量a,字符2給了變量b,字符<CR>即回車給了變量c,字符3給了變量d。所以打印輸出的結(jié)果為D選項(xiàng)。
66.B首先n=fun(3),3被當(dāng)作參數(shù)傳遞進(jìn)去,這就進(jìn)行了-次調(diào)用,3被當(dāng)做參數(shù)傳進(jìn)去后,程序會(huì)執(zhí)行這句deerctlu"nfun(k-1)+1;這就調(diào)用了第二次,而參數(shù)是3—1也就是2。2被當(dāng)做參數(shù)傳進(jìn)去后,程序會(huì)執(zhí)行這句elseremmfun(k—I)+1;這就調(diào)用了第三次,而參數(shù)是2-1也就是1。1被當(dāng)做參數(shù)傳進(jìn)去后,程序會(huì)執(zhí)行這句elseif(k==1)return1:不再遞歸調(diào)用,所以最終結(jié)果為3次。
67.D
68.A本題考查程序效率。程序效率是指程序運(yùn)行速度和程序占用的存儲(chǔ)空間。影響程序效率的因素是多方面的,包括程序的設(shè)計(jì)、使用的算法、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)等。在確定數(shù)據(jù)邏輯結(jié)構(gòu)的基礎(chǔ)上,選擇一種合適的存儲(chǔ)結(jié)構(gòu),可以使得數(shù)據(jù)操作所花費(fèi)的時(shí)間少,占用的存儲(chǔ)空間少,即提高程序的效率。因此,本題選項(xiàng)A的說(shuō)法是正確的。
69.C\r\n
70.BB【解析】只有B選項(xiàng)369可以用無(wú)符號(hào)整數(shù)來(lái)表示和存儲(chǔ)。A選項(xiàng)一369有負(fù)號(hào),選項(xiàng)C0.369是小數(shù)都不能用無(wú)符號(hào)整數(shù)類存儲(chǔ)。選項(xiàng)D是一個(gè)整數(shù)集合得用數(shù)組來(lái)存儲(chǔ)。
71.B#define命令是C語(yǔ)言的宏定義命令,標(biāo)識(shí)符一般使用大寫,為了區(qū)分其他標(biāo)識(shí)符,將標(biāo)識(shí)符定義為一個(gè)字符串,該標(biāo)識(shí)符被稱為宏名,被定義的字符串稱為替換文本。宏定義不進(jìn)行其他操作,僅僅只是替換標(biāo)識(shí)符。后置自增運(yùn)算:k++表示先運(yùn)算,后自加。意思是遇到k++了,先把當(dāng)前的k的值拿來(lái)參加運(yùn)算,后面再去管它的自加。SUB(a++,b++)一(a++)t(b++)—d}4。故答案為B選項(xiàng)。
72.D
73.B
74.D
75.B
76.C文件由數(shù)據(jù)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件。故本題答案為C選項(xiàng)。
77.B
78.B解析:在C語(yǔ)言中,用戶標(biāo)識(shí)符命令規(guī)則規(guī)定:變量名只能由字母、數(shù)字或下劃線3種字符組成,且第一個(gè)字符必須為字母或下劃線。在C語(yǔ)言中,大寫字母和小寫字母被認(rèn)為是兩個(gè)不同的字符。據(jù)此規(guī)定A)、D)、C)三個(gè)選項(xiàng)是正確的,而B(niǎo))選項(xiàng)是連字符,不在C語(yǔ)言規(guī)定的命名變量標(biāo)識(shí)符的范圍內(nèi)。
79.B
80.B由題中while(*x==*y*x!=\\n)可知此函數(shù)是統(tǒng)計(jì)x和y所指向的字符串中最前面的聯(lián)系相同的字符的個(gè)數(shù)。
81.(1)錯(cuò)誤:b[k]=p;
正確:b[k]=*p;
(2)錯(cuò)誤:b[k]=ˊ\0ˊ;
正確:b[k]=ˊˊ;k++
【解析】此題,首先要知道函數(shù)的參數(shù)類型可以是整型、實(shí)型、字符型和指針型。此處正是指針類型變量作為函數(shù)的參數(shù),因此應(yīng)該是“b[k]=*p”,而不是“b[k]=p”;題目要求在3個(gè)字符后加1個(gè)空格,通過(guò)條件表達(dá)式“i<=3&&*p”,①找到不需移動(dòng)的字符(從第4個(gè)位置開(kāi)始。每隔3個(gè)字符)并將其存入數(shù)組b中;②此時(shí)下標(biāo)落到了需要移動(dòng)的字符的位置,在數(shù)組b中此位置插入空格,具體語(yǔ)句為:“b[k]=ˊˊ;k++”,繼續(xù)執(zhí)行①直到處理到字符串p的最后一個(gè)字符。
82.doubleproc(intm)
\n{
\ninti;
\ndoubles=0.0;//s是表示其和
\nfor(i=1;i<=m;i++)
\ns=s+log(i);//計(jì)算s=ln(1)+ln(2)+ln(3)+…+ln(m)
\nreturnsqrt(s);//最后將其開(kāi)平方的值返回到主函數(shù)中
\n}
\n【解析】由題目中所給表達(dá)式可知,表達(dá)式的值為m項(xiàng)表達(dá)式的和然后開(kāi)平方??梢允紫韧ㄟ^(guò)m次循環(huán)求得m項(xiàng)表達(dá)式的和,然后將其和開(kāi)平方并返回到主函數(shù)當(dāng)中。
\n2022-2023年山東省棗莊市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.
2.下面程序的輸出結(jié)果是main(){charstr[10],c='a';inti=0;for(;i<5;i++)str[i]=c++;printf("%s",str);}
A.abcdeB.aC.不確定D.bcdef
3.表達(dá)式a*(-b+c)的逆波蘭式是()
A.ab-+c*B.abc-+*C.a*b-c+D.ab-c+*
4.有以下程序
main()
{inti,s=0,t[]={l,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2)s+=*(t+i);
printf("%d\n",s);
}
程序執(zhí)行后的輸出結(jié)果是A.A.45B.20C.25D.36
5.表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型為()。A.intB.floatC.doubleD.不確定
6.下列程序的執(zhí)行結(jié)果是()。#include<stdioh>main{inta,b,c;a=b=2,c=I;c=(a++)-1;printf("%d,0Ad",a,c);c+=-a+++(++b);printf("%d,%d",a,c);)A.3,14,1B.3,14,2C.2,04,1D.2,14,1
7.
8.數(shù)據(jù)庫(kù)系統(tǒng)的核心是()。
A.數(shù)據(jù)模型B.數(shù)據(jù)庫(kù)管理系統(tǒng)C.數(shù)據(jù)庫(kù)D.數(shù)據(jù)庫(kù)管理員
9.下列敘述錯(cuò)誤的是()。
A.函數(shù)名是屬于用戶標(biāo)識(shí)符,需符合C語(yǔ)言對(duì)標(biāo)識(shí)符的規(guī)定
B.形參只能是變量
C.為保證程序的正常運(yùn)行,函數(shù)中定義的變量不能與其他函數(shù)中的變量同名
D.函數(shù)中定義的變量可以與其他函數(shù)中的變量同名
10.下列數(shù)據(jù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是
A.線性鏈表B.棧C.循環(huán)鏈表D.順序表
11.軟件調(diào)試的目的是______。
A.發(fā)現(xiàn)錯(cuò)誤B.改正錯(cuò)誤C.改善軟件的性能D.挖掘軟件的潛能
12.有以下程序:#include<stdio.h>intfun(){staticintx=1;X*=2:returnx;}main(){inti,S=1;for(i=1;i<=3;i++)S*=fun();printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是()。A.0B.10C.30D.64
13.設(shè)有以下程序段:structMP3{charname[20];charcolor;floatprice;}std,*ptr;ptr=&std:若要引用結(jié)構(gòu)體變量std中的color成員,寫法錯(cuò)誤的是()。A.std.colorB.ptr->colorC.std->colorD.(*ptr)color
14.有以下程序:#include<stdio.h>main(){inta=-2,b=2;for(;++a&&--b;)printf(“%d,%d\n”,a,b);}程序運(yùn)行后的輸出結(jié)果是()。
A.0,1B.0,0C.1,-1D.0,2
15.設(shè)有向無(wú)環(huán)圖G中的有向邊集合E={<1,2>,<2,3>,<3,4>,<1,4>},則下列屬于該有向圖G的一種拓?fù)渑判蛐蛄械氖?)。
A.1,2,3,4B.2,3,4,1C.1,4,2,3D.1,2,4,3
16.靜態(tài)鏈表中指針表示的是()。
A.內(nèi)存地址B.數(shù)組下標(biāo)C.下一元素地址D.左、右孩子地址
17.以下函數(shù)的功能是()intfun(char*A){char*b=a;while(*B)b++;{returnb-a;}}
A.比較兩個(gè)字符串的大小B.字符串的復(fù)制C.計(jì)算字符串的長(zhǎng)度D.字符串的連接
18.下列敘述中正確的是()。
A.在賦值表達(dá)式中,賦值號(hào)的左邊既可以是變量,也可以是任意表達(dá)式
B.實(shí)型變量中允許存放整型數(shù)
C.若a和b類型相同,在執(zhí)行賦值a=b后,b中的值將放入a中,但b中的值不變
D.在C程序中,求余算符“%”兩邊的類型相同時(shí)才能進(jìn)行運(yùn)算
19.執(zhí)行下列程序中的輸出語(yǔ)句后,a的值是()。main{inta;printf(“%d\n”,(a=2*3,a*5,a+7));}A.17B.37C.6D.13
20.
二、2.填空題(20題)21.以下程序的輸出結(jié)果是【】。
floatfun(intx,inty)
{return(x+y);}
main()
{inta=2,b=5,c=8;
printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}
22.執(zhí)行下列語(yǔ)句段后,x的值是______。
int*p,x;
x=100;
p=&x;
x=*p+50;
23.某二叉樹(shù)中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹(shù)中有【】個(gè)葉子結(jié)點(diǎn)。
24.【】(黑箱或白箱)測(cè)試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征。
25.下列的for語(yǔ)句的循環(huán)次數(shù)為_(kāi)_____。
for(x=1,y=0;(y!=19)&&(x<7);x++);
26.數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。
27.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{
intp=30;
printf("%d\n",(p/3>0?p/10:p%3));
}
28.下列程序的輸出結(jié)果是【】。
main()
{charb[]="Helloyou";
b[5]=0;
printf("%s\n",b);
}
29.軟件是程序、數(shù)據(jù)和【】的集合。
30.注釋一般分為序言性注釋和______注釋。
31.當(dāng)數(shù)據(jù)的物理結(jié)構(gòu)(存儲(chǔ)結(jié)構(gòu))改變時(shí),不影響數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),從而不致引起應(yīng)用程序的變化,這是指數(shù)據(jù)的【】。
32.實(shí)現(xiàn)程序可將磁盤中的一個(gè)文件復(fù)制到另一個(gè)文件中,兩個(gè)文件的文件名在可執(zhí)行命令的命令行中(相當(dāng)于copy命令),假定文件在當(dāng)前目錄下。請(qǐng)補(bǔ)全程序。
#include<stdio.h>
voidmain(intargc,char*argv[])
{FILE*f1,*f2;
if(argc<【】)
{printf("parametererror!\n");exit(0);}
f1=fopen(argv[1],"r");
f2=fopen(argv[2],"w");
while(【】)fputc(fgetc(f1),f2);
fclose(f1);
fclose(f2);
}
33.當(dāng)數(shù)據(jù)的物理結(jié)構(gòu)(存儲(chǔ)結(jié)構(gòu)、存取方式等)改變時(shí),不影響數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),從而不致引起應(yīng)用程序的變化,這是指數(shù)據(jù)的【】。
34.已有文本文件test.txt,其中的內(nèi)容為:Hello,everyone!。以下程序中,文件test.txt已正確為“讀”而打開(kāi),由文件指針fr指向該文件,則程序的輸出結(jié)果是【】。
#include<stdio.h>
main()
{
FILE*fr;charstr[40];
fgets(str,5,fr);
printf("%s\n",str);
fclose(fr);
}
35.在面向?qū)ο蟪绦蛟O(shè)計(jì)中,從外面看只能看到對(duì)象有外部特征,而不知道也無(wú)須知道數(shù)據(jù)的具體結(jié)構(gòu)以及實(shí)現(xiàn)操作的算法,這稱為對(duì)象的______。
36.以下程序從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)計(jì)其中正數(shù)的個(gè)數(shù),并計(jì)算它們之和。請(qǐng)?zhí)羁铡?/p>
main()
{
inti,a[20],sum,count;
sum=count=0;
for(i=0;i<20;i++)
scanf("%d",(______);
for(i=0;i<20;i++)
{
if(a[i]>0)
{
count++;
sum+=(______);
}
}
printf("sum=%d,count-%dkn",sum,count);
}
37.【】是數(shù)據(jù)庫(kù)設(shè)計(jì)的核心。
38.符合結(jié)構(gòu)化原則的三種基本控制結(jié)構(gòu)是順序結(jié)構(gòu)、()和循環(huán)結(jié)構(gòu)。
39.軟件設(shè)計(jì)模塊化的目的是______。
40.以下程序的輸出結(jié)果是()。
#include<stdio.h>
voidfun(intx)
{if(x/2>0)fun(x/2);
printf("%d",x);
}
main()
{fun(3);printf("\n");
}
三、1.選擇題(20題)41.定義下列結(jié)構(gòu)體(聯(lián)合)數(shù)組:structst{charname[15];intage;}a[10]={"ZHAO",14,"WANG",15,"LIU",16,"ZHANG",17};執(zhí)行語(yǔ)句printf["%d,%c",a[2].age,*(a[3].name+2))的輸出結(jié)果為()。
A.15,AB.16,HC.16,AD.17,H
42.以下合法的賦值語(yǔ)句是______。
A.X=Y=100B.D-;C.X+Y;D.C=int(A+B)
43.以下程序執(zhí)行后x的值是main(){intx,y=252,i=386,*m=&y,*z=&i;x=(z==y);printf("%d",x);}
A.252B.1C.0D.運(yùn)行時(shí)出錯(cuò),x無(wú)定值
44.下列描述中正確的是()。
A.軟件工程只是解決軟件項(xiàng)目的管理問(wèn)題
B.軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問(wèn)題
C.軟件工程的主要思想是強(qiáng)調(diào)在軟件開(kāi)發(fā)過(guò)程中需要應(yīng)用工程化原則
D.軟件工程只是解決軟件開(kāi)發(fā)中的技術(shù)問(wèn)題
45.數(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ì)
46.有以下程序main(){inti=1,j=l,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
47.在c語(yǔ)言中,變量的隱含存儲(chǔ)類別是()。
A.autoB.staticC.externD.無(wú)存儲(chǔ)類別
48.C語(yǔ)言的基本單位是()。
A.函數(shù)B.過(guò)程C.子程序D.子函數(shù)
49.下列說(shuō)法正確的是()。
A.一個(gè)C程序可以有多個(gè)主函數(shù)
B.一個(gè)C語(yǔ)言的函數(shù)中只允許有一對(duì)花括號(hào)
C.C程序的書寫格式是自由的,一個(gè)語(yǔ)句可以寫在一行上,也可以寫在多行內(nèi)
D.在對(duì)C程序進(jìn)行編譯時(shí),可以發(fā)現(xiàn)注釋行中的拼寫錯(cuò)誤
50.有以下程序:#include<stdio.h>main(){union{charch[2];intd;}s;s.d=0x4321;printf("%x,%x\n",s.ch[0],s.ch[1]);}在16位編譯系統(tǒng)上,程序執(zhí)行后的輸出結(jié)果是()。
A.21,43B.43,21C.43,00D.21,00
51.字符(char)型數(shù)據(jù)在微機(jī)內(nèi)存中的存儲(chǔ)形式是______。
A.反碼B.補(bǔ)碼C.EBCDIC碼D.ASCII碼
52.若有如下程序:voids(char*m,intn){*m=*m+3;n=n+3;printf("%c,%c,",*m,n);}main(){charp='b',q='B';s(&q,p);printf("%c,%c\n",p,q);}則程序運(yùn)行后的輸出結(jié)果是()
A.E,e,b,EB.e,E,b,F(xiàn)C.E,e,e,ED.e,E,b,E
53.在數(shù)據(jù)庫(kù)設(shè)計(jì)的四個(gè)階段中,為關(guān)系模式選擇存取方法應(yīng)該是在______階段。
A.需求分析B.概念設(shè)計(jì)C.邏輯設(shè)計(jì)D.物理設(shè)計(jì)
54.有以下程序main(){intx[8]={8,7,6,5,0,0},*s;s=x+3;printf("%d\n",s[2]);}執(zhí)行后輸出結(jié)果是
A.隨機(jī)值B.0C.5D.6
55.有以下程序point(char*p){p+=3;}main(){charb[4]={'a','b','c','d'},*p=b;point(p);printf("%c\n",*p);}程序運(yùn)行后的輸出結(jié)果是______。
A.aB.bC.cD.d
56.下列選項(xiàng)中錯(cuò)誤的說(shuō)明語(yǔ)句是
A.chara[]={'t','o','y','o','u','\0'};
B.chara[]={"toyou\0"};
C.chara[]="toyou\0";
D.chara[]='toyou\0';
57.以下不是面向?qū)ο笏枷胫械闹饕卣鞯氖?/p>
A.多態(tài)B.繼承C.封裝D.垃圾回收
58.設(shè)有以下定義和語(yǔ)句,輸出的結(jié)果是(用small模式編譯,指針變量占2個(gè)字節(jié))______。structdate{long*cat;structdate*next;doubledog;}too;printf("%d",sizeof(too));
A.20B.16C.14D.12
59.有以下程序main(){ints=0,a=1,n;seanf("%d",&n);do{s+=1;a=a-2;}while(a!=n);printf("%d\n",s);}若要使程序的輸出值為2,則應(yīng)該從鍵盤給n輸入的值是
A.-1B.-3C.-5D.0
60.現(xiàn)有如下程序段#include"stdio.h"#include"string.h"main(){chara[]="acfijk";/*這里是有序的字符序列*/charb[]="befijklqswz";/*這里是有序的字符序列*/charc[80],*p;inti=0,j=0,k=0;while(a[i]!='\0'&&b[j]!='\0'){if(a[i]<b[j])c[k++]=a[i++];elseif(a[i]>b[j])c[k++]=b[j++];else{c[k++]=b[j++];i++;}}while(a[i]=='\0'&&b[j]!='\0')c[k++]=b[j++];while(a[i]!=,'\0'&&b[j]=='\0')c[k++]=a[i++];c[k]='\0';puts(c);}則輸出結(jié)果是
A.acfijkbefijklqswz
B.abceffiijjkklqswz
C.befijklqswzacfijk
D.abcefijklqswz
四、選擇題(20題)61.以下函數(shù)按每行8個(gè)輸出數(shù)組中的數(shù)據(jù):
下劃線處應(yīng)填入的語(yǔ)句是()。
A.
B.
C.
D.
62.以下程序的輸出結(jié)果是()。
main()
{char*s="12134211";
intv1=0,v2=0,v3=0,v4=0,k;
for(k=0;s[k];k++)
switch(s[k])
{case’1’:v1++;
case’3’:v3++;
case’2’:v2++;
defaule:v4++;
}
printf("v1=%d,v2=%d,v3=%d,v4=%d\n,v1,v2,v3,v4);
}
A.v1=4,v2=2,v3=1,v4=1
B.v1=4,v2=9,v3=3,v4=1
C.v1=5,v2=8,v3=6,v4=1
D.v1=4,v2=7,v3=5,v4=8
63.
若已包括頭文件<string.h>且已有定義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]
64.以下程序的運(yùn)行結(jié)果是()。
A.17B.16C.15D.14
65.有以下程序:
當(dāng)執(zhí)行程序時(shí),按下列方式輸入數(shù)據(jù)(從第l列開(kāi)始,<;CR>;代表回車,注意:回車也是一個(gè)字符]12<;CR>;34<;CR>;則輸出結(jié)果是()。
A.12B.123C.1234D.12343
66.設(shè)有如下函數(shù)定義:
若執(zhí)行調(diào)用語(yǔ)句“l(fā)l=fm(3);”,則函數(shù)tim總共被調(diào)用的次數(shù)是()。
A.2B.3C.4D.5
67.已有定義intx=3,y=4,z=5;則表達(dá)式“!(x+y)+z-1y+z/2”的值是________。
A.6B.0C.2D.1
68.下列敘述中正確的是()。
A.程序執(zhí)行的效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)
B.程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)
C.程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量
D.以上三種說(shuō)法都不對(duì)
69.
70.定義無(wú)符號(hào)整數(shù)類為UInt,下面可以作為類UInt實(shí)例化值的是()。
A.-369B.369C.0.369D.整數(shù)集合{1,2,3,4,5}
71.有以下程序
程序運(yùn)行后的輸出結(jié)果是()。
A.15B.12C.16D.20
72.
73.
74.設(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’的地址
75.
76.下列關(guān)于C語(yǔ)言文件的敘述中正確的是()。
A.文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進(jìn)制文件
B.文件由結(jié)構(gòu)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件
C.文件由數(shù)據(jù)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件
D.文件由字符序列組成,其類型只能是文本文件
77.
78.按照C語(yǔ)言規(guī)定的用戶標(biāo)識(shí)符命名規(guī)則,不能出現(xiàn)在標(biāo)識(shí)符中的是()。
A.大寫字母B.連接符C.數(shù)字字符D.下劃線
79.
80.有以下函數(shù)intfun(char*X,char*y){intn=0;while((*x===*y)*x!=\O){x++;y++;n++;}returnn;}函數(shù)的功能是()。A.查找X和y所指字符串中是否有\(zhòng)o
B.統(tǒng)計(jì)x和Y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)
C.將Y所指字符串賦給X所指定存儲(chǔ)空間
D.統(tǒng)計(jì)X和Y所指字符串中相同的字符個(gè)數(shù)
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun()的功能是:將P所指字符串中的所有字符復(fù)制到b中,要求在每復(fù)制3個(gè)字符之后插入1個(gè)空格。
例如,若給a輸入字符串:“ABCDEFGHIJK”,調(diào)用函數(shù)后,字符數(shù)組b中的內(nèi)容為:“ABCDEFGHIJK”。
請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)proc,它的功能是計(jì)算:s=(In(1)4+ln(2)4+ln(3)+…+In(m))0.5
在C語(yǔ)言中可調(diào)用log(n)函數(shù)求ln(n)。
例如,若m的值為30,則proc函數(shù)值為8.640500。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填人所編寫的若干語(yǔ)句。
試題程序:
#include<stdlib.h>
#include<conio.h>
#inclllde<stdio.h>
#include<math.h>
doubleproc(intm)
{
}
voidmain
{
system("CLS");
printf("%f\n",proc(30));
}
參考答案
1.A
2.C解析:字符串少一個(gè)結(jié)束標(biāo)志,所以輸出的結(jié)果不確定。
3.D
4.C解析:統(tǒng)計(jì)1~9九個(gè)數(shù)中的奇數(shù)和,此題考察指向數(shù)組的指針,C語(yǔ)言規(guī)定數(shù)組名代表數(shù)組的首地址,也就是第一個(gè)元素的地址。因此*(t+i)代表數(shù)組的第i+1個(gè)元素。程序運(yùn)行的結(jié)果是1+2+3+4+5+6+7+8+9=25。
5.C因?yàn)閏語(yǔ)言數(shù)據(jù)進(jìn)行計(jì)算時(shí)數(shù)據(jù)類型會(huì)由低級(jí)向高級(jí)進(jìn)行隱式轉(zhuǎn)化,sqrt函數(shù)得到的是double類型,比其他的int數(shù)據(jù)類型高,所以整個(gè)結(jié)果得到的是double類型。
6.A本題主要考查自加減運(yùn)算符(++,--)的使用。①如果作為前綴變量“++a,--a”,在使用a之前,先使a的值加1或者減1,再使用表達(dá)式的值參與運(yùn)算;②后綴變量“a++,a--”,先使用表達(dá)式的值參與運(yùn)算,在使用a之后,再使i的值加1或者減1。在本題中計(jì)算表達(dá)式c=(a++)-1時(shí)先使用a的值進(jìn)行計(jì)算,結(jié)果為c=2-1=1,然后將a的值加1,即執(zhí)行完此句后l3-的值是3;表達(dá)式c+=-a+++(++b)也可寫成C=c+(一a++)+(++b),c=1+(一3)+3=1,此時(shí)a=4,b=3。
7.C
8.B解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)的核心,是負(fù)責(zé)數(shù)據(jù)庫(kù)的建立、使用和維護(hù)的軟件。數(shù)據(jù)庫(kù)管理系統(tǒng)建立在操作系統(tǒng)之上,實(shí)施對(duì)數(shù)據(jù)庫(kù)的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫(kù)命令以及應(yīng)用程序的執(zhí)行,最終都必須通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)。另外,數(shù)據(jù)庫(kù)管理系統(tǒng)還承擔(dān)著數(shù)據(jù)庫(kù)的安全保護(hù)工作,按照數(shù)據(jù)庫(kù)管理員所規(guī)定的要求,保證數(shù)據(jù)庫(kù)的完整性和安全性。
9.C解析:本題考查函數(shù)調(diào)用時(shí)參數(shù)的作用域。在函數(shù)調(diào)用時(shí),函數(shù)體內(nèi)定義的變量的作用域連函數(shù)體內(nèi),因而在不同函數(shù)體內(nèi)定義的變量可以相同,不影響各個(gè)變量的使用。
10.B解析:棧是限定在二端進(jìn)行插入與刪除的線性表。在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素,即棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。注意:隊(duì)列組織數(shù)據(jù)的原則是“先進(jìn)先出”或“后進(jìn)后出”。注意:數(shù)據(jù)結(jié)構(gòu)中,棧和隊(duì)列組織數(shù)據(jù)的原則。
11.B解析:在對(duì)程序進(jìn)行測(cè)試時(shí)會(huì)發(fā)現(xiàn)錯(cuò)誤,這就要進(jìn)行程序調(diào)試(排錯(cuò))。程序調(diào)試活動(dòng)由三部分組成:一是錯(cuò)誤定位,根據(jù)錯(cuò)誤的外部表現(xiàn)形式,確定程序中出錯(cuò)的位置,找出錯(cuò)誤的內(nèi)在原因;二是對(duì)程序進(jìn)行修改,排除這個(gè)錯(cuò)誤;
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位管理制度呈現(xiàn)大全【員工管理】十篇
- 《物業(yè)管理服務(wù)業(yè)》課件
- 三年級(jí)數(shù)學(xué)數(shù)學(xué)廣角課件
- 2024年農(nóng)業(yè)綜合開(kāi)發(fā)和扶貧開(kāi)發(fā)工作總結(jié)
- 2024年公司勞動(dòng)社??粕习肽甑墓ぷ骺偨Y(jié)
- 空調(diào)機(jī)運(yùn)輸協(xié)議三篇
- 農(nóng)業(yè)產(chǎn)品銷售主管工作總結(jié)
- 通信科技前臺(tái)工作總結(jié)
- 家政服務(wù)前臺(tái)工作總結(jié)
- 機(jī)電裝備話務(wù)員工作總結(jié)
- 教科版五年級(jí)上冊(cè)科學(xué)期末測(cè)試卷及參考答案(完整版)
- 江西省九江市一中2023-2024學(xué)年下學(xué)期八年級(jí)期中物理試卷
- 物理化學(xué)英語(yǔ)詞匯
- 山東省沂南縣2024屆八年級(jí)物理第二學(xué)期期末經(jīng)典模擬試題含解析
- MOOC 概率統(tǒng)計(jì)和隨機(jī)過(guò)程-南京郵電大學(xué) 中國(guó)大學(xué)慕課答案
- 北師大版七年級(jí)數(shù)學(xué)上冊(cè) 期末重難點(diǎn)真題特訓(xùn)之易錯(cuò)必刷題型(96題32個(gè)考點(diǎn))(原卷版+解析)
- 高警示(高危)藥品考試試題與答案
- 42山東省棗莊市薛城區(qū)2023-2024學(xué)年七年級(jí)上學(xué)期期末考試生物試題
- 部編版六年級(jí)語(yǔ)文下冊(cè)第三單元大單元教學(xué)設(shè)計(jì)
- 前端組長(zhǎng)述職報(bào)告
- 食品安全企業(yè)標(biāo)準(zhǔn)模板
評(píng)論
0/150
提交評(píng)論