练习7.docx
《练习7.docx》由会员分享,可在线阅读,更多相关《练习7.docx(11页珍藏版)》请在冰豆网上搜索。
练习7
一、填空题。
1.设有变量说明语句
intx=1,y=2;
则执行下述printf语句的输出结果是___ _____。
printf("%f\n",1.0+x/y);
2.执行下述程序
#include
main()
{
intx,y;
scanf("%2d%*2s%1d",&x,&y);
printf("%d\n",x+y);
}
若从键盘输入
12345671
则程序的输出结果是________。
3.以下程序的功能是:
从键盘上输入若干名学生的成绩(百分制,可带小数,以输入负数或0为结束标志),统计并输出最高成绩和最低成绩。
请填空。
#include
main()
{
floatx,amax,amin;
scanf("%f",&x);
amax=x;
amin=x;
while()
{
if(x>amax)
amax=x;
elseif(x amin=x;
scanf("%f',&x);
}
printf("\namax=%f\namin=%f\n",amax,amin);
}
4.执行下述程序的输出结果是____ ____。
#inclued
main()
{
inta[6],i;
for(i=0;i<6;i++)
{
a[i]=9*(i-2+4*(i>3))%5;
printf("%3d",a[i]);
}
printf("\n");
}
5.执行以下程序的输出结果是__ ______。
#include
main()
{
ints,i,sum(int);
for(i=1;i<=10;i++)
s=sum(i);
printf("s=%d\n",s);
}
sum(intk)
{
intx=0;
return(x+=k);
}
6.执行下述程序后,输出结果为__________。
#include
#defineFUN1(a,b)a+b
#defineFUN2(a,b)a-b
#defineCAL(a,b)a*b+a+3
main()
{
printf("%d\n",CAL(FUN1(3,5),FUN2(4,5)));
}
二、单项选择题。
1.以下不是c语言规定保留字的是( )。
(A)float (B)integer (C)signed (D)unsigned
2.设int型变量x有初始值3,则表达式x++*5/10的值是( )
(A)0 (B)1 (C)2 (D)3
3.下述程序执行后的输出结果是( )
#include
main()
{
intx='f';
printf("%c\n",'a'+(x-'a'+1));
}
(A)g (B)h (C)i (D)j
4.设有程序
#include
main()
{
inti,j;
for(i=0,j=1;i<=j+1;i+=2,j--)
printf("%d\n",i);
}
在运行上述程序时,for语句中循环体的执行次数是( )
(A)3 (B)2 (C)1 (D)0
5.下述程序代码中有语法错误的行是( )。
inti,ia[10],ib[10]; /*第1行*/
for(i=0;i<=9;i++) /*第2行*/
ia[i]=0; /*第3行*/
ib=ia; /第4行*/
(A)第1行 (B)第2行 (C)第3行 (D)第4行
6.执行下述程序后的输出结果是( )。
#include
func(inta)
{
intb=0;
staticintc=3;
a=c++,b++;
return(a);
}
main()
{
inta=2,i,k;
for(i=0;i<2;i++)
k=func(a++);
printf("%d\n",k);
}
(A)3 (B)0 (C)5 (D)4
7.读下面的程序,正确的输出结果是( )。
#include
staticinta=50;
voidf1(inta)
{
printf("%d,",a+=10);
}
voidf2(void)
{
printf("%d,",a+=3);
}
voidmain()
{
inta=10;
f1(a);
f2();
printf("%d\n",a);
}
(A)60,63,60 (B)20,23,23 (C)20,13,10 (D)20,53,10
8.执行下述程序的输出结果是( )。
#include
intpower(intx,inty);
main()
{
floata=2.6,b=3.4;
intp;
p=power((int)a,(int)b);
printf("%d\n",p);
}
intpower(intx,inty)
{
inti,p=1;
for(i=y;i>0;i--)
p=p*x;
return(p);
}
(A)8 (B)9 (C)27 (D)81
9.以下程序for语句循环体中printf语句执行次数是( )。
#include
#defineN2
#defineMN+1
#defineNUM(M+1)*M/2
main()
{
inti;
for(i=1;i<=NUM;i++)
printf("%d\n",i);
}
(A)5 (B)6 (C)8 (D)9
10有以下程序:
charfun(charx,chary)
{
if(xreturnx;
returny;
}
main()
{
inta='9',b='8',c='7';
printf("%c\n",fun(fun(a,b),fun(b,c)));
}
程序的执行结果是()
A函数调用出错B8C9D7
11有以下程序:
voidf(intv,intw)
{
intt;
t=v;
v=w;
w=t;
}
main()
{
intx=1,y=3,z=2;
if(x>y)
f(x,y);
elseif(y>z)
f(y,z);
else
f(x,z);
printf("%d,%d,%d\n",x,y,z);
}
执行后输出结果是()
A1,2,3B3,1,2C1,3,2D2,3,1
三、程序分析题
1.阅读程序,写出执行该程序的输出结果。
#include
voidf(inty)
{
staticinti=5;
intj=3;
j++;
printf("%d%d%d=%d\n",i,j,y,i+j+y);
i*=2;
}
voidmain()
{
intx;
for(x=1;x<+3;++x)
f(x);
}
2以下程序运行后的出结果是
fun(inta)
{
intb=0;
staticintc=3;
b++;
c++;
return(a+b+c);
}
main()
{
inti,a=5;
for(i=0;i<3;i++)
printf("%d%d",i,fun(a));
printf("\n");
}
3以下程序运行后的输出结果是
inta=5;
fun(intb)
{
staticinta=10;
a+=b++;
printf("%d",a);
}
main()
{
intc=20;
fun(c);
a+=c++;
printf("%d\n",a);
}
4有以下程序:
intsub(intn)
{
return(n/10+n%10);
}
main()
{
intx,y;
scanf("%d",&x);
y=sub(sub(sub(x)));
printf("%d\n",y);
}
若运行时输入:
1234(回车),程序的输出结果是
5以下程序运行后的输出结果是
voidswap(intx,inty)
{
intt;
t=x;
x=y;
y=t;
printf("%d%d",x,y);
}
main()
{
inta=3,b=4;
swap(a,b);
printf("%d%d",a,b);
}