版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第二章:C語(yǔ)言概述
1.以下(④)是不對(duì)的的轉(zhuǎn)義字符。
A.'\\'B.'\"C."020,D.'\0'
2.構(gòu)成C語(yǔ)言程序的基本單位是(@)。
A.函數(shù)B.變量C.子程序D.語(yǔ)句
3.C語(yǔ)言規(guī)定:在一個(gè)源程序中,main()函數(shù)的位置(C)。
A.必須在最開(kāi)始B.必須在系統(tǒng)調(diào)用的庫(kù)函數(shù)后面
C.可以任意D.必須在最后
4.為求出return語(yǔ)句返回計(jì)算100!的結(jié)果,此函數(shù)的類型說(shuō)明應(yīng)為(D)。
A.intB.longC.unsignedlongD.選項(xiàng)A.B,C.都不對(duì):ABC的數(shù)值范圍都不夠
5.C語(yǔ)言中的標(biāo)記符只能由字母、數(shù)字和下劃線3種字符組成,且第一個(gè)字符(C)。
A.必須為字母
B.必須為下劃線
C.必須為字母或下劃線
D.可以是字母、數(shù)字和下劃線中的任意一種
6.以下選項(xiàng)中合法的用戶標(biāo)記符是(D)。
A.intB.a#C.5memD._243
7.C語(yǔ)言中的簡(jiǎn)樸數(shù)據(jù)類型有(C)。
A.整型、實(shí)型、邏輯型B.整型、字符型、邏輯型
C.整型、實(shí)型、字符型D.整型、實(shí)型、字符型、邏輯型
8.以下選項(xiàng)中不對(duì)的的整型常量是(B)。
A.-37B.32,758C.326D.6
9.以下選項(xiàng)中合法的C語(yǔ)言字符常量是(A)。
A/\fBJA”C.67D.A
10.以下選項(xiàng)中不對(duì)的的實(shí)型常量是(A)。
A.123B.le4C.3.640E-1D.0.35
11.以下選項(xiàng)中合法的C語(yǔ)言賦值語(yǔ)句是(D).
A.a=b=34B.a=34,b=34C.-i;D.m=(int)(x+y);
12.設(shè)int類型的數(shù)據(jù)長(zhǎng)度為兩個(gè)字節(jié),則unsignedint類型數(shù)據(jù)的取值范圍是(B)。
A.0~255B.0-65535C.-32768?32767D.-256-255
第三章:運(yùn)算符與表達(dá)式(原先給的答案很多錯(cuò)誤)
1.以下敘述中不對(duì)的的是(B)。
A.在C程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符
B.在C程序中,無(wú)論整數(shù)還是實(shí)數(shù),都能準(zhǔn)確無(wú)誤地表達(dá)
C.若a是實(shí)型變量,C程序中a=20是對(duì)的的,因此實(shí)型變量允許被整型數(shù)賦值
D.以上表述都是對(duì)的的
2.若變量x、y、z均為double類型且已對(duì)的賦值,不能對(duì)的表達(dá)x/yXz的C語(yǔ)言表達(dá)式是(A)。
A.x/y*zB.x*(l/(y*z))C.x/y*l/zD.x/y/z
3.設(shè)a、b、c、d、m、n均為int型變量,且a=5,b=6,c=7,d=8,m=2,n=2?則邏輯表達(dá)式
(m=a>b)&&(n=c>d)運(yùn)算后,n的值為(C)。
A.OB.lC.2D.3
4.設(shè)w、x、y、z、m均為int型變量,有如下程序段:
w=l;x=2;y=3;z=4;
m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;
則該程序運(yùn)營(yíng)后,m的值是(D)。
A.4B.3C.2D.l
5.以下程序的輸出結(jié)果是(C)。
#include<stdio.h>
main()
{inta=5,b=4,c=6,d;
printf(z/%d\nz,,d=a>b?(a>c?a:c):(b));
)
A.5B.4C.6D.不擬定
6.在C語(yǔ)言中,假如下面的變量都是int類型,則輸出的結(jié)果是(A)。
sum=pad=5;pad=sum++,pad++,++pad;
printf("%d\nM,pad);
A.7B.6C.5D.4
7.以下程序的輸出結(jié)果是(B)。
#include<stdio.h>
main()
{inti=010,j=10;
pHntf("%d,%d\n”,++i,j--);
)
A.11,10B.9,10C.010,9D.10,9
8.已知由以下選項(xiàng)中對(duì)的的語(yǔ)句是(D)。
A.(intf)%i;B.int(D%i;C.int(f%i);D.(int)f%i;
9.若有定義:intx=3,y=2;floata=2.5,b=3.5;則下面表達(dá)式的值為(B)。
(x+y)%2+(int)a/(int)b
A.1.0B.lC.2.0D.2
10.假設(shè)所有變量均為整型,則表達(dá)式(a=2,b=5,a++,b++,a+b)的值為(C)。
A.7B.8C.9D.10
11.若有定義"intx=l,y=l;H,表達(dá)式(!x||y--)的值是(B)。
A.OB.lC.2D.-1
12.有以下程序:
main()
{unsignedchara,b,c;
a=0x3;
b=a|0x8;
c=b?l;
printf("%d%d\n”,b,c);
}
程序運(yùn)營(yíng)后的輸出結(jié)果是(D)。
A.-1112B.-6-13C.1224D.1122
13.若已定義x和y為double類型,則表達(dá)式x=l,y=x+3/2的值是(C)。
A.lB.2C.2.0D.2.5
14.執(zhí)行以下程序段后,c3的值為(A)。
intcl=l,c2=2,c3;
c3=1.0/c2*cl;
A.OB.0.5C.lD.2
15.以下程序的輸出結(jié)果是(D)。
#include<stdio.h>
main()
{inty=3,x=3,z=l;
printf(M%d%d\n",(++x,y++),z+2);
}
A.34B.42C.43D.33
第四章:基本語(yǔ)句
1.以下選項(xiàng)中不是C語(yǔ)句的是Co
A){inti;i++;printf("%d\n",i);)B);
C)a=5,c=10D){;)
2.執(zhí)行以下程序時(shí)輸入1234567,程序的運(yùn)營(yíng)結(jié)果為」。
#include<stdio.h>
rnain()
{intx,y;
scanf(H%2d%21d",&x,&y);
printf("%d\n",x+y);
)
A)17B)46C)15D)9
3.若有定義chara;intb;floatc;doubled;,則表達(dá)式a*b+c-d結(jié)果為型A。
A)doubleB)intC)floatD)char
4.若有定義inta,b;,則用語(yǔ)句scanf("%d%d”,&a,&b);輸入a,b的值時(shí),不能作為輸入數(shù)據(jù)分隔符的是工
A),B)空格C)回車D)[Tab]鍵
5.運(yùn)營(yíng)下面的程序,假如從鍵盤上輸入:
ab〈回車)
cv回車,
def<回車>
則輸出結(jié)果為Co
#defineN6
#include<stdio.h>
main()
{charc[N];
inti=0;
for(;i<N;c[i]=getchar(),i++);
for(i=0;i<N;i++)putchar(c[i]);printf(H\n");
}
A)
a
b
c
d
e
f
B)
a
b
d
C)
ab
d
D)abcdef
6.以下程序的輸出結(jié)果是上
#include<stdio.h>
main()
{printf(n%f,,2.5+1*7%2/4);
I
A)2.500000B)2.750000C)3.375000D)3.000000
7.根據(jù)定義和數(shù)據(jù)的輸入方式,輸入語(yǔ)句的對(duì)的形式是Bo
已有定義:float
數(shù)據(jù)的輸入方式:4.52
3.5
A)scanf("%f,%f;&fl,&f2);B)
C)scanf("%3.2f%2.1D)scanf("%3.2f,%2.1f;&flt&f2);
8.以下程序不用第3個(gè)變量,實(shí)現(xiàn)將兩個(gè)數(shù)進(jìn)行對(duì)調(diào)的操作,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{inta,b;
scanf(,,%d%d';&a,&b);
printf("a=%db=%d",a,b);
a=a+b:b=a-b:a=B;
printf(Ha=%db=%d\n",a,b);
)
A)a+bB)a-bC)b*aD)a/b
第五章:選擇結(jié)構(gòu)
1.以下選項(xiàng)中,能對(duì)的表達(dá)aN10或aWO的關(guān)系表達(dá)式是—D_。
A)a>=10ora<=0B)a>=10|a<=0C)a>=10&&a<=0D)a>=10||a<=0
2.假定所有變量均已對(duì)的定義,下列程序段運(yùn)營(yíng)后x的值是_B__。
a=b=c=0;x=35;
if(!a)x-;
elseif(b);
if(c)x=3;
elsex=4;
A)34B)4C)35D)3
3.以下程序的輸出結(jié)果
#include<stdio.h>
main()
(inta,b,c=246;
a=c/100%9;
b=(-l)&&(」);
printf(H%d,%d\n",a,b);
}
A)2,lB)3,2C)4,3D)2,-l
4..已知a=l、b=3、c=5、d=5,下列程序段運(yùn)營(yíng)后,x的值是—B__。
if(a<b)
if(c<d)x=l;
else
if(a<c)
if(b<d)x=2;
elsex=3;
elsex=6;
elsex=7;
A)1B)2C)3D)6
5.能對(duì)的表達(dá)a和b同時(shí)為正或同時(shí)為負(fù)的表達(dá)式是Do
A)(a>=0||b>=0)&&(a<0||b<0)B)(a>=0&&b>=0)&&(a<0&&b<0)
C)(a+b>())&&(a+b<=())D)a*b>()
6.以下程序的輸出結(jié)果是_C—。
#include<stdio.h>
main()
{inta=-l,b=l;
if((++a<0)&&!(b-<=0))
printf("%d%d\n",a,b);
else
printf(H%d%d\n",b,a);
)
A)-11B)01C)10D)00
7.下列關(guān)于switch語(yǔ)句和break語(yǔ)句的結(jié)論中,對(duì)的的是_B_
A)break語(yǔ)句是switch語(yǔ)句中的一部分
B)在switch語(yǔ)句中可以根據(jù)需要使用或不使用break語(yǔ)句
C)在switch語(yǔ)句中必須使用break語(yǔ)句
D)break語(yǔ)句只能用于switch語(yǔ)句中
8.若有定義inta=l,b=O;,則執(zhí)行以下語(yǔ)句后,輸出為B
switch(a)
{case1:
switch(b)
{case0:printf("**()**");break;
case1:printf("**l**");break;
)
case2:printf("**2**");break;
}
A)**()**B)**()****2**
C)**0****l****2**D)有語(yǔ)法錯(cuò)誤
9.以下程序的輸出結(jié)果是A一。
#include<stdio.h>
main()
{intx=l,a=0,b=0;
switch(x)
{case0:b++;
case1:a++;
case2:a++;b++;
)
printf("a=%d,b=%d\n",a,b);
}
A)a=2,b=lB)a=l,b=lC)a=l,b=OD)a=2,b=2
10.以下程序的輸出結(jié)果是_C_o
#include<stdio.h>
main()
{inta=12,b=5,c=-3;
if(a>b)
if(b<0)c=O;
elseC++;
printf("%d\n”,c);
}
A)OB)1C)-2D)-3
11.閱讀以下程序:
#include<stdio.h>
main()
{intx;
scanf("%d",&x);
if(x-<5)printf(H%d,',x);
elseprintf(,'%d,',x++);
}
程序運(yùn)營(yíng)后,假如從鍵盤輸入5,則輸出結(jié)果是.B。
A)3B)4C)5D)6
12.兩次運(yùn)營(yíng)下面的程序,假如從鍵盤上分別輸入6和4,則輸出的結(jié)果是_A_
#include<stdio.h>
main()
{intx;
scanf(H%dn,&x);
if(x++>5)printf("%d'?;
elseprintf("%d\n",x—);
}
A)7和5B)6和3C)7和4D)6和4
第6章循環(huán)結(jié)構(gòu)
1.在while(x)語(yǔ)句中的x與下面條件表達(dá)式等價(jià)的是。D
A)x==()B)x==lC)x!=lD)x!=()
2.以下程序的輸出結(jié)果是。D
#include<stdio.h>
main()
{int
for(k=5;k>=l;k-)
{m=0;
for(j=k;j<=5;j++)
m=m+k*j;
)
printf("%d\n",m);
}
A)124B)25C)36D)15
3.以下程序的輸出結(jié)果是。D
#include<stdio.h>
main()
{intx=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d%d",x-,y);
}
A)10192B)9876C)10990D)101091
4.以下程序的輸出結(jié)果是。A
a=l;b=2;c=2;
while(a<b<c){t=a;a=b;b=t;c—;)
printf("%d,%d,%d”,a,b,c);
A)1,2,0B)2,1,0C)1,2,1D)2,1,1
5.以下foi?循環(huán)體的執(zhí)行次數(shù)是。C
#include<stdio.h>
main()
{inti,j;
for(i=0,j=l;i<=j+l;i+=2,j-)printf(',%d\n';i);
)
A)3B)2C)1D)0
6.有以下程序:
#include<stdio.h>
main()
{intn=9;
while(n>6){n—;printf("%d",n);}
)
該程序段的輸出結(jié)果是。B
A)987B)876C)8765D)9876
7.有以下程序段:A
intk=0;
while(k=l)k++;
while循環(huán)執(zhí)行的次數(shù)是。
A)無(wú)限次B)有語(yǔ)法錯(cuò),不能執(zhí)行。一次也不執(zhí)行D)執(zhí)行一次
8.以下程序中,while循環(huán)的循環(huán)次數(shù)是。D
#include<stdio.h>
main()
{inti=0;
while(i<IO)
{if(i<l)continue;
if(i==5)break;
i++;
)
}
A)1B)10
C)6D)死循環(huán),不能擬定次數(shù)
9.以下程序的輸出結(jié)果是。B
#include<stdio.h>
main()
{inti=0,a=0;
while(i<20)
{for(;;)
{if((i%10)==())break;
elsei—;
}
i+=ll;a+=i;
)
printf(H%d\n';a);
}
A)21B)32C)33D)ll
10.語(yǔ)句while(!E);中的條件!E等價(jià)于。A
A)E==0B)E!=1C)E!=0D)~E
11.以下的for循環(huán)。C
for(x=(),y=0;(y!=123)&&(x<4);x++);
A)是無(wú)限循環(huán)B)循環(huán)次數(shù)不定
C)循環(huán)執(zhí)行4次D)循環(huán)執(zhí)行3次
12.執(zhí)行以下程序段的結(jié)果是。B
intx=23;
do
{printf(H%d",x-);
)vvhile(!x);
A)打印出321B)打印出23
C)不打印任何內(nèi)容D)陷入死循環(huán)
第7章:數(shù)組
1.有以下程序:
#include<stdio.h>
#include<string.h>
main()
{chara['f,'glh八0};
inti,j;
i=sizeof(a);j=strlen(a);
printf("%d,%d\n",ij);
)
程序運(yùn)營(yíng)后的輸出結(jié)果是。D
A)9,9B)8,9c)1,8D)9,8
2.以下程序中函數(shù)reverse。的功能是將a所指數(shù)組中的內(nèi)容進(jìn)行逆置存放。
#include<stdio.h>
voidreverse(inta[],intn)
{inti,t;
for(i=0;i<n/2;i++)
{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;)
}
main()
{intb[10J=(1,2,3,4,5,6,7,8,9,10);inti,s=0;
reverse(b,8);
for(i=6;i<10;i++)s+=b[i];
printf(H%d\n';s);
)
則程序運(yùn)營(yíng)后的輸出結(jié)果是。A
A)22B)10C)34D)30
3.有以下程序:
main(intargc,char*argv1])
{intn,i=0;
while(argv[l][i]!-\0')
{n=fun();i++;)
printf("%d\n",n*argc);
}
intfun()
{staticints=0;
s+=l;
returns;
)
假設(shè)程序經(jīng)編譯、連接后生成可執(zhí)行文獻(xiàn)exanexe,若鍵入以下命令行
exam123〈回車〉
則運(yùn)營(yíng)結(jié)果為。A
A)6B)8C)3D)4
4.以下程序的輸出結(jié)果是。A
#include<sidio桿h>
#include〈string桿h>
main()
{charstr[12]={'s,X,r\'iVn,;g'};
printf("%d\n",strlen(str));}
A)6B)7C)11D)12
5.若有說(shuō)明:inta[3][4];,則對(duì)數(shù)組a元素非法引用的是。D
A)a[0][2*l]B)a[l][3]C)a[4-2][0]D)a[0][4]
6.若有說(shuō)明:inta川4]={0,0};,則以下選項(xiàng)中,不對(duì)的的是。D
A)數(shù)組a的每個(gè)元素都可得到初值。
B)二維數(shù)組a的第一維大小為1
C)由于二維數(shù)組a中初值的個(gè)數(shù)不能被第二維大小的值整除,則第一維的大小等于所得商數(shù)再加1,故數(shù)組a的
行數(shù)為1
D)只有元素a[OHO]和祉0][1]可得到初值0,其余元素均得不到初值0
7.以下程序中有錯(cuò)誤的一行是。D
(l)main()
(2)(
(3)inta[3]={l);
(4)inti;
(5)scanf("%d",&a);
(6)for(i=l;i<3;i++)a[0]=a[0]+a[i];
(7)printf("%f\n”,a⑼);
(8)}
A)3B)6C)7D)5
8.若有說(shuō)明:inta[][3]={1,23,4,5,6,71;,貝必?cái)?shù)組第一維的大小是。B
A)2B)3C)4D)無(wú)擬定值
9.若有數(shù)組定義:chararray[]="China";,則數(shù)組array所占的空間為。C
A)4個(gè)字節(jié)B)5個(gè)字節(jié)C)6個(gè)字節(jié)D)7個(gè)字節(jié)
10.以下程序的輸出結(jié)果是。A
#includc<stdio.h>
#include<string.h>
main()
{chararr[2][4];
strcpy(arr,"you");strcpy(arr[l],"meH);
arr[0][3]=,&,;
printf(',%s\n",aiT);
)
A)you&meB)youC)meD)err
11.有以下程序:
#include<stdio.h>
main()
{intn[5]={(W},i,k=2;
for(i=0;i<k;i++)n[iJ=n[i]+l;
printf(H%d\n",n[k]);
}
該程序的輸出結(jié)果是。D
A)不定值B)2C)1D)0
12.以下程序的輸出結(jié)果是。A
#inchidc<stdio.h>
main()
{inta[3][3]={{l,2},{3,4},{5,6}),i,j,s=O;
for(i=l;i<3;i++)
forO=0;j<i;j++)s+=a[i][j];
printf("%d\n'\s);
)
A)14B)19C)2()D)21
13.當(dāng)執(zhí)行以下程序時(shí),假如輸入ABC,則輸出結(jié)果是。A
#include<stdio桿h>
#include〈string桿h>
main()
{charSSU0]="1,2,3,4,5”;
gets(ss);strcat(ss,"6789u);printf(n%s\n*',ss);
}
A)ABC6789B)ABC67C)12345ABC6D)ABC456789
14.以下程序的輸出結(jié)果是。A
#include<stdio.h>
f(intb[],intm,intn)
{inti,s=O;
fbr(i=m;i<n;i=i+2)s=s+b[i];
returns;
}
main()
{intx,a[]={1,23,4,5,6,7,8,9);
x=f(a,3,7);
printf("%d\n”,x);
}
A)10B)18C)8D)15
15.以下程序中函數(shù)sort。的功能是對(duì)數(shù)組a中的數(shù)據(jù)進(jìn)行由大到小的排序。
#include<stdio.h>
voidsort(inta[],intn)
{int
for(i=0;i<n-l;i++)
forG=i+l;j<n;j++)
if(a[i]<aB]){t=a[i];a[i]=a[j];aU]=t;)
}
main()
{intaa[10]={1,2,3,4,5,6,7,8,9,10}j;
sort(&aa[3],5);
for(i=();i<l();i++)printf(',%d,",aa[i]);
printf(H\n");
}
程序運(yùn)營(yíng)后的輸出結(jié)果是。C
A)1,2,3,4,5,6,7,89,10,B)109,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,
16.對(duì)兩個(gè)數(shù)組a和b進(jìn)行如下初始化:
chara[]=HABCDEFH;
則以下敘述對(duì)的的是。D
A)數(shù)組a與數(shù)組b完全相同B)數(shù)組a與數(shù)組b長(zhǎng)度相同
C)數(shù)組a與數(shù)組b中都存放字符串D)數(shù)組a比數(shù)組b長(zhǎng)度長(zhǎng)
17.有以下程序段:D
chara[3],b[]=,fChinau;
a=b;
printf("%s”,a);
則。
A)運(yùn)營(yíng)后將輸出ChinaB)運(yùn)營(yíng)后將輸出ChC)運(yùn)營(yíng)后將輸出ChiD)編譯犯錯(cuò)
18.判斷字符串si是否大于字符串s2,應(yīng)當(dāng)使用。D
A)if(sl>s2)B)if(strcmp(sl,s2))C)if(strcmp(s2,s1)>0)D)if(strcmp(s1,s2)>0)
19.以下程序的輸出結(jié)果是。A
#include<stdio.h>
main()
{charch[7]={n12ab56,,l;
inti,s=O;
for(i=0;ch[i]>=,0,&&ch[i]<='9';i+=2)
s=10*s+ch[i]-'0';
printf("%d\n';s);
)
A)1B)1256C)12ab56D)1
20.當(dāng)運(yùn)營(yíng)以下程序時(shí),從鍵盤輸入:AhaMA[空格]Ahav回車》,則程序的輸出結(jié)果是。A
#include<stdio.h>
main()
{chars[801,c='a';
inti=O;
scanf("%s",s);
while(s[i]!='\0')
{if(s[i]==c)s[i]=s[i]-32;
elseif(s[i]==c-32)S[i]=s[i]+32;
i++;
)
puts(s);
)
A)ahAMaB)AbAMaC)AhAMa[空格]ahA口)@11人1\^[空格心1^
操作題:
I.下列給定程序中,函數(shù)fun()的功能是:將形參a所指數(shù)組中的前半部分元素中的值與后半部
分元素中的值對(duì)換。形參n中存放數(shù)組中數(shù)據(jù)的個(gè)數(shù),若n為奇數(shù),則中間的元素不動(dòng)。
例如:若a所指數(shù)組中的數(shù)據(jù)為:1、2、3、4、5、6、7、8、9,則調(diào)換后為:6、7、8、9、5、
1、2、3、4。
請(qǐng)?jiān)诳瞻滋幪钊雽?duì)的內(nèi)容,使程序得出對(duì)的的結(jié)果。
(源程序在考生文獻(xiàn)夾”WEXAM\00000000”下)
不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
#include<stdio.h>
#defineN9
voidfun(inta[],intn)
{inti,t,p;
p=(n%2==0)?n/2:n/2+1;
for(i=0;i<n/2;i++)
{t=a[i];
a[i]=a[p+i];
a[p+i]=t;
)
}
main()
(intb[N]={1,2,3,4,5,6,78,9”;
printf("\nTheoriginaldata:\n");
for(i=0;i<N;i++)
printf("%4d,',b(i]);
printf("\n");
fun(b,N);
printf("\nThedataaftermoving:\n");
for(i=0;i<N;i++)
printf(',%4d,',b[i]);
printf("\nn);
)
第八章函數(shù)
1.以下函數(shù)值的類型是。A
fun(floatx)
{floaty;
y=3*x-4;
returny;
)
A)intB)不擬定C)voidD)float
2.以下程序的輸出結(jié)果是。B
#include<stdio.h>
inta,b;
voidfun()
{a=100;b=200;}
main()
{inta=5,b=7;
fun();
printf("%d%d\n",a,b);
}
A)100200B)57C)202300D)75
3.以下程序的輸出結(jié)果是。C
#include<stdio,h>
intx=3;
main()
{inti;
for(i=l;i<x;i++)incre();
}
incre()
{staticintx=l;
x*=x+l;
printf("%d",x);
}
A)33B)22C)26D)25
4.以下程序的輸出結(jié)果是。B
#includc<stdio.h>
intf(intn)
(if(n==1)return1;
elsereturnf(n-l)+l;
}
main()
{inti,j=O;
for(i=l;i<3;i++)
j+=f(i);
printf(',%d\n';j);
)
A)4B)3C)2D)1
5.以下程序的輸出結(jié)果是。A
#include<stdio.h>
intd=l;
fun(intp)
{intd=5;
d+=p++;
printf(n%d”,d);
)
main()
{inta=3;
fun(a);
d+=a++;
printf(',%d\n",d);
)
A)84B)96C)94D)85
6.函數(shù)調(diào)用strcat(strcpy(strl,str2),str3)的功能是。C
A)將字符串strl復(fù)制到字符串st「2中后再連接到字符串str3之后
B)將字符串strl連接到字符串sir2之后再?gòu)?fù)制到字符串slr3之后
C)將字符串和2復(fù)制到字符串strl中后再將字符串str3連接到字符串strl之后
D)將字符串str2連接到字符串sirl之后再將字符串strl復(fù)制到字符串str3中
7.有如下程序:
intsub(intn)
{if(n<5)return0;
elseif(n>12)return3;
return1;
if(n>5)return2;
}
main()
{inta=10;
printf("%d\n”,sub(a));
}
該程序的輸出結(jié)果是。B
A)0B)1C)2D)3
8.以下程序的輸出結(jié)果是。C
#includc<stdio.h>
intd=l;
fun(intp)
{staticinid=5;
d+=p;
printf(H%d",d):
return(d):
)
main()
{inta=3;
printf(H%d\n'\fun(a+fun(d)));
)
A)699B)669Q61515D)6615
9.在一個(gè)源文獻(xiàn)中定義的外部變量的作用域?yàn)?。D
A)本文獻(xiàn)的所有范圍B)本程序的所有范圍
C)本函數(shù)的所有范圍D)從定義該變量的位置開(kāi)始至本文獻(xiàn)結(jié)束
1().以下敘述中對(duì)的的是。B
A)全局變量的作用域一定比局部變量的作用域范圍大
B)靜態(tài)(static)類別變量的生存期貫穿于整個(gè)程序的運(yùn)營(yíng)期間
C)函數(shù)的形參都屬于全局變量
D)未在定義語(yǔ)句中賦初值的auto變量和static變量的初值都是隨機(jī)值
11.以下對(duì)C語(yǔ)言函數(shù)的描述中,對(duì)的的是。A
A)C程序由一個(gè)或一個(gè)以上的函數(shù)組成B)C函數(shù)既可以嵌套定義又可以遞歸調(diào)用
C)函數(shù)必須有返回值,否則不能使用函數(shù)D)C程序中調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)程序文獻(xiàn)中
12.C語(yǔ)言中形參的默認(rèn)存儲(chǔ)類別是。A
A)自動(dòng)(auto)B)靜態(tài)(static)C)寄存器(register)D)外部(extern)
13.以下敘述中不對(duì)的的是。B
A)在C語(yǔ)言中,調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳送給形參,形參的值不能傳送給實(shí)參
B)在C函數(shù)中,最佳使用全局變量
C)在C語(yǔ)言中,形式參數(shù)只是局限于所在函數(shù)
D)在C語(yǔ)言中,函數(shù)名的存儲(chǔ)類別為外部
14.C語(yǔ)言中函數(shù)返回值的類型由決定。D
A)rcturn語(yǔ)句中的表達(dá)式類型B)調(diào)用函數(shù)的主調(diào)函數(shù)類型
C)調(diào)用函數(shù)時(shí)的臨時(shí)類型D)定義函數(shù)時(shí)所指定的函數(shù)類型
15.C語(yǔ)言規(guī)定,調(diào)用一個(gè)函數(shù)時(shí),實(shí)參變量和形參變量之間的數(shù)據(jù)傳遞是。C
A)地址傳遞B)由實(shí)參傳給形參,并由形參返回給實(shí)參
C)值傳遞D)由用戶指定傳遞方式
16.在C語(yǔ)言中。D
A)函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套
B)函數(shù)的定義和調(diào)用均可以嵌套
C)函數(shù)的定義和調(diào)用均不可以嵌套
D)函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套
17.以下函數(shù)調(diào)用語(yǔ)句中,具有的實(shí)參個(gè)數(shù)是。A
fun(x+y,(el,e2),fun(xy,d,(a,b)));
A)3B)4C)6D)8
18.以下程序的輸出結(jié)果是。C
#include<stdio,h>
fun(intx)
{staticinta=3;
a+=x;
rcturn(a);
)
main()
{intk=2,m=l,n;
n=fun(k);
n=fun(m);
printf(,,%d,,,n);
}
A)3B)4C)6D)9
19.以下程序的輸出結(jié)果是。D
#include<stdio,h>
intfunc(inta,intb)
{retum(a+b);}
main()
{intx=2,y=5,z=8,r;
r=func(func(x,y),z);
printf("%d\n”,r);
}
A)12B)13C)14D)15
第9章指針
1.在說(shuō)明語(yǔ)句:int*f();中,標(biāo)記符f代表的是。D
A)一個(gè)用于指向整型數(shù)據(jù)的指針變量B)一個(gè)用于指向一維數(shù)組的行指針
C)一個(gè)用于指向函數(shù)的指針變量D)一個(gè)返回值為指針型的函數(shù)名
2.以下程序的輸出結(jié)果是。A
#include<stdio.h>
#include<string.h>
main()
{char*p=',abcde\Ofghjik\O'r;
printf("%d\n'\strlen(p));
)
A)12B)15C)6D)5
3.設(shè)有以下語(yǔ)句,則不是對(duì)a數(shù)組元索的對(duì)的引用,其中0Wi<10。D
inta[l0]=[0,1,2,345,6,7,8,9),*p=a;
A)a[p-a]B)*(&a[i])C)p[i]D)*(*(a+i))
4.以下程序段的輸出結(jié)果是。A
int*var,ab;
ab=10O;var=&ab;ab=*var+10;
printf(n%d\nH,*var);
A)110B)100C)0D)出現(xiàn)錯(cuò)誤
5.設(shè)有如下的程序段:B
charstr[]="Hcllo";
char*ptr;
ptr=str;
執(zhí)行上面的程序段后,*(ptr+5)的值為。
A)bC)不擬定的值D)0的地址
6.若有以下定義和語(yǔ)句:A
#include<stdio.h>
inta=4,b=3,*p,*q,*w;
p=&a;q=&b;w=q;q=NULL;
則以下選項(xiàng)中錯(cuò)誤的語(yǔ)句是。
A)*q=();B)w=p;C)*p=a;D)*p=*w;
7.下面函數(shù)的功能是。B
sss(s,t)
char*s,*t;
{while((*s)&&(*t)&&(*t++==*s++));
retum(*s-*t);
}
A)求字符串的長(zhǎng)度B)比較兩個(gè)字符串的大小
C)將字符串s復(fù)制到字符串t中D)將字符串s接續(xù)到字符串t中
8.有以下程序:
#inchide<stdlib.h>
main()
{char*p,*q;
p=(char*)malloc(sizeof(char)*20);q=p;
scanf("%s%s'\p,q)zprintf("%s%s\n'\p,q);
)
若從鍵盤輸入:abcdefv回車〉,則輸出結(jié)果是。A
A)defdefB)abcdefC)abcdD)dd
9.若有以下說(shuō)明和定義:
typedefint*INTEGER;
INTEGERp,*q;
以下敘述對(duì)的的是。B
A)p是im型變量B)p是基類型為int的指針變量
C)q是基類型為int的指針變量D)程序中可用INTEGER代替血類型名
10.說(shuō)明語(yǔ)句int*(*p)();的含義是。D
A)p是一個(gè)指向im型數(shù)組的指針
B)p是指針變量,它構(gòu)成了指針數(shù)組
C)p是一個(gè)指向函數(shù)的指針,該函數(shù)的返回值是一個(gè)整型
D)p是一個(gè)指向函數(shù)的指針,該函數(shù)的返回值是一個(gè)指向整型的指針
11.已知char*p,*q;,選擇對(duì)的的語(yǔ)句。C
A)p*=3;B)p/=q;C)p+=3;D)p+=q;
12.已知?jiǎng)t不能將的值賦給變量i的語(yǔ)句是。C
A)i=*(*(x+l)+l);B)i=x[l][l];
C)i=*(*(x+l));D)i=*(x[l]+l);
13.下列程序的輸出結(jié)果是。B
#includc<stdio.h>
intb=2;
intfunc(int*a)
{b+=*a;return(b);
}
main()
{inta=2,res=2;
res+=func(&a);
printf('r%d\n",res);
)
A)4B)6C)8D)10
14.有如下程序段:
int*p,a=10,b=l;
p=&a;a=*p+b;
執(zhí)行該程序段后,a的值為。B
A)12B)llC)10D)編譯犯錯(cuò)
15.對(duì)于基類型相同的兩個(gè)指針變量之間,不能進(jìn)行的運(yùn)算是。C
A)<B)=C)+D)-
16.如下程序的輸出結(jié)果是。C
#include<stdio.h>
main()
{charch[2][5]={,'6937","8254,'h*p[2J;
inti,j,s=O;
for(i=0;i<2;i++)p[i]=ch[i];
for(i=0;i<2;i++)
ford=0;p[i][j]>'\(),;j+=2)
s=10*s+p[i][j]-'0';
printf("%d\n",s);
}
A)69825B)63825C)6385D)693825
17.當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳遞的是。B
A)數(shù)組的長(zhǎng)度B)數(shù)組的首地址
C)數(shù)組每一個(gè)元素的地址D)數(shù)組每個(gè)元素中的值
18.若有說(shuō)明語(yǔ)句:inlahc,叼=&c;,則能對(duì)的從鍵盤讀入3個(gè)整數(shù)分別賦給變量a、b、c的語(yǔ)句是。A
A)scanf(M%d%d%d';&a,&b,d);B)scanf("%d%d%d”,&a,&b,&d);
C)scanfC'%d%d%d';a,b,d);D)scanf("%d%d%d",a,b,*d);
19.若定義:inta=51l,*b=&a;,則printf("%d\n”,*b);的輸出結(jié)果為。D
A)無(wú)擬定值B)a的地址C)512D)511
第10章編譯預(yù)解決和動(dòng)態(tài)存儲(chǔ)分派
1.對(duì)下面程序段,對(duì)的的判斷是。B
#defineA3
#defincB(a)((A+1)*a)
x=3*(A+B(7));
A)程序錯(cuò)誤,不許嵌套宏定義B)x=93
C)x=21D)程序錯(cuò)誤,宏定義不許有參數(shù)
2.以下程序的輸出結(jié)果為。B
#include<stdio.h>
#defineF(y)3.84+y
#definePR(a)printf("%d",(int)(a))
#definePRINT(a)PR(a);putcharCVn1)
main()
{intx=2;
PRINT(F(3)*x);
)
A)8B)9C)1()D)11
3.以下說(shuō)法中對(duì)的的是。C
A)#define和prinlf都是C語(yǔ)句B)#deflne是C語(yǔ)句,而prinlf不是
C)p「intf是C語(yǔ)句,但#加住1?不是D)#define和printf都不是C語(yǔ)句
4.以下程序的輸出結(jié)果是。C
#definef(x)x*x
#include<stdio.h>
main()
{inta=6,b=2,c;
c=f(a)/f(b);
printf(,r%d\n",c);
)
A)9B)6C)36D)18
5.以下程序運(yùn)營(yíng)后,輸出結(jié)果是。B
#definePT5.5
#defineS(x)PT*x*x
#include<stdio.h>
main()
{inta=l,b=2;
printf(,r%4.1f\n",S(a+b));
)
A)49.5B)9.5C)22.0D)45.0
6.下列程序執(zhí)行后的輸出結(jié)果是0B
#defineMA(x)x*(x-l)
#include<stdio.h>
rnain()
{inta=l,b=2;printf(n%d\n';MA(l+a+b));
)
A)6B)8C)10D)12
7.有如下程序:
#defineN2
#defineMN+l
#defineNUM2*M+1
main()
{inti;
for(i=1;i<=NUM;i++)printf("%d\n'',i);
}
該程序中的for循環(huán)執(zhí)行的次數(shù)是。C
A)5B)6C)7D)8
&程序中頭文獻(xiàn)typel.h的內(nèi)容是:
#defineN5
#defineMlN*3
程序如下:
#include"typel,hM
#defineM2N*2
main()
{inti;
i=M1+M2;printf(',%d\n,,,i);
)
程序編譯后運(yùn)營(yíng)的輸出結(jié)果是。C
A)10B)20C)25D)3()
9.以下對(duì)的的描述為。C
A)每個(gè)C語(yǔ)言程序必須在開(kāi)頭使用預(yù)解決命令#也日1111?<stdio.h>
B)預(yù)解決命令必須位于C源程序的首部
C)在C語(yǔ)言中預(yù)解決命令都以〃#〃開(kāi)頭
D)C語(yǔ)言的預(yù)解決命令只能實(shí)現(xiàn)宏定義和條件編譯的功能
10.從下列選項(xiàng)中選擇不會(huì)引起二義性的宏定義是。D
A)#definePOWER(x)x*xB)#definePOWER(x)(x)*(x)
C)#defincPOWER(x)(x*x)D)#definePOWER(x)((x)*(x))
11.設(shè)有以下宏定義:
#defineN3
#defineY(n)((N+l)*n)
則執(zhí)行語(yǔ)句"z=2*(N+Y(5+1));”后,z的值為。C
A)犯錯(cuò)B)42C)48D)54
12.若有宏定義#defineMOD(x,y)x%y,則執(zhí)行以下語(yǔ)句后的輸出為。B
intz,a=15,b=l(M);
z=MOD(b,a);
printf(,'%d\n,',z++);
A)11B)10C)6D)宏定義不合法
13.以下程序的輸出結(jié)果是D
#include<stdio.h>
inta[3][3]={l,2,3,4,5,6,7,8,9},*p;
main()
{p=(int*)malloc(sizeof(int));
f(p,a);
printfC%d\n",*p);
free(p);
)
f(int*s,intp[][3])
{*S=p[l][l];}
A)1B)4C)7D)5
第n章結(jié)構(gòu)體與共用體
1.在16位的PC機(jī)上使用C語(yǔ)言,若有如下定義:D
structdata
{inti;
charch;
doublef;
}b;
則結(jié)構(gòu)變量b占用內(nèi)存的字節(jié)數(shù)是。
A)1B)2C)8D)11
2.設(shè)有以下說(shuō)明和定義語(yǔ)句,則下面表達(dá)式中值為3的是。D
structs
{inti;
structs*i2;
);
staticstructsa[3]={I,&a[1],2,&a[2],3,&a[0]};
staticstructs*ptr;
ptr=&a[l];
A)ptr->i++B)ptr++->IC)*ptr->iD)++ptr->i
3.有以下程序:
main()
{union(
unsignedintn;
unsignedcharc;
)ul;
ul.c-A';
printf("%c\n",ul.n);
)
執(zhí)行后輸出結(jié)果是C
A)產(chǎn)生語(yǔ)法錯(cuò)B)隨機(jī)值C)AD)65
4.設(shè)有以下說(shuō)明語(yǔ)句:C
structstu
{inta;
floatb;
}stutype;
則下面的敘述對(duì)的的是。
A)struct是結(jié)構(gòu)體類型名B)structstu是用戶定義的結(jié)構(gòu)體變量名
C)stutype是用戶定義的結(jié)構(gòu)體變量名D)a和b都是結(jié)構(gòu)體變量名
5.以下程序輸出結(jié)果是B
#includc<stdio.h>
typedefunion
(longi;
intk[5J;
charc;
}DATE;
structdate
{intcat;
DATEcow;
doubledog;
}too;
DATEmax;
main()
{printf("%d\n",sizeof(structdate)+sizeof(max));
}
A)25B)30C)18D)8
6.以下對(duì)結(jié)構(gòu)體變量sail中成員age的非法引用是。B
structstudent
{intage;
intnum;
}siul,*p;
p=&stul:
A)stu1.ageB)student.ageC)p->ageD)(*p).age
7.下列程序中,結(jié)構(gòu)體變量a所占內(nèi)存字節(jié)數(shù)是。C
unionU
{charsl[4];
inti;
long1;
};
structA
{intc;
unionUu;
}a;
A)4B)5C)6D)8
8.設(shè)有以下說(shuō)明語(yǔ)句:
structex{
intx;floaty;charz;
}example;
則下面的敘述中不對(duì)的的是。B
A)struct是結(jié)構(gòu)體類型的關(guān)鍵字B)example是結(jié)構(gòu)體類型名
Ox,y,z都是結(jié)構(gòu)體成員名D)structex是結(jié)構(gòu)體類型名
9.若有下面的說(shuō)明和定義:
structtest{
intml;charm2;floatm3;
unionuu(
charul[5];
intu2[2];
}ua;
}myaa;
則sizeof(structtest)的值是。A
A)12B)16C)14D)9
10.已知:
union
{inti;
charc;
floata;
}test;
則sizeof(test)的值是。A
A)4B)5C)6D)7
11.以下對(duì)C語(yǔ)言中聯(lián)合類型數(shù)據(jù)的對(duì)的敘述是。C
A)一旦定義了一個(gè)聯(lián)合變量后,即可引用該變量或該變量中的任意成員
B)一個(gè)聯(lián)合變量中可以同時(shí)存放其所有成員
C)?個(gè)聯(lián)合變量中不能同時(shí)存放其所有成員
D)聯(lián)合類型數(shù)據(jù)可以出現(xiàn)在結(jié)構(gòu)體類型定義中,但結(jié)構(gòu)類型數(shù)據(jù)不能出現(xiàn)在聯(lián)合類型定義中
結(jié)構(gòu)體操作題:
1.下列給定程序是建立一個(gè)帶頭節(jié)點(diǎn)的單向鏈表,并用隨機(jī)函數(shù)為各節(jié)點(diǎn)賦值。函數(shù)fun的功
能是將單向鏈表節(jié)點(diǎn)(不涉及頭節(jié)點(diǎn))數(shù)據(jù)域?yàn)榕紨?shù)的值累加起來(lái),并且作為函數(shù)值返回。
請(qǐng)改正函數(shù)fun中的錯(cuò)誤,使它能得出對(duì)的的結(jié)果。
注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年農(nóng)業(yè)跨境投資合規(guī)操作指南
- 2026年農(nóng)用傳感器部署維護(hù)技巧
- 2026浙江臺(tái)州市立醫(yī)院招聘高層次衛(wèi)技人員28人備考題庫(kù)及1套參考答案詳解
- 2026河南漯河市源匯區(qū)農(nóng)信聯(lián)社寒假實(shí)習(xí)生招募15人備考題庫(kù)及參考答案詳解1套
- 2026湖南郴州市桂陽(yáng)縣縣直事業(yè)單位選聘5人備考題庫(kù)及完整答案詳解1套
- 2026年農(nóng)業(yè)信貸風(fēng)控模型構(gòu)建方法
- 職業(yè)噪聲工人心血管健康管理的實(shí)踐指南
- 職業(yè)健康監(jiān)護(hù)檔案與危害因素監(jiān)測(cè)數(shù)據(jù)整合分析
- 馬鞍山2025年安徽馬鞍山師范高等??茖W(xué)校招聘緊缺專業(yè)碩士21人筆試歷年參考題庫(kù)附帶答案詳解
- 職業(yè)人群高血脂的飲食干預(yù)方案
- 市安全生產(chǎn)例會(huì)制度
- 高新區(qū)服務(wù)規(guī)范制度
- 小程序維護(hù)更新合同協(xié)議2025
- 中國(guó)自有品牌發(fā)展研究報(bào)告2025-2026
- 地形測(cè)量投標(biāo)標(biāo)書技術(shù)設(shè)計(jì)書
- 2025及未來(lái)5年馬桶水箱組合項(xiàng)目投資價(jià)值分析報(bào)告
- 合伙建廠合同協(xié)議書
- 代建合同安全協(xié)議書
- 貸款掛靠合同(標(biāo)準(zhǔn)版)
- 學(xué)生手機(jī)理性使用教育教案
- 統(tǒng)編版(2024)七年級(jí)上冊(cè)歷史期末復(fù)習(xí)知識(shí)點(diǎn)講義
評(píng)論
0/150
提交評(píng)論