选择题Word文件下载.docx
《选择题Word文件下载.docx》由会员分享,可在线阅读,更多相关《选择题Word文件下载.docx(41页珍藏版)》请在冰豆网上搜索。
[4-2]为表示x≥y≥z,须用的C语言表达式为(A)。
A)(x>
=y)&
&
(y>
=z)B)(x>
=y)AND(y>
=x)
C)x>
=y>
=zD)(x>
=z)
[4-3]设inta,b;
,用语句scanf('
%d%d"
&
a,&
b);
输入a、b值时,不能作为输入数据分隔符的是(B)。
A)空格B),C)回车D)[Tab]
[5-1]以下程序运行时,若从键盘输入5,则输出结果是(D)。
{inta;
scanf("
%d"
a);
if(a++>
5)printf("
%d\n"
a);
elseprintf("
a--);
A)7B)4C)5D)6
[5-2]以下程序的运行结果是(A)。
{inta,b,c;
a=b=c=1;
if(a++||++b)c++;
%d,%d,%d\n"
a,b,c);
A)2,1,2B)1,2,1
C)2,2,2D)2,2,1
[5-3]以下程序的运行结果是(A)。
{inti=3,j=2,k;
k=i+j;
{intk=8;
if(i==3)printf("
%2d"
k);
j);
}
%2d%2d\n"
i,k);
A)835B)838
C)383D)583
[6-1]有以下程序:
{intc;
while((c=getchar())!
='
\n'
)
{switch(c-'
2'
{case0:
case1:
putchar(c+4);
case2:
break;
case3:
putchar(c+3);
default:
putchar(c+2);
}}
\n"
);
当输入:
247<
回车>
,程序的输出结果是(B)。
A)689B)6689C)66778D)66887
[6-2]以下程序的运行结果是(B)。
{inta=1,b=0;
switch(a)
{case1:
switch(b)
{case0:
0000\n"
case1:
1111\n"
break;
case2:
printf("
2222\n"
}}
A)0000
1111
B)0000
2222
C)0000
D)1111
[6-3]以下程序的运行结果是(C)。
voidmain()
{inta=1;
{case1:
aaaa\n"
case2:
bbbb\n"
cccc\n"
}}
A)aaaa
B)aaaa
bbbb
cccc
C)aaaa
D)aaaa
[7-1]以下程序运行后,a的值是(D)。
{inta,b;
for(a=1,b=1;
a<
=100;
a++)
{if(b>
=20)break;
if(b%3==1){b+=3;
continue;
b-=5;
A)101B)100C)8D)7
[7-2]以下程序段的运行结果是(D)。
{inti,j;
i=10;
j=20;
for(;
j>
=0;
j-=20)
{if(i=j)printf("
Good!
"
elseprintf("
Notgood!
"
A)Good!
B)Notgood!
C)Good!
D)Good!
Notgood!
[7-3]以下程序的运行结果是(A)。
{inta,b,c,n=13;
ABC\n"
for(a=1;
=n;
for(b=1;
b<
b++)
for(c=b;
c<
c++)
if(a*a==b*b+c*c)
%3d%3d%3d\n"
a,b,c);
A)ABC
534
1068
13512
B)ABC
354
6108
51312
C)ABC
453
8106
12135
D)ABC
543
1086
13125
[8-1]以下程序段的运行结果是(D)。
intx=3;
do{
%3d,"
x-=2);
}while(!
(--x));
A)1B)30
C)死循环D)1,-2
[8-2]设E为表达式,以下与do…while(E);
不等价的语句是()。
[答]C,1.1
A)do…while(!
E==0);
B)do…while(E>
0||E<
0);
C)do…while(E==0);
D)do…while(E!
=0);
[8-3]以下程序的运行结果是(D)。
{inti,s;
i=0;
s=1;
do{
s/=s+1;
i++;
while(i<
=10);
i,s);
A)102B)112
C)100D)110
[9-1]下列程序段中,非死循环的是(A)。
A)inti=100;
while
(1)
{i=i%100+1;
if(i>
=100)break;
B)intk=0;
++k;
while(k>
C)ints=10;
while(++s%2+s%2)s++;
D)for(;
[9-2]循环语句循环体中执行continue语句,其作用是(C)。
A)立即终止程序运行B)继续执行continue语句之后的循环体各语句
C)结束本次循环D)结束本次循环,跳出循环
[9-3]下列do...while循环的循环次数是(D)。
inti=5;
i--);
i--;
}while(i!
=0)
A)0B)2C)5D)死循环
[10-1]设已定义chars[]="
\"
Name\\Address\023\n"
,则字符串所占的字节数是(B)。
A)19B)15C)18D)14
[10-2]已定义charx[8];
inti;
,为了给该数组赋值,下列语句正确的是(D)。
A)x[8]="
TurboC"
B)x="
C)x[]="
D)for(i=0;
i<
7;
i++)x[i]=getchar();
[10-3]设inta[][4]={0,0};
,则下列描述错误的是(D)。
A)数组a的每个元素的值为0B)二维数组a的第一维大小为1
C)数组a有4个元素D)只有元素a[0][0]和a[0][1]的值为0,其余元素的值不确定
[11-1]以下程序段的运行结果是(D)。
{inti=4,j;
j=i;
pic(i+2*j-2,'
*'
putchar('
for(j-=2;
j--)
{pic(3-j,'
'
pic(i+2*j,'
pic(intlen,charc)
{intk;
for(k=1;
k<
=len;
k++)putchar(c);
A)*
***
*****
*******
B)**********
**********
C)****
******
********
D)**********
****
[11-2]以下程序运行结果是(B)。
{chara[][5]={"
ABCD"
"
1234"
abcd"
5678"
EFGH"
};
for(i=0;
3;
i++)printf("
%s"
a[i]);
}
A)A1aB)ABCD1234abcd
C)ABCD)ABCD1234abcd5678EFGH
[11-3]以下程序的运行结果是(A)。
{intarray[4][4];
inti,j;
4;
i++)
for(j=0;
j<
j++)array[i][j]=i+j;
j++)
if(i==j||i+j==3)array[i][j]=0;
j++)printf("
array[2][j]);
A)2005B)1004C)0120D)0450
[12-1]设有下列语句,则(D)是对a数组元素的不正确引用,其中0≤i<
10。
inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
A)a[p-a]B)*(&
a[i])C)p[i]D)*(*(a+i))
[12-2]若有以下程序:
main
{charch[]="
Iamstudent!
*p;
p=ch
%x\n"
p);
p+9);
其中第一个printf()运行结果是ffd6,则第二个printf()运行结果是(A)。
A)ffdfB)ffe8C)ffd6D)ffcf
[12-3]以下程序的运行结果是(D)。
{inti;
charaa[][3]={'
a'
'
b'
c'
d'
e'
f'
char(*p)[3]=aa;
2;
if(i==0)aa[i][i+1]=**(p++);
%c\n"
**p);
A)aB)bC)cD)d
[13-1]设有下列语句:
charstr1[]="
string"
str2[8],*str3,*str4="
则(A)是对库函数strcpy的不正确调用。
此函数用来复制字符串。
A)strcpy(str3,"
HELLO3"
B)strcpy(str2,"
HELLO2"
C)strcpy(str1,"
HELLO1"
D)strcpy(str4,"
HELLO4"
[13-2]若有以下定义和语句,且0≤i<4,0≤j<3,则不能访问a数组中的元素的是(D)。
inti,(*p)[3];
inta[][3]={1,2,3,4,5,6,7,8,9,10,11,12};
p=a;
A)*(*(a+i)+j)B)p[i][j]
C)(*(p+i))[j]D)p[i]+j
[13-3]以下关于指针概念的叙述中,错误的是(C)。
A)一个指针变量只能指向同一类型的变量B)一个变量的地址称为该变量的指针
C)两个同类型的指针变量可以作加减运算D)任何指针变量都可以与空指针NULL进行比较
[14-1]以下程序的运行结果是(C)。
fun3(intx)
{staticinta=3;
a+=x;
returna;
{intk=2,m=1,n;
n=fun3(k);
n=fun3(m);
n);
A)3B)4C)6D)9
[14-2]以下程序运行后,输出的结果是(C)
func(inta)
{staticintm=0;
m+=a;
return(m);
{intk=4,p;
p=func(k);
%d,"
p);
A)4,4B)0,4C)4,8D)8,8
[14-3]以下程序的运行结果是(B)
age(n)
intn;
if(n==1)c=10;
else
if(n%2==0)c=age(n-1)+2;
elsec=age(n-1)+3;
return(c);
{printf("
age(5));
A)18B)20C)10D)21
[15-1]以下程序的运行结果是(A)。
voidast(intx,inty,int*cp,int*dp)
{*cp=x+y;
*dp=x-y;
{inta=4,b=3,c,d;
ast(a,b,&
c,&
d);
%d,%d\n"
c,d);
A)7,1B)1,7C)7,-1D)c、d未赋值,编译出错
[15-2]以下程序的输出结果是(D)。
swap(int*p,int*q)
{intt;
t=*p;
*p=*q;
*q=t;
{inta=10,b=20;
swap(&
a,&
A)10,10B)20,20C)10,20D)20,10
[15-3]以下程序的运行结果是(D)。
{voidchange_p();
int*p,a[]={1,4,7,10};
p=&
a[1];
change_p(p);
*p);
voidchange_p(int*pi)
{*pi+=2;
pi+=2;
*pi+=2;
A)7B)8C)5D)6
[16-1]以下程序段的运行结果是(B)。
enumweekday{aa,bb=2,cc,dd,ee}week=ee;
week);
A)eeB)5C)2D)4
[16-2]以下对枚举类型进行定义,不正确的是(A)。
A)enumb{1,2,3};
B)enuma{A,B,C};
C)enumc{D=3,E,F};
D)enumd{X=0,Y=5,Z=9};
[16-3]在C程序中,设一表达式含有int、long、unsigned和char类型的常数和变量,则表达式的最后运算结果是(D)。
A)intB)charC)unsignedD)long
[17-1]若定义如下结构,则能打印出字母M的语句是(B)。
structperson{
charname[9];
intage;
structpersonclass[10]={"
Wujun"
20,
Liudan"
23,
Maling"
21,
zhangming"
22};
A)printf("
class[3].name);
B)printf("
class[2].name[0]);
C)printf("
class[2].name[1]);
D)printf("
class[3].name[1]);
[17-2]以下程序的运行结果是(B)。
{unionu_type
{inti;
doublex;
floatf;
};
structstr_type
{charstr[100];
unionu_typeu[2];
sizeof(structstr_type));
A)100B)116C)120D)200
[17-3]以下程序的输出结果是(C)。
{unionexample
{struct
{intx;
inty;
in;
inta[2];
e={0,0};
e.a[0]=1;
e.a[1]=2;
e.in.x,e.in.y);
A)2,1B)0,0C)1,2D)0,1
[18-1]以下程序的输出结果是(A)。
{printf("
fac(5));
fac(intn)
{ints;
if(n==1)return1;
elsereturnn*fac(n-1);
A)120B)60C)6D)1
[18-2]以下程序的运行结果是(D)。
{charch[7]="
12xy89"
inti,s=0;
ch[i];
i++)
if(ch[i]>
='
&
ch[i]<
9'
)s=10*s+ch[i]-'
s);
A)12B)xyC)12xy89D)1289
[18-3]以下程序运行后,输出的结果是(B)。
fun(char*w)
{chart,*s1,*s2;
for(s1=w,s2=w+strlen(s1)-1;
s1<
s2;
s1++,s2--)
{t=*s1;
*s1=*s2;
*s2=t;
{char*p="
12345"
fun(p);
puts(p);
A)12345B)54321C)15115D)51551
[19-1]以下程序中的循环执行了(C)次
#defineN2
#defineMN+1
#defineNUM(M+1)*M/2
{inti,n=0;
NUM;
i++)n++;
A)5B)6C)8D)9
[19-2]以下程序的输出结果是(C)。
#defineSUM(y)1+y
{intx=2;
SUM(5)*x);
A)10B)11C)12D)15
[19-3]以下程序的运行结果是(A)。
#defineM(x,y)x*y
{inta=3,b=2,s1,s2,f12();
s1=M(a+b,a-b);
s2=M(a-b,a+b);
%d,%d,%d,%d\n"
s1,s2,f12(a+b,a-b),f12(a-b,a+b));
f12(intx,inty)
{return(x*y);
A)7,-1,5,5B)5,5,7,-1C)5,5,5,5D)7,-1,7,-1
[20-1]以下程序的功能是(C)。
#include<
stdio.h>
{FILE*fp;
longintn;
fp=fopen("
wj.txt"
rb"
fseek(fp,0,SEEK_END);
n=ftell(fp);
fclose(fp);
%ld"
A)计算文件wj.txt的起始地址B)计算文件wj.txt的终止地址
C)计算文件wj.txt的长度D)将文件指针定位到文件末尾
[20-2]标准函数fgets(s,n,f)的功能是(B)。
A)从文件f中读取长度为n的字符串存入指针s所指的内存
B)从文件f中读取长度不超过n-1的字符串存入指针s所指的内存
C)从文件f中读取n个字符串存入指针s所指的内存
D)从文件f中读取长度为n-1的字符串存入指针s所指的内存
[20-3]以下程序的可执行文件名是file.exe。
main(argc,argv)
int