版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2021-2022年遼寧省遼陽市全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.在執(zhí)行完下列的C語句段之后,則B的值是()。Chara="A";intb;B=((34&&56)&&(a<'b'));
A.int類型B.float類型C.void類型D.函數(shù)無類型說明,定義有錯
2.
若變量均已正確賦初值,則以下語句中
錯誤的是()。
A.tl=t2;
B.t2.numl=tl.numl;
C.t2.mark=tl.Mark
D.t2.num2=tl.hum2;
3.有以下程序:#includeintadd(inta,intb){return(a+b);}Main(){Intk,(*f)(),a=5,b=10;f=add;...}則以下函數(shù)調(diào)用語句錯誤的是()。A.k=f(a,b);B.k=add(a,b);C.k=(*f)(a,b);D.k=*f(a,b);
4.下列選項中,能正確定義數(shù)組的語句是()。
A.intnum[0..2008];
B.intnum[];
C.intN=2008;intnum[N];
D.#defineN2008;intnum[N];
5.若有以下程序:inta=1,b=2;a=a^b;b=b^a;則執(zhí)行以上語句后a和b的值分別是()。A.a=1,b=2B.a=3,b=lC.a=3,b=2D.a=2,b=l
6.有三個關(guān)系R、s和T如下:
由關(guān)系R和s通過運算得到關(guān)系T,則所使用的運算為()。
A.并B.自然連接C.笛卡爾積D.交
7.對于順序存儲的線性表,訪問結(jié)點和增加、刪除結(jié)點的時間復(fù)雜度為()。
A.O(n)O(n)B.O(n)O(1)C.O(1)O(n)D.O(1)O(1)
8.若在定義語句:inta,b,c,*p=&c;之后,接著執(zhí)行以下選項中的語句,則能正確執(zhí)行的語句是()。
A.scanf("%d",a,b,c);
B.scanf("%d%d%d",a,b,c):
C.scanf("%d",p);
D.scanf("%d",&p);
9.下列關(guān)于信息系統(tǒng)的敘述中,錯誤的是()。
A.廣播電視是一種雙向的、點到多點的信息交互系自
B.網(wǎng)絡(luò)聊天是一種雙向的,以信息交互為主要目的系統(tǒng)
C.電話是一種雙向的、點對點的、以信息交互為主要的的系統(tǒng)
D.雷達是一種以感測和識別為主要目的的系統(tǒng)
10.在一個有向圖中,所有頂點的入度之和等于所有頂點的出度之和的()倍。A.A.1/2B.1C.2D.4
11.若有定義“intk=7,x=12;”,則以下表達式值為3的是()。
A.(x%=k)-(k%=5)B.x%=(k%=5)C.x%=(k-k%5)D.x%=k-k%5
12.在圖采用鄰接表存儲時,求最小生成樹的Prim算法的時間復(fù)雜度為()。
A.O(n)B.O(n+e)C.O(n2)D.O(n3)
13.有以下程序:main{chara=a,b;printf("%c,",++a);printf("%c\n",b=a++):)程序運行后的輸出結(jié)果是()。A.b,bB.b,cC.a,bD.a,c
14.已知一算術(shù)表達式的中綴表達式為a-(b+c/d)*e,其后綴形式為()
A.-a+b*c/dB.-a+b*cd/eC.-+*abc/deD.abcd/+e*-
15.
16.有以下程序:#include<stdio.h>main(){inta[]={10,20,30,40},*p=a,j;for(i=0;i<=3;i++){a[i]=*P;p++;}printf("oAd\n",a[2]);}程序運行后的輸出結(jié)果是()。A.30B.40C.10D.20
17.
18.下列程序的執(zhí)行結(jié)果是______。#include<stdio.h>unionun{inti;charc[2};};voidmain(){unionunx;x.c[0]=10;x.c[1]=1;printf("\n%d",x.i);}
A.266B.11C.265D.138
19.有以下程序:#include<stdio.h>main(){inta=1,b=2;for(;a<8;a++){b+=a;a+=2;}printf(“%d,%d\n”,a,b);}程序運行后的輸出結(jié)果是()。
A.9,18B.8,11C.7,11D.10,14
20.
二、2.填空題(20題)21.數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和______兩大類。
22.若有以下程序:
intf(intx,inty)
{return(y-x)*x;}
main()
{inta=3,b=4,c=5,d;
d=f(f(3,4),f(3,5));
printf("%d\n",d);
}
執(zhí)行后的輸出結(jié)果是【】。
23.以下程序從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)計其中正數(shù)的個數(shù),并計算它們之和,請?zhí)羁铡?/p>
#include<stdio,h>
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+=【】;
}
prinff("sum=%d,count=%d\n",sum,count);
}
24.程序測試分為靜態(tài)分析和動態(tài)測試。其中【】是指不執(zhí)行程序,而只是對程序文本進行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯誤。
25.以下程序運行后的輸出結(jié)果是【】。
main()
{
intx=0210;
printf("%X\n",x);
}
26.若用0至9之間不同的三個數(shù)構(gòu)成一個三位數(shù),下面程序?qū)⒔y(tǒng)計出共有多少種方法。請?zhí)羁铡?/p>
#include<stdio.h>
main()
{inti,j,k,count=0;
for(i=0;i<=9;i++)
for(j=0;i<=9;j++)
if(【】)continue;
elsefor(k=0;k<=9;k++)
if(【】)count++;
printf("%d",count);}
27.語句"int(*ptr)();"的含義是______是指向函數(shù)的指針,該函數(shù)返回一個int型數(shù)據(jù)。
28.若有以下程序
main()
{inta[4][4]={{1,2;-3,-4},{0,-12,-13,14},{21,23,0,-24},{-31,32,-33;0}};
inti,j,s=0;
for(i=0;i<4;i++)
{for(j=0;j<4;j++)
if(a[i][j]<0)continue;
if(a[i][j]==0)break;
s+=a[i][j];
}
printf("%d\n",s);
}
執(zhí)行后輸出結(jié)果是______。
29.耦合和內(nèi)聚是評價模塊獨立性的兩個主要標(biāo)準(zhǔn),其中______反映了模塊內(nèi)各成分之間的聯(lián)系。
30.以下程序運行后的輸出結(jié)果是【】
#include<stdio.h>
main()
{chara[]="123456789",*p;
inti=0;
p=a;
while(*p)
{if(i%2==0)*p='*';
p++;i++;
}
puts(a);
}
31.以下程序運行后的輸出結(jié)果是【】。
main()
{inta,b,c;
a=10;b=20;c=(a%b<1)||(a/b>1);
printf("%d%d%d\n",a,b,c);
}
32.以下程序運行的結(jié)果是【】。
#include<conio.h>
#include<stdio.h>
#defineM100
voidfun(intm,int*a,int*n)
{inti,j=0;
for(i=1;i<=m;i++)
if(i%7==0‖i%11==0)
a[j++]=i;
*n=j;}
main()
{intaa[M],n,k;
clrscr();
fun(10,aa,&n);
for(k=0;k<n;k++)
if((k+1)%20==0)printf("\n");
elseprintf("%4d",aa[k]);
printf("\n");}
33.下列程序的運行結(jié)果是______。
main()
{intx=1,y=2,z=3;
printf("%d,",x<y?y:x);
printf("%d,",z<y?x++:y++);
printf("%d,%d",x,y);
}
34.有以下程序:
main()
{inta[3][3],*p,i;
p=&a[0][0];
for(i=0;i<9;i++)p[i]=i+1;
printf("%d\n",a[1][2]);
}
程序運行后的輸出結(jié)果是【】。
35.下面程序的運行結(jié)果是______。
#include<stdio.h>
intf(inta[],intn)
{if(n>1)
returna[0]+f(a+1,n-1);
else
returna[0];
}
main()
{intaa[10]={1,2,3,4,5,6,7,8,9,10},s;
s=f(aa+2,4);printf("%d\n",s);
}
36.若有定義語句chars[100],d[100];intj=0,i=0;且s中已賦字符串,請?zhí)羁找詫崿F(xiàn)拷貝。(注:不使用逗號表達式)
while(s[i])(d[j]=【】;j++;}
d[j]=0;
37.以下程序的功能是從名為filea.dat的文本文件中逐個讀入字符并顯示在屏幕上。請?zhí)羁铡?/p>
#include<stdio.h>
main()
{FILE*fp;charch;
fp=fopen(【】);
ch=fgetc(fp);
while(!feof(fp)){putchar(ch);ch=fgetc(fp);}
putchar('\n');fclose(fp);
}
38.下列程序的運行結(jié)果是______。
#include<stdio.h>
main()
{inta=10,b=3;
printf("%d,",a%b);
printf("%d,",(a-h,a+b));
printf("%d\n",a-b?a-b:a+b);
}
39.數(shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和【】3種。
40.在先左后右的原則下,根據(jù)訪問根結(jié)點的次序,二叉樹的遍歷可以分為三種;前序遍歷、【】遍歷和后序遍歷。
三、1.選擇題(20題)41.以下所列的c語言常量中,錯誤的是______。
A.0xFFB.1.2e0.5C.2LD.'\72'
42.下列方法中,屬于白盒法設(shè)計測試用例的方法的是()。
A.錯誤推測B.因果圖C.基本路徑測試D.邊界值分析
43.為了避免在嵌套的條件語句ifelse中產(chǎn)生二義性,C語言規(guī)定,else子句總是與()配對。
A.縮排位置相同ifB.其前面最近的ifC.其后面最近的ifD.同一行上的if
44.下面敘述正確的是______。A.算法的執(zhí)行效率與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)
B.算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù)
C.算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止
D.以上三種描述都不對
45.以下能正確定義一維數(shù)組的選項是
A.inta[5]={0,1,2,3,4,5};
B.chara[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′};
C.chara={′A′,′B′,′C′};
D.inta[5]="0123";
46.有以下程序段:typedefstructNODE{intnum;structNODE*nex;}OLD;以下敘述中正確的是()。
A.以上的說明形式非法B.NODE是一個結(jié)構(gòu)體類型C.OLD是一個結(jié)構(gòu)體類型D.OLD是一個結(jié)構(gòu)體變量
47.有如下定義:structperson{charname[9];intage;}structpersonclass[10]={"John",17,"Paul",19,"Mary",18,"Adam",16};能輸出字母M的是()
A.printf("%c\n",class[3].name);
B.printf("%c\n",class[3].name[1]);
C.printf("%c\n",class[2].name[1]);
D.printf("%c\n",class[2].name[0]);
48.下列敘述中正確的是()。
A.程序設(shè)計過程中的主要工作是編制程序
B.程序設(shè)計的主要目標(biāo)是編制出運行結(jié)果正確的程序
C.不良的程序設(shè)計風(fēng)格會增加程序的復(fù)雜性
D.上述三種說法都不對
49.設(shè)有定義inta;floatb;執(zhí)行scanf("%2d%f",&a,&b);語句時,若從鍵盤輸入876543.0<回車>,a和b的值分別是______。
A.876和543.000000
B.87和6.000000
C.87和543.000000
D.76和543.000000
50.設(shè)有定義語句:intx[6]={2,4,6,8,5,7},*p=x,i;要求依次輸出x數(shù)組6個元素中的值,不能完成此操作的語句是()。
A.for(i=0;i<6;i++)printf("%2d",*(p++));
B.for(i=0;i<6;i++)printf("%2d",*(p+i));
C.for(i=0;i<6;i++)printf("%2d",*p++);
D.for(i=0;i<6;i++)printf("%2d",(*p)++);
51.以下不能定義為用戶標(biāo)識符的是()
A.MainB._0C._intD.sizeof
52.在C語言中,合法的長整型常數(shù)是()。
A.OLB.4962710C.324562&D.216D
53.下列關(guān)于線性鏈表的描述中,正確的是()。Ⅰ、只含有一個指針域來存放下一個元素地址Ⅱ、指針域中的指針用于指向該結(jié)點的前一個或后一個結(jié)點(即前件或后件)Ⅲ、結(jié)點由兩部分組成:數(shù)據(jù)域和指針域。
A.僅Ⅰ、ⅡB.僅Ⅰ、ⅢC.僅Ⅱ、ⅢD.全部
54.有以下程序:voidswap(char*x,char*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,abcB.abc,123C.1bc,a23D.321,cba
55.表達式'8'-'2'的值是()。
A.整數(shù)6B.字符6C.表達式不合法D.字符8
56.C語言中允許用外部說明來指定變量、函數(shù)和其他標(biāo)識符的特征,這里所說的外部指的是()。
A.冠以關(guān)鍵字externB.位置在函數(shù)體外部C.作用范圍是全程的D.位置在函數(shù)的外部
57.數(shù)據(jù)庫設(shè)計包括兩個方面的設(shè)計內(nèi)容,它們是()
A.概念設(shè)計和邏輯設(shè)計B.模式設(shè)計和內(nèi)模式設(shè)計C.內(nèi)模式設(shè)計和物理設(shè)計D.結(jié)構(gòu)特性設(shè)計和行為特性設(shè)計
58.有以下程序:#include<stdio.h>intfun(intx,inty){if(x==y)return(x);elsereturn((x+y)/2);}main(){inta=1,b=2,c=3;printf("%d\n",fun(2*a,fun(b,C)));}程序運行后的輸出結(jié)果是()。
A.2B.3C.4D.5
59.有以下程序:#include<stdio.h>main(){FILE*fp;inti,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w");fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]);fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]);fclose(fp);fp=fopen("d2.dat","r");fscanf(fp,"%d%d\n",&k,
A.12B.14C.1234D.123456
60.設(shè)定義下列結(jié)構(gòu)體,結(jié)構(gòu)體變量p的出生年份賦值正確的語句是()。structst{intx;inty;intz;}structworker{charname[20];charsex;structstbirth;}p;
A.x=1987B.birth.x=1987;C.p.birth.x=1987;D.p.x=1987;
四、選擇題(20題)61.(56)下列不屬于軟件調(diào)試技術(shù)的是()
A.強行排錯法
B.集成測試法
C.回溯法
D.原因排除法
62.
63.
64.(71)算法分析的目的是______。
A.找出數(shù)據(jù)結(jié)構(gòu)的合理性
B.分析算法的效率以求改進
C.分析算法的易懂性和可靠性
D.找出算法中輸入和輸出之間的關(guān)系
65.有以下程序:
程序運行后的輸出結(jié)果是()。
A.2.3B.1,3C.1,4D.1,2
66.數(shù)據(jù)結(jié)構(gòu)作為計算機的一門學(xué)科,主要研究數(shù)據(jù)的邏輯結(jié)構(gòu)、對各種數(shù)據(jù)結(jié)構(gòu)進行的運算,以及()
A.數(shù)據(jù)的存儲結(jié)構(gòu)B.計算方法C.數(shù)據(jù)映像D.邏輯存儲
67.
68.下列關(guān)于單目運算符++,——的敘述中正確的是()。
A.它們的運算對象可以是任何變量和常量
B.它們的運算對象可以是char型變量和int型變量,但不能是float型變量
C.它們的運算對象可以是int型變量,但不能是double型變量和float型變量
D.它們的運算對象可以是char型變量、int型變量和float型變量
69.
70.有以下程序:#include<stdio.h>main(){chars[]={"012xy"};inti,n=o;for(i=0;s[i]!='0';i++)if(s[i]>=as[i]<=z)n++;printf("%d\n",n);}程序運行后的輸出結(jié)果是()。A.0B.2C.3D.5
71.設(shè)fun函數(shù)的定義形式為voidfun(charch,floatx){…}則下列對函數(shù)fun的調(diào)用語句中,正確的是()。
A.fun("abc",3.0);
B.t=fun(D.16.5);
C.fun(65,2.8);
D.fun(32,32);
72.
73.
74.
75.在軟件工程中,白箱測試法可用于測試程序的內(nèi)部結(jié)構(gòu)。此方法將程序只看做是
A.路徑的集合B.循環(huán)的集合C.目標(biāo)的集合D.地址的集合
76.
77.有三個關(guān)系R、S和T如下:
則由關(guān)系R和s得到關(guān)系T的操作是()。
A.自然連接B.并C.交D.差
78.下列敘述中錯誤的是()。
A.一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲結(jié)構(gòu)
B.數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)的處理效率無關(guān)
C.數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)
D.數(shù)據(jù)的存儲結(jié)構(gòu)在計算機中所占的空間不一定是連續(xù)的
79.有以下程序:
程序運行后的輸出結(jié)果是()。
A.9B.8C.7D.10
80.設(shè)有如下關(guān)系表:
則下列操作中,正確的是()。
A.T=R∩SB.T=R∪SC.T=R×SD.T=R/S
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc的功能是:首先把b所指字符串中的字符按逆序存放,然后將str1所指字符串中的字符和Str2所指字符串中的字符,按排列的順序交叉合并到str所指數(shù)組中,過長的剩余字符接在str所指數(shù)組的尾部。例如,當(dāng)str1所指字符串中的內(nèi)容為ABCDEFG,str2所指字符串中的內(nèi)容為1234時,str所指數(shù)組中的內(nèi)容應(yīng)該為A483C2D1EFG;而當(dāng)str1所指字符串中的內(nèi)容為1234,str2所指字符串中的內(nèi)容為ABCEDFG時,str所指數(shù)組中的內(nèi)容應(yīng)該為1G2F31:4DCBA。
請修改程序中的錯誤,使它能得出正確的結(jié)果。
注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio。h>
#include<string.h>
voidproc(char*strl,char*str2,char*str){
inti,j;charch;
i=0;j=strleu(str2)-1;
//****found****
while(i>j)
{
ch=str2[i];str2[i]=str2[j];str2[j]=ch;
i++;j--;
}
while(*str1||*str2)
{
if(*str1){*str=*str1;str++;str1++;)
if(*str2){*str=*str2;str++;str2++;)
}
//****found****
*str=0:
}
voidmain
{
chars1[100],s2[100],t[200];
system("CLS");
printf("\nEnters1string:");
scanf("%s",sl);
printf("\nEnters2string:");
scanf("%s",s2);
proc(s1,s2,t);
printf("\nTheresultis:%s\n",t);
}
六、程序設(shè)計題(1題)82.有N個學(xué)生,每個學(xué)生的信息包括學(xué)號、性別、姓名、四門課的成績,從鍵盤上輸入N個學(xué)生的信息,要求輸出總平均成績最高的學(xué)生信息,包括學(xué)號、性別、姓名和平均成績。
參考答案
1.A解析:本題考查默認函數(shù)的函數(shù)值的類型。在函數(shù)定義時,由于函數(shù)沒有說明其類型,系統(tǒng)默認一律自動按整型處理,因此,函數(shù)的類型為int類型。
2.C結(jié)構(gòu)體變量中的第一成員都是數(shù)組,不能直接將變量tl的成員mark數(shù)組的地址賦給另一個變量t2的成員mark數(shù)組的地址。因為地址都是固定值,不能被賦值。結(jié)構(gòu)體可以進行整體的賦值。
3.DD)選項中*f(a,b)表示調(diào)用后返回一個指向整型數(shù)據(jù)的地址指針,即該函數(shù)的返回值為指針類型,所以不能將其賦值給整形變量k。
4.DC語言不允許定義動態(tài)數(shù)組,定義數(shù)組的大小必須為常量表達式。A選項錯誤,C語言中的數(shù)組沒有此類型的定義方法;B選項錯誤,定義數(shù)組應(yīng)指明數(shù)組大小,如果不指明數(shù)組大小,需要給定元素的個數(shù);C選項錯誤,N為變量,不能用來定義數(shù)組大小。故本題答案為D選項。
5.B本題考查按位異或的用法。按位異或運算的規(guī)則是:兩個運算數(shù)的相應(yīng)二進制位相同,則結(jié)果為0,相異則結(jié)果為1。b=2的二進制為00000010,a=1的二進制為00000001,a=a^b一00000011,轉(zhuǎn)化為十進制后為3,b=b^a=00000010^00000011=00000001,即1。
6.D關(guān)系R與s經(jīng)交運算后所得到的關(guān)系是由那些既在R內(nèi)又在S內(nèi)的共有元組組成的,記為RnS。
7.C
8.C
\n題中整型指針變量P存放的是變量C的地址。所以本題答案為C。
\n
9.A廣播/電視是一種單向的、點對多點(面)的以信息傳遞為主要目的的系統(tǒng)。
10.B
11.A選項A中,表達式“x%=k”結(jié)果為5,表達式“k%=5”結(jié)果為2,5-2結(jié)果為3;選項B中,“k%=5”結(jié)果為2,“x%=2”結(jié)果為0;選項C中,“k%5”結(jié)果為2,“k-k%5”結(jié)果為5,“x%5”結(jié)果為2;選項D中,“k%5”結(jié)果為2,“k-k%5”結(jié)果為5,x%5結(jié)果為2。故本題答案為A選項。
12.B
13.A++a與a++的區(qū)別是前者先自加再運算,后者是先運算后自加。
14.D
15.B
16.AFor循環(huán)結(jié)束后,數(shù)組a的值并沒有變化,由于數(shù)組是由0開始,所以a[2]的值是30。
17.C
18.A解析:由于本題定義的是共用體,所以成員表列中的整型變量x與字符數(shù)組c共占用同一個存儲單元,且此存儲單元為2個字節(jié),通常c[0]位于低字節(jié),c[1]位于高字節(jié),所以x.i的值為266。
19.D第1次循環(huán),a的值為1,滿足條件,執(zhí)行“b+=a;”與“a+=2;”,則b的值變?yōu)?,a的值變?yōu)?。執(zhí)行“a++”,a的值為4,滿足條件進入第2次循環(huán),執(zhí)行完循環(huán)體后,b的值為7,a的值為6。執(zhí)行“a++”,a的值為7,滿足條件進入第3次循環(huán),執(zhí)行完循環(huán)體后,b的值為14,a的值為9。執(zhí)行“a++”,a的值為10。條件不滿足,退出循環(huán)。故本題答案為D選項。
20.B
21.非線性結(jié)構(gòu)非線性結(jié)構(gòu)
22.99解析:f(3,4)=(4-3)×3=3,f(3,5)=(5-3)×3=6,所以d=f(f(3,4),f(3,5))=f(3,6)=(6-3)×3=9。
23.&a[i]a[i]&a[i]\r\na[i]解析:scanf的格式為:scanf(格式控制,地址表列),因此,第一處應(yīng)該填寫地址,由于是循環(huán)輸入,所以填&a[i]。依據(jù)題意第二處應(yīng)該填寫a[i],以實現(xiàn)sum=sum+a[i]的求和。
24.靜態(tài)分析靜態(tài)分析解析:程序測試分為靜態(tài)分析和動態(tài)測試。其中,靜態(tài)分析是指不執(zhí)行程序,而只是對程序文本進行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯誤。
25.8888解析:C語言規(guī)定,以0開頭的整型常量為八進制。另外,在primf()函數(shù)中,%X表示以十六進制無符號形式輸出一個整數(shù),且十六進制中的ABCDEF為大寫字母。本題的輸出應(yīng)該是八進制210的十六進制形式。將八進制轉(zhuǎn)換為十六進制,可以先將其轉(zhuǎn)換為二進制。因為1位八進制表示3位二進制,4位二進制表示1位十六進制。(210)8=(10001000)2=(88)16,故本題輸出為880
26.i==jk!i&&k!ji==j\r\nk!i&&k!j解析:本題用雙重for循環(huán)寫了一段0~9之間不同的3個數(shù)構(gòu)成一個三位數(shù)的程序,因為要求三位數(shù)各個位數(shù)的數(shù)不能相同,所以第一個空if語句的條件應(yīng)為i==j,即當(dāng)兩個位數(shù)上的數(shù)相同的時候,不再執(zhí)行下面的操作,轉(zhuǎn)去執(zhí)行for循環(huán)的下一次循環(huán)。第二個空,需要判斷第三位上的數(shù)不能與其他兩位的數(shù)相同。
27.ptrptr解析:本題考查函數(shù)指針的概念。函數(shù)指針的定義格式是:類型標(biāo)識符(*旨針變量名)()。注:“類型標(biāo)識符”為函數(shù)返回值的類型。
28.5858解析:本題中處理二維數(shù)組元素用了兩重循環(huán),外循環(huán)變量i表示數(shù)組的行,內(nèi)層循環(huán)變量j表示數(shù)組的列。在第二重循環(huán)中首先判斷數(shù)組元素的值是否小于0,若是則處理該行的下一個元素:若不是則判斷a[i][j],田的值是否等于0,若等于0則退出內(nèi)層循環(huán)開始處理下一行;其他情況下,把a[i][j]的值加到變量s中。所以本程序段的功能是把每行值為0的元素前面的所有大于。的元素值加到變量s中。
29.內(nèi)聚內(nèi)聚
30.*2*4*6*8**2*4*6*8*解析:程序中指針p指向數(shù)組a,while(*P)語句的循環(huán)條件是*p!=\'\\0\',在循環(huán)體中,當(dāng)i=0,2,4,6,8時,i%2=0,執(zhí)行*p=\'*\',即a[i]=\'*\',繼續(xù)執(zhí)行p++;i++;使i為奇數(shù);當(dāng)i=1,3,5,7時,i%2=1,繼續(xù)執(zhí)行p++;i++;使i為偶數(shù)??梢?,程序在字符串'123456789',的下標(biāo)為偶數(shù)的位置上賦值\'*\',代替原字符串中的1,3,5,7,9。所以,程序輸出結(jié)果為*2*4*6*8*。
31.1020010200解析:本題考查算術(shù)運算符,關(guān)系運算符和邏輯運算符的使用和優(yōu)先級關(guān)系。程序中,a=10,b=20,c=(10%20<1)||(10/20>1)=(10<1)||(0>1)=0||0=0。
32.77解析:解答本題的關(guān)鍵是要讀懂程序,要找出能被7或11整除的所有整數(shù),注意數(shù)學(xué)中的“或”和C語言中的“或”的區(qū)別,但在此處,if條件語句中用了“‖”運算符,若要找能同時被7和11整除的所有整數(shù)則在if的條件中應(yīng)使用“&&”運算符。
當(dāng)然,如果m的值輸入50,即表達式fun(10,aa,&n);為fun(50,aa,&n);時輸入結(jié)果為:711142122283335424449。
33.22132,2,1,3解析:本題考查++,--運算符和條件運算符的使用。
“表達式1?表達式2:表達式3”的功能是:表達式1的值若非0,則計算表達式2的值,且表達式2的值為最終結(jié)果;若表達式1的值為0,則計算表達式3的值,且為最終結(jié)果。
本題中,x=1,y=2時,x<y成立,輸出y的值2;y=2,z=3時,z<y不成立,執(zhí)行y++,輸出2后y值增1,所以最后一個輸出x的值不變?yōu)?,y的值為增加后的3。
34.66解析:本題定義了二維數(shù)組a和指針變量p,p指向數(shù)組的首地址,for循環(huán)語句的功能是給數(shù)組元素賦值,結(jié)果為a[0][0]=1、a[0][1]=2、a[0][2]=3、a[1][0]=4、a[1][1]=5、a[1][2]=6、a[2][0]=7、a[2][1]=8、a[2][2]=9,故printf函數(shù)的輸出結(jié)果為6。
35.本題主要考查函數(shù)的嵌套調(diào)用和數(shù)組名作為實參。實際程序運行結(jié)果應(yīng)為aa[2]+aa[3]+aa[4]+aa[5]=18。\r\n\r\n
36.s[i++]s[i++]解析:本題中為了能實現(xiàn)字符串的拷貝,需要使字符數(shù)組s從頭到尾依次遍歷其所有元素.本題應(yīng)使用i的自增后置來實現(xiàn)。
37.“filea.dat”“r”“filea.dat”,“r”解析:考查對文件的操作。fopen函數(shù)的調(diào)用方式通常為fopen(文件名,使用文件方式)。本題中要求程序可以打開filea.dat文件,并且是要讀取文件中的內(nèi)容,所以空白處應(yīng)當(dāng)填入'filea.dat','r'。
38.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。
39.關(guān)系模型關(guān)系模型解析:數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶與數(shù)據(jù)庫之間的一個標(biāo)準(zhǔn)接口。其總是基于某種數(shù)據(jù)模型,可以分為層次模型、網(wǎng)狀模型和關(guān)系模型。
40.中序中序解析:在先左后右的原則下,根據(jù)訪問根結(jié)點的次序,二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷.前序遍歷是指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先訪問根結(jié)點,然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時,仍然先訪問根結(jié)點,然后遍歷左子樹,最后遍歷右子樹。中序遍歷指在訪問根結(jié)點、遍歷左了樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹:并且遍歷左、右子樹時,仍然先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹。后序遍歷指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先遍歷右子樹,然后訪問根結(jié)點,最后遍歷左子樹;并且遍歷左、右子樹時,仍然光遍歷右子樹,然后訪問根結(jié)點,最后遍歷左子樹。
41.B解析:在C語言中常量可以用十進制數(shù)、八進制數(shù)、十六進制數(shù)來表示:也可以用轉(zhuǎn)義字符、長整型、科學(xué)計數(shù)法等來表示。選項A為十六進制表示法正確,故選項A正確。選項B為科學(xué)計數(shù)法,但在選項B中的科學(xué)計數(shù)的表示形式是錯誤的,指數(shù)不能為小數(shù),故選項B的表示法是錯誤的。選項C為長整型表示法正確,故C正確。選項D為轉(zhuǎn)義字符表示正確,故選項D的表示法是正確的。所以,4個選項中選項B符合題意。
42.CC)【解析】白盒測試方法也稱為結(jié)構(gòu)測試或邏輯測試,主要方法有邏輯覆蓋測試、基本路徑測試等。
43.B解析:本題考查ifelse語句。C語言規(guī)定,else總是與它前面的最近的if配對。
44.C解析:算法的執(zhí)行效率與數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)都有很緊密的關(guān)系。算法的空間復(fù)雜度是指執(zhí)行該算法需要的內(nèi)存空間,并非算法程序中指令的條數(shù)。算法一般應(yīng)該具有以下4個特征:可行性、確定性、有窮性和擁有足夠情報。其中,有窮性是指算法必須能在執(zhí)行有限個步驟之后終止,否則可能失去實際意義。
45.B解析:選項A)中,定義的初值個數(shù)大于數(shù)組的長度;選項C)中,數(shù)組名后少了中括號;選項D)中,整型數(shù)組不能賦予字符串。
46.C解析:typedef關(guān)鍵字用于聲明一個新的類型名代替已有的類型名。本題中如果沒有用typedef進行定義的話,則structNODE為結(jié)構(gòu)體類型,而用typedef定義后,相當(dāng)于用OLD代表了struetNODE這一結(jié)構(gòu)體類型,故OLD為結(jié)構(gòu)體類型。
47.D
48.C解析:程序設(shè)計過程中包括很多步驟,編制程序只是其中的一步。所以,選項A錯誤。
程序設(shè)計的最終產(chǎn)品是程序,但僅設(shè)計和編制出一個運行結(jié)果正確的程序是不夠的,還應(yīng)養(yǎng)成良好的程序設(shè)計風(fēng)格。所以,選項B錯誤。
程序設(shè)計的根本目標(biāo)是要降低程序的復(fù)雜性和提高程序的可讀性。而程序的復(fù)雜性主要來自以下兩個方面:問題固有的復(fù)雜性;不良的設(shè)計風(fēng)格人為增加了程序的復(fù)雜性。所以,良好的設(shè)計風(fēng)格對于降低程序的復(fù)雜性是很重要的,并且,好的設(shè)計風(fēng)格是好的程序風(fēng)格的基本保證。選項C正確。
49.B解析:“%2d”指定輸入數(shù)據(jù)所占寬度為2,&是C語言中的求地址運算符。
50.D解析:*p=x的作用是將x的首地址賦給指針變量p。選項A)正確,*(P++)中括號內(nèi)的++是在P的后面,所以它先取*P的值x[0],再執(zhí)行p++;選項B)正確,p+i表示x[i]的地址,*(p+i)表示x[i]的值;選項C)中的*和++處于同一優(yōu)先級別,而結(jié)合方向為自右而左,因此*p++相當(dāng)于*(p++),與選項A)相同;選項D)中的(*p)++是使*p的值+1,即x[0]的值加1,它不能實現(xiàn)指針的移動,每次循環(huán)只是x[0]的值在改變,而P的值并沒有改變,所以不能實現(xiàn)6個元素的輸出。
51.D解析:C語言規(guī)定標(biāo)識符只能由字母、數(shù)字和下劃線三種符號組成,而且第一個字符必須是字母或下劃線,標(biāo)識符名不能與關(guān)鍵字重名。選項A)中Main與主函數(shù)名main不同,所以選項D)是非法的標(biāo)識符。
52.A解析:長整型常數(shù)可用十進制、八進制、十六進制表示,要求在數(shù)后邊加上1或L作為后綴(必須加上后綴,否則無法判斷該常量是短整型、整型、無符號整型還是長整型)。選項B、c、D中都無后綴1或L,故選項B、c、D都不足合法的長整型常數(shù),只有選現(xiàn)A中有后綴L,是合法的長整型常數(shù)。
53.D解析:在定義的鏈表中,若只含育一個指針域來存放下一個元素地址,稱這樣的鏈表為單鏈表或線性鏈表。在鏈?zhǔn)酱鎯Ψ绞街校竺總€結(jié)點由兩部分組成:一部分用于存放數(shù)據(jù)元素值,稱為數(shù)據(jù)域:另一部分用于存放指針,稱為指針域。其中指針用于指向該結(jié)點的前一個或后一個結(jié)點(即前件或后件)。
54.C解析:首先看swap()函數(shù),函數(shù)中定義了一個臨時字符變量t,然后將形參指針x所指內(nèi)容存入t,再將形參指針y所指內(nèi)容存入到x所指內(nèi)容中,最后將臨時變量t的內(nèi)容存入到y(tǒng)所指內(nèi)容中。所以該函數(shù)實現(xiàn)的是:交換兩個字符指針?biāo)赶虻膬?nèi)容。在主函數(shù)中,首先定義了兩個字符指針s1和s2,同時用字符串'abc'和'123”來初始化它們,此時它們指向的是兩個字符串的第1個字符。所以,在調(diào)用完swap()函數(shù)后,彼此交換了兩個字符串的第1個字符,最后輸出結(jié)果為1bc,a23。故應(yīng)該選擇C。
55.A解析:在C語言中,雖然字符都是變?yōu)槠鋵?yīng)的ASCII碼值來參與算術(shù)運算的,但字符間的相對位置關(guān)系還是不變的,字符8和字符2的ASCII碼值相差仍是6。
56.DC語言中允許用位置在函數(shù)外部的說明來指定變量、函數(shù)和其他標(biāo)識符的特征。
57.A解析:模式設(shè)計和內(nèi)模式設(shè)計是概念設(shè)計的兩種方法。物理設(shè)計是根據(jù)特定的計算機系統(tǒng),對數(shù)據(jù)的存儲結(jié)構(gòu)和存取方法進行設(shè)計,從而實現(xiàn)從邏輯結(jié)構(gòu)到物理結(jié)構(gòu)的轉(zhuǎn)換。從系統(tǒng)開發(fā)的角度來看,結(jié)構(gòu)特性設(shè)計和行為特性-設(shè)計是數(shù)據(jù)庫應(yīng)用系統(tǒng)所具有的兩個特性。結(jié)構(gòu)特性的設(shè)計,設(shè)計各級數(shù)據(jù)庫模式(靜態(tài)特性):行為特性的設(shè)計,改變實體及其特性,決定數(shù)據(jù)庫系統(tǒng)的功能(動態(tài)特性)。
58.A
59.D解析:本題首先以創(chuàng)建方式打開文件d2.dat,兩次調(diào)用fprintf()函數(shù)把a[0]、a[1]、a[2]、a[3]、a[4]、a[5]的值寫到文件d2.dat中,文件d2.dat內(nèi)容為“1,2,3<回車>4,5,6”。然后把該文件關(guān)閉再以只讀方式打開,文件位置指向文件頭,再通過fscanf()函數(shù)從小讀取兩個整數(shù)到k和n中。
60.C解析:本題主要考查怎樣為嵌套定義的結(jié)構(gòu)中的成員賦值:由于worker中的birth是一個st型的結(jié)構(gòu),在給birth賦值時,不能將birth作為一個整體,要用“.”運算再深入一層訪問到最基本的成員x、y、z。
61.B
62.C
63.A
64.B
65.B在f(int+P,int4q)函數(shù)中,執(zhí)行P=P+1是將P所對應(yīng)的地址加1,而0q=+q+1是將q所指向的n的地址所對應(yīng)的值加1,所以m的得知所對應(yīng)的值沒有變,而n的值則為3了。因此B選項正確。
66.A數(shù)據(jù)結(jié)構(gòu)是計算機科學(xué)與技術(shù)領(lǐng)域廣泛使用的一個基本術(shù)語,用來反映數(shù)據(jù)的內(nèi)部構(gòu)成。
一般來說,數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲結(jié)構(gòu)、數(shù)據(jù)的操作三個方面的內(nèi)容。數(shù)據(jù)的邏輯結(jié)構(gòu)又稱為數(shù)據(jù)的外部結(jié)構(gòu),指各數(shù)據(jù)元素之間的邏輯關(guān)系,反映人們對數(shù)據(jù)含義的解釋。數(shù)據(jù)的邏輯結(jié)構(gòu)反映數(shù)據(jù)的邏輯關(guān)系,與數(shù)據(jù)的存儲沒有關(guān)系,是獨立于計算機的。它有兩大類邏輯機構(gòu):線性結(jié)構(gòu)和非線性結(jié)構(gòu)。
數(shù)據(jù)的存儲結(jié)構(gòu)又稱為數(shù)據(jù)的物理結(jié)構(gòu),是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的表示,即邏輯結(jié)構(gòu)在計算機中的實現(xiàn)。一個數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲結(jié)構(gòu)。數(shù)據(jù)的存儲結(jié)構(gòu)要充分利用存儲器的“空間相鄰”和“隨機訪問”的特點。
67.B
68.D++(或——)的運算結(jié)果是使運算對象增1(或減1);運算對象可以是整型變量、實型變量,也可以是字符型變量,但不能是常量或表達式。++(或——)的結(jié)合方向是”自右向左”。
69.D
70.B本題考查for循環(huán)。當(dāng)i=0時,開始for循環(huán),因為數(shù)組的下標(biāo)是從0開始的,所以s[o]=0,不符合for循環(huán),不執(zhí)行下邊的語句,當(dāng)i=1時,繼續(xù)執(zhí)行if語句,if語句的功能是如果在小寫字母a~z,則記數(shù)n加1。所以本題結(jié)果為2。
71.C由題目的已知條件函數(shù)fun的定義形式voidfun(charch,floatx){…)可知第一個形參為字符型,所以A不符合,第二個形參為精度型,所以D不符合,函數(shù)fun定義為void型(無論返回值型),故其沒有返回值,所以選項B錯誤。選項C的第一個實
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園餐飲供貨協(xié)議
- 附錄一國家行政機關(guān)公文處理辦法現(xiàn)代應(yīng)用文書寫作(第三版)教學(xué)課件電子教案
- 2025年度個人所得稅贍養(yǎng)老人專項附加扣除協(xié)議執(zhí)行細則4篇
- 2025年度個人留學(xué)擔(dān)保合同模板
- 2025年度個人收入證明范本及稅務(wù)合規(guī)服務(wù)合同
- 2025-2030全球氫混合鍋爐行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球CO2激光冷水機行業(yè)調(diào)研及趨勢分析報告
- 2024年女職工權(quán)益保護及性別平等知識有獎知識競賽題庫及答案
- 2024年居民健康素養(yǎng)知識競賽考試題庫含答案
- 2025年個人間技術(shù)秘密保護保密合同4篇
- 江蘇省無錫市2023-2024學(xué)年八年級上學(xué)期期末數(shù)學(xué)試題(原卷版)
- 2024年全國統(tǒng)一高考數(shù)學(xué)試卷(新高考Ⅱ)含答案
- 消防救援-低溫雨雪冰凍惡劣天氣條件下災(zāi)害防范及救援行動與安全
- 供熱管網(wǎng)工程監(jiān)理大綱
- 國家臨床醫(yī)學(xué)研究臨床中心五年發(fā)展規(guī)劃
- 移動商務(wù)內(nèi)容運營(吳洪貴)任務(wù)四 引起受眾傳播內(nèi)容要素的掌控
- 安徽新宸新材料有限公司年產(chǎn)6000噸鋰離子電池材料雙氟磺酰亞胺鋰項目環(huán)境影響報告書
- 繪本《汪汪的生日派對》
- 分手的協(xié)議書模板(5篇)
- 助產(chǎn)護理畢業(yè)論文
- 地震工程學(xué)概論課件
評論
0/150
提交評論