版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021-2022年四川省廣元市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)真題二卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.下面程序的輸出結(jié)果是______。#include<stdio.h>main(){char*p[]={"BOOL","OPK","H","SP"};inti:for(i=3;i>=0;i-,i-)printf("%c",*p[i]);printf("\n");}
A.SOB.SPC.SPOPKD.SHOB
2.要求通過while循環(huán)不斷讀入字符,當(dāng)讀入字母N時(shí)結(jié)束循環(huán),若變量已正確定義,下列正確的程序段是()。
A.while((ch—getchar)!=N)printf("%c",ch);
B.while(oh=getchar!=N)printf("%c",ch);
C.while(ch=getchar==N)printf("%c",ch);
D.while((ch—getchar)==N)printf("%c",ch);
3.fgetc函數(shù)的作用是從指定文件讀入—個(gè)字符,該文件的打開方式必須是______。
A.只讀B.追加C.讀或讀寫D.以上均正確
4.
5.在下面的二維數(shù)組定義中,正確的是()。
A.inta[5][];
B.inta[][5];
C.inta[][3]={{1,3,5},{2}};
D.inta[](10);
6.下列程序的運(yùn)行結(jié)果是()。#include<stdio.h>#defineADD(x)x+xmain{intm=1,n=2,k=3;intS=ADD(m+n)*k;printf("s=%d",s);}A.sum=18B.sum=10C.sum=9D.sum=25
7.若x,y,z均被定義為整數(shù),則下列表達(dá)式能正確表達(dá)代數(shù)式1/(x*y*z)的是()。A.1/x*y*zB.1.0/(x*y*z)C.1/(x*y*z)D.1/x/y/(float)z
8.用鏈表表示線性表的優(yōu)點(diǎn)是()。
A.便于隨機(jī)存取B.花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少C.便于捅入和刪除操作D.數(shù)據(jù)元素的物理順序與邏輯順序相同
9.設(shè)無向圖的頂點(diǎn)數(shù)為n,則該圖最多有()條邊。
A.n-1B.n(n-1)/2C.n(n+1)/2D.0
10.若有定義“inta=3,*p=&a,**q=&p;”,則以下敘述中錯(cuò)誤的是()。
A.q是指針變量,*q就是變量a
B.p是指針變量,p指向變量a
C.q指向變量p,所以*q指向變量a
D.*p與**q都代表變量a
11.存儲(chǔ)以下數(shù)據(jù),占用存儲(chǔ)字節(jié)最多的是()。
A.0B.‘0’C.“0”D.0.0
12.設(shè)有如下類型說明語句:typedefstruct{intnum;struct{inty,m,d;}date;}PER;則以下定義結(jié)構(gòu)體數(shù)組并賦初值的語句中錯(cuò)誤的是()。
A.PERst[2]={{1001},2008,8,1,{1002},2006,5,20};
B.PERst[2]={1001,{2008,8,1},1002,{2006,5,20}};
C.PERst[2]={{1001,2008,8,1},{1002,2006,5,20}};
D.PERst[2]={1001,2008,8,1,1002,2006,5,20};
13.下列各排序法中,最壞情況下的時(shí)間復(fù)雜度最低的是()
A.希爾排序B.快速排序C.堆排序D.冒泡排序
14.若有說明語句:double*p,a;則通過scanf語句正確給輸入項(xiàng)讀人數(shù)據(jù)的程序段是()。
A.*p=&a;scanf("%1f”,p);
B.*p=&a;scanf("%f",p);
C.p=&a;scanf("%",*p);
D.p=&a;scanf("%1f",p);
15.有以下程序:#includemain(){intx,y,z;x=y=1;z=x++,y++,++y;printf(“%d,%d,%d\n”,x,y,z);}程序運(yùn)行后的輸出結(jié)果是()。A.2.3.3B.2.3.2C.2.3.1D.2.2.1
16.在面向?qū)ο蠓椒ㄖ校瑢?shí)現(xiàn)信息隱蔽是依靠()。
A.對(duì)象的繼承B.對(duì)象的多態(tài)C.對(duì)象的封裝D.對(duì)象的分類
17.以下對(duì)軟件特點(diǎn)描述錯(cuò)誤的是()。
A.軟件的使用存在老化問題B.軟件的復(fù)雜性高C.軟件是一種邏輯實(shí)體,具有抽象性D.軟件的運(yùn)行對(duì)計(jì)算機(jī)系統(tǒng)具有依賴性
18.下面不屬于需求分析階段任務(wù)的是()。
A.確定軟件系統(tǒng)的功能需求B.確定軟件系統(tǒng)的性能需求C.制定軟件集成測(cè)試計(jì)劃D.需求規(guī)格說明書評(píng)審
19.以下敘述中錯(cuò)誤的是()。
A.C語言編寫的函數(shù)源程序,其文件名后綴可以是C
B.C語言編寫的函數(shù)都可以作為一個(gè)獨(dú)立的源程序文件
C.C語言編寫的每個(gè)函數(shù)都可以進(jìn)行獨(dú)立的編譯并執(zhí)行
D.一個(gè)C語言程序只能有一個(gè)主函數(shù)
20.以下敘述中錯(cuò)誤的是A.算法正確的程序最終一定會(huì)結(jié)束
B.算法正確的程序可以有零個(gè)輸出
C.算法正確的程序可以有零個(gè)輸入
D.算法正確的程序?qū)τ谙嗤妮斎胍欢ㄓ邢嗤慕Y(jié)果
二、2.填空題(20題)21.下面程序的輸出結(jié)果是【】。
#defineMAX3
inta[MAX];
main()
{fun1();fun2(a);printf("\n");}
fun1()
{intk,t=0;
for(k=0;k<MAX;k++,t++)a[k]=t+t;
}
fun2(intb[])
{intk;
for(k=0;k<MAX;k++)printf("%d",*(b+k));
}
22.在一個(gè)容量為25的循環(huán)隊(duì)列中,若頭指針front=16,尾指針rear=9,則該循環(huán)隊(duì)列中共有上【】個(gè)元素。
23.下面程序的功能是用來統(tǒng)計(jì)文件中字符個(gè)數(shù)。請(qǐng)?zhí)羁铡?/p>
#include"stdio.h"
main()
{longcount=OL;
FILE*fp=【】("text.dat","r");
if(fp==0)
{printf("Openerror\n");
exit(0);
}
while(【】)
{
fgetc(fp);
count++;
}
fclise(fp);
printf("%1d\n",count);
}
24.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和方法的機(jī)制稱為______。
25.棧的3種基本運(yùn)算是:入棧、退棧和______。
26.程序如下:
main()
{inti=4;
printf("%d",-++i);
}
該程序執(zhí)行后的輸出結(jié)果以及i的值分別是______、_______。
27.關(guān)系模型的數(shù)據(jù)操作即是建立在關(guān)系上的數(shù)據(jù)操作,一般有【】、增加、刪除和修改四種操作。
28.表示“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”的C語言表達(dá)式是______。
29.閱讀下列程序,則程序的輸出結(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';}
30.以下程序的運(yùn)行結(jié)果為【】。
main()
{inti,j,a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12},b[4][3];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
b[j][i]=a[i][j];
for(i=0;i<4;i++)
{for(j=0;j<3;j++)
printf("%-3d",b[i][j]);
printf("\n");
}
}
31.以下程序從終端讀入數(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=%d\n",sum,count);
}
32.以下程序運(yùn)行后的輸出結(jié)果是【】。
#include<stdio.h>
structNODE
{intnum;structNODE*next;
main()
{struetNODEs[3]={{.'\0'},{2,'\0'},{3,'\O'}},*p,*q,*r;
intsum=0;
s[0].next=s+1;s[1].next=s+2;s[2].next=s;
p=s;q=p->next;r=q->next:
sum+=q->next->num;sum+=r->next->next->num;
prinff("%d\n",sum);
}
33.在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種;前序遍歷、【】遍歷和后序遍歷。
34.有以下程序
intf(intn)
{if(n==1)return1;
elsereturnf(n-1)+1;}
main()
{inti,j=0;
for(i=1;i<3;i++)j+=f(i);
printf("%d\n"j);}
程序運(yùn)行后的輸出結(jié)果是______。
35.下列程序的運(yùn)行結(jié)果是【】。
#include<string.h>
char*ss(char*s)
{returns+strlen(s)/2;}
main()
{char*p,*str="abcdefgh";
p=ss(str);printf("%\n",p);
}
36.以下程序中函數(shù)f的功能是在數(shù)組x的n個(gè)數(shù)(假定n個(gè)數(shù)互不相同)中找出最大最小數(shù),將其中最小的數(shù)與第一個(gè)數(shù)對(duì)換,把最大的數(shù)與最后一個(gè)數(shù)對(duì)換。請(qǐng)?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
37.下列程序的輸出結(jié)果是【】。
main()
{
inta[]={2,4,6},*prt=&a[0],x=8,y,z;
for(y=0;y<3;y++)
z=(*(ptr+y<x)?*(ptr+y):x;
printf("%d\n",z);
}
38.在兩種基本測(cè)試方法中,【】測(cè)試的原則之一是保證所測(cè)模塊中每一個(gè)獨(dú)立路徑至少要執(zhí)行一次。
39.下列程序執(zhí)行后輸出的結(jié)果是【】。
f(intA)
{staticc=0;
c=a+c++;
return(c);
}
main()
{inta=2,i,k;
for(i=0;i<2;i++)
k=f(a++);
printf("%d\n",k);
}
40.若輸入字符串:abcde<回車>,則以下while循環(huán)體將執(zhí)行【】次。
while((ch=getchar())=='e')printf("*");
三、1.選擇題(20題)41.有以下程序:#include<stdio,h>main(){chara1='M',a2='m';printf("%c\n",(a1,a2));}以下敘述中正確的是()。
A.程序輸出大寫字母MB.程序輸出小寫字母mC.格式說明符不足,編譯出錯(cuò)D.程序運(yùn)行時(shí)產(chǎn)生出錯(cuò)信息
42.若有以下的說明和語句,則在執(zhí)行for語句后,*(*(pt+1)+2)表示的數(shù)組元素是______。intt[3][3],*pt[3],k;for(k=0;k<3k++)pt[k]=&t[k][0]
A.t[2][0]B.t[2][2]C.t[1][2]D.t[2][1]
43.有以下程序
#include<stdlib.h>
structNODE
{intnum;stmctNODE*next;};
main()
{structNODE*p,*q,*r;
p=(structNODE*)malloc(sizeof(structNODE));
q=(structNODE*)malloc(sizeof(structNODE));
r=(structNODE*)malloc(sizeof(structNODE));
p->num=10;q->num=20;r->num=30;
p->next=q;q->next=r;
printf(“%d\n”,p->num+q->next->num);
}
程序運(yùn)行后的輸出結(jié)果是
A.10B.20C.30D.40
44.有以下程序
#include<stdio.h>
main()
{charc1,c2,c3,c4,c5,c6;
scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
c5=getchar();c6=getchar();
putchar(c1);putchar(c2);
printf("%c%c\n",c5,c6);
}
程序運(yùn)行后,若從鍵盤輸入(從第1列開始)
123<回車>
45678<回車>
則輸出結(jié)果是
A.1267B.1256C.1278D.1245
45.有以下程序:main(){inti;for(i=1,i<=40;i++){if(i++%5==0)if(++i%8==0)printf("%d",i);}printf("\n");}執(zhí)行后的輸出結(jié)果是()。
A.5B.24C.32D.40
46.下列選項(xiàng)中正確的語句組是()。
A.chars[8];s={"Beijing"};
B.char*s;s={"Beijing"};
C.chars[8];s="Beijing";
D.char*s;s="Beijing";
47.下面程序的輸出是______。typedefunion{longx[2];inty[4];charz[8];}MYTYPE;MYTYPEthem;mare(){printf("%d\n",sizeof(them));}
A.32B.16C.8D.24
48.下列程序的輸出結(jié)果是()。
#include<stdio.h>
#defineF(x)2.84+x
#definew(y)printf("%d",(int(y))
#defineP(y)w(y)pmchar('\n'》
main()
{intx=2;
P(F(5)*x);
}
A.12B.13C.14D.16
49.執(zhí)行以下語句的結(jié)果為______。y=10;x=y++;
A.x-10,y=10B.x=11,y=11C.x=10,y=11D.x=11,y=10
50.在執(zhí)行完下列的C語句段之后,則B的值是()。chara='A';intb;B=((34&&56)&&(a<'b'));
A.0B.1C.TRUED.FALSE
51.單個(gè)用戶使用的數(shù)據(jù)視圖的描述稱為______。
A.外模式B.概念模式C.內(nèi)模式D.存儲(chǔ)模式
52.下列二維數(shù)組初始化語句中,不正確的是()。
A.intb[][2]={1,2,3,4,5,6,7};
B.intb[3][5]={0,0,0};
C.intb[][4]={{1,2},{3,4,5},{6}};
D.intb[3][2]={(1,2),(3,4),(5,6)};
53.有以下程序:#include<string.h>main(){charstr[][20]={"Hello","Beijing"}*p=str;printf("%\n",strlen(p+20));}程序運(yùn)行后的輸出結(jié)果是
A.0B.5C.7D.20
54.下面程序的輸出是_______。typedefunion{longx[2];inty[4];charz[8];}MYTYPE;MYTYPEthem;main(){printf("%d\n",sizeof(them));}
A.32B.16C.8D.24
55.有下列程序:main(){intk=5,n=0;do{switch(k){case1:case3:n+=1;k--;break;default:n=0;k--;case2:case4;n+=2;k--;break;}printf("%d",n);}while(k>0&&n<5);}程序運(yùn)行后的輸出結(jié)果是()。
A.235B.235C.2356D.2356
56.有下列程序:main(){inti;for(i=1;i<=40;i++){if(i++%5==0)if(++i%8==0)printf("%d",i);}printf("\n");}執(zhí)行后的輸出結(jié)果是()。
A.5B.24C.32D.40
57.設(shè)變量均已正確定義,若要通過scanf("%d%c%d%c”,&a1,&e1,&a2,&c2);語句為變量a1和a2賦數(shù)值10和20,為變量c1和c2賦字符X和Y。下列所示的輸入形式中正確的是(注:口代表空格字符)()。
A.10□X□20□Y<CR>
B.10□X20□Y<CR>
C.10□X<CR>20Y<CR>
D.10X<CR>20□Y<CR>
58.以下敘述中正確的是()。
A.構(gòu)成C程序的基本單位是函數(shù)
B.可以在一個(gè)函數(shù)中定義另一個(gè)函數(shù)
C.main函數(shù)必須放在其他函數(shù)之前
D.C函數(shù)定義的格式是K&R格式
59.有以下程序main(){inta=3,b=4,c=5,d=2;if(a>B)if(b>C)printf("%d",d+++1);elseprintf("%d",++d+1);printf("%d\n",D);}程序運(yùn)行后的輸出結(jié)果是
A.2B.3C.43D.44
60.若有如下程序:intsub(){staticintn=1;intx=1;x*=n;n++;returnx;}main(){intn,t=1;for(n=1;n<6;n++)t*=sub();printf("%d\n",t);}則程序運(yùn)行后的輸出結(jié)果是()
A.15B.120C.34560D.-30976
四、選擇題(20題)61.排序的一個(gè)重要目的是為了對(duì)已排序數(shù)據(jù)進(jìn)行
A.合并B.打印輸出C.查找D.分類
62.(21)算法的空間復(fù)雜度是指______。
A.算法程序的長度
B.算法程序中的指令條數(shù)
C.算法程序所占的存儲(chǔ)空間
D.算法執(zhí)行過程中所需要的存儲(chǔ)空間
63.有以下程序:
#include<stdio.h>
#include!(string.h>
voidfun(char*w,intm)
{charS,*pl,*p2;
p1=w;p2=w+m-;
while(pl<p2){s=*pl;*p1=*p2;*p2=s;pl++;p2-;}
}
main()
{chara[]="l23456";
fun(a,strlen(a));puts(a);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.654321
B.116611
C.161616
D.l23456
64.對(duì)于循環(huán)隊(duì)列,下列敘述中正確的是()。
A.隊(duì)頭指針是固定不變的
B.隊(duì)頭指針一定大于隊(duì)尾指針
C.隊(duì)頭指針一定小于隊(duì)尾指針
D.隊(duì)頭指針可以大于隊(duì)尾指針,也可以小于隊(duì)尾指針
65.若有定義語句:intm[]={1,2,3,4,5},i=4;,則下面對(duì)m數(shù)組元素的引用中錯(cuò)誤的是
A.m[++i]B.m[1*2]
C.m[m[0]]D.m[m[--i]]
66.在以下選項(xiàng)中,能正確調(diào)用對(duì)象屬性的語句是()。
A.對(duì)象名(屬性名)B.對(duì)象名一>屬性名C.對(duì)象名屬性名D.對(duì)象名.屬性名
67.有以下程序
#include<stdio.h>
#defineP24;
#defineS(x)P*x+x;
main()
{inta=2,b=2;
printf("%d\n",S(a+b));
}
程序的運(yùn)行結(jié)果是
A.程序編譯運(yùn)行時(shí)報(bào)錯(cuò),無法輸出B.54
C.96D.100
68.在下列給出的表達(dá)式中,與while(E)中的(E)不等價(jià)的表達(dá)式是()。A.(!E==0)B.(E>0||E<0)C.(E==0)D.(E!=0)
69.
70.閱讀下列程序,當(dāng)運(yùn)行函數(shù)時(shí),輸入abcdefgzl0,則輸出為()。
A.abcB.zl0C.abcdefgzl0abcdefgzl0D.abcdefgzl0
71.
72.有以下程序
73.
74.下列敘述中錯(cuò)誤的是()。
A.線性表是由n個(gè)元素組成的一個(gè)有限序列
B.線性表是一種線性結(jié)構(gòu)
C.線性表的所有結(jié)點(diǎn)有且僅有一個(gè)前件和后件
D.線性表可以是空表
75.應(yīng)用數(shù)據(jù)庫的主要目的是A.A.解決數(shù)據(jù)保密問題
B.解決數(shù)據(jù)完整性問題
C.解決數(shù)據(jù)共享問題
D.解決數(shù)據(jù)量大的問題
76.
77.下列關(guān)于C語言數(shù)據(jù)文件的敘述中正確的是______。
A.文件由ASCII碼字符序列組成,C語言只能讀寫文本文件
B.文件由二進(jìn)制數(shù)據(jù)序列組成,C語言只能讀寫二進(jìn)制文件
C.文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件
D.文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件
78.
以下程序的輸出結(jié)果是()。
main
{inti;
for(i=0;i<3;i++)
switch(i){case0:printf("%d",i);
case2:printf("%d",i);
default:printf("%d",i);
}
}
A.000102B.000020C.000122D.000111
79.在c語言中,變量的隱含存儲(chǔ)類別是()。
A.autoB.staticC.externD.無存儲(chǔ)類別
80.設(shè)已有定義:floatx;,則以下對(duì)指針變量P進(jìn)行定義且賦初值的語句中正確的是()。
A.int*p=(float)x;
B.float*p=&x;
C.floatp=&x;
D.float=1024;
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:從3個(gè)紅球,5個(gè)白球,6個(gè)黑球中任意取出8個(gè)作為一組,進(jìn)行輸出。在每組中,可以沒有黑球,但必須要有紅球和白球。組合數(shù)作為函數(shù)值返回。正確的組合數(shù)應(yīng)該是l5。程序中i的值代表紅球數(shù),j的值代表白球數(shù),k的值代表黑球數(shù)。
請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫函數(shù)fun(),該函數(shù)的功能是統(tǒng)計(jì)各年齡段的人數(shù)。N個(gè)年齡通過調(diào)用隨機(jī)函數(shù)獲得,并放入主函數(shù)的age數(shù)組中。要求函數(shù)把0~9歲的人數(shù)存放在d[0]中,把10~19歲的人數(shù)存放在d[1]中,把20~29歲的人數(shù)存放在d[2]中,依此類推,把100歲(含100歲)以上年齡的人數(shù)都存放在d[10]中。結(jié)果在主函數(shù)中輸出。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語句。試題程序:
參考答案
1.A解析:p[0]存放的是“BOOL\\0”的首地址:p[1]存放的是“OPK\\0”的首址等。在printf語句中輸出的*p[i]表示p[i]字符串的第—個(gè)字符。在for循環(huán)中,i的初值為3,那么輸出的第—個(gè)字符為“S”,接著兩次i--,則輸出的值為*p[1],即字符“O”,所以本題的輸出為SO。
2.Awhile循環(huán)的執(zhí)行過程如下:①計(jì)算while后面圓括號(hào)中表達(dá)式的值。當(dāng)值為非0時(shí),執(zhí)行步驟②;當(dāng)值為0時(shí),執(zhí)行步驟④。②執(zhí)行循環(huán)體一次。③轉(zhuǎn)去執(zhí)行步驟①。④退出循環(huán)。在選項(xiàng)A中,表達(dá)式(ch=get-char)!=N表示輸入的字符不等于N,如果這個(gè)條件表達(dá)式成立,則執(zhí)行循環(huán)體,打印輸出輸入的字符。如果這個(gè)條件表達(dá)式不成立,即輸入的字符等于N,則退出循環(huán)。所以選項(xiàng)A為正確答案。
3.D解析:fgetc函數(shù)是指從指定的文件讀入—個(gè)字符,該文件必須是以讀或讀寫方式打開的。fgetc函數(shù)的調(diào)用形式為:ch=fgetc(fp);。
4.B
5.C
6.B本題考查帶參數(shù)的宏的定義:“#defineADD(x)x+x”中X代表m+n,故s寫成s=m+n+m+n*k=1+2+1+2*3=10。
7.B
8.C數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)兩種。不同存儲(chǔ)結(jié)構(gòu)的數(shù)據(jù)處理效率不同。由于鏈表采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),元素的物理順序并不連續(xù),對(duì)于插入和刪除無需移動(dòng)元素,很方便,當(dāng)查找元素時(shí)就需要逐.個(gè)元素查找,因此查找的時(shí)間相對(duì)更長。
9.B
10.A由題意可知:指針變量p指向變量a,p的值是a的地址;指針變量q指向變量p,q的值是P的地址。q是指針變量,q指向p,*q是變量P,選項(xiàng)A錯(cuò)誤;p是指針變量,p指向變量a,選項(xiàng)B正確;由于q指向P,因此*q指向a,選項(xiàng)C正確;*p和**q都代表變量a,選項(xiàng)D正確。故本題答案為A選項(xiàng)。
11.D
12.A結(jié)構(gòu)體PER類型定義了兩個(gè)成員:num為整型,date為嵌套的結(jié)構(gòu)體類型。初始化時(shí),成員值的順序必須與成員定義的順序相同,num必須是整數(shù),date必須是用花括號(hào)標(biāo)注的嵌套的3個(gè)整數(shù)。選項(xiàng)A中,{1001}和{1002}都不是整數(shù),所以選項(xiàng)A錯(cuò)誤。故本題答案為A選項(xiàng)。
13.C
14.Ddouble*p,a定義了一個(gè)指向雙精度型的指針變量P和雙精度型變量a,p=&a表示將變量a的地址賦給指針變量p;scanf("%If",p)表示用鍵盤輸入的數(shù)賦給指針變量P所指向的地址單元中,scanf函數(shù)要求在輸入double型數(shù)據(jù),格式控制符必須用%1f。否則,數(shù)據(jù)不能正確輸入。所以選項(xiàng)D正確。
15.C整型變量x、y的初值都為1,“x++,y++,++y”是一個(gè)逗號(hào)表達(dá)式,程序執(zhí)行“z=x++,y++,++y”之后,x的值為2,y的值為3,z取逗號(hào)表達(dá)式中的第二個(gè)表達(dá)式的值,為1。因此本題的答案為選項(xiàng)C。
16.C解析:通常認(rèn)為,面向?qū)ο蠓椒ň哂蟹庋b性、繼承性、多態(tài)性幾大特點(diǎn)。就是這幾大特點(diǎn),為軟件開發(fā)提供了一種新的方法學(xué)。
封裝性:所謂封裝就是將相關(guān)的信息、操作與處理融合在一個(gè)內(nèi)含的部件中(對(duì)象中)。簡單地說,封裝就是隱藏信息。這是面向?qū)ο蠓椒ǖ闹行?,也是面向?qū)ο蟪绦蛟O(shè)計(jì)的基礎(chǔ)。
繼承性:子類具有派生它的類的全部屬性(數(shù)據(jù))和方法,而根據(jù)某一類建立的對(duì)象也都具有該類的全部,這就是繼承性。繼承性自動(dòng)在類與子類間共享功能與數(shù)據(jù),當(dāng)某個(gè)類作了某項(xiàng)修改,其子類會(huì)自動(dòng)改變,子類會(huì)繼承其父類所有特性與行為模式。繼承有利于提高軟件開發(fā)效率,容易達(dá)到一致性。
多態(tài)性:多態(tài)性就是多種形式。不同的對(duì)象在接收到相同的消息時(shí),采用不同的動(dòng)作。例如,一個(gè)應(yīng)用程序包括許多對(duì)象,這些對(duì)象也許具有同一類型的工作,但是卻以不同的做法來實(shí)現(xiàn)。不必為每個(gè)對(duì)象的過程取一過程名,造成復(fù)雜化,可以使過程名復(fù)用。同一類型的工作有相同的過程名,這種技術(shù)稱為多態(tài)性。
經(jīng)過上述分析可知,在面向?qū)ο蠓椒ㄖ?,?shí)現(xiàn)信息隱蔽是依靠對(duì)象的封裝。正確答案是選項(xiàng)C。
17.A軟件具有以下特點(diǎn)。①軟件是一種邏輯實(shí)體,具有抽象性。②軟件沒有明顯的制作過程。③軟件在使用期間不存在磨損、老化問題。④對(duì)硬件和環(huán)境具有依賴性。⑤軟件復(fù)雜性高,成本高。⑥軟件開發(fā)涉及諸多的社會(huì)因素。本題答案為A選項(xiàng)。
18.C【答案】:C
【知識(shí)點(diǎn)】:需求分析階段的任務(wù)
【解析】:需求分析階段的任務(wù)是深入描述軟件的功能和性能,確定軟件設(shè)計(jì)的約束和軟件同其他系統(tǒng)元素的接口細(xì)節(jié),定義軟件的其他有效性需求,借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)邏輯模型,解決目標(biāo)系統(tǒng)“做什么”的問題??煞譃樾枨筇岢?、需求描述及需求評(píng)審三個(gè)階段。從此可以看出需求分析的任務(wù)不包括制定軟件集成測(cè)試計(jì)劃,故選C。
19.C函數(shù)是指預(yù)先定義功能塊,其目的是提高程序的重用性。在C語言中函數(shù)的源程序,后綴名可以為C。C語言所編寫的函數(shù)都可以是一個(gè)獨(dú)立的源文件。一個(gè)C語言程序只能有一個(gè)主函數(shù)。C語言中編寫的函數(shù)不是每個(gè)都可以獨(dú)立地編譯和執(zhí)行的,因?yàn)镃語言中程序的開始為主函數(shù),如果程序中沒有主函數(shù)則無法進(jìn)行編譯和執(zhí)行。
20.B(45)B)解析:算法應(yīng)該具有下列五個(gè)特性:
①有窮性:一個(gè)算法必須在執(zhí)行有窮步之后結(jié)束。
②確定性:算法中的每一步,必須有確切的含義,在他人理解時(shí)不會(huì)產(chǎn)生二義性。
③動(dòng)態(tài)性:算法中描述的每一步操作都可以通過已有的基本操作執(zhí)行有限次實(shí)現(xiàn)。
④輸入:一個(gè)算法應(yīng)該有零個(gè)或多個(gè)輸入。
⑤輸出:一個(gè)算法應(yīng)該有一個(gè)或多個(gè)輸出。這里所說的輸出是指與輸入有某種特定關(guān)系的量。
21.024
22.1818解析:設(shè)循環(huán)隊(duì)列的容量為n。若rear>front,則循環(huán)隊(duì)列中的元素個(gè)數(shù)為rear-front;若rear<front,則循環(huán)隊(duì)列中的元素個(gè)數(shù)為n+(rear-from)。題中,front=16,rear=9,即rear>front,所以,循環(huán)隊(duì)列中的元素個(gè)數(shù)為m+(rear-front)=25+(9-16)=18。
23.fopen!feof(fp)fopen\r\n!feof(fp)解析:第一空從右邊的括號(hào)中可以看出,這里應(yīng)該填入一個(gè)fopen,整條語句用來打開一個(gè)名為text.dat的文件。第二空是一個(gè)while循環(huán)的循環(huán)條件表達(dá)式,循環(huán)體每次讀取一個(gè)字符,并讓count增1,所以循環(huán)條件應(yīng)該是“如果文件還沒結(jié)束”,故應(yīng)該填!feof(fp)。
24.繼承繼承解析:在面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中,某些屬性和方法是可以共享的,由于類從父類中繼承而來,這樣提高了軟件的可重用性。
25.讀棧頂元素讀棧頂元素解析:棧的基本運(yùn)算有3種:入棧、退棧和讀取棧頂元素。其中,入棧是指在棧頂插入一個(gè)新的元素;退棧是指取出棧頂元素并賦值給一個(gè)變量;讀棧頂元素是將棧頂元素賦值給一個(gè)指定的變量,不刪除棧頂元素。
26.-55。
27.查詢查詢解析:關(guān)系模型的數(shù)據(jù)操作即是建立在關(guān)系上的數(shù)據(jù)操作,一般有查詢、增加、刪除和修改四種操作。數(shù)據(jù)查詢是指用戶可以查詢關(guān)系數(shù)據(jù)庫中的數(shù)據(jù),它包括一個(gè)關(guān)系內(nèi)的查詢以及多個(gè)關(guān)系間的查詢。數(shù)據(jù)刪除的基本單位是一個(gè)關(guān)系內(nèi)的元組,它的功能是將指定關(guān)系內(nèi)的指定元組刪除。數(shù)據(jù)增加僅對(duì)一個(gè)關(guān)系而言,在指定關(guān)系中插入一個(gè)或多個(gè)元組。數(shù)據(jù)修改是在一個(gè)關(guān)系中修改指定的元組和屬性。
28.(x>-5)&&(x<5)(x>-5)&&(x<5)解析:本題考查基本邏輯表達(dá),“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”,即整數(shù)x的絕對(duì)值小于等于5,也就是整數(shù)x要大于等于-5且要小于等于5。這里“且”用“與(&&)”表示,所以C語言表達(dá)式為:(x>-5)&&(x<5)。
29.30x30x解析:本題的參數(shù)傳遞屬于值傳遞,所以函數(shù)內(nèi)不能改變調(diào)用函數(shù)中的數(shù)據(jù)。
30.159261037114812159\r\n2610\r\n3711\r\n4812解析:程序的功能是將一個(gè)二維數(shù)組的行和列元素互換,存到另一個(gè)二維數(shù)組中。
31.&a[i]或a+ia[i]或*(a+i)&a[i]或a+i\r\na[i]或*(a+i)解析:主函數(shù)中一開始定義了一個(gè)長度為20的整型數(shù)組,然后通過一個(gè)循環(huán),循環(huán)20次給它的每個(gè)元素賦初值,所以在第一個(gè)空格處應(yīng)填各個(gè)元素的地址,即填&a[i]或a+i,然后再通過一個(gè)循環(huán)執(zhí)行20次,每循環(huán)一次,先判斷該循環(huán)是否大于0,如果大于0將其累加到變量sum中,所以第二個(gè)空格處應(yīng)該填入數(shù)組元素,所以應(yīng)該填a或*(a+i)。
32.55解析:程序通過語句s[0].next=s+1;s[1].next=s+2;s[2].next=s;將結(jié)構(gòu)體變量s中各結(jié)點(diǎn)連接成了一個(gè)循環(huán)鏈表,即最后一個(gè)結(jié)點(diǎn)的指針域指向了頭結(jié)點(diǎn)(s[2].next=s),整個(gè)鏈表形成一個(gè)環(huán),并通過語句p=s;q=p->next;r=q->next;將結(jié)構(gòu)體指針變量p,q,r指向了各結(jié)點(diǎn),具體結(jié)構(gòu)如下圖:
故本題輸出的sum為3+2=5。
33.中序中序解析:在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷.前序遍歷是指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時(shí),仍然先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。中序遍歷指在訪問根結(jié)點(diǎn)、遍歷左了樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹:并且遍歷左、右子樹時(shí),仍然先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹。后序遍歷指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷右子樹,然后訪問根結(jié)點(diǎn),最后遍歷左子樹;并且遍歷左、右子樹時(shí),仍然光遍歷右子樹,然后訪問根結(jié)點(diǎn),最后遍歷左子樹。
34.3
35.efghefgh解析:函數(shù)ss的作用是讓形參指針s指向該字符串的右半部分。主函數(shù)中首先定義了一個(gè)字符型指針變量p和字符型指針str,并初始化為“abcdefgh”,然后調(diào)用函數(shù)ss,將實(shí)參str傳給形參s,因此可知該函數(shù)返回的指針,指向str所指的字符串“abcdefgh”的右半部分,即指向字符串“efgh”,所以最后輸出指針p(指針p的值為調(diào)用函數(shù)ss(str)的返回值)所指向的字符串為“efgh”。
36.函數(shù)f()通過for循環(huán)逐個(gè)比較數(shù)組x中的元素,循環(huán)結(jié)束后,p0和p1分別表示最大值和最小值在數(shù)組中的下標(biāo)位置,然后按照題意將最大值x[p0]和數(shù)組的最后一個(gè)元素x[n-1)交換位置,再將最小值x[p1]和第一個(gè)元素(x[0])進(jìn)行交換,所以空白處應(yīng)該填入x[0]。\r\n\r\n
37.66解析:條件運(yùn)算符的優(yōu)先級(jí)高于賦值運(yùn)算符,因此本題先計(jì)算關(guān)系個(gè)表達(dá)式(*ptr+y)<x)?(ptr+y):x的值,再賦紿變量z,當(dāng)y=O時(shí),*(ptr+y)=2,而x=8,(*(ptr+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(pry)=2,所以z=2;當(dāng)y=1時(shí)*(ptr+y)=4,(*(ptr+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(ptr+y)=4,所以z=4;當(dāng)y=2時(shí),*(ptr+y)=6,*((ptr+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(ptr+y)=6,所以z=6;循環(huán)結(jié)束。因此輸出z的結(jié)果為6。
38.白盒或白箱或白盒子或WhiteBox白盒或白箱或白盒子或WhiteBox解析:本題考查軟件工程的測(cè)試。測(cè)試一般有兩種方法:黑盒測(cè)試和白盒測(cè)試。黑盒測(cè)試不考慮程序的內(nèi)部邏輯結(jié)構(gòu)和處理過程,只著眼于程序的外部特性。用黑盒測(cè)試來發(fā)現(xiàn)程序中的錯(cuò)誤,必須用所有可能的輸入數(shù)據(jù)來檢查程序能否都能產(chǎn)生正確的輸出。白盒測(cè)試是在了解程序內(nèi)部結(jié)構(gòu)和處理過程的基礎(chǔ)上,對(duì)程序的所有路徑進(jìn)行測(cè)試,檢查路徑是否都能按預(yù)定要求正確工作。因此,劃線處應(yīng)填入“白盒(箱)”或“WhiteBox”。
39.77解析:在程序執(zhí)行時(shí),static變量僅初始化一次,下次使用時(shí)將使用上次保存的值。
40.0
41.B解析:本題輸出的是逗號(hào)表達(dá)式的值,即a2的值m。
42.C解析:本題考查通過指針引用數(shù)組元素。*(*(pt+1)+2)等價(jià)于*(pt[1]+2),pt[1]+2是t[1][2]的地址,故*(pt[1]+2)是t[1][2]的值。
43.D解析:主函數(shù)中首先定義了三個(gè)結(jié)構(gòu)體指針變量p,q,r。然后調(diào)用內(nèi)存分配函數(shù)分別為其分配地址空間,程序中變量q->num的值為20,指針變量q->next指向指針變量r,r->num的值為30,所以變量q->next->num的值為30,因此,表達(dá)式q->num+q->next->num的值為20+30=50。
44.D解析:putchar(c1)輸出1,putchar(c2)輸出2,printf('%c%c\\n',c5,c6)輸出45。
45.C解析:i=30時(shí),條件表達(dá)式“i++%5==0”為真,i++后i=31,++i后i=32,即條件表達(dá)式“++i%8==0”為真。
46.D解析:字符數(shù)組初始化可以有兩種方式:方式一,按單個(gè)字符的方式賦初值。方式二,把一個(gè)字符串作為初值賦給字符數(shù)組。選項(xiàng)A定義的字符數(shù)組長度為8,由于最后還要加一個(gè)“、0”做結(jié)束標(biāo)志,所以賦給他的字符串長度應(yīng)小于等于7;在給字符數(shù)組賦初值的時(shí)候,應(yīng)該用花括號(hào)“{”和“}“將字符串括起來。將字符型指針變量指向字符串也有兩種方法,一是在定義指針變量時(shí)就給其賦初值,比如:char*p=“student”;二是給指針變量賦值,比如:p=“student”;(p已經(jīng)被定義為字符型指針變量;)。
47.C解析:sizeof(x)是一個(gè)標(biāo)準(zhǔn)C函數(shù),它的返回值是x型的數(shù)據(jù)結(jié)構(gòu)占用的內(nèi)存字節(jié)數(shù)。題目中定義了一個(gè)共用體,共用體變量在內(nèi)存中所占的長度等于最長的成員的長度。
48.A解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算。P(F(5)*x)=P(2.84+5*2)=P(12.84),調(diào)用w(12.84),輸出(int)(12.84)=12。
49.C解析:執(zhí)行語句x=y++,是先將y的值10賦給x,然后y自增。
50.B解析:本題考查C語言3個(gè)知識(shí)點(diǎn):①將一個(gè)字符賦給一個(gè)字符變量時(shí),并不是將該字符本身存儲(chǔ)到內(nèi)存中,而是將該字符對(duì)應(yīng)的ASCII碼存儲(chǔ)到內(nèi)存單元中;②大寫字母的ASCII碼值小于其對(duì)應(yīng)小寫字母的ASCII碼值;③只要邏輯與運(yùn)算符&&的兩個(gè)運(yùn)算對(duì)象都為非零,返回值就是1。
51.A解析:選項(xiàng)A)正確,外模式是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式;選項(xiàng)B)不正確,全局?jǐn)?shù)據(jù)視圖的描述稱為概念模式,即數(shù)據(jù)庫中全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述;選項(xiàng)C)不正確,物理存儲(chǔ)數(shù)據(jù)視圖的描述稱為內(nèi)模式,即數(shù)據(jù)庫在物理存儲(chǔ)方面的描述;選項(xiàng)D)不正確,存儲(chǔ)模式即為內(nèi)模式。
52.D解析:在對(duì)二維數(shù)組元素賦初值時(shí),可以只對(duì)部分元素賦初值,未賦初值的元素自動(dòng)取0;C語言規(guī)定,對(duì)于二維數(shù)組,只可以省略第1個(gè)方括號(hào)中的常量表達(dá)式,而不能省略第2個(gè)方括號(hào)中的常量表達(dá)式;賦的初值不能多于事先定義好的數(shù)組元素個(gè)數(shù)。
在選項(xiàng)D)賦值表達(dá)式中,對(duì)每一維的元素賦初值應(yīng)用{},而不是()。
53.C解析:本題考核的知識(shí)點(diǎn)是二維數(shù)組的初始化及庫函數(shù)strlen()的應(yīng)用。主函數(shù)中定義了一個(gè)二維字符數(shù)組并初始化,初始化后的結(jié)果為str[0]='Hello',str[1]='Beijing',然后定義一個(gè)字符指針變量p并讓它指向數(shù)組的首地址,即指向str[0],而在C語言中無論是一維還是多維數(shù)組,其元素在內(nèi)存中都是順序存放的,故p+20后指針指向str[1],所以strlen(P+20);返回的是str[1]中的字符串的長度,即Beijing的長度為7,所以最后輸出的值為7,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
54.C解析:sizeof(x)是一個(gè)標(biāo)準(zhǔn)C函數(shù),它的返回值是x型的數(shù)據(jù)結(jié)構(gòu)占用的內(nèi)存字節(jié)數(shù),題目中定義了一個(gè)共用體,共用體變量在內(nèi)存中所占的長度等于最長的成員的長度。
55.B解析:因?yàn)樽兞康某跏贾捣謩e為k=5,n=0,所以程序第1次進(jìn)入循環(huán)時(shí),執(zhí)行default語句,輸出0,k減1:這時(shí)n=0,k=4,程序進(jìn)行第2次循環(huán),執(zhí)行case4:這個(gè)分支,結(jié)果是n=2,k=3,打印出2;這時(shí)n=2,k=3,程序進(jìn)行第3次循環(huán),執(zhí)行case3:這個(gè)分支,結(jié)果是n=3,k=2,打印出3;這時(shí)n=3,k=2,程序然后進(jìn)行第4次循環(huán),執(zhí)行case2:case4:這個(gè)分支,結(jié)果是n=5,k=1,打印出5,這時(shí)因?yàn)閚=5不滿足n<5的循環(huán)條件,因此退出循環(huán),程序運(yùn)行結(jié)束。所以在屏幕上打印出的結(jié)果是0235。
56.C解析:在for循環(huán)體中,首先判斷自變量i能否被5整除,然后再自加兩次,最后判斷i能否被8整除。當(dāng)for循環(huán)執(zhí)行到第30次時(shí),i的值為30能被5整除,然后i經(jīng)過兩次自加1運(yùn)算,值變?yōu)?2,能被8整除,故執(zhí)行“printf('%d',i);”語句,即輸出32。本題的答案為選項(xiàng)C)。
57.A解析:在使用scanf函數(shù)進(jìn)行輸入數(shù)據(jù)時(shí),輸入的數(shù)據(jù)之間必須用空格、回車符、制表符(Tab鍵)等間隔符隔開。
58.A解析:本題考查C語言的綜合基礎(chǔ)知識(shí)。構(gòu)成C程序的基本單位是函數(shù),一個(gè)C程序總是從main函數(shù)開始執(zhí)行,而不論main函數(shù)在整個(gè)程序中的位置如何。C語言的函數(shù)定義都是互相平行、獨(dú)立的,在定義函數(shù)時(shí),一個(gè)函數(shù)內(nèi)不能定義另一個(gè)函數(shù)。C函數(shù)定義的一般格式有兩種:傳統(tǒng)格式和現(xiàn)代格式。傳統(tǒng)格式也稱K&R格式,是早期編譯系統(tǒng)使用的格式;現(xiàn)代格式又稱ANSI格式,是現(xiàn)代編譯系統(tǒng)使用的格式。
59.A解析:本題考核的知識(shí)點(diǎn)是if-else語句的程序分析。我們首先看程序中if-else的匹配,由于C語言中規(guī)定else總是與最近的if搭配,因此程序中else與第二個(gè)訂搭配,即該if-else語句為第一個(gè)if語句的執(zhí)行部分,接著判斷第一個(gè)if后面括號(hào)里的表達(dá)式的值“a>b”為假('3>4'為假),因此不執(zhí)行后面if-else語句,程序?qū)?zhí)行下面的輸出語句輸出d,而d一直未被改變故為原來的值2,所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。
60.B
61.C排序是計(jì)算機(jī)程序中一種重要的操作,它的功能是將任意一個(gè)數(shù)據(jù)元素序列排成有序的數(shù)據(jù)元素序列;而查找是要在數(shù)據(jù)元素序列中找到一個(gè)與之相符的結(jié)果。不難看出,如果數(shù)據(jù)元素序列有序,則查找起來就方便很多。因此,排序的一個(gè)重要目的是為了對(duì)已排序數(shù)據(jù)進(jìn)行查找。
62.D
63.A\n此題是需要將a[]中的數(shù)值倒過來進(jìn)行輸出,所以答案為A。
\n
64.D循環(huán)隊(duì)列的隊(duì)頭指針與隊(duì)尾指針都不是固定的,隨著入隊(duì)與出隊(duì)操作要進(jìn)行變化。因?yàn)槭茄h(huán)利用的隊(duì)列結(jié)構(gòu),所以隊(duì)頭指針有時(shí)可能大于隊(duì)尾指針,有時(shí)也可能小于隊(duì)尾指針。
65.A本題考查一維數(shù)組的引用。一維數(shù)組表示為數(shù)組名[下標(biāo)],下標(biāo)可以是整型常量或整型表達(dá)式,題目中給出的四個(gè)選項(xiàng),在格式上都是正確的。A選項(xiàng)中,首先進(jìn)行++i運(yùn)算,運(yùn)算的結(jié)果為5,而該數(shù)組初始化后有效取值范圍為m[0]~m[4],m[5]不存在,引用錯(cuò)誤。B選項(xiàng)引用的是m[2]中的數(shù)值3。C選項(xiàng)先計(jì)算m[0]中的數(shù)據(jù),得到1,隨后計(jì)算m[1]中的數(shù)值,可得2。D選項(xiàng)先計(jì)算m[--i],得到m[3]中的數(shù)據(jù)4,隨后計(jì)算m[4]中的數(shù)值,可得5。
66.D
67.A本題主要考查宏的定義。宏定義用一個(gè)標(biāo)識(shí)符來表示一個(gè)字符串,這個(gè)字符串可以是常量、變量或表達(dá)式。在宏調(diào)用中將用該字符串代換宏名。宏定義中,我們主要需要注意以下幾點(diǎn):
(1)同一宏名不能重復(fù)定義,除非這兩個(gè)宏定義命令行完全一致。
(2)定義宏時(shí),記得其結(jié)尾處不要用分號(hào)隔開。
(3)替換帶參數(shù)的宏名時(shí),一對(duì)圓括號(hào)必不可少,圓括號(hào)中實(shí)參個(gè)數(shù)應(yīng)該與形參個(gè)數(shù)相同,若有多個(gè)參數(shù),它們之間用逗號(hào)隔開。
(4)宏定義中的字符串應(yīng)加括號(hào),字符串中出現(xiàn)的形式參數(shù)兩邊也應(yīng)加括號(hào)。
在本題中,定義宏時(shí),出現(xiàn)了一個(gè)明顯的錯(cuò)誤,即在宏的定義后面用分號(hào)表示結(jié)束,這顯然是不對(duì)的。程序編譯時(shí),系統(tǒng)會(huì)報(bào)錯(cuò),
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 聊城職業(yè)技術(shù)學(xué)院《的分層開發(fā)技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 麗江師范高等??茖W(xué)?!豆こ讨茍DⅡ》2023-2024學(xué)年第一學(xué)期期末試卷
- 江西司法警官職業(yè)學(xué)院《學(xué)術(shù)論文寫作(1)》2023-2024學(xué)年第一學(xué)期期末試卷
- 江漢藝術(shù)職業(yè)學(xué)院《健身俱樂部經(jīng)營與管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖北大學(xué)知行學(xué)院《山地戶外運(yùn)動(dòng)》2023-2024學(xué)年第一學(xué)期期末試卷
- 自貢職業(yè)技術(shù)學(xué)院《商業(yè)銀行與業(yè)務(wù)經(jīng)營》2023-2024學(xué)年第一學(xué)期期末試卷
- 周口師范學(xué)院《教育歷史與比較研究》2023-2024學(xué)年第一學(xué)期期末試卷
- 重慶科技學(xué)院《工程管理軟件與BM技術(shù)應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江樹人學(xué)院《圖像處理軟件應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 長江大學(xué)文理學(xué)院《材料力學(xué)B(外)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024屆新高考數(shù)學(xué)大題訓(xùn)練:數(shù)列(30題)(解析版)
- 四年級(jí)數(shù)學(xué)下冊(cè)計(jì)算題(每日一練13份)
- 虛擬現(xiàn)實(shí)技術(shù)應(yīng)用
- 項(xiàng)目風(fēng)險(xiǎn)記錄及跟蹤表
- 50以內(nèi)加減法口算題卡(1000道打印版)每日100道
- 《生物發(fā)酵行業(yè)智能制造第2部分:生物反應(yīng)器》
- GB/T 4008-2024錳硅合金
- 2024急性腦梗死溶栓規(guī)范診治指南(附缺血性腦卒中急診急救專家共識(shí)總結(jié)歸納表格)
- 個(gè)人替公司代付協(xié)議
- FZ∕T 73037-2019 針織運(yùn)動(dòng)襪行業(yè)標(biāo)準(zhǔn)
- 廢舊纖維回收和再利用策略
評(píng)論
0/150
提交評(píng)論