C重修试题Word文档下载推荐.docx
《C重修试题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C重修试题Word文档下载推荐.docx(38页珍藏版)》请在冰豆网上搜索。
8.#include<
stdio.h>
{charc1,c2,c3,c4,c5,c6;
scanf("
%c%c%c%c"
&
c1,&
c2,&
c3,&
c4);
c5=getchar();
c6=getchar();
putchar(c1);
putchar(c2);
%c%c\n"
c5,c6);
程序运行后,若从键盘输入(从第1列开始)
123<
回车>
45678<
则输出结果是______。
A.1267B.1245C.1278D.1256
9.设变量x和y均已正确定义并赋值。
以下if语句中,在编译时将产生错误信息的是______。
A.if(x>
y&
&
y!
=0);
B.if(x>
0)x--C.if(y<
0){;
}D.if(x++);
elsey++;
elsex++;
10.有以下程序
{inti;
for(i=1;
i<
=40;
i++)
{if(i++%11==0)
if(++i%8==0)printf("
%d"
i);
\n"
);
}
执行后的输出结果是______。
A.22B.24C.32D.40
11.有定义语句:
inta=1,b=2,c=3,x;
,则以下选项中各程序段执行后,x的值不为3的是______。
A.if(c<
a)x=1;
B.if(a<
3)x=3;
elseif(b<
a)x=2;
elseif(a<
2)x=2;
elsex=3;
elsex=1;
C.if(a<
D.if(a<
b)x=b;
if(a<
if(b<
c)x=c;
1)x=1;
if(c<
a)x=a;
12.执行下面程序片段的结果是______。
intx=23;
do{printf("
%2d"
x--);
}while(!
x);
A.打印出321B.打印出23C.不打印任何内容D.陷入死循环
13.有以下程序
{inti,j;
=3;
{for(j=i;
j<
j++)printf("
%d*%d=%d"
i,j,i*j);
}}
程序运行后的输出结果是。
A.1*1=11*2=21*3=3B.1*1=11*2=21*3=3
2*1=22*2=42*2=42*3=6
3*1=33*3=9
C.1*1=1D.1*1=1
1*2=22*2=42*1=22*2=4
1*3=32*3=63*3=93*1=33*2=63*3=9
14.下列叙述中正确的是______。
A.每一个C程序文件中都必须要有一个main()函数
B.在C程序中main()函数的位置是固定的
C.C程序中所有函数之间都可以相互调用,与函数所在位置无关
D.在C程序的函数中不能定义另一个函数
15.以下叙述中错误的是______。
A.算法正确的程序最终一定会结束
B.算法正确的程序可以有零个输出
C.算法正确的程序可以有零个输入
D.算法正确的程序对于相同的输入一定有个相同的结果
16.与十进制数200等值的十六进制数为______。
A.A8B.A4C.C8D.C4
17.以下程序的功能是:
给r输入数据后计算半径为r的圆面积s,程序在编译时出错。
/*Beginning*/
{intr;
floats;
scanf("
r);
s=*∏*r*r;
s=%f\n"
s);
出错的原因是______。
A.注释语句书写位置错误
B.存放圆半径的变量r不应该定义为整型
C.输出语句中格式描述符非法
D.计算圆面积的赋值语句中使用了非法变量
18.有以下程序
{unsignedinta;
intb=-1;
a=b;
%u"
a);
A.-1B.65535C.32767D.-32768
19.若以下选项中的变量已正确定义,则正确的赋值语句是______。
A.x1=26.8%3;
B.1+2=x2;
C.x3=0x12;
D.x4=1+2=3;
20.以下程序的输出结果是______。
main()
{intk=17;
%d,%o,%x\n"
k,k,k);
A.17,021,0x11B.17,17,17C.17,0x11,021D.17,21,11
21.有以下程序
{inta=666,b=888;
%d\n"
a,b);
A.错误信息B.666C.888D.666,888
22.以下4个选项,不能看作一条语句的是______。
A.{;
}B.a=0,b=0,c=0;
C.if(a>
0);
D.if(b==0)m=1;
n=2;
10.有以下程序
{chark;
inti;
3;
{scanf("
%c"
k);
switch(k)
{case'
0'
:
another\n"
case'
1'
number\n"
}}
程序运行时,从键盘输入:
01↙,程序执行后的输出结果是______。
A.anotherB.anotherC.anotherD.number
numbernumbernumbernumber
anothernumber
11.有以下计算公式
若程序前面已在命令行中包含math.h文件,不能够正确计算上述公式的程序段是______。
A.if(x>
=0)y=sqrt(x);
B.y=sqrt(x);
elsey=sqrt(-x);
if(x<
0)y=sqrt(-x);
C.if(x>
D.y=sqrt(x>
=0?
x:
-x);
if(x<
23.C语言中,下列叙述正确的是______。
A.不能使用do-while语句构成的循环
B.do-while语句构成的循环,必须用break语句才能退出
C.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环
13.在以下给出的表达式中,与while(E)中的(E)不等价的表达式是______。
A.(!
E==0)B.(E>
0||E<
0)C.(E==0)D.(E!
=0)
44.有以下程序:
{inti,s=0;
10;
i+=2)s+=i+1;
程序执行后的输出结果是______。
A.自然数1~9的累加和B.自然数1~10的累加和
C.自然数1~9中奇数之和D.自然数1~10中偶数之和
15.有以下程序
fun(intx)
{intp;
if(x==0||x==1)return(3);
p=x-fun(x-2);
returnp;
{printf("
fun(7));
A.7B.3C.2D.0
76.以下程序的输出结果是______。
main()
{intw=5;
fun(w);
fun(intk)
{if(k>
0)fun(k-1);
k);
A.54321B.012345
C.12345D.543210
17.在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则______。
A.称为函数的直接递归调用B.称为函数的间接递归调用
C.称为函数的循环调用D.C语言中不允许这样的递归调用
58.有以下程序
#include<
#defineN5
#defineMN+1
#definef(x)(x*M)
{inti1,i2;
i1=f
(2);
i2=f(1+1);
printf("
%d%d\n"
i1,i2);
程序的运行结果是______。
A.1212B.117C.1111D.127
59.有以下程序
{charp[]={'
'
b'
c'
},q[]="
abc"
sizeof(p),sizeof(q));
}
A.44B.33C.34D.43
60.以下能正确定义一维数组的选项是______。
A.inta[5]={0,1,2,3,4,5};
B.chara[]={0,1,2,3,4,5};
C.chara={'
A'
B'
C'
};
D.inta[5]="
0123"
11.若x是int型变量,且有下面的程序片段
for(x=3;
x<
6;
x++)printf((x%2)?
("
**%d"
):
##%d\n"
),x);
上面程序片段的输出结果是______。
①**3②##3③##3④**3##4
##4**4**4##5**5
**5##5
A.①B.②C.③D.④
12.要求以下程序的功能是计算:
s=1+1/2+1/3+…+1/10。
{intn;
s=1.0;
for(n=10;
n>
1;
n--)
s=s+1/n;
%6.4f\n"
程序运行后输出结果错误,导致错误结果的程序行是
A.s=1.0;
B.for(n=10;
n--)
C.s=s+1/n;
D.printf("
{inti,j,x=0;
for(i=0;
2;
{x++;
for(j=0;
j++)
{if(j%2)continue;
x++;
x=%d\n"
A.x=4B.x=8C.x=6D.x=12
31.有以下程序
string.h>
voidf(charp[][10],intn)/*字符串从小到大排序*/
{chart[10];
inti,j;
n-1;
for(j=i+1;
n;
if(strcmp(p[i],p[j])>
0)
{strcpy(t,p[i]);
strcpy(p[i],p[j]);
strcpy(p[j],t);
{charp[5][10]={"
"
aabdfg"
abbd"
dcdbe"
cd"
f(p,5);
strlen(p[0]));
A.2B.4C.6D.3
22.有以下程序
voidswap1(intc0[],intc1[])
{intt;
t=c0[0];
c0[0]=c1[0];
c1[0]=t;
voidswap2(int*c0,int*c1)
t=*c0;
*c0=*c1;
*c1=t;
{inta[2]={3,5},b[2]={3,5};
swap1(a,a+1);
swap2(&
b[0],&
b[1]);
%d%d%d%d\n"
a[0],a[1],b[0],b[1]);
A.3553B.5335C.3535D.5353
33.有以下程序
{chars[]={"
aeiou"
},*ps;
ps=s;
*ps+4);
程序运行后输出的结果是______。
A.aB.eC.uD.元素s[4]的地址
14.下面程序的功能是输出以下形式的金字塔图案:
*
***
*****
*******
{inti,j;
=4;
{for(j=1;
=4-i;
j++)printf("
"
for(j=1;
=______;
*"
在下划线处应填入的是______。
A.iB.2*i-1C.2*i+1D.i+2
fun(intx,inty){return(x+y);
{inta=1,b=2,c=3,sum;
sum=fun((a++,b++,a+b),c++);
sum);
A.6B.7C.8D.9
16.有以下程序
voidf(intv,intw)
t=v;
v=w;
w=t;
{intx=1,y=3,z=2;
if(x>
y)f(x,y);
elseif(y>
z)f(y,z);
elsef(x,z);
%d,%d,%d\n"
x,y,z);
执行后输出结果______。
A.1,2,3B.3,1,2C.1,3,2D.2,3,1
17.设函数fun的定义形式为
voidfun(charch,floatx){……}
则以下对函数fun的调用语句中,正确的是______。
A.fun("
3.0);
B.t=fun('
D'
16.5);
C.fun('
65'
2.8);
D.fun(32,32);
29.有以下程序
{FILE*fp;
inti,a[6]={1,2,3,4,5,6};
fp=fopen("
d3.dat"
w+b"
fwrite(a,sizeof(int),6,fp);
fseek(fp,sizeof(int)*3,SEEK_SET);
/*该语句使读文件的位置指针从文件头向后移动3个int型数据*/
fread(a,sizeof(int),3,fp);
fclose(fp);
i++)printf("
%d,"
a[i]);
A.4,5,6,4,5,6,B.1,2,3,4,5,6,
C.4,5,6,1,2,3,D.6,5,4,3,2,1,
30.有如下程序
{FILE*fp1;
fp1=fopen("
f1.txt"
w"
fprintf(fp1,"
fclose(fp1);
若文本文件f1.txt中原有内容为:
good,则运行以上程序后文件f1.txt中的内容为______。
A.goodabcB.abcdC.abcD.abcgood
14.有以下程序
{inta=1,b;
for(b=1;
b<
=10;
b++)
{if(a>
=8)break;
if(a%2==1){a+=5;
continue;
}
a-=3;
b);
A.3B.4C.5D.6
inta=4;
intf(intn)
{intt=0;
staticinta=5;
if(n%2){inta=6;
t+=a++;
else{inta=7;
returnt+a++;
{ints=a,i=0;
for(;
i++)s+=f(i);
A.24B.28C.32D.36
16.有以下程序
intfun(intn)
{if(n==1)return1;
else
return(n+fun(n-1));
{intx;
x=fun(x);
执行程序时,给变量x输入10,程序的输出结果是______。
A.55B.54C.65D.45
17.以下叙述中错误的是______。
A.C程序必须由一个或一个以上的函数组成
B.函数调用可以作为一个独立的语句存在
C.若函数有返回值,必须通过return语句返回
D.函数形参的值也可以传回给对应的实参
18.有以下程序
#definef(x)(x*x)
i1=f(8)/f(4);
i2=f(4+4)/f(2+2);
%d,%d\n"
A.64,28B.4,4C.4,3D.64,64
19.有以下程序
{inta[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,j,k,t;
4;
for(k=j+1;
k<
k++)
if(a[j][i]>
a[k][i])
{t=a[j][i];
a[j][i]=a[k][i];
a[k][i]=t;
}/*按列排序*/
a[i][i]);
A.1,6,5,7,B.8,7,3,1,C.4,7,5,2,D.1,6,2,1,
20.以下能正确定义一维数组的选项是______。
A.intnum[]B.#defineN100C.intnum[0..100]D.intN=100;
intnum[N]intnum[N]
21.s1和s2已正确定义并分别指向两个字符串。
若要求:
当s1所指串大于s2所指串时,执行语句S;
,则以下选项中正确的是______。
A.if(s1>
s2)S;
B.if(strcmp(s1,s2))S;
C.if(strcmp(s2,s1)>
0)S;
D.if(strcmp(s1,s2)>
22.有以下程序
voidfun(int*a,inti,intj)
if(i<
j)
{t=a[i];
a[i]=a[j];
a[j]=t;
i++;
j--;
fun(a,i,j);
}}
{intx[]={2,6,1,8},i;
fun(x,0,3);
x[i]);
A.1268B.8621C.8162D.8612
23.在16位编译系统上,若有定义inta[]={10,20,30},*p=&
a;
,当执行p++;
后,下列说法错误的是______。
A.p向高地址移了一个字节B.p向高地址移了一个存储单元
C.p向高地址移了两个字节D.p与a+1等价
24.有以下程序
floatf1(floatn){returnn*n;
floatf2(floatn){return2*n;
{float(*p1)(float),(*p2)(float),(*t)(float),y1,y2;
p1=f1;
p2=f2;
y1=p2(p1(2.0));
t=p1;
p1=p2;
p2=t;
y2=p2(p1(2.0));
%3.0f,%3.0f\n"
y1,y2);
A.8,16B.8,8C.16,16D.4,8
25.设有以下语句
typedefstructTT{charc;
inta[4];
}CIN;
则下面叙述中正确的是______。
A.可以用TT定义结构体变量B.TT