




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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ì)知識(shí)點(diǎn)匯總卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.以下敘述中正確的是()。
A.預(yù)處理命令行必須位于C源程序的起始位置
B.在C語(yǔ)言中,預(yù)處理命令行都以“#”開(kāi)頭
C.每個(gè)C程序必須在開(kāi)頭包含預(yù)處理命令行:#include
D.C語(yǔ)言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能
2.有以下程序:intfun(intn){if(n==l)returnl;elsereturn(n+fun(n一1)):}main{intx;scanf("%d",&x);x=fun(x);printf("%d\n",x):}執(zhí)行程序時(shí),給變量X輸入10,程序的輸出結(jié)果是()。A.55B.54C.65D.45
3.以下程序的輸出結(jié)果是______。#defineM(x,y,z)x*y+zmain(){inta=1,b=2,c=3;printf("%d\n",M(a+b,b+c,c+a));}
A.19B.17C.15D.12
4.下述程序的輸出結(jié)果是()。#include<stdio.h>voidmain{intb[6]={2,4,6,8,10,12);int*p=b,**q=&p;printf("%d,",*(p++));printf("%d,",**q);}A.4,4B.2,2C.4,5D.2,4
5.軟件詳細(xì)設(shè)計(jì)產(chǎn)生的圖如圖所示。該圖是()。A.N—S圖B.PAD圖C.程序流程圖D.E—R圖
6.
7.數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是______。
A.控制流B.加工C.數(shù)據(jù)存儲(chǔ)D.源和潭
8.則以下函數(shù)調(diào)用語(yǔ)句錯(cuò)誤的是()。#include<stdio.h>intadd(inta,intb){return(a+b)}main(){intk,(*f)(),a=5,b=10;f=add;...}A.k=f(a,b);B.k=add(a,b);C.k=(*f(a,b);D.k=*f(a,b);
9.下列對(duì)隊(duì)列的敘述正確的是A.隊(duì)列屬于非線(xiàn)性表B.隊(duì)列按“先進(jìn)后出”原則組織數(shù)據(jù)C.隊(duì)列在隊(duì)尾刪除數(shù)據(jù)D.隊(duì)列按“先進(jìn)先出”原則組織數(shù)據(jù)
10.若有定義語(yǔ)句:“intkl一10,k2=20;”,執(zhí)行表達(dá)式(kl=kl>k2)(k2=k2>k1)后,kl和k2的值分別為()。
A.0和1B.0和20C.10和1D.10和20
11.C程序的基本模塊為()。
A.表達(dá)式B.標(biāo)識(shí)符C.語(yǔ)句D.函數(shù)
12.在下列幾種排序方法中,空間復(fù)雜度最高的是()
A.歸并排序B.快速排序C.插入排序D.選擇排序
13.如果有n個(gè)節(jié)點(diǎn)用二叉樹(shù)來(lái)存儲(chǔ),那么二叉樹(shù)的最小深度為()
A.Log2(n+1)B.Log2(n)C.Log2(n-1)D.n/2
14.在一個(gè)C程序中
A.main函數(shù)必須出現(xiàn)在所有函數(shù)之前
B.main函數(shù)可以在任何地方出現(xiàn)
C.main函數(shù)必須出現(xiàn)在所有函數(shù)之后
D.main函數(shù)必須出現(xiàn)在固定位置
15.
16.有以下程序
#include<stdio.h>
main()
{ints;
scanf(“%d”,&s);
while(s>0)
{switch(s)
{case1;printf(“%d”,s+5);
case2:printf(“%d”,s+4);break;
case3:printf(“%d”。s+3);
default:printf(“%d”,s+1);break;
}
seanf(“%d”,&s);
}
}
運(yùn)行時(shí),若輸入12345O<回車(chē)>,則輸出結(jié)果是A.6566456B.66656C.66666D.6666656
17.若有定義intx=3,y=2和floata=2.5,b=3.5,則表達(dá)式:(x+y)%2+(int)a/(int)b的值是()。
A.0B.2C.1.5D.1
18.若運(yùn)行以下程序時(shí),從鍵盤(pán)輸入ADescriptor<CR>(<CR>表示回車(chē)),則下面程序的運(yùn)行結(jié)果是
#include<stdio.h>
main()
{charc;
intv0=1,v1=0,v2=0;
do{switch(c=getchar())
{case′a′:case′A′:
case′e′:case′E′:
case′i′:case′I′:
case′o′:case′O′:
case′u′:case′U′:v1+=1;
default:v0+=1;v2+=1;}}while(c!='\n');
printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);}
A.v0=7,v1=4,v2=7
B.v0=8,v1=4,v2=8
C.v0=11,v1=4,v2=11
D.v0=13,v1=4,v2=12
19.給定數(shù)列(541,132,984,746,518,181,946,314,205,827)按照從小到大的順序排列,采用冒泡排序時(shí),第一趟掃描結(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)
20.
二、2.填空題(20題)21.在面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中,類(lèi)的實(shí)例稱(chēng)為_(kāi)_____。
22.下列程序的輸出結(jié)果是16.00,請(qǐng)?zhí)羁眨?/p>
main()
{
inta=9,b=2;
floatx=【】,y=1.1,z;
z=a/2+b*x/y+1/2;
printf("%5.2f\n",z);
}
23.在E-R圖中,矩形表示【】。
24.下列程序的輸出結(jié)果是______。
#defineP(A)printf("%d,",(int)(A))
#definePRINT(A)P(A);printf("theend")
main()
{inti,a=0;
for(i=1;i<5.i++)
PRINT(a+i);
printf("\n");
}
25.下面程序?qū)⒍S數(shù)a的行和列元素互換后存放另一個(gè)二維數(shù)組b中。請(qǐng)?zhí)羁铡?/p>
main()
{inta[2][3]={{1,2,3},{4,5,6}};
intb[3][2],i,j;
printf("arraya"\n");
for(i=0;i<=1;i++)
{for(j=0;【】;j++)
{printf("%5d",a[i][j]);
【】;}
printf("\n");}
printf("arrayb:\n");
for(i=0;【】;i++)
{for(j=0;j<=1;j++)
printf("%5d",b[i][j]);
printf("\n");}}
26.以下程序中用戶(hù)由鍵盤(pán)輸入一個(gè)文件名,然后輸入一串字符(用#結(jié)束輸入)存放到此文件中,形成文本文件,并將字符的個(gè)數(shù)寫(xiě)到文件的尾部。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{FILE*fp;
charch,fname[32];intcount=0;
printf(”Inputthefilename:");
scanf("%s",fname);
if((fp=fopen(【】,"w+"))==NULL)
{printf("Can'topenfile:%s\n",fname);exit(0);}
printf("Enterdata:\n");
while((ch=getchar())!='#')
{fputc(ch,fp);count++;}
fprintf(【】,"\n%d\n",count);
fclose(fp);
}
27.閱讀下面語(yǔ)句,則程序的執(zhí)行結(jié)果是【】。
#include"stdio.h"
main()
{inta=-1,b=1,k;
if((++a<0)&&!(b--<=0))
printf("%d,%d\",a,b);
elseprintf("%d,%d\n",b,a);}
28.有以下程序:
fun(inta,intb)
{if(a>b)return(a);
elsereturn(b);
}
main()
{intx=3,y=8,z=6,r;
r=fun(fun(x,y),2*z);
printf("%\d\n",r);
}
程序運(yùn)行后的輸出的結(jié)果是【】。
29.以下程序運(yùn)行后的輸出結(jié)果是【】。
#include<stdio.h>
main()
{inta[4][4]={{1,2,3,4},{5'6'7'8},{11'12'13'14},{15'16'17'18}};
inti=0,j=0,s=0;
while(i++<4)
if(i==2[[i==4)continue;
j=0;
do{s+=a[i][j];j++;}while(j<4);
}
pdnff("%d'\n",s);
}
30.以下程序中函數(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[n-1];x[n-1]=t;
t=x[p1];x[p1]=【】;【】=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.實(shí)現(xiàn)程序可將磁盤(pá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);
}
32.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{chara[]="Language",b[]="Programe";
char*p1,*p2;
intk;
p1=a;p2=b;
for(k=0;k<=7;k++)
if(*(p1+k)==*(p2+k))printf("%c,*(p1+k));
}
33.有以下程序
intfa(intx){returnx*x;}
intfb(intx){retumx*x*x;}
intf(int(*fl)int(*12)(),intx)
{returnf2(x)-f1(x);}
main()
{inti;i=f(fa,fb,2);printf("%d\n",i);}
程序運(yùn)行后,輸出結(jié)果是【】
34.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{
chara[]="Language",b[]="Programe";
char*p1,*p2;
intk;
p1=a;p2=b;
for(k=0;k<=7;k++)
if(*p1+k)==*{p2+k))
printf("%c",*(p1+k));
}
35.下面程序的功能是將一個(gè)字符串str的內(nèi)容顛倒過(guò)來(lái),請(qǐng)?zhí)羁铡?/p>
#include<string.h>
main()
{inti,j,【】;charstr[]={"1234567"};
for(i=0,j=strlen(str)【】;i<j;i++,j--)
{k=str[i];str[i]=str[j];str[j]=k;}
printf("%s\n",str);}
36.數(shù)據(jù)流圖的類(lèi)型有【】和事務(wù)型。
37.下列程序的運(yùn)行結(jié)果是______。
main()
{ints=0,i=1;
while(s<=10)
{s=s+i*i;
i++;
}
printf("%d",-i);
}
38.以下程序運(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);
}
39.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{
inta,b,c;
a=25;
b=025;
c=0x25;
printf("%d%d%d\n",a,b,C);
}
40.在程序設(shè)計(jì)階段應(yīng)該采取______和逐步求精的方法,把一個(gè)模塊的功能逐步分解,細(xì)化為一系列具體的步驟,繼而用某種程序設(shè)計(jì)語(yǔ)言寫(xiě)成程序。
三、1.選擇題(20題)41.在結(jié)構(gòu)化程序設(shè)計(jì)中,模塊劃分的原則是()。
A.各模塊應(yīng)包括盡量多的功能
B.各模塊的規(guī)模應(yīng)盡量大
C.各模塊之間的聯(lián)系應(yīng)盡量緊密
D.模塊內(nèi)具有高內(nèi)聚度,模塊間具有低耦合度
42.軟盤(pán)處于寫(xiě)保護(hù)狀態(tài)時(shí),其中記錄的信息______。
A.不可能丟失
B.不能被擦除,但能追加新的信息
C.不能通過(guò)寫(xiě)磁盤(pán)操作被更新
D.不能以常規(guī)方式擦除,但可以通過(guò)操作系統(tǒng)的格式化功能擦除
43.定義如下變量:intn=10;則下列循環(huán)的輸出結(jié)果是()。while(n>7){-n;printf("%d\n",n);}
A.1098B.987C.10987D.9876
44.以下程序中函數(shù)sort的功能是對(duì)a所指數(shù)組中的數(shù)據(jù)進(jìn)行由大到小的排序voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);for(i=0;i<10;i++)printf(“%d”,aa[i]);pfintf(“\n”);}程序運(yùn)行后的輸出結(jié)果是
A.1,2,3,4,5,6,7,8,9,10
B.10,9,8:7,6,5,4,3,2,1
C.1,2,3,8,7,6,5,4,9,10
D.1,2,10,9,8,7,6,5,4,3
45.下列敘述中,不屬于軟件需求規(guī)格說(shuō)明書(shū)的作用的是()
A.便于用戶(hù),開(kāi)發(fā)人員進(jìn)行理解和交流
B.反映出用戶(hù)問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù)
C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)
D.便于開(kāi)發(fā)人員進(jìn)行需求分析
46.若要用下面的程序片段使指針變量p指向—個(gè)存儲(chǔ)整型變量的動(dòng)態(tài)存儲(chǔ)單元int*p;p=______malloc(sizeof(int));則應(yīng)填入______。
A.intB.int*C.(*int)D.(int*)
47.設(shè)有輸入語(yǔ)句scanf("a=%d,b=%d,c=%d",&a,&b,&C),為使變量a的值為2,b的值為4,c的值為8,則從鍵盤(pán)輸入數(shù)據(jù)的正確形式是()。
A.1,3,2<回車(chē)>B.a=1b=3c=2<同車(chē)>C.132<回車(chē)>D.a=2,b=4,c=8<回車(chē)>
48.若變量已正確定義,下列正確的程序段是()。
A.while(ch=getchar()=='\NN')putchar(ch);
B.while((ch=getchar())=='\n')putchar(ch);
C.while((ch=getchar())!='\N')putchar(ch);
D.while((ch=getchar())!='\n')putchar(ch);
49.下列敘述錯(cuò)誤的是()。
A.函數(shù)名是屬于用戶(hù)標(biāo)識(shí)符,需符合C語(yǔ)言對(duì)標(biāo)識(shí)符的規(guī)定
B.形參只能是變量
C.為保證程序的正常運(yùn)行,函數(shù)中定義的變量不能與其他函數(shù)中的變量同名
D.函數(shù)中定義的變量可以與其他函數(shù)中的變量同名
50.以下程序的輸出結(jié)果是_______。main(){charst[20]="hello\0\t\\";printf(%d%d\n",strlen(st),sizeof(st));}
A.99B.520C.1320D.2020
51.有以下程序:#include<stdio.h>main()inti;for(i=0;i<3;i++)switch(i)case0:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);程序運(yùn)行后的輸出結(jié)果是()。
A.22111B.21021C.122D.12
52.下列選項(xiàng)中不屬于軟件生命周期開(kāi)發(fā)階段任務(wù)的是()。
A.軟件測(cè)試B.概要設(shè)計(jì)C.軟件維護(hù)D.詳細(xì)設(shè)計(jì)
53.以下敘述中正確的是
A.全局變量的作用域一定比局部變量的作用域范圍大
B.靜態(tài)(static)類(lèi)型變量的生存期貫穿于整個(gè)程序的運(yùn)行期間
C.函數(shù)的形參都屬于全局變量
D.未在定義語(yǔ)句中賦初值的auto變量和static變量的初值都是隨機(jī)值
54.以下敘述中錯(cuò)誤的是
A.在程序中凡是以"#"開(kāi)始的語(yǔ)句行都是預(yù)處理命令行
B.預(yù)處理命令行的最后不能以分號(hào)表示結(jié)束
C.#defineMAX是合法的宏定義命令行
D.C程序?qū)︻A(yù)處理命令行的處理是在程序執(zhí)行的過(guò)程中進(jìn)行的
55.設(shè)整型數(shù)i=5,則printf("%d",i+++++i);的輸出為_(kāi)_____。
A.10B.11C.12D.語(yǔ)法錯(cuò)誤
56.以下非法的賦值語(yǔ)句是
A.n=(i=2,++i);B.j++;C.++(i+1);D.x=j>0;
57.以下4個(gè)選項(xiàng)中,不能看作一條語(yǔ)句的是
A.{;}B.a=0,b=0,c=0;C.if(a>0);D.if(b==0)m=1;n=2;
58.數(shù)據(jù)流圖用于抽象地描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是()。
A.控制流B.加工C.數(shù)據(jù)存儲(chǔ)D.源和潭
59.下列選項(xiàng)中均屬于C語(yǔ)言合法的標(biāo)識(shí)符的是()
A.Int#subbreak
B._3abFORLong
C.3aprintfa_b
D.WORDautoinclude
60.下列程序是用來(lái)判斷數(shù)組中特定元素的位置所在的。
#include<conio.h>
#include<stdio.h>
intfun(int*s,intt,int*k)
{inti;
*k=0;
for(i=0;i<t;i++)
if(s[*k]<s[i])*k=i;
returns[*k];}
main()
{inta[10]={876,675,896,101,301,401,980,431,451,777},k;
fun(a,10,&k);
printf("%d,%d\n",k,a[k]);}
如果輸入如下整數(shù):876675896101301401980431451777
則輸出結(jié)果為
A.7,431B.6C.980D.6,980
四、選擇題(20題)61.關(guān)于以下程序段的描述,正確的是
x=-1;
do
{x=x*x-1;}while(!x);
A.是死循環(huán)B.循環(huán)執(zhí)行兩次
C.循環(huán)執(zhí)行一次D.有語(yǔ)法錯(cuò)誤
62.有三個(gè)關(guān)系R、S和T如下:
由關(guān)系R和S通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。
A.笛卡爾積B.交C.并D.自然連接
63.對(duì)表達(dá)式for(表達(dá)式1;;表達(dá)式3)可理解為()。
A.for(表達(dá)式1;0;表達(dá)式3)
B.for(表達(dá)式1;1;表達(dá)式3)
C.for(表達(dá)式1;表達(dá)式1;表達(dá)式3)
D.for(表達(dá)式1;表達(dá)式3;表達(dá)式3)
64.
65.有以下程序段:
當(dāng)執(zhí)行上述程序段,從鍵盤(pán)上輸入555667777abc后,y的值為()。
A.566.0B.55566.0C.7777.0D.566777.0
66.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.1,2B.1,0C.3,2D.0,0
67.
68.有以下程序段:
程序運(yùn)行后的輸出結(jié)果是()。
A.a=10b=50C=30
B.a=10b=50c=10
C.a=10b=30c=10
D.a=50b=30c:50
69.以下選項(xiàng)中,不合法的c語(yǔ)言用戶(hù)標(biāo)識(shí)符是()。
A.a_bB.AaBcC.f1一一bD.一1
70.下列鏈表中,其邏輯結(jié)構(gòu)屬于非線(xiàn)性結(jié)構(gòu)的是()0、
A.雙向鏈表
B.帶鏈的棧
C.二叉鏈表
D.循環(huán)鏈表
71.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.aegiB.dfhkC.abedD.abedefghijk
72.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.1,2,3,4,5,6,7,8,9,0,
B.2,1,4,3,6,5,8,7,0,9,
C.0,9,8,7,6,5,4,3,2,1,
D.0,1,2,3,4,5,6,7,8,9,
73.有以下程序
structst
{intx;
int*y;
}*p;
intdt[4]={1,2,3,4};
structstaa[4]={10,&dt[0],20,&dt[1],30,&dt[2],40,&dt[3]};
main()
{p=aa;
printf("%d\n",++p->x);
printf("%d\n",(++p)->x);
printf("%d\n",++(*p->y));
}
程序的運(yùn)行結(jié)果是
74.
75.
76.
77.有以下程序:
程序的運(yùn)行結(jié)果是()。
A.1,2,3,4,B.1,0,7,0,C.1,4,5,9,D.3,4,8,10,
78.若函數(shù)中有定義語(yǔ)句:inta;,則()。
A.系統(tǒng)將自動(dòng)給a賦初值為0B.系統(tǒng)將自動(dòng)給a賦初值一lC.這時(shí)a中的值無(wú)意義D.這時(shí)a中無(wú)任何值
79.
80.若有定義語(yǔ)句:"inta[4][10],*P,*q[4];"且0≤i<4,則錯(cuò)誤的賦值是()。
A.D=aB.q[i]=a[i]C.p=a[l]D.P=&a[2][1]
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun的功能是:求兩個(gè)非零正整數(shù)的最大公約數(shù),并作為函數(shù)值返回。例如,若nmnl和num2分別為49和21,則輸出的最大公約數(shù)為7;若num1和num2分別為27和81,則輸也的最大公約數(shù)為27。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或硼行,也不得更改程序的結(jié)構(gòu)!試題程序:
六、程序設(shè)計(jì)題(1題)82.編寫(xiě)函數(shù)proc(),它的功能是:根據(jù)公式求p的值,結(jié)果由函數(shù)值帶回。m與n為兩個(gè)正數(shù)且要求m>;n。p=m!/(n!(m-n)!),例如,m=20,n=10時(shí),運(yùn)行結(jié)果為184756.000000。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:
參考答案
1.B本題是對(duì)基本知識(shí)點(diǎn)的理解,預(yù)處理命令行的位置沒(méi)有規(guī)定,只是習(xí)慣寫(xiě)在起始位置而已,當(dāng)需要時(shí)才用#include<stdio.h>頭文件,預(yù)處理的作用就是實(shí)現(xiàn)宏定義和條件編譯。
2.A函數(shù)intfun(intn)的功能是求1+2+…+n的值并返回。所以執(zhí)行程序時(shí),給變量x輸入10后,執(zhí)行語(yǔ)句“x=fun(x);”,X的值將變?yōu)?到10中10個(gè)整數(shù)的累加和,即55。
3.D解析:C語(yǔ)言的宏定義包括不帶參數(shù)的宏定義與帶參數(shù)的宏定義。本題為帶參數(shù)的宏定義,其形式為:
#define宏名(形參表)字符串
本題的M(a+b,b+c,c+a)被字符串a(chǎn)+b*b+c+c+a代替。
4.D首先定義了一個(gè)指向一維數(shù)組b的指針P,一個(gè)指向指針P的指針變量q;輸出*(p++)是先輸出*p,即b[O]的值,再將指針P指向數(shù)組的下一個(gè)元素b[1];輸出**q是輸出指針P所指單元的內(nèi)容。
5.CN-S圖(也被稱(chēng)為盒圖或CHAPIN圖)、PAD(問(wèn)題分析圖)及PFD(程序流程圖)是詳細(xì)設(shè)計(jì)階段的常用工具。E—R圖即實(shí)體一聯(lián)系圖,是數(shù)據(jù)庫(kù)設(shè)計(jì)的常用工具。從題中圖可以看出該圖屬于程序流程圖。
6.D
7.A解析:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來(lái)刻畫(huà)數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過(guò)程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲(chǔ)文件(數(shù)據(jù)源)、源和潭。
8.DD選項(xiàng)中*f(a,b)表示調(diào)用后返回一個(gè)指向整型數(shù)據(jù)的地址指針,即該函數(shù)的返回值為指針類(lèi)型,所以不能將其賦值給整形變量k。
9.D解析:本題考查數(shù)據(jù)結(jié)構(gòu)中隊(duì)列的基本知識(shí)。隊(duì)列是一種限定性的線(xiàn)性表,它只允許在表的一端插入元素,而在另一端刪除元素,所以隊(duì)列具有先進(jìn)先出的特性。在隊(duì)列中,允許插入元素的一端叫做隊(duì)尾,允許刪除的一端則稱(chēng)為隊(duì)頭。這與日常生活中的排隊(duì)是一致的,最早進(jìn)入隊(duì)列的人最早離開(kāi),新來(lái)的人總是加入到隊(duì)尾。因此,本題中只有選項(xiàng)D的說(shuō)法是正確的。
10.B
11.D
12.A
13.A
14.B解析:一個(gè)完整的C語(yǔ)言程序有且僅有一個(gè)主函數(shù)(main()函數(shù))。程序總從main()函數(shù)的第一條語(yǔ)句開(kāi)始執(zhí)行,到main()函數(shù)的最后一條語(yǔ)句結(jié)束,其他函數(shù)都是在執(zhí)行main()函數(shù)時(shí),通過(guò)函數(shù)調(diào)用或嵌套調(diào)用而得以執(zhí)行的。C語(yǔ)言規(guī)定,main()函數(shù)在程序中的位置是任意的,故選項(xiàng)A、選項(xiàng)C和選項(xiàng)D均不正確。所以,B選項(xiàng)為所選。
15.A
16.A
17.D
18.D解析:本題考查switch語(yǔ)句的掌握。必須撐握以下內(nèi)容:首先應(yīng)該明白switch語(yǔ)句的語(yǔ)法格式:
switch語(yǔ)句的語(yǔ)法格式為:
switch(表達(dá)式)
{
case常量表達(dá)式1:語(yǔ)句組1;
case常量表達(dá)式2:語(yǔ)句組2;
case常量表達(dá)式n:語(yǔ)句組n;
default:語(yǔ)句組n+1;
}
另外,以下幾點(diǎn)關(guān)于switch語(yǔ)句的重點(diǎn):
①系統(tǒng)在執(zhí)行時(shí)計(jì)算開(kāi)關(guān)表達(dá)式的值;②根據(jù)所得的值在各個(gè)case標(biāo)號(hào)表達(dá)式中尋找匹配,直到發(fā)現(xiàn)與表達(dá)式匹配的標(biāo)號(hào)(本例中匹配的是case\'B\':);\ue008③找\ue009到匹配后執(zhí)行后面相應(yīng)的語(yǔ)句表,順序往下執(zhí)行;④如果無(wú)相匹配的標(biāo)號(hào),若存在default標(biāo)號(hào),則執(zhí)行該語(yǔ)句標(biāo)號(hào)后面的語(yǔ)句表n+1;當(dāng)不存在default標(biāo)號(hào)時(shí),不執(zhí)行switch中的任何一個(gè)語(yǔ)句表。
一般而言,在多分支結(jié)構(gòu)中總會(huì)出現(xiàn)'意外'的情況,這時(shí)均可歸入default程序段,作統(tǒng)一的處理。default標(biāo)號(hào)是可選性的,不必每次都有,視需要而定。switch語(yǔ)句中還可以包含switch語(yǔ)句,形成switch的嵌套。
19.D
20.C
21.對(duì)象對(duì)象解析:在面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中,類(lèi)是具有相同的屬性或方法的對(duì)象的抽象,對(duì)象是類(lèi)的實(shí)例。
解析:本題,已知結(jié)果z=16.00,即16.0=a/2+b*x/y+1/2,分別把a(bǔ)、b,代入,得到16.0=9/2+2*x/1.1+1/2。因?yàn)閍=9,a是整型,所以9/2的值在沒(méi)有進(jìn)行類(lèi)型轉(zhuǎn)換時(shí),等于4,1/2同理,等于0。代入求一元一次方程,很容易就可以得出x=6.6。
23.實(shí)體實(shí)體解析:E-R模型中,有3個(gè)基本的抽象概念:實(shí)體、聯(lián)系和屬性。在E-R圖中,用矩形框表示實(shí)體,菱形框表示聯(lián)系,橢圓形框表示屬性。
24.1234theend1,2,3,4,theend解析:本題考查帶參數(shù)的宏的定義。第1次循環(huán),i=1時(shí),調(diào)用PRINT(1),P(1)輸出1;第2次循環(huán),i=2時(shí),調(diào)用PRINT(2),P(2)輸出2:第3次循環(huán),i=3時(shí),調(diào)用PRINT(3),P(3)輸出3:第4次循環(huán),i=4時(shí),調(diào)用PRINT(4),P(4)輸出4,theend。
25.j<2b[j][i]=a[i][j]i<=2j<2\r\nb[j][i]=a[i][j]\r\ni<=2解析:本題考查了二維數(shù)組元素的引用。a[i][j]表示的是二維數(shù)組a的第i+1,第j+1列的元素。
26.fnamefpfname\r\nfp解析:fopen()函數(shù)實(shí)現(xiàn)打開(kāi)文件的功能,通常的調(diào)用方式為:FILE*fp;fp=fopen(文件名,使用文件方式),因此,第一個(gè)橫線(xiàn)處要求填寫(xiě)要打開(kāi)文件的名字fname。fprintf()函數(shù)的—般調(diào)用方式為:fprintf(文件指針,格式字符串,輸出表列),所以第二個(gè)橫線(xiàn)處應(yīng)填寫(xiě)fp。
27.101,0解析:與運(yùn)算兩邊的語(yǔ)句必須同時(shí)為真時(shí),結(jié)果才為真。當(dāng)執(zhí)行完if((++a<0)&&!(b--<=0))時(shí),a,b的值已經(jīng)發(fā)生了變化。
28.1212解析:函數(shù)fun的功能是求兩個(gè)數(shù)當(dāng)中的最大值。語(yǔ)句r=fun(fun(x,y),2*z)的執(zhí)行過(guò)程為:首先計(jì)算fun(x,y),因x=3、y=8,所以結(jié)果為8;然后計(jì)算fun(8,2,*z),即計(jì)算fun(8,12),所以r=12。
29.9292解析:本題考查循環(huán)的嵌套。
①當(dāng)i=0時(shí)執(zhí)行while語(yǔ)句,i++<4成立,這時(shí)i=1,不執(zhí)行continue語(yǔ)句,繼續(xù)執(zhí)行j=0;然后執(zhí)行do-while語(yǔ)句,共循環(huán)4次:
a)j=0時(shí),s=0+a[1][0]=5,j=j+1=1。
b)j=1時(shí),s=5+a[1][1]=5+6=11,j=j+1=2。
c)j=2時(shí),s=11+a[1][2]=11+7=18,j=j+1=3。
d)j=3時(shí),s=18+a[1][3]=18+8=26,j=j+1=4。終止循環(huán)。
②當(dāng)i=1時(shí)執(zhí)行while語(yǔ)句,i++<4成立,這時(shí)i=2,執(zhí)行continue語(yǔ)句,結(jié)束本次循環(huán)。
③當(dāng)i=2時(shí)執(zhí)行while語(yǔ)句,i++<4成立,這時(shí)i=3,不執(zhí)行continue語(yǔ)句,繼續(xù)執(zhí)行j=0;然后執(zhí)行do-while語(yǔ)句,共循環(huán)4次:
a)s=26+a[3][0]=26+15=41,j+1=1。
b)s=41+a[3][1]=41+16=57,j+1=2。
c)s=57+a[3][2]=57+17=74,j+1=3。
d)s=74+a[3][3]=74+18=92,j+1=4。終止循環(huán)。
④i=3時(shí),執(zhí)行while語(yǔ)句,i++<4成立,這時(shí)i=4,執(zhí)行continue語(yǔ)句,結(jié)束本次循環(huán)。
⑤當(dāng)i=4時(shí),執(zhí)行while語(yǔ)句,i++<4不成立,結(jié)束while循環(huán)。輸出s的結(jié)果92。
30.x[0]x[0]x[0],x[0]解析:函數(shù)f()通過(guò)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]。
31.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中的字符依次讀出并寫(xiě)入到f2對(duì)應(yīng)的文件中去,直至文件f1結(jié)束為止,因此第二空為!feof(f1)。
32.gae
33.44解析:在主函數(shù)中調(diào)用函數(shù)f,函數(shù)f有三個(gè)參數(shù),形參n與C分別是兩個(gè)指向函數(shù)的指針。在f中執(zhí)行nf2(x),實(shí)際上是執(zhí)行了fo(2)-fa(2),故執(zhí)行i=(fa,fb,2)后i的值為2^3-2^2=4。
34.gaegae解析:主函數(shù)中定義了字符數(shù)組a和b,其初值分別為L(zhǎng)anguage和Programe,然后定義了兩個(gè)指針變量p1和p2,并讓它們指向a和b。通過(guò)分析可知下面的for循環(huán)中,每循環(huán)一次就將pl+k和p2+k所指向的字符進(jìn)行比較,如果相等,輸出該字符,循環(huán)共執(zhí)行8次,顯然Language和Programe中只有字符gae相等,所以最后輸出為gae。
35.k-1k,-1解析:顛倒一個(gè)字符串中的字符,就是首尾對(duì)應(yīng)的元素兩兩交換。簡(jiǎn)單地可用兩個(gè)游標(biāo)變量i和j,i是前端元素的下標(biāo),j是后端元素的下標(biāo),交換以這兩個(gè)變量值為下標(biāo)的元素str[i]和str[j]。開(kāi)始時(shí),i的值為0,j的值為字符串末元素的下標(biāo)(字符串長(zhǎng)度減1)。每次交換后,i增1,j減1。繼續(xù)交換的條件是str[i]位于str[j]的前面,即i<j。字符串末元素的下標(biāo)是它的長(zhǎng)度減1,所以在第二個(gè)空框處應(yīng)填入-1。程序?yàn)榱私粨Qstr[i]和str[j],使用了變量k,該變量應(yīng)在程序的變量定義部分中一起定義,所以在第一個(gè)空框處應(yīng)填入k。
36.變換型典型的數(shù)據(jù)流類(lèi)型有兩種:變換型和事務(wù)型。變換型是指信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過(guò)變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開(kāi)軟件系統(tǒng);在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個(gè)或多個(gè)處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務(wù)。
37.33解析:分析程序運(yùn)行過(guò)程,第1次循環(huán):s=s+i*i=0+1*1=1,i=2;第2次循環(huán):s=s+i*i=1+2*2=5,i=3;第3次循環(huán):s=s+i*i=5+3*3=14,i=4;循環(huán)條件不成立輸出i,--i使i的值減1,軸出結(jié)果為3。
38.55解析:程序通過(guò)語(yǔ)句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),并通過(guò)語(yǔ)句p=s;q=p->next;r=q->next;將結(jié)構(gòu)體指針變量p,q,r指向了各結(jié)點(diǎn),具體結(jié)構(gòu)如下圖:
故本題輸出的sum為3+2=5。
39.252137252137解析:本題中先定義了整型變量a、b和c,然后分別給賦值a為25,b為八進(jìn)制的025,c為十六進(jìn)制0x25。然后調(diào)用pruntf()函數(shù)將a、b和c分別用十進(jìn)制輸出,且中間用空格隔開(kāi),八進(jìn)制025轉(zhuǎn)換為十進(jìn)制的值為21,十六進(jìn)制的0x25轉(zhuǎn)換為十進(jìn)制的值為37,故最后的輸出結(jié)果為252137。
40.自頂向下自頂向下解析:在程序設(shè)計(jì)時(shí),應(yīng)先考慮總體,后考慮細(xì)節(jié),逐步使問(wèn)題具體化,對(duì)復(fù)雜的問(wèn)題,應(yīng)該設(shè)計(jì)一些子目標(biāo)作為過(guò)渡,上述方法概括為:自頂向下,逐步細(xì)化。
41.D解析:本題考查軟件工程中軟件設(shè)計(jì)的概念和原理。人們?cè)陂_(kāi)發(fā)計(jì)算機(jī)軟件的長(zhǎng)期實(shí)踐中積累了豐富的經(jīng)驗(yàn),總結(jié)這些經(jīng)驗(yàn)得到如下的啟發(fā)式規(guī)則:
(1)改進(jìn)軟件結(jié)構(gòu),提高模塊獨(dú)立性;通過(guò)模塊的分解或合并,力求降低耦合提高內(nèi)聚。低耦合也就是降低不同模塊間相互依賴(lài)的緊密程度,高內(nèi)聚是提高一個(gè)模塊內(nèi)各元素彼此結(jié)合的緊密程度。
(2)模塊的規(guī)模應(yīng)適中。一個(gè)模塊的規(guī)模不應(yīng)過(guò)大,過(guò)大的模塊往往是由于分解不夠充分:過(guò)小的模塊開(kāi)銷(xiāo)大于有益操作,而且模塊過(guò)多將使系統(tǒng)接口復(fù)雜。因此過(guò)小的模塊有時(shí)不值得單獨(dú)存在。
(3)模塊的功能應(yīng)該可以預(yù)測(cè),但也要防止模塊功能過(guò)分局限。如果模塊包含的功能太多,則不能體現(xiàn)模塊化設(shè)計(jì)的特點(diǎn):如果模塊的功能過(guò)分的局限,使用范圍就過(guò)分狹窄。
經(jīng)過(guò)上述分析,本題的正確答案是選項(xiàng)D。
42.C
43.B解析:第1次循環(huán),10>7,--n=9,輸出9。第2次循環(huán),9>7,--n=8,輸出8。第3次循環(huán),8>7,--n=7,輸出7。
44.C解析:本題中首先定義一個(gè)長(zhǎng)度為10的一個(gè)整型數(shù)組,并初始化為“l(fā),2,3,4,5,6,7,8,9,10”,然后調(diào)用排序函數(shù)sort(),通過(guò)分析不難看出,sort()函數(shù)是對(duì)具有n個(gè)元素的a數(shù)組進(jìn)行從大到小排序。由于函數(shù)的第一個(gè)參數(shù)是數(shù)組名,其對(duì)應(yīng)的實(shí)參可以是函數(shù)名或地址。本題在調(diào)用該函數(shù)時(shí),實(shí)參是&aa[3]的地址,即把a(bǔ)a[3]的地址傳給了形參數(shù)組名a,函數(shù)也就是對(duì)aa[3]開(kāi)始的5個(gè)元素進(jìn)行從大到小的排序,aa[0]、aa[1]、aa[2]、aa[8]、aa[9]并沒(méi)有變化。sort()執(zhí)行完畢后,接著執(zhí)行后面的for語(yǔ)句輸出數(shù)組aa中各個(gè)元素的值,由于函數(shù)sort()只是對(duì)aa[3]開(kāi)始的5個(gè)元素進(jìn)行從大到小的排序,aa[0]、aa[1]、aa[2]、aa[8]、aa[9]并沒(méi)有變化,所以輸出為“1,2,3,8,7,6,5,4,9,10”。
45.D解析:軟件需求規(guī)格說(shuō)明書(shū)SRS,SoftwareRequirementSpecification)是需求分析階段的最后成果,是軟件開(kāi)發(fā)中的重要文檔之一。它有以下幾個(gè)方面的作用,①便于用戶(hù)、開(kāi)發(fā)人員進(jìn)行理解和交流;②反映出用戶(hù)問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù);③作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)。
46.D解析:不論p是指向什么類(lèi)型的指針變量,都可以通過(guò)強(qiáng)制類(lèi)型轉(zhuǎn)換的方法使之為在型一致,強(qiáng)制類(lèi)型轉(zhuǎn)換的格式為(數(shù)據(jù)類(lèi)型*)。
47.D解析:本題考查scanf函數(shù)的基本格式。若在scanf函數(shù)的格式控制字符串中插入了其他的字符,則在輸入時(shí)要求按一一對(duì)應(yīng)的位置原樣輸入這些字符,我們必須把“a=”、“b=”、“c=”也輸入。
48.D解析:本題考查兩個(gè)知識(shí)點(diǎn):①C語(yǔ)言用'n\\'這個(gè)字符常量表示換行;②函數(shù)getchar()的作用是從終端輸入一個(gè)字符,當(dāng)遇到換行時(shí)結(jié)束輸入。
49.C解析:本題考查函數(shù)調(diào)用時(shí)參數(shù)的作用域。在函數(shù)調(diào)用時(shí),函數(shù)體內(nèi)定義的變量的作用域連函數(shù)體內(nèi),因而在不同函數(shù)體內(nèi)定義的變量可以相同,不影響各個(gè)變量的使用。
50.B解析:C語(yǔ)言中字符串是以'\\0'字符結(jié)束的,且strlen()函數(shù)計(jì)算的是'\\0'字符前的所有字符的個(gè)數(shù)。本題中strlen(st)應(yīng)為5。數(shù)組定義以后系統(tǒng)就為其分配相應(yīng)大小的內(nèi)存空間,而不論其中有沒(méi)有內(nèi)容。sizeof()函數(shù)是計(jì)算變量或數(shù)組的所分配到的內(nèi)存空間的大小。所以本題的sizeof(st)為20。
51.C解析:程序中沒(méi)有使用break終止switch語(yǔ)句的執(zhí)行。當(dāng)i:0時(shí),執(zhí)行第一個(gè)case語(yǔ)句,因?yàn)樗竺鏇](méi)有break,所以一直到執(zhí)行完default語(yǔ)句結(jié)束,輸出3個(gè)0,再執(zhí)行下一循環(huán)。所以只有選項(xiàng)C)正確。
52.C解析:軟件生命周期由軟件定義、軟件開(kāi)發(fā)和軟件維護(hù)三個(gè)時(shí)期組成,每個(gè)時(shí)期又進(jìn)一步劃分為若干個(gè)階段。軟件定義時(shí)期的基本任務(wù)是確定軟件系統(tǒng)的工程需求。軟件定義可分為軟件系統(tǒng)的可行性研究和需求分析兩個(gè)階段。軟件開(kāi)發(fā)時(shí)期是具體設(shè)計(jì)和實(shí)現(xiàn)在前一時(shí)期定義的軟件,它通常由下面五個(gè)階段組成:概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編寫(xiě)代碼、組裝測(cè)試和確認(rèn)測(cè)試。軟件維護(hù)時(shí)期的主要任務(wù)是使軟件持久地滿(mǎn)足用戶(hù)的需要。即當(dāng)軟件在使用過(guò)程中發(fā)現(xiàn)錯(cuò)誤時(shí)應(yīng)加以改正;當(dāng)環(huán)境改變時(shí)應(yīng)該修改軟件,以適應(yīng)新的環(huán)境;當(dāng)用戶(hù)有新要求時(shí)應(yīng)該及時(shí)改進(jìn)軟件,以滿(mǎn)足用戶(hù)的新要求。根據(jù)上述對(duì)軟件生命周期的介紹,可知選項(xiàng)C中的軟件維護(hù)不是軟件生命周期開(kāi)發(fā)階段的任務(wù)。因此,本題的正確答案是C。
53.B解析:若在函數(shù)中定義與全局變量名字相同局部變量,則全局變量在該函數(shù)中將不起作用,因此全局變量的作用域并不一定比局部變量的作用域大;靜態(tài)變量一旦定義,將在整個(gè)程序的運(yùn)行期間都存在;函數(shù)的形參只在函數(shù)調(diào)用的時(shí)候分配存儲(chǔ)空間,在退出函數(shù)時(shí)收回存儲(chǔ)空間,因此是局部的;沒(méi)有賦值的auto型變量的初值是隨機(jī)的,沒(méi)有賦值的static型變量的初值是0。
54.D解析:C語(yǔ)言中的預(yù)處理命令以符號(hào)#開(kāi)頭,這些命令是在程序編譯之前進(jìn)行處理的,選項(xiàng)D)的描述錯(cuò)誤。
55.D解析:C語(yǔ)言中有基本的算術(shù)運(yùn)算符(+、-、*、/)還包括自增自減運(yùn)算符(++、-),在C語(yǔ)言解析表達(dá)式時(shí),它總是進(jìn)行貪婪咀嚼,這佯,該表達(dá)式就被解析為i+++++i,顯然該表達(dá)式不合C語(yǔ)言語(yǔ)法。
56.C解析:本題考查的知識(shí)點(diǎn)是賦值語(yǔ)句的基本知識(shí)。在表達(dá)式的運(yùn)算中,雙目賦值運(yùn)算符的格式為“變量二表達(dá)式”,單目運(yùn)算符一般形式為“運(yùn)算符表達(dá)式”或“表達(dá)式運(yùn)算符”。常量和表達(dá)式是不能被賦值的。選項(xiàng)A為復(fù)合表達(dá)式,首先計(jì)算(i=2,++i)的值,然后賦值給n,故選項(xiàng)A正確;選項(xiàng)B為簡(jiǎn)單自加運(yùn)算,故選項(xiàng)B正確;選項(xiàng)C在表達(dá)式++(i+1);中,(i+1)不是變量,該表達(dá)式的值為常量,而在++運(yùn)算中,其運(yùn)算對(duì)象必須為變量,故選項(xiàng)C錯(cuò)誤;選項(xiàng)D中為復(fù)合賦值表達(dá)式,正確.所以應(yīng)當(dāng)選擇C。
57.D解析:C語(yǔ)言的語(yǔ)句都用“;”結(jié)束。如果只有一個(gè)分號(hào),稱(chēng)為“空語(yǔ)句”。用一對(duì)花括號(hào)把若干語(yǔ)句括起來(lái)構(gòu)成一個(gè)語(yǔ)句組,稱(chēng)為“復(fù)合語(yǔ)句”,在語(yǔ)法上視為一條語(yǔ)句。因此選項(xiàng)A是一條語(yǔ)句。選項(xiàng)B是逗號(hào)表達(dá)式加分號(hào)構(gòu)成的語(yǔ)句。選項(xiàng)C是一條if語(yǔ)句,該語(yǔ)句的if子句是一條空語(yǔ)句。選項(xiàng)D中“if(b==0)m=1;n=2;”是兩個(gè)表達(dá)式語(yǔ)句。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
58.A解析:數(shù)據(jù)流圖包括四個(gè)方面,即加工(輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出)、數(shù)據(jù)流(沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標(biāo)注數(shù)據(jù)流名)、存儲(chǔ)文件(數(shù)據(jù)源)(表示處理過(guò)程中存放各種數(shù)據(jù)的文件)、源和潭(表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實(shí)體),不包括選項(xiàng)中的控制流。
59.B
60.D解析:本題中直接使用指針變量k,但在使用時(shí)要注意對(duì)k的指針運(yùn)算。此外
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 保安人員技術(shù)素養(yǎng)提升的路徑計(jì)劃
- 公共服務(wù)行業(yè)的品牌工作計(jì)劃
- 苗圃未來(lái)希望助力孩子成長(zhǎng)計(jì)劃
- 加強(qiáng)跨國(guó)經(jīng)營(yíng)管理提升全球競(jìng)爭(zhēng)力計(jì)劃
- 弘揚(yáng)學(xué)生尊重勞動(dòng)的精神計(jì)劃
- 2025年地理信息大數(shù)據(jù)合作協(xié)議書(shū)
- 2025年中國(guó)橡膠行業(yè)市場(chǎng)運(yùn)行態(tài)勢(shì)、產(chǎn)業(yè)鏈全景及發(fā)展趨勢(shì)報(bào)告
- 七年級(jí)下冊(cè)《立方根》課件與練習(xí)
- 利用大數(shù)據(jù)分析預(yù)測(cè)用戶(hù)需求變化
- 2025年路面清潔裝備項(xiàng)目建議書(shū)
- 2022版義務(wù)教育(生物學(xué))課程標(biāo)準(zhǔn)(附課標(biāo)解讀)
- 醫(yī)院放射診療中的輻射防護(hù)常識(shí)學(xué)習(xí)培訓(xùn)
- 《中國(guó)山水畫(huà)技法》課件
- 如何提升小學(xué)教學(xué)質(zhì)量
- 陜西省西安市2023-2024學(xué)年六年級(jí)上學(xué)期期末數(shù)學(xué)試卷(A卷)
- 變電站模塊化建設(shè)2.0版技術(shù)導(dǎo)則
- 無(wú)人機(jī)飛行表演合同
- 廣州市2023年中考:《道德法治》考試真題與參考答案
- 爺爺?shù)臓敔斈睦飦?lái):人類(lèi)起源的演化過(guò)程
- 公會(huì)掛靠協(xié)議
- 欒川光伏扶貧發(fā)電項(xiàng)目部qc成果
評(píng)論
0/150
提交評(píng)論