版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2021-2022年湖南省常德市全國計算機等級考試C語言程序設(shè)計真題二卷(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.若i、j已定義成mt型,則下列程序段中內(nèi)循環(huán)體的總執(zhí)行次數(shù)是()。for(i=6;i>0;i--)for(j=0;j<4;j++){…}A.20B.24C.25D.30
2.線性表是具有n個()的有限序列。
A.字符B.數(shù)據(jù)元素C.數(shù)據(jù)項D.表元素
3.
4.以下敘述中正確的是()。
A.構(gòu)成C程序的基本單位是函數(shù)
B.可以在一個函數(shù)中定義另一個函數(shù)
C.main函數(shù)必須放在其他函數(shù)之前
D.C函數(shù)定義的格式是K&R格式
5.[0,2,1,4,3,9,5,8,6,7]是以數(shù)組形式存儲的最小堆,刪除堆頂元素0后的結(jié)果是()
A.[2,1,4,3,9,5,8,6,7]
B.[1,2,5,4,3,9,8,6,7]
C.[2,3,1,4,7,9,5,8,6]
D.[1,2,5,4,3,9,7,8,6]
6.下列說法不正確的是()。
A.圖的遍歷是從給定的源點出發(fā)每一個頂點僅被訪問一次
B.圖的深度遍歷不適用于有向圖
C.遍歷的基本算法有兩種:深度遍歷和廣度遍歷
D.圖的深度遍歷是一個遞歸過程
7.同一個關(guān)系模型的任意兩個元組值()。
A.可以全相同B.不能全相同C.必須全相同D.以上都不對
8.命令“DIRA:*.*/W”的功能是()
A.寬行顯示A盤當前目錄的所有文件
B.寬行顯示A盤所有目錄的所有文件
C.寬行顯示A盤的所有目錄
D.顯示A盤中的文件名,每滿一屏后停頓一下
9.以下敘述中,不正確的是()。
A.使用staticfloata定義的外部變量存放在內(nèi)存中的靜態(tài)存儲區(qū)
B.使用floatb定義的外部變量存放在內(nèi)存中的動態(tài)存儲區(qū)
C.使用staticfloatc定義的內(nèi)部變量存放在內(nèi)存中的靜態(tài)存儲區(qū)
D.使用floatd定義的內(nèi)部變量存放在內(nèi)存中的動態(tài)存儲區(qū)
10.有以下程序:#include<stdio.h>inta=1,b=2:voidfunl(inta,intb){printf("%d%d",a,b);}voidfun2(){a=3;b=4;}main(){funl(5,6);fun2();printf("%d%d\n",a,b);}程序運行后的輸出結(jié)果是()。A.1256B.5634C.5612D.3456
11.隊列的“先進先出”特性是指()。
A.最早插入隊列中的元素總是最后被刪除
B.當同時進行插入、刪除操作時,總是插入操作優(yōu)先
C.每當有刪除操作時,總是要先做一次插入操作
D.每次從隊列中刪除的總是最早插入的元素
12.給定數(shù)列(541,132,984,746,518,181,946,314,205,827)按照從小到大的順序排列,采用直接選擇大值開始排序時,第一趟掃描結(jié)果是()
A.(541,132,827,746,518,181,946,314,205,984)
B.(205,132,314,181,518,746,946,984,541,827)
C.(132,541,746,984,181,518,314,946,205,827)
D.(132,541,746,518,181,946,314,205,827,984)
13.有以下程序:#include<stdio.h>main(){charc;for(;(c=getchar())!=‘#’;){if(c>=‘a(chǎn)’&&c<=‘z’)c=c-‘a(chǎn)’+‘A’;putchar(++c);}}執(zhí)行時輸入aBcDefG##并按<Enter>鍵,則輸出結(jié)果是()。
A.AbCdEFgB.ABCDEFGC.BCDEFGHD.bcdefgh
14.若有定義“doublea;”,則正確的輸入語句是()。A.A.seaM("%1f",&a);B.scanf("%f",&a);
C.scanf("%1f",&a)
D.scanf("%1e",&a);
15.對表進行水平方向和垂直方向的分割,分別對應(yīng)的關(guān)系運算是()
A.選擇和投影B.投影和選擇C.選擇和聯(lián)接D.投影和聯(lián)接
16.有以下程序:#include<stdio.h>main(){intx=10,y=11,z=12;if(y<z)x=y;y=z;z=x;printf(“x=%dy=%dz=%d\n”,x,y,z);}程序運行后的輸出結(jié)果是()。
A.x=11y=12z=11
B.x=10y=10z=10
C.x=11y=11z=10
D.x=10y=10z=12
17.以下敘述中錯誤的是()。
A.通過指針變量存取某個變量值的方式稱為“直接存取”方式
B.在程序的開頭包含頭文件stdio.h后,可以給指針變量賦NULL值
C.將一個指針變量中的值賦給另一個指針變量,則這兩個指針變量指向同一地址
D.C語言中函數(shù)返回值的類型可以是簡單的數(shù)據(jù)類型,也可以是指針類型
18.若某表最常用的操作是在最后一個結(jié)點之后插入一個結(jié)點或刪除最后一個結(jié)點,則采用()存儲方式最節(jié)省運算時間。
A.單鏈表B.給出表頭指針的單循環(huán)鏈表C.雙鏈表D.帶頭結(jié)點的雙循環(huán)鏈表
19.若以下選項中的變量全部為整型變量,且已正確定義并賦值,則語法正確的switch語句是()。
A.switch(a+9){casecl:y=a-b;casec2:y=a+b;}
B.switcha*b{casel0:x=a+b;default:y=a-b;}
C.switch(a+b){casel:case3:y=a+b;break;case0:case4:y=a-b;}
D.switch(a*a+b*b){default:break;case3:y=a+b;break;case2:y=a-b;break;}
20.折半查找法的查找速度一定比順序查找法快()。
A.正確B.錯誤
二、2.填空題(20題)21.若有定義語句chars[100],d[100];intj=0,i=0;且s中已賦字符串,請?zhí)羁找詫崿F(xiàn)拷貝。(注:不使用逗號表達式)
while(s[i])(d[j]=【】;j++;}
d[j]=0;
22.下列程序的功能是:求出ss所指字符串中指定字符的個數(shù),并返回此值。例如,若輸入字符串123412132,輸入字符1,則輸出3,請?zhí)羁铡?include<conio.h>#include<stdio.h>#defineM81intfun(char*ss,charC){inti=0;for(;();ss++)if(*ss==C)i++;returni;}main(){chara[M],ch;printf("\nPleaseenterastring:");gets(A);printf("\nPleaseenterachar:");ch=getchar();printf("\nThenumberofthecharis:%d\n",fun(a,ch));}
23.閱讀下列程序,則程序的輸出結(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';}
24.下面程序中的數(shù)組a包括10個整數(shù)元素,從a中第二個元素起,分別將后項減前項之差存入數(shù)組b,并按每行4個元素輸出數(shù)組b,請?zhí)羁?。main(){inta[10],b[10],i;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=1;i<10;i++)();for(i=0;i<9;i++){printf("%d",b[i]);if(i%4==0)printf("\n");}}
25.在進行模塊測試時,要為每個被測試的模塊另外設(shè)計兩類模塊:驅(qū)動模塊和承接模塊(樁模塊),其中【】的作用是將測試數(shù)據(jù)傳送給被測試的模塊,并顯示被測試模塊所產(chǎn)生的結(jié)果。
26.閱讀下面語句,則執(zhí)行后的輸出結(jié)果為【】。
#include"stdio.h"
main()
{chara,b;
for(a='0',b='9';a<b;a++,b--)
printf("%c%c",a,b);
printf("\n");}
27.下列程序的運行結(jié)果是______。
#include<stdio.h>
main()
{inta=10,b=3;
printf("%d,",a%b);
printf("%d,",(a-b,a+b));
printf("%d\n",a-b?a-b:a+b);
}
28.在C語言中,while和do…while循環(huán)的主要區(qū)別是______的循環(huán)至少被執(zhí)行一次。
29.以下程序運行后的輸出結(jié)果是【】。
#include<stdio,h>
main()
charc1,c2;
for(el='0',c2='9';e1<c2;c1++,c2--)printf("%c%c",c1,c2);
printf("\n");
}
30.以下程序中函數(shù)f的功能是在數(shù)組x的n個數(shù)(假定n個數(shù)互不相同)中找出最大最小數(shù),將其中最小的數(shù)語第一個數(shù)兌換,把最大的數(shù)語最后一個數(shù)對換。請?zhí)羁铡?/p>
#include<stdio.h>
voidf(intx[],intn)
{intp0,p1,i,j,t,m;
i=j=x[0];p0=p1=0;
for(m=0;m<n;m++)
if(x[m]>i){i=x[m];p0=m;}
elseif(x[m]<j){j=x[m];p1=m;
}
t=x[p0];x[p0]=x[n-1];x[n-1]=t;
t=x[p1];x[p1]=[11];[12]=t;
main()
{inta[10],u;
for(u=0;u<10;u++)scanf("%d",&a[u]);
f(a,10);
for(u=0;u<10;u++)printf("%d",a[u]);
printf("\n");
}
31.下列的for語句的循環(huán)次數(shù)為______。
for(x=1,y=0;(y!=19)&&(x<7);x++);
32.下列程序段的輸出結(jié)果是【】。
main()
{charb[]="Hello,you";
b[5]=0;
printf("%s\n",B);
}
33.下列程序的輸出結(jié)果是______。
#include<stdio.h>
intfun(intx)
{intp;
if(x==0‖x==1)
return3;
else
p=x-fun(x-2);
returnp;
}
voidmain()
{printf("\n%d",fun(11));
34.設(shè)inta=5,b=6,表達式(++a==b--)?++a:--b的值是【】。
35.下面定義的結(jié)構(gòu)體類型包含3個成員,其中成員變量x用來存入整型數(shù)據(jù),成員變量y用來存入實型數(shù)據(jù),成員變量next是指向自身結(jié)構(gòu)體的指針。請將定義補充完整。
structstu
{intx;
【】
【】next;}
36.若x為int類型,請寫出與!x等價的C語言表達式______。
37.以下程序運行后的輸出結(jié)果是【】。(注:如果結(jié)果中含有回車,可加一空格寫在一行,例如:
111
111
111
可以寫成:111111111。
#include<stdio.h>
mala()
{inti,j,a[][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)a[j][i]=0;
for(i=0;i<3;i++)
{for(j=0;j<3;j++)printf("%d",a[i][j]);
printf("\n");
}
}
38.設(shè)Y是int型變量,請寫出判斷Y為奇數(shù)的關(guān)系表達式【】。
39.一個模塊直接調(diào)用的其他模塊的模塊個數(shù)稱為______。
40.以下程序運行后的輸出結(jié)果是______。
main()
{
inti,m=0,n=0,k=0;
for(i=9;i<=11;i++)
switch(i/10)
{
case0:m++;n++;break;
case10:n++;;break;
default:k++;n++;
}
printf("%d%d%d\n",m,n,k);
}
三、1.選擇題(20題)41.下列循環(huán)體的執(zhí)行次數(shù)是()。#include<stdio.h>main(){inti,j;for(i=0j=1;i<j+1;i+=1,j--)printf("%d\n",j);}
A.3B.2C.1D.0
42.以下概念中,不屬于面向?qū)ο蠓椒ǖ氖莀______。
A.對象、消息B.繼承、多態(tài)C.類、封裝D.過程調(diào)用
43.下列程序的輸出結(jié)果是______。main(){inti=0x100,j=100,k=0100;printf("%d%d%d\n",i,j,k);}
A.100100100B.16100100C.25610064D.256100100
44.設(shè)有程序段:intk=12:while(k=1)k=k-1:則下列描述中正確的是()。
A.while循環(huán)執(zhí)行10次B.循環(huán)是無限循環(huán)C.循環(huán)體語句一次也不執(zhí)行D.循環(huán)體語句執(zhí)行一次
45.下列說法中錯誤的是A.A.只能在循環(huán)體內(nèi)使用break語句
B.在循環(huán)體內(nèi)使用break語句可以使流程跳出本層循環(huán)體,從而提前結(jié)束本層循環(huán)
C.在while和do…while循環(huán)中,continue語句并沒有使整個循環(huán)終止
D.continue的作用是結(jié)束本次循環(huán),即跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進行循環(huán)判斷
46.若有程序:fun(inta,intB){staticintc=0;c+=a+b;returnc;}main(){intx=5,y=3,z=7,rr=fun((y,x+y),z);r=fun(x,y);printf("%d\n",r);}上面程序的輸出結(jié)果是_______。
A.23B.15C.19D.18
47.設(shè)有:
inta=1,b=2,c=3,d=4,m=2,n=2;
執(zhí)行(m=a>b)&&(n=c>d)后,n的值是
A.1B.2C.3D.4
48.下面的程序執(zhí)行后,文件test.t中內(nèi)容是______。#include<stdio.h>voidfun(char*fname,char*st){FILE*myf;inti;myf=fopen(fname,"w");for(i=0;i<strlen(st);i++)fputc(st[i],myf);fclose(myf);}main(){fun("test.t","newworld");fun("test.t","hello,");}
A.hello,B.newworldhelloC.newworldD.hello,rld
49.下列程序段的輸出結(jié)果為()。#include<stdio.h>main(){staticchara[]="language";char*p;p=a;for(p=a;p<a+8;p+=2)putchar(*p);}
A.1B.4C.9D.0
50.在軟件生命周期中,能準確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是()
A.需求分析B.詳細設(shè)計C.軟件設(shè)計D.概要設(shè)計
51.面向?qū)ο蟮脑O(shè)計方法與傳統(tǒng)的面向過程的方法有本質(zhì)不同,它的基本原理是()。
A.模擬現(xiàn)實世界中不同事物之間的聯(lián)系
B.強調(diào)模擬現(xiàn)實世界中的算法而不強調(diào)概念
C.使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題
D.鼓勵開發(fā)者在軟件開發(fā)的絕大部分中都用實際領(lǐng)域的概念去思考
52.在一介C源程序文件中,要定義一個只允許本源文件中所有函數(shù)使用的全局變量,則該變量需要使削的存儲類別是()。
A.autoB.registerC.externD.static
53.視圖設(shè)計一般有3種設(shè)計次序,下列不屬于視圖設(shè)計的是______。
A.自頂向下B.由外向內(nèi)C.由內(nèi)向外D.自底向上
54.有以下程序:#include<stdio.h>voidswap(char*x,ehar*y){chart;t=*x;*x:*y;*y=t;main(){char*s1="abc",*s2="123";swap(s1,s2);printf("%s,%s\n",s1,s2);}程序執(zhí)行后的輸出結(jié)果是()。
A.123,abeB.abe,123C.1bc,a23D.321,cba
55.以下程序的輸出結(jié)果是main(){intc=35;printf("%d\n",c&c);}
A.0B.70C.35D.1
56.有如下程序:main(){intn=9;while(n>6){n--;printf("%d",n);}}該程序的輸出結(jié)果是
A.987B.876C.8765D.9876
57.在函數(shù)調(diào)用過程中,如果函數(shù)funA調(diào)用了函數(shù)funB,函數(shù)funB又調(diào)用了函數(shù)funA,則()。
A.稱為函數(shù)的直接遞歸調(diào)用B.稱為函數(shù)的間接遞歸調(diào)用C.稱為函數(shù)的循環(huán)調(diào)用D.C語言中不允許這樣的遞歸調(diào)用
58.下面程序:voidfunc(int*a,intb[]){b[0]=*a+6;)main(){inta,b[5];a=0;b[0]=3;func(&a,b);printf("%d\n",b[0]);}則程序運行后的輸出結(jié)果是()。
A.6B.7C.8D.9
59.下列程序的輸出結(jié)果是()。#include<stdio.h>f(intA){intb=0;staticintc=4;a=c++;b++;return(A);}main(){inta=2,i,c;for(i=0;i<2;i++)c=f(a++);printf("%d\n",C);}
A.4B.7C.6D.5
60.下列敘述中,正確的一條是______。
A.語句int*pt中的*pt是指針變量名
B.運算符*和&都是取變量地址的運算符
C.已知指針變量p指向變量a,則&a和*p值相同,都是變量a的值
D.語句“int*p=a;”等價于“int*p;p=&a[0];”
四、選擇題(20題)61.以下選項中,當x為大于l的奇數(shù)時,值為0的表達式是()。
62.若變量a、i已正確定義,且i已正確賦值,合法的語句是()。A.A.a==1B.++iC.a=a++=5D.a=int(i)
63.下列敘述中正確的是()。A.在棧中,棧中元素隨棧底指針與棧頂指針的變化而動態(tài)變化
B.在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動態(tài)變化
C.在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動態(tài)變化
D.在棧中,棧中元素不會隨棧底指針與棧頂指針的變化而動態(tài)變化
64.
65.設(shè)有下列二叉樹:
對此二叉樹中序遍歷的結(jié)果為()。
A.ACBDEFB.DEBFCAC.ABDECFD.DBEAFC
66.在C程序中有如下語句:char*func(intx,inty);它是()。
A.對函數(shù)func的定義。B.對函數(shù)func的調(diào)用。C.對函數(shù)func的原型說明。D.不合法的
67.
68.一個函數(shù)內(nèi)有數(shù)據(jù)類型說明語句如下:
doublex,y,z(10)
關(guān)于此語句的解釋,下面說法正確的是()。
A.z是一個數(shù)組,它有10個元素
B.z是一個函數(shù),小括號內(nèi)的10是它的實參的值
C.x是一個變量,小括號內(nèi)的10是它的初值
D.語句中有錯誤,因為“z(10)”應(yīng)該為“z[10]”
69.計算機能直接執(zhí)行的程序是()。
A.源程序B.目標程序C.匯編程序D.可執(zhí)行程序
70.以下程序的輸出結(jié)果是______。#include<stdio.h>#defineFUDGE(y)2.84+y#definePR(a)printf("%d",(int)(a))#definePRINT1(a)PR(a);putchar('\n')main(){intx=2;PRINT1(FUDGE(5)*x);}
A.11B.12C.13D.15
71.
72.表達式“~0x11”的值是()。
A.0xFFEEB.0x71C.0x0071D.0xFFF1
73.有以下程序:
voidmain()
{
inty=10;
while(y>>1){printf("y=%d\n",y);}
}
程序執(zhí)行后的輸出結(jié)果是()。
A.y=0
B.y=-1
C.y=1
D.while構(gòu)成無限循環(huán)
74.有以下程序
程序運行后的輸出結(jié)果是()。
A.6,2,3,4,5,B.2,2,3,4,5,C.1,2,3,4,5,D.2,3,4,5,6,
75.
76.
77.定義如下變量和數(shù)組:inti,x[3][3]={1,2,3,4,5,6,7,8,9};則下面語句for(i=0;i<3;i++)printf("%d",x[i][2-i]);的輸出結(jié)果是()
A.159B.147C.357D.369
78.
79.有以下程序:
voidmain()
{inta=1,b=2,m=0,n=0,k;
k=((n=b>a)+b)‖(m=a<b);
printf("%d,%d\n",k,m);
}
程序運行后的輸出結(jié)果是()。
A.0,0B.0,1C.1,0D.1,1
80.語句int(*ptr)的含義是()。
A.ptr是一個返回值為int的函數(shù)
B.ptr是指向int型數(shù)據(jù)的指針變量
C.ptr是指向函數(shù)的指針,該函數(shù)返回一個int型數(shù)據(jù)
D.ptr是一個函數(shù)名,該函數(shù)的返回值是指向int型數(shù)據(jù)的指針
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc的功能是:根據(jù)輸入的:個邊長(整型值),判斷能否構(gòu)成三角形:若能構(gòu)成等邊三角形,則返回3;若是等腰三角形,則返回2;若能構(gòu)成三角形則返回l;若不能,則返回0。
例如,輸入3個邊長為3,4,5,實際輸入時,數(shù)與數(shù)之間以Enter鍵分隔而不是逗號。
請修改程序中的錯誤,使它能得出正確的結(jié)果。
注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include<stdio.h>
#include<math.h>
intproc(inta,intb,intc)
{
if(a+b>c&&b-c>a&&a+c>b)
{
if(a==b&&b==c)
//****found****
return1;
elseif(a==b||b==C||a==c)
return2;
//****found****
elsereturn3;
}
elsereturn0;
}
voidmain
{
inta,b,c,shape;
printf("\nInputa,b,c:");
scanf("%d%d%d",&a,&b,&c);
printf("\na=%d.b=%d,c=%d\n",a,b,c);
shape=proc(a,b.c):
printf("\n\nTheshape:%d\n",shape);
}
六、程序設(shè)計題(1題)82.規(guī)定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,其功能是:除了字符串前導(dǎo)的。號之外,將串中其他*號全部刪除。在編寫函數(shù)時.不得使用C語言提供的字符串函數(shù).
參考答案
1.B本題考查for循環(huán)的使用。對于第1個for循環(huán),任何一個i,內(nèi)層j的循環(huán)都要使j~0到3,j=4時不符合,所以退出j循環(huán);然后i減1,J仍然要從0~3,j=4時退出J循環(huán)直到i變成0,退出i循環(huán)。第一條for語句執(zhí)行6次,第二條for語句執(zhí)行4次,所以內(nèi)循環(huán)體執(zhí)行6*4=24次。
2.B
3.B
4.A解析:本題考查C語言的綜合基礎(chǔ)知識。構(gòu)成C程序的基本單位是函數(shù),一個C程序總是從main函數(shù)開始執(zhí)行,而不論main函數(shù)在整個程序中的位置如何。C語言的函數(shù)定義都是互相平行、獨立的,在定義函數(shù)時,一個函數(shù)內(nèi)不能定義另一個函數(shù)。C函數(shù)定義的一般格式有兩種:傳統(tǒng)格式和現(xiàn)代格式。傳統(tǒng)格式也稱K&R格式,是早期編譯系統(tǒng)使用的格式;現(xiàn)代格式又稱ANSI格式,是現(xiàn)代編譯系統(tǒng)使用的格式。
5.D
6.C
7.B關(guān)系具有以下7個性質(zhì)。①元組個數(shù)有限性:二維表中元組的個數(shù)是有限的。②元組的唯一性:二維表中任意兩個元組不能完全相同。③元組的次序無關(guān)性:二維表中元組的次序,即行的次序可以任意交換。④元組分量的原子性:二維表中元組的分量是不可分割的基本數(shù)據(jù)項。⑤屬性名唯一性:二維表中不同的屬性要有不同的屬性名。⑥屬性的次序無關(guān)性.二維表中屬性的次序可以任意交換。⑦分量值域的同一性:二維表屬性的分量具有與該屬性相同的值域,或者說列是同質(zhì)的。滿足以上7個性質(zhì)的二維表稱為關(guān)系,以二維表為基本結(jié)構(gòu)所建立的模型稱為關(guān)系模型。本題答案為B選項。
8.A
9.B
10.BFunl是輸出局部變量的值,fun2是把全局變量的值改成3和4,所以輸出的結(jié)果是5634。
11.D
12.A
13.C題干中,循環(huán)的作用是將輸入的字符串轉(zhuǎn)化為大寫,getchar函數(shù)讀入一個字符,putchar函數(shù)輸出一個字符,當遇到‘#’字符結(jié)束。“putcha(++C);”,表示將字符變量c加1后輸出。當輸入“aBcDefG##”時,得到的結(jié)果是BCDEFGH。故本題答案為C選項。
14.D本題考查seanf函數(shù)的調(diào)用形式:scanf(格式字符串,輸入項地址表)。題中定義變量a為雙精度型變量,雙精度變量的格式符為“l(fā)e”;變量的地址用取地址符“&”加變量名表示,所以選項D正確。
15.A解析:從關(guān)系中找出滿足給定條件的那些元組稱為選擇,是從行的角度進行的運算,即水平方向抽取元組。從關(guān)系模式中挑選若干屬性組成新的關(guān)系稱為投影,是從列的角度進行的運算,相當于對關(guān)系進行垂直分解。所以,本題選擇A。
16.Aif條件為真,執(zhí)行“x=y;”,此時x=11,y=11,z=12;再執(zhí)行“y=z;z=x;”,此時y=12,z=11,即x=11,y=12,z=11。故本題答案為A選項。
17.A通過指針變量存取某個變量值的方式稱為“間接存取”方式,選項A錯誤;頭文件stdio.h中定義了NULL,在程序的開頭包含stdio.h后,可以給指針變量賦NULL值,表示一個空指針,選項B正確;將一個指針變量中的值賦給另一個指針變量,這兩個指針變量指向同一地址,選項C正確;C語言中函數(shù)返回值的類型可以是簡單的數(shù)據(jù)類型,也可以是指針類型,選項D正確。故本題答案為A選項。
18.D
19.D選項A,當cl和c2相等時,不成立;選項B,a*b要用括號括起來;選項C,case與后面的數(shù)字用空格隔開。
20.B
21.s[i++]s[i++]解析:本題中為了能實現(xiàn)字符串的拷貝,需要使字符數(shù)組s從頭到尾依次遍歷其所有元素.本題應(yīng)使用i的自增后置來實現(xiàn)。
22.*ss!='\0'*ss!='\\0'解析:本題考查的是指針的應(yīng)用。題目要求求出字符串ss中指定字符的個數(shù)。分析整個程序,空缺處是檢驗指針ss是否指向了字符串的末尾,如沒有,即執(zhí)行下面語句,判斷指針ss指向的字符是否字符c,若是,i自加1;所以空缺處填入*ss!='\\0',作為循環(huán)終止的條件。
23.30x30x解析:本題的參數(shù)傳遞屬于值傳遞,所以函數(shù)內(nèi)不能改變調(diào)用函數(shù)中的數(shù)據(jù)。
24.b[i-1]=a[i]-a[i-1]
25.驅(qū)動模塊驅(qū)動模塊解析:在進行模塊測試時,要為每個被測試的模塊另外設(shè)計兩類模塊:驅(qū)動模塊和承接模塊(樁模塊)。其中,驅(qū)動模塊相當于被測試模塊的主程序,它接收測試數(shù)據(jù),并傳給被測試模塊,輸出實際測試結(jié)果。承接模塊通常用于代替被測試模塊調(diào)用的其他模塊,其作用僅做少量的數(shù)據(jù)操作,是一個模擬子程序,不必將子模塊的所有功能帶入。
26.918273645918273645解析:for是C語言的關(guān)鍵字,其后的一對圓括號中通常含有3個表達式,各個表達式之間用分號隔開,這3個表達式可以是任意形式的表達式,通常主要用于for循環(huán)控制。
27.11371,13,7解析:本題考查3個知識點:①余數(shù)的計算,題中的a=10,b=3,a%b=1;②(表達式1,表達式2)形式的結(jié)果為最后一個表達式的值,題中的a=10,b=3,(a-b,a+b)=a+b=13;③條件運算符的使用,題中的a-b?a-b:a+b,判斷語句a-b=7不為0,所以執(zhí)行a-b,結(jié)果為7。
28.do…whiledo…while解析:考查while和do…while循環(huán)的主要區(qū)別。while循環(huán)的控制出現(xiàn)在循環(huán)體之前,只有當while后面的表達式的值為非零時,才可能執(zhí)行循環(huán)體;在do…while構(gòu)成的循環(huán)體中,總是先執(zhí)行一次循環(huán)體,然后再求表達式的值,因此無論表達式的值是否為零,循環(huán)體至少要被執(zhí)行一次。
29.918273645918273645解析:程序通過for循環(huán)將字符'0'~'9'從前向后,同時從后向前依次輸出,所以輸出結(jié)果為:0918273645。
30.x[0]x[0]x[0]x[0]解析:函數(shù)f()通過for循環(huán)逐個比較數(shù)組x中的元素,循環(huán)結(jié)束后,p0和p1分別表示最大值和最小值在數(shù)組中的下標位置,然后按照題意將最大值x[p0]和數(shù)組的最后一個元素x[n-1)交換位置,再將最小值x[p1]和第一個元素(x[0])進行交換,所以空白處應(yīng)該填入x[0]。
31.66解析:分析程序可知,每循環(huán)一次,x的值加1,然后檢測循環(huán)控制條件(y!=19)&&(x<7),因y的值不變,故滿足x<7時循環(huán)6次。
32.HelloHello解析:字符串中,數(shù)值0或符號'/0'表示字符串的結(jié)束。本題中,b[5]被賦了0值,表明字符串b的第六個字符就是結(jié)束標志。因此,只輸出前五個字符,即Hello。
33.44解析:本題考查函數(shù)的遞歸調(diào)用。在主函數(shù)中第1次調(diào)用子函數(shù)是調(diào)用的fun(11),返回11-fun(9):第2次調(diào)用子函數(shù)是調(diào)用的fun(9),返回9-tim(7);第3次調(diào)用子函數(shù)是調(diào)用的fun(7),返回7-fun(5);第4次調(diào)用子函數(shù)是調(diào)用的fun(5),返回5-fun(3);第5次調(diào)用子函數(shù)是調(diào)用的fun(3),返回3-fun(1);第6次調(diào)用子函數(shù)是調(diào)用的fun(1),返回3??偟姆祷刂凳牵?1-(9-(7-(5-(3-3))))=4。
34.77解析:此表達式為三目運算符,++a的值為6,b--的值為6,則整個表達式的值為++a的值,++a的值為7。請注意前綴++,--和后綴++,--的區(qū)別。
35.floaty;structstu*floaty;\r\nstructstu*解析:float定義變量y為實型變量。要求變量next是指向自身結(jié)構(gòu)體的指針,因此變量next應(yīng)該是結(jié)構(gòu)體stu的指針型變量。
36.x==0x==0解析:!x的邏輯意思就是x為非,即x==0。
37.123056009或123056009123\r\n056\r\n009\r\n或123056009解析:程序開頭定義了一個3行3列的數(shù)組,即:
1,2,3
4,5,6
7,8,9
進入循環(huán),for(i=0;i<3;i++)
for(j=i+1;j<3;j++)a[j][i]=0;
把a[1][0],a[2][0],a[2][1]分別賦為0,輸出結(jié)果為:
123
056
009
38.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或下為0。本題具體做法如下:Y%2=1或Y%2!=0。
39.扇出扇出解析:在結(jié)構(gòu)圖中,調(diào)用一個給定模塊的模塊個數(shù)稱為扇入,一個模塊直接調(diào)用的其他模塊個數(shù)稱為扇出。
40.132132解析:本題考核的知識點是for循環(huán)與switch語句的綜合運用。主函數(shù)中用了一個for循環(huán),for循環(huán)里嵌套了一個switch語句,for循環(huán)了三次,當i=9時,i/10=0,執(zhí)行switch語句中case0分支,m和n的值各加1,變?yōu)?和1,然后遇到breake語句,退出switch語句;當i=10,i/10=1,執(zhí)行switch語句中default分支,使k和n的值各加1,變?yōu)?和1,退出switch語句:當i=11時,i/10=1,執(zhí)行switch語句中default分支,k和n的值各加1變,為2和3,退出switch語句,循環(huán)結(jié)束。故該空格處應(yīng)該填132。
41.C解析:本題考查for循環(huán)。第一次循環(huán)前先判斷循環(huán)條件,此時i=0,j=1,i<j+1成立,循環(huán)第一次;第二次循環(huán)前先判斷循環(huán)條件,此時i=1,j=0,(j--是先使用j的值再減1),i<j+1不成立,結(jié)束循環(huán)。
42.D解析:面向?qū)ο蠓椒ㄊ且环N運用對象、類、封裝、繼承、多態(tài)和消息等概念來構(gòu)造、測試、重構(gòu)軟件的方法。面向?qū)ο蠓椒◤膶ο蟪霭l(fā),發(fā)展出對象、類、消息、繼承等概念。
43.C解析:i,j初始化時分別賦予十六進制數(shù)和八進制數(shù),對應(yīng)的十進制數(shù)是256和64。
44.C本題考查while,while循環(huán)表達式k-1是個賦值表達式而不是邏輯表達式,k的初值為l2不符合循環(huán)條件,所以循環(huán)體語句一次也不執(zhí)行。
45.A解析:只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用break語句,當break出現(xiàn)在循環(huán)體中的switch語句體時,其作用是跳出該switch語句體。當break出現(xiàn)在循環(huán)體中,但不在switch語句體中時,則在執(zhí)行break后,跳出本層循環(huán)體。continue語句的作用是,跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進行循環(huán)的條件判定。
46.A解析:static聲明的外部變量只限于被本文件引用,而不能被其他文件引用。用static來聲明一個變量的作用有:①對局部變量用static聲明,則為該變量分配的空間在整個程序執(zhí)行期間始終存在;②全部變量用static聲明,則該變量的作用域只限于本文件模塊(即被聲明的文件中)。調(diào)用第一個fun,其兩個實參的值為(3,5+3)與7即8與7,在函數(shù)fun執(zhí)行結(jié)束返回15。第二次調(diào)用fun時,由于static為靜態(tài)類型,其值保留,執(zhí)行fun(5,3)后,其返回值為23,故選A。
47.B本題考查邏輯與運算符“&&”的使用。對于邏輯與運算符&&來說,對象的結(jié)合方式為從左往右,只有&&左邊的值為真,才繼續(xù)右邊的運算。題目中&&左邊的表達式為m=a>b,“>”運算符優(yōu)先級高于“=”,故先判斷a>b,因為a=1,b=2,所以a>b為假,于是m=0。“&&”左邊的值為假,所以不進行右邊的運算。n的值沒有發(fā)生改變,n=2。
48.A解析:C語言中文件有文本文件與二進制文件,對文件的使用前必須先打開,打開方式有只讀、寫入、讀寫等方式。
49.D解析:本題主要是考查帶參數(shù)的宏定義及其相關(guān)運算。本題中宏運算過程如下:a=a/(S(k+m)/S(k+m))=a/(k+m*k+m/k+m*k+m)=9/(3+2*3+2/3+2*3+2)=0。
50.AA)【解析】軟件生命周期的主要活動階段為:可行性研究和計劃制定、需求分析、軟件設(shè)計、軟件實現(xiàn)、軟件測試、運行和維護。其中需求分析是對開發(fā)軟件提出的需求進行分析并給出詳細定義,即準確地確定軟件系統(tǒng)的功能,編寫軟件規(guī)格說明書及初步的用戶手冊,提交評審。
51.C解析:面向?qū)ο蟮脑O(shè)計方法與傳統(tǒng)的面向過程的方法有本質(zhì)不同。它的基本原理是,使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題。它強調(diào)模擬現(xiàn)實世界中的概念而不強調(diào)算法,它鼓勵開發(fā)者在軟件開發(fā)的絕大部分中都用應(yīng)用領(lǐng)域的概念去思考。
52.D解析:“auto”類定義的自動變:鞋實質(zhì)上是一個函數(shù)內(nèi)部的局部變量,作用域是在所說明的函數(shù)中;“register”說明只能用于說明函數(shù)中的變量和參數(shù)中的形參,因此不允許將外部變量或靜態(tài)變量說明為register;“extern”是定義在所有函數(shù)之外的全局變量,它可以被所有的函數(shù)訪問,在所有函數(shù)體的內(nèi)部是有效的,所以函數(shù)之間可以通過外部變量直接傳遞數(shù)據(jù);“static”為允許本源文件中所有函數(shù)使用的全局變量。
53.B解析:視圖設(shè)汁一般有3種設(shè)計次序,它們分別是自頂向下、自底向上和由內(nèi)
向外,它們又為視圖設(shè)計提供了具體的操作方法,設(shè)計者可根據(jù)實際情況靈活掌握,可以
單獨使用也可混合使用。
注意:數(shù)據(jù)庫概念設(shè)計的過程:首先選擇局部應(yīng)用,再進行局部視圖設(shè)計,最后
對局部視圖進行集成得到概念模式。
54.C解析:C語言中,字符串常量在內(nèi)存中是以字符數(shù)組的形式存放的,形參字符指針x和y指向的是各字符串的首地址,在swap函數(shù)中,*x與*y交換的是字符串的第一個字符,即字符'a'與'1'的交換,而字符串中其他字符保持不變。
55.C解析:本題考查按位與“&”。因為1&1=1,0&0=0,所以任何數(shù)與自身按位與,結(jié)果仍為此數(shù),不發(fā)生變化。
56.B解析:該題目應(yīng)該根據(jù)循環(huán)體第一次和最后一次執(zhí)行時的輸出結(jié)果來決定哪一項是正確的。第一次進入循環(huán)時,n的值是9,循環(huán)體內(nèi),先經(jīng)過n--運算,n的值變?yōu)?,所以第一次的輸出值是8,由此可以排除選項A)和D)。由循環(huán)條件n>6可以知道,最后一次循環(huán)開始時,n的值應(yīng)該為7,所以最后一次執(zhí)行循環(huán)時,輸出為6,由此可以排除選項C)。
57.B解析:在C語言中所謂函數(shù)的遞歸是指在調(diào)用一個函數(shù)的過程中,又出現(xiàn)了直接或間接調(diào)用該函數(shù)本身,直接調(diào)用該函數(shù)本身的稱為函數(shù)遞歸,而間接調(diào)用該函數(shù)稱為函數(shù)的間接遞歸調(diào)用。顯然題目中所說
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 黃酒廠衛(wèi)生規(guī)章制度
- 保衛(wèi)科內(nèi)務(wù)衛(wèi)生管理制度
- 環(huán)境衛(wèi)生滿意度調(diào)查制度
- 宮廟衛(wèi)生防疫管理制度
- 婦幼衛(wèi)生工作工作制度
- 倉庫衛(wèi)生管理制度及流程
- 敬老院手衛(wèi)生管理制度
- 建立衛(wèi)生與消毒制度
- 美發(fā)店衛(wèi)生消毒制度
- 旅行社衛(wèi)生清潔制度
- 口述史研究活動方案
- 別克英朗說明書
- 地下管線測繪課件
- 房屋租賃合同txt
- 珍稀植物移栽方案
- THBFIA 0004-2020 紅棗制品標準
- GB/T 34336-2017納米孔氣凝膠復(fù)合絕熱制品
- GB/T 20077-2006一次性托盤
- GB/T 10046-2008銀釬料
- GA 801-2019機動車查驗工作規(guī)程
- 中層管理干部領(lǐng)導(dǎo)力提升課件
評論
0/150
提交評論