




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021年河南省三門峽市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.在深度為5的滿二叉樹葉中,葉子結(jié)點(diǎn)的個數(shù)為()。
A.32B.31C.16D.15
2.數(shù)據(jù)庫設(shè)計(jì)的四個階段是:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和______。A.編碼設(shè)計(jì)B.測試階段C.運(yùn)行階段D.物理設(shè)計(jì)
3.在堆棧中存取數(shù)據(jù)的原則是。A.先進(jìn)先出B.后進(jìn)先出C.先進(jìn)后出D.隨意進(jìn)出
4.定義無符號整數(shù)類為UInt,下面可以作為類UInt實(shí)例化值的是A)B)369C)0.369D)A.-369B.369C.0.369D.整數(shù)集合{1,2,3,4,5}
5.若已知一個棧的入棧序列是1,2,3,......,n,其輸出序列為p1,p2,p3,..,pn,若p1=n-1,則pi可能為()
A.nB.n-iC.n-i+1D.不確定
6.下面哪個序列不是此圖的一個拓?fù)渑判?)A.ebfgadchB.aebdgfchC.adchebfgD.Aedbfgch
7.結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括A.順序結(jié)構(gòu)B.GOTO跳轉(zhuǎn)C.選擇(分支)結(jié)構(gòu)D.重復(fù)(循環(huán))結(jié)構(gòu)
8.若有定義“inta,b;”,通過語句“scanf(“%d;%d,”&a,&b)能把整數(shù)3賦給變量a、5賦給變量b的輸入數(shù)據(jù)是()。
A.35B.3,5C.3;5D.35
9.假設(shè)整型數(shù)i的地址為0x12345678,指針ip地址為0x21850043,則執(zhí)行以下后,k的值為()。A.0x12345678B.0x21850043C.100D.不確定
10.與單鏈表相比,雙鏈表的優(yōu)點(diǎn)之一是()。
A.插入、刪除操作更簡單B.可以進(jìn)行隨機(jī)訪問C.可以省略表頭指針或表尾指針D.順序訪問相鄰結(jié)點(diǎn)更靈活
11.有以下程序#include<stdio.h>#include<string.h>main(){chara[10]=”abcd”;printf("%d,%d\n",strlen(a),sizeof(a));}程序運(yùn)行后的輸出結(jié)果是()。A.7,4B.4,10C.8,8D.10,10
12.在n個結(jié)點(diǎn)的線性表的數(shù)組實(shí)現(xiàn)中,算法的時間復(fù)雜度是O(1)的操作是()。
A.訪問第i(1<=i<=n)個結(jié)點(diǎn)和求第i個結(jié)點(diǎn)的直接前驅(qū)(1<i<=n)
B.在第i(1<=i<=n)個結(jié)點(diǎn)后插入一個新結(jié)點(diǎn)
C.刪除第i(1<=i<=n)個結(jié)點(diǎn)
D.以上都不對
13.以下不能輸出字符A的語句是(注:字符A的ASCII值為65,字符a的ASCII值為97)()。
A.printf(“%c\n”,‘a(chǎn)’-32);
B.printf(“%d\n”,‘A’);
C.printf(“%c\n”,65);
D.printf(“%c\n”,‘B’-1);
14.若在線性表中采用折半查找法查找元素,該線性表應(yīng)該()A.元素按值有序B.構(gòu)采用順序存儲結(jié)C.元素按值有序且采用順序存儲結(jié)構(gòu)D.元素按值有序且采用鏈?zhǔn)酱鎯Y(jié)構(gòu)
15.有以下函數(shù)定義:
voidfun(intn,doublex){……}
若以下選項(xiàng)中的變量都已正確定義并賦值,則對函數(shù)fun的正確調(diào)用語句是A.fun(inty,doublem);
B.k=fun(10,12.5);
C.fun(x,n);
D.voidfun(n,x);
16.有以下程序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)行時輸入以下命令行tt12345678程序運(yùn)行后的輸出結(jié)果是A.12B.12345C.12345678D.136
17.
18.對兩個數(shù)組a和b進(jìn)行下列初始化:charm[]1="l234567":charn[]={1,2,3,4,5,6,7);則下列敘述正確的是()。A.數(shù)組m與數(shù)組n完全相同B.數(shù)組m與數(shù)組n長度相同C.數(shù)組m比數(shù)組n長1D.數(shù)組m與數(shù)組n中都存放字符串
19.有三個關(guān)系R、S和T如下:由關(guān)系R和S得到關(guān)系T的操作是()。A.自然連接B.交C.除D.并
20.帶頭結(jié)點(diǎn)的單鏈表head為空的判定條件是()。
A.head=NULLB.head→next=NULLC.head→next=headD.head!=NULL
二、2.填空題(20題)21.在C語言中,字符的比較就是對它們的【】碼進(jìn)行比較。
22.以下程序的輸出結(jié)果是【】。
main()
{char*p[]={"BOOL","OPK","H","SP"};
inti;
for(i=3;i>0;i--,i--)printf("%c",*p[i]);
printf("\n");}
23.在關(guān)系數(shù)據(jù)庫中把數(shù)據(jù)表示成二維表,每一個二維表稱為【】。
24.下列程序的輸出結(jié)果是【】。
intt(intx,inty,ntcp,intdp)
{cp=x*x+y*y;
dp=x*x-y*y;
}
main()
{inta=4,b=3,c=5,d=6;
t(a,b,c,d);
printf("%d%d\n",c,d);
}
25.下列程序中字符串中各單詞之間有一個空格,則程序的輸出結(jié)果是【】。
#include<string.h>
main()
{charstr1[]="Howdoyoudo",*p1=str1;
strcpy(str1+strlen(str1)/2,"eshe");
printf("%s\n",p1);
}
26.以下程序中函數(shù)huiwen的功能是檢查一個寧符串是否是回文,當(dāng)字符串是回文時,函數(shù)返回字符串:yes!,否則函數(shù)返回字符串:no!,并在主函數(shù)中輸出。所謂回文即正向與反向的拼寫都一樣,例如:adgda。請?zhí)羁誣_____。
#include<string.h>
chat*huiwen(chat*str)
{char*p1,*p2;inti,t=0;
p1=str;p2=【】;
for(i=0;i<=strlen(str)/2;i++)
if(*p1++!=*p2--){t=1;break;}
if(!t或t!=0)return("yes!");
elsereturn("no!");
}
main()
{charstr[50];
printf("Input:");scanf("%s",str);
printf("%s\n",huiwen(str));
}
27.算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù)稱為算法的______。
28.下列程序的輸出結(jié)果是【】。
voidfun(int*n)
{while((*n))
printf("%d",(*n)--);
}
main()
{inta=10;
fun(&a);
}
29.函數(shù)my_cmp()的功能是比較字符串s和t的大小,當(dāng)s等于t時返回0,否則返回s和t的第一個不同字符的ASCII碼差值,即s>t時返回正值,當(dāng)s<t時返回負(fù)值。請?zhí)羁铡?/p>
my_cmp(char*s,char*t)
{while(*s==*t)
{if(*s=='\0')return0;
++s;++t;
}return【】;
}
30.閱讀下列程序,則程序的輸出結(jié)果為【】。
#include"stdio.h"
structty
{intdata;
charc;};
main()
{structtya={30,'x'};
fun(a);
printf("%d%c",a.data,a.c);}
fun(structtyb)
{b.data=20;
b.c='y';}
31.有以下程序段,且變量已正確定義和賦值
for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));
printf("s=%f\n\n",s);
請?zhí)羁?使下面程序段的功能與之完全相同
s=1.0;k=1;
while(【】){s=s+1.0/(k*(k+1));【】;}
printf("s=%f\n\n",s);
32.以下程序的功能是計(jì)算:s=1+12+123+1234+12345。請?zhí)羁铡?/p>
main()
{intt=0,s=0,i;
for(i=1;i<=5;i++)
{t=i+______;s=s+t;}
printf("s=%d\n",s);
}
33.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
34.數(shù)據(jù)庫管理系統(tǒng)是位于用戶與______之間的軟件系統(tǒng)。
35.寫出下列程序的輸出結(jié)果______。
main()
{intn=0;
while(n++<=1);
printf("%d,",n);
printf("%d",n++);
}
36.若有以下定義,則不移動指針p,且通過指針p引用值為98的數(shù)組元素的表達(dá)式是______。
intw[10]={23,54,10,33,47,98,72,80,61},*p=w;
37.數(shù)據(jù)庫系統(tǒng)的三級模式分別為______模式、內(nèi)部級模式與外部級模式。
38.以下程序的運(yùn)行結(jié)果是【】。
#include<string.h>
typeaefstructstudent{
charname[10];
longsno;
floatscore;
{STU;
main()
{STUa={"zhangsan",2001,95},b={"Shangxian",2002,90},c={"Anhua",2003,95},d,*p=&d;
d=a;
if(strcmp(a.name,b.name)>0)d=b;
if(strcmp(C.name,)>0)d=C;
printf("%1d%s\n",d.sno,p->name);
}
39.軟件結(jié)構(gòu)是以【】為基礎(chǔ)而組成的一種控制層次結(jié)構(gòu)。
40.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{
intp=30;
printf("%d\n",(p/3>0?p/10:p%3));
}
三、1.選擇題(20題)41.若要用函數(shù)fopen打開一個新的二進(jìn)制文件,該文件要既能讀也能寫,則應(yīng)以哪種方式打開文件()。
A.wbB.wb+C.rb+D.rb
42.開發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱做
A.軟件投機(jī)B.軟件危機(jī)C.軟件工程D.軟件產(chǎn)生
43.對關(guān)系S和只進(jìn)行集合運(yùn)算,結(jié)果中既包含S中的所有元組也包含只中的所有元組,這樣的集合運(yùn)算稱為()。
A.并運(yùn)算B.交運(yùn)算C.差運(yùn)算D.積運(yùn)算
44.一個棧的輸入序列為1,2,3,4,下列選項(xiàng)中的______序列不可能是這個棧的輸出序列。
A.1,3,2,4B.2,3,4,1C.4,3,1,2D.3,4,2,1
45.下列敘述中正確的是A.C語言中既有邏輯類型也有集合類型
B.C語言中沒有邏輯類型但有集合類型
C.C語言中有邏輯類型但沒有集合類型
D.C語言中既沒有邏輯類型也沒有集合類型
46.有如下程序inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3],b;b=p[5];則b的值是
A.5B.6C.9D.8
47.設(shè)有定義下列:inta=1,b=2,c=3,d=4,m=2,n=2;則表達(dá)式(m=a>b)&&(n=c>d)運(yùn)算后,n的值是()。
A.4B.3C.2D.0
48.若有說明inti,j=2,*p=&i;,則能完成i=j賦值功能的語句是()
A.i=*p;B.*p=*&jC.i=&jD.i=**p;
49.有以下程序:main(){intc=35;printf("%d\n",e&c);}程序運(yùn)行后的輸出結(jié)果是______。
A.0B.70C.35D.1
50.設(shè)有以下說明語句typedefstruct{intn;charch[8];}PER;則下面敘述中正確的是
A.PER是結(jié)構(gòu)體變量名
B.PER是結(jié)構(gòu)體類型名
C.typedefstruct是結(jié)構(gòu)體類型
D.struct是結(jié)構(gòu)體類型名
51.以下有4組用戶標(biāo)識符,其中合法的一組是()。
A.FOr-subCase
B.4dDOSize
C.f2_G3IFabc
D.WORDvoiddefine
52.在C語言中,引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是()。
A.整型表達(dá)式B.整型常量C.整型常量或整型表達(dá)式D.任何類型的表達(dá)式
53.
有以下程序:
main
{intx=102,y=012;
printf("%2d,%2d\n",x,y);
}
執(zhí)行后輸出結(jié)果是()。
A.10,01B.02,12C.102,10D.02,10
54.下面的程序執(zhí)行后,文件test.t中內(nèi)容是______。#include<stdio.h>voidfun(clar*fname,char*st){FILE*myf;inti;myf=fopen(fname,"w");for(i=0;i<stden(st);i++)fputc(st[i],myf);fclose(myf);}main(){fun("test.t","newworld");fur("test.t","hello,";}
A.hello,B.newworldhelloC.newworldD.hello,rld
55.若fp是指向某文件的指針,且已讀到該文件末尾,則庫函數(shù)feof(fp)的返回值是()
A.EOFB.-1C.非零值D.NULL
56.檢查軟件產(chǎn)品是否符合需求定義的過程稱為()。
A.確認(rèn)測試B.集成測試C.驗(yàn)證測試D.驗(yàn)收測試
57.C語言中,函數(shù)值類型的定義可以默認(rèn),此時函數(shù)值的隱含類型是()。
A.voidB.intC.floatD.double
58.下面不屬于軟件工程3個要素的是()。
A.工具B.過程C.方法D.環(huán)境
59.請讀程序:#include<stdio.h>#include<string.h>main(){char*s1="AbCdEf",*s2="aB";s1++;s2++;printf("%d\n",strcmp(s1,s2));}上面程序的輸出結(jié)果是______。
A.正數(shù)B.負(fù)數(shù)C.零D.不確定的值
60.在C語言中,運(yùn)算對象必須是整型數(shù)的運(yùn)算符是()。
A.%B.\C.%和\D.**
四、選擇題(20題)61.執(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
62.以下選項(xiàng)中,不合法的c語言用戶標(biāo)識符是()。
A.a_bB.AaBcC.f1一一bD.一1
63.設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是()。
A.X=Y+z+5,++YB.int(15.8%5)C.X=Y*5=X+ZD.X=25%5.0
64.
65.有以下程序:則以下函數(shù)調(diào)用語句錯誤的是()。.
A.k=f(a,B.;B.k=add(a,B.;C.k=(*f)(a,B.;D.k={f(a,B.;
66.以下正確的字符串常量是()。
67.
68.
69.第
13
題
設(shè)有程序段
intk=10;
while(k=0)k=k-1;
則下面描述中正確的是A.while循環(huán)執(zhí)行10次B.循環(huán)是無限循環(huán)C.循環(huán)體語句一次也不執(zhí)行D.循環(huán)體語句執(zhí)行一次
70.
71.以下數(shù)組定義中錯誤的是()。
A.intx[2][3]=|1,2,3,4,5,6|;
B.intx[][3]=|0|
C.intx[][3]={|1,2,3|,|4,5,6|}
D.intx[2][3]=||1,2|,|3,4|,|5,6||
72.從循環(huán)體內(nèi)某一層跳出,繼續(xù)執(zhí)行循環(huán)外的語句是:___________。
A.break語句B.return語句C.continue語句D.空語句。
73.設(shè)有如下定義語句:intm[]={2,4,6,8,10},*k=m;以下選項(xiàng)中,表達(dá)式的值為6的是()。
A.*(k+2)B.k+2C.*k+2D.*k+=2
74.有以下程序:
程序的運(yùn)行結(jié)果是()。
A.1,2,3,4,B.1,0,7,0,C.1,4,5,9,D.3,4,8,10,
75.若有說明“chars1[30]="abc",s2[]="defghi";",則在使用函數(shù)stoat(s1,s2)后,結(jié)果是()。A.A.s1的內(nèi)容更新為abcdefghiB.s1的內(nèi)容更新為defghi\0
C.s1的內(nèi)容更新勾defghiabc\0
D.s1的內(nèi)容更新為abcdefghi\0
76.定義下列結(jié)構(gòu)體(聯(lián)合)數(shù)組:
structst
{charname[15];
intage;
}a[10]={"ZHA0",14,"WANG",15,"LIU",16,"ZHANG",17);
執(zhí)行語句printf("%d,%C",a[2].a(chǎn)ge,*(a[3].name+2))的輸出結(jié)果為()。A.A.15,AB.16,HC.16,AD.17,H
77.函數(shù)fgetc的功能是從指定文件中讀入一個字符,以下與其功能完全相同的函數(shù)是()。
A.freadB.fscanfC.fgetsD.getc
78.
79.某二叉樹有5個度為2的結(jié)點(diǎn),則該二叉樹中的葉子結(jié)點(diǎn)數(shù)是A.10B.8C.6D.4
80.
有以下計(jì)算公式
若程序前面已在命令中包含math.h文件,不能夠正確
計(jì)算上述公式的程序段是()。
A.if(x>=0)y=sqrt(x);elsey=sqrt(-x);
B.y=sqrt(x)if(x<0)y=sqrt(0x);
C.if(x>=O)y=sqrt(x);If(x<O)y=sqrt(0x);
D.y=sqrt(x>=0?x:0x);
五、程序改錯題(1題)81.下列給定的程序中,函數(shù)proc的功能是:判斷字符ch是,與str所指字符串中的某個字符相同;若相同,則什么也不做,若不同,則將其插在串的最后。請修改程序中的錯誤,使它能得出正確的結(jié)果。
注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
//****found****
voidproc(charstr,charch)
{
while(*str&&*str!=ch)str++;
//****found****
if(*str==ch)
{str[0]=ch;
//****found****
str[1]=0:
}
}
voidmain
{
charstr[81],ch;
system("CLS");
printf("\nPleaseenterastring:");
gets(str);
printf("\nPleaseenterthecharacterto
search:");
ch=getchar;
proc(str,ch);
printf("\nTheresultis%s\n",str);
}
六、程序設(shè)計(jì)題(1題)82.請編寫函數(shù)proc(),該函數(shù)的功能是:將M行N列的二維數(shù)組中的字符數(shù)據(jù),按列的順序依次放到一個字符串中。例如,若二維數(shù)組中的數(shù)據(jù)為:
WWW
SSS
HHH
III
則字符串中的內(nèi)容應(yīng)是WSHIWSHIWSHI。
注意:部分源程序給出如下。
請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填人所編寫的若干語句。
試題程序:
參考答案
1.C根據(jù)二叉樹的性質(zhì)及定義,一棵深度為k且有2k-1個結(jié)點(diǎn)的二叉樹為滿二叉樹。滿二叉樹的葉子結(jié)點(diǎn)為最后一層的結(jié)點(diǎn)數(shù),又根據(jù)滿二叉樹的性質(zhì),在滿二叉樹的第i層上至多有2i-1個結(jié)點(diǎn)。因此深度為5的滿二叉樹的葉子結(jié)點(diǎn)數(shù)為25-1=16個。
2.DD)【解析】數(shù)據(jù)庫設(shè)計(jì)目前一段采用生命周期法.即將整個數(shù)據(jù)庫應(yīng)用系統(tǒng)的開分解成目標(biāo)獨(dú)立的若干階段,它們是:需要分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、編碼階段、測試階段、運(yùn)行階段、進(jìn)一步修改階段。在數(shù)據(jù)庫設(shè)計(jì)中采用上面幾個階段中的前四個階段,并且重點(diǎn)以數(shù)據(jù)結(jié)構(gòu)和模型設(shè)計(jì)為主線。
3.C
4.B
5.D
6.C
7.BB【解析】1966年Boehm和JaCopini證明了程序設(shè)計(jì)語言僅僅使用順序、選擇和重復(fù)三種基本控制結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計(jì)方法。
8.C輸入數(shù)據(jù)的格式必須與scanf的格式控制字符串完全匹配。函數(shù)中非格式字符需要原樣輸入,所以輸入時必須在3和5之間輸入“;”。故本題答案為C選項(xiàng)。
9.C
10.D
11.Bstrlen是求字符串的長度,結(jié)果為4,sizeof是求數(shù)組的長度,而數(shù)據(jù)在定義時已給出長度為10。
12.A
13.BB選項(xiàng)輸出的格式為%d,即整型格式,所以輸出字符‘A’的ASCII值65,而不是字母A。因?yàn)榇髮懽帜副绕鋵?yīng)的小寫字母的ASCII值小32,所以A選項(xiàng)正確。字符‘A’的ASCII值是65,以%c格式輸出可以輸出字母A,所以C選項(xiàng)正確。因?yàn)樽址瓵’的ASCII值比字符‘B’的小1,所以D選項(xiàng)正確。故本題答案為B選項(xiàng)。
14.C
15.C解析:選項(xiàng)A中應(yīng)將y和m前面的函數(shù)的類型說明符去掉,故選項(xiàng)A不正確;選項(xiàng)B中函數(shù)傳了2個參數(shù),其中一個為整型一個為浮點(diǎn)型,而fun()函數(shù)在定義時聲明的2個參數(shù),一個為整型一個為雙精度型,其參數(shù)類型不一致,故選項(xiàng)B不正確;選項(xiàng)D在調(diào)用函數(shù)時,不應(yīng)該再聲明其返回類型,故迭項(xiàng)D不正確.所以,4個選項(xiàng)中選項(xiàng)C符合題意。
16.D解析:運(yùn)行時輸入該命令后,參數(shù)argc的值為4,字符串?dāng)?shù)組argv[1]、argv[2]、argv[3]分別為“12”、“345”、“678”,然后取這3個參數(shù)的第一個字符,將其轉(zhuǎn)化成原來的數(shù)字并組合成一個新的三位數(shù)。
17.C
18.C在m數(shù)組中賦值的是字符串,其長度為7,末尾有結(jié)束符\0,故字節(jié)數(shù)為8,而n數(shù)組中賦的是字符,其長度為7,故C選項(xiàng)正確。
19.C由圖所知,其中,C中只有一個屬性,是除操作。
20.B
21.ASCⅡ
22.SOSO解析:考查用指針引用字符串?dāng)?shù)組中元素的方法。題中需要注意兩個問題:一是for循環(huán)的修正表達(dá)式共執(zhí)行兩次'i--'操作;二是*p[i]是對某個字符的引用。
23.關(guān)系或一個關(guān)系關(guān)系或一個關(guān)系解析:在關(guān)系數(shù)據(jù)庫中,把數(shù)據(jù)表示成二維表,而一個二維表就是一個關(guān)系。
24.5656解析:本題中a,b,c,d是實(shí)參,x,y,cp,dp是形參。C語言規(guī)定,實(shí)參變量對形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實(shí)參傳給形參,而不能由形參傳回來給實(shí)參。在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。在調(diào)用函數(shù)時,給形參分配存儲單元,并將實(shí)參對應(yīng)的值傳遞給形參,調(diào)用結(jié)束后,形參單元被釋放,實(shí)參單元仍保留并維持原值。因此,程序的輸出結(jié)果是56。
25.HowdoesheHowdoeshe解析:本題的關(guān)鍵在于表達(dá)式str1+strlen(str1)/2,注意“/”的用法,可得str1+13/2=str1+6。
26.str+strlen(str)-1str+strlen(str)-1解析:先從main函數(shù)開始看,它先讀入字符串,接下來肯定是要判斷這個字符串是否是回文,冉看huiwen函數(shù),它的主要思想是用p1指向字符串的首地址,p2指向字符串的尾地址(不包括結(jié)束符‘/0‘),將p1左移,p2右移,直到這兩個指針相遇,如果在移動過程中發(fā)現(xiàn)p1!=p2,則該字符串不是回文,否則其是同文。因此。在空中填str+strlen(str)-1。
27.時間復(fù)雜度時間復(fù)雜度解析:算法在執(zhí)行過程中所執(zhí)行的基本運(yùn)算的次數(shù),也就是執(zhí)行算法所需要的計(jì)算工作量,稱為算法的時間復(fù)雜度。
28.1.09877e+010
29.*s-*t*s-*t解析:兩字符串大小比較必須從它們的首字符開始,在對應(yīng)字符相等情況下循環(huán),直至不相等結(jié)束。相等時,若字符串已到了字符串的結(jié)束標(biāo)記符,則兩字符串相同,函數(shù)返回0值;如還有后繼字符,則準(zhǔn)備比較下一對字符。對應(yīng)字符不相同,循環(huán)結(jié)束。循環(huán)結(jié)束時,就以兩個當(dāng)前字符的差返回。所以在空框處應(yīng)填入*s-*t,保證在e>t時返回正值,當(dāng)s<t時返回負(fù)值。
30.30x30x解析:本題的參數(shù)傳遞屬于值傳遞,所以函數(shù)內(nèi)不能改變調(diào)用函數(shù)中的數(shù)據(jù)。
31.k<=nk++k<=n,k++解析:本題要求將一個for循環(huán)改成while循環(huán)。首先要保證循環(huán)條件相同,在for循環(huán)中,每次執(zhí)行循環(huán)之后,循環(huán)控制變量k都會加1,而while循環(huán)則沒有,故需在循環(huán)體中增加改變k數(shù)值的語句'k++;'\ue009。
32.t*10或10*tt*10或10*t解析:本題要求累加一系列有規(guī)律的數(shù),從輸出結(jié)果來看,s保存的是最終結(jié)果,而s在循環(huán)體中,每次累加一個t,則說明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。
33.軟件開發(fā)
34.操作系統(tǒng)操作系統(tǒng)解析:數(shù)據(jù)庫管理系統(tǒng)是幫助用戶創(chuàng)建和管理數(shù)據(jù)庫的應(yīng)用程序的集合。因此,數(shù)據(jù)庫管理系統(tǒng)需要操作系統(tǒng)的支持,為用戶提供服務(wù)。
35.333,3解析:本題在while(n++<=1)語句后,直接加了分號,說明如果while()的條件為真時,該循環(huán)什么都不做:n++是先取n的當(dāng)前值和1做比較,然后再將n加1。第一次循環(huán),n=0時,循環(huán)條件n++=<1成立,執(zhí)行循環(huán),然后得到n=1。第二次循環(huán),n=1時,循環(huán)條件n++=1<=1成立,執(zhí)行循環(huán),然后得到n=2。第三次循環(huán),n=2時,循環(huán)條件n++=2<=1不成立,不執(zhí)行循環(huán),但在判斷循環(huán)條件時仍將n加1,得到n=3.退出循環(huán)后執(zhí)行printf語句,第二個printf語句輸出n++,是先輸出n的當(dāng)前值3,然后再將n加l,即程序結(jié)束后得到n=4,但輸出的是3。
36.*(p+5)或p[5]*(p+5)或p[5]
37.概念(或概念級)概念(或概念級)
38.2002Shanxian2002Shanxian解析:本題中第一個if語句將結(jié)構(gòu)體變量a.name和結(jié)構(gòu)體變量b.name中較小的那個賦值給結(jié)構(gòu)體變量d,第二個if語句將結(jié)構(gòu)體變量c.name和結(jié)構(gòu)體變量d.name較大的那個賦給結(jié)構(gòu)體變量d。通過函數(shù)strcmp比較。strcmp()函數(shù)有兩個參數(shù),分別為被比較的兩個字符串。如果第一個字符串大于第二個字符串返回值大于0,若第一個小于第二個返回值小于0,相等時返回值為0。字符串比較大小的標(biāo)準(zhǔn)是從第一個字符開始依次向右比較,遇到某一個字符大,該字符所在的字符串就是較大的字符串,如果遇到某一個字符小,該字符所在的字符串就是較小的字符串。本程序中第一個if語句strcmp(a.name,b.name)>0為真,故將b的值賦給d,第二個if語句strcmp(c.name,d.name)>0為假,故不執(zhí)行后面的語句,最后d的值為b的值,因此d.sno和p->name的值為2002Shangxian。
39.模塊模塊
40.33解析:條件表達(dá)式的一般形式為;表達(dá)式1?表達(dá)式2:表達(dá)式3條件運(yùn)算符的執(zhí)行順序:先求解表達(dá)式1,若為非0(真)則求解表達(dá)式2,此時表達(dá)式2的值就作為整個條件表達(dá)式的值;若表達(dá)式1的值為0(假),則求解表達(dá)式3,表達(dá)式3的值就是整個條件表達(dá)式的值。30/3=10>0,所以執(zhí)行p/10,結(jié)果為3。
41.B解析:本題考查文件使用方式標(biāo)識符。方式“wb”為輸出打開一個二進(jìn)制文件;方式“wb+”為讀寫建立一個新的二進(jìn)制文件;方式“rb+”為讀寫打開一個二進(jìn)制文件:方式“rb”為輸入打開一個二進(jìn)制文件。
42.B解析:軟件工程概念的出現(xiàn)源自軟件危機(jī)。所謂軟件危機(jī)是泛指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題??傊?,可以將軟件危機(jī)歸結(jié)為成本、質(zhì)量、生產(chǎn)率等問題。
43.A解析:關(guān)系的并運(yùn)算是指,由結(jié)構(gòu)相同的兩個關(guān)系合并,形成一個新的關(guān)系,其中包含兩個關(guān)系中的所有元組。
44.C
45.D解析:在C語言中沒有邏輯類型,邏輯類型用整型來表示,故選項(xiàng)A和選項(xiàng)C不正確,C語言中沒有集合類型,故選項(xiàng)B不正確。所以,D選項(xiàng)為所選。
46.C解析:p=&a[3]將指針指向數(shù)組a的第4個元素,p[5]指向數(shù)組a的第9個元素,而a[8]=9,所以b=9。
47.C解析:在邏輯與&&運(yùn)算中,如果第一個操作數(shù)為假,則結(jié)果是假,后面的操作數(shù)不參與運(yùn)算,本題中因?yàn)榈谝粋€操作數(shù)(m=a>b)為假,所以第二個操作數(shù)(n=c>d)不參加運(yùn)算,因此n的值不變。
48.B
49.C解析:“&”表示按位與,c&c=c,因此輸出結(jié)果為c的值。
50.B解析:本題中,typedef聲明新的類型名PER來代替已有的類型名,PER代表上面指定的一個結(jié)構(gòu)體類型,此時,也可以用PER來定義變量。
51.C解析:選項(xiàng)A中for和case為C語言中的保留字,不能作為用戶標(biāo)志符,故A錯誤。選項(xiàng)B中的4d其開頭的第一個為數(shù)字,而在C語言中規(guī)定,第一個字符必須為字母或者下劃線,故B錯誤;選項(xiàng)D中void為C語言中的保留字,不能作為用戶標(biāo)志符,故D錯誤。所以,4個選項(xiàng)中選項(xiàng)C符合題意。
52.C解析:在C語言中,引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型可以是整型常量,也可以是整型表達(dá)式。
53.C解析:本題中,“printf('%2d,%2d\\n',x,y)”表示以逗號隔開輸出兩個十進(jìn)制整數(shù),每個整數(shù)域?qū)捠?。而在C語言中規(guī)定:當(dāng)域?qū)捫∮趯?shí)際寬度時域?qū)挷黄鹱饔?,按?shí)際寬度輸出,因此最后的輸出值為102和10(y的初值012表示八進(jìn)制整數(shù)12,等于十進(jìn)制的10)。所以,4個選項(xiàng)中選項(xiàng)C符合題意。
54.A解析:C語言中文件有文本文件與二進(jìn)制文件,對文件的使用前必須先打開,打開方式有只讀、寫入、讀寫等方式。
55.D
56.A本題主要考查軟件測試的基本知識。軟件測試的步驟可分為單元測試(模塊測試)、集成測試、確認(rèn)測試和系統(tǒng)測試。
(1)單元測試是針對每個模塊進(jìn)行的測試,它可從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測試用例,多個模塊可以平行、對立地測試。單元測試主要用于發(fā)現(xiàn)詳細(xì)設(shè)計(jì)和編程時犯下的錯誤。單元測試多采用白盒測試,輔之以黑盒測試。
(2)集成測試是在單元測試的基礎(chǔ)上,根據(jù)模塊結(jié)構(gòu)圖將各個模塊連接起來,必須精心計(jì)劃,應(yīng)提交集成測試計(jì)劃、集成測試規(guī)格說明和集成測試分析報(bào)告。主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問題。集成測試可以發(fā)現(xiàn)概要設(shè)計(jì)時犯的錯誤。
(3)確認(rèn)測試用于驗(yàn)證軟件的功能和性能及其他特性是否與用戶的要求一致。確認(rèn)測試主要用于發(fā)現(xiàn)需求分析時犯下的錯誤,一般使用黑盒法測試,以表明軟件符合需求說明書的要求,應(yīng)該仔細(xì)設(shè)計(jì)測試用例和測試過程。確認(rèn)測試必須有用戶參加,或以用戶為主,用戶應(yīng)參與設(shè)計(jì)測試用例,通常情況下,主要使用生產(chǎn)中的實(shí)際數(shù)據(jù)進(jìn)行測試,測試數(shù)據(jù)通過用戶接口輸入。
(4)系統(tǒng)測試是將已經(jīng)通過確認(rèn)測試的軟件,作為整個計(jì)算機(jī)系統(tǒng)的元素與計(jì)算機(jī)硬件、外設(shè)和網(wǎng)絡(luò)等其他因素結(jié)合在一起,進(jìn)行一系列的組裝測試和確認(rèn)測試。系統(tǒng)測試的目的是通過與系統(tǒng)的需求定義做比較,發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合的地方。系統(tǒng)測試可以發(fā)現(xiàn)問題定義時犯下的錯誤。
57.B解析:C語言規(guī)定:在定義函數(shù)時,若其返回值類型為int,則可以默認(rèn)。所以4個選項(xiàng)中B正確。
58.D解析:軟件工程包括3個要素,即方法、工具和過程。方法是完成軟件工程項(xiàng)目的技術(shù)手段;工具是指支持軟件的開發(fā)、管理、文檔生成;過程是支持軟件開發(fā)的各個環(huán)節(jié)的控制、管理。環(huán)境不屬于軟件工程的3個要素之一。本題的正確答案為D。
59.A解析:本題考查字符串比較函數(shù)strcmp()的應(yīng)用。strcmp(s1,s2)是中比較函數(shù),當(dāng)s1>s2時返回值為正數(shù),當(dāng)s1<s2時返回值為負(fù)數(shù),當(dāng)s1=s2時返回值為零。本題中s1,s2分別表示兩個串中第一個字符的地址,s1++和s2++是將指針指向串的第二個字符,指針變量s1指向的是串“bCdEf”的首地址,即字符b的地址,而指針變量s2指向的是字符'B'的地址。而在字符串比較中,寧符串大小的確定是各個字符串相應(yīng)位置字符的ASCII碼值的大小決定的,字符'B'的ASCII碼值為66,字符“b”的ASCII碼值為98,所以s1>s2,返回值為正數(shù)。
60.A解析:在C語言中,“%”運(yùn)算符兩側(cè)的運(yùn)算數(shù)必須是整型。
61.D本題考查continue的用法,continue語句的作用是結(jié)束本次循環(huán),直接進(jìn)行下次循環(huán)。所以在程序中,只有當(dāng)a=10時,才退出循環(huán),故選擇D選項(xiàng)。
62.CC語言規(guī)定,變量命名必須符合標(biāo)識符的命名規(guī)則,c選項(xiàng)中包含了非法字符“一”,所以錯誤。標(biāo)識符由字母、數(shù)字或下劃線組成,且第一個字符必須是大小寫英文字母或者下劃線,而不能是數(shù)字。
63.A?B
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑裝飾施工中的質(zhì)量保證措施考核試卷
- 中藥材種植的農(nóng)業(yè)生態(tài)環(huán)境保護(hù)法制建設(shè)考核試卷
- 批發(fā)業(yè)務(wù)會計(jì)與財(cái)務(wù)管理考核試卷
- 文化空間營造考核試卷
- 體育運(yùn)動訓(xùn)練中的運(yùn)動康復(fù)技術(shù)考核試卷
- 體育航空運(yùn)動飛行器空中交通管制操作考核試卷
- 寵物友好郵輪旅行船上寵物友好娛樂活動策劃分享考核試卷
- 走路的安全課件
- 勞動合同補(bǔ)充合同范本
- 綠化租賃合同范本
- 筋膜刀的臨床應(yīng)用
- DB32-T 4790-2024建筑施工特種作業(yè)人員安全操作技能考核標(biāo)準(zhǔn)
- 2022年安徽阜陽太和縣人民醫(yī)院本科及以上學(xué)歷招聘筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 2024-2030年中國反芻動物飼料行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報(bào)告
- 護(hù)理團(tuán)體標(biāo)準(zhǔn)解讀-成人氧氣吸入療法護(hù)理
- 幼兒園大班《識字卡》課件
- 2024-2030全球與中國寵物醫(yī)院市場現(xiàn)狀及未來發(fā)展趨勢
- 《研學(xué)旅行課程設(shè)計(jì)》課件-2認(rèn)識研學(xué)旅行的參與方
- 安全警示教育的會議記錄內(nèi)容
- 夫妻異地辭職信
- 2024年度-銀行不良清收技巧培訓(xùn)課件(學(xué)員版)
評論
0/150
提交評論