安徽工业大学2003年专升本真题
7.下段程序要能对两个整型变量a、b的值进行交换,正确的说法是。
main()
{inta=50,b=100;
swap(&a,&b);
printf(“a=%d,b=%d\n”,a,b);
}
swap(intx,inty)
{intt;
t=x;x=y;y=t;}
A)该程序完全正确
B)该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可
C)该程序有错,只要将swap()函数中的形参x和y以及变量t均定义为指针即可
D)以上说法都不正确
8.设a、b、c为整型变量,a=30,b=40,c=50,则下列表达式中值为0的是。
A)!((aC)a<=bD)’a’&&‘b’
9.下列程序段的输出结果是。
inta=3;
do{printf(“%d\n”,a-=2);}while(!(--a));
A)3和0B)死循环,没有输出C)1和-2D)1
10.C语言中以下说法正确的是。
A)实参和与其对应的形参共占用一个存储单元
B)形参是虚拟的,不占用存储单元
C)只有当实参和与其对应的形参同名时才共占用存储单元
D)实参和与其对应的形参各占用独立的存储单元
二、填空题(每小题各1.5分,共15分)
1.下列程序每行输出3个数据,请填空。
#defineN50
main()
{inta[N],i;
for(i=0;i
printf(“]”,a[i]);
}
}
2.下面程序实现在字符串a中下标值为偶数的元素由小到大排序,其它元素不变,请填空。
#include
main()
{chara[]=“labchmfye”,t;
inti,j;
for(i=0;i<7;i+=2)
for(j=i+2;j<9;)
if()
{t=a[i];a[i]=a[j];a[j]=t;j++;}
puts(a);
}
3.要使下列程序输出5,请填空。
#include
fun(char*s)
{char*t=s;
while()t++;
return(t-s);
}
main()
{char*a=“china”;
printf(“%d”,fun(a)):
}