《C语言程序设计》模拟试卷七
一、填空题。(每空2分,共30分)
下述算术表达式的结果值是。
(int) (13.7+25.6)/4%4
设整型变量value的值为20。执行下述程序段的输出结果
if (value>=3)
if (value>100)
prin tf("Error:value>100.\n");
else
prin tf("Error:value<3.\n");
对于下述程序段
int b,c;
float a;
sca nf("%f,%d,c=%d",&a,&b,&c);
若欲使a、b、c的值分别为5.0、4、3,则应按如下形式输入数据:
设int类型变量占内存两个字节,今有变量说明语句
int a=20;
则执行下述 printf 语句的输出结果是
prin tf("%d,%0,%x,%u\n",a,a,a,a);
执行下述程序的输出结果是 。
#include
mai n()
{
int arr[10],i,k=0;
for (i=0;i<10;i++)
arr[i]=i;
for (i=1;i<4;i++)
k+=arr[i]+i/2;
prin tf("%d\n",k);
}
执行下述程序的输出结果是___。
#i nclude
mai n()
{
int i=0;
char x[]="Chi na";
char y[]="Ch in ese";
while (x[i]!='\0'&&y[i]!='\O')
if (x[i]==y[i])
prin tf("%c",x[i++]);
else
i++;
prin tf("\n");
}
下述函数定义的功能是:把两个整数指针所指的存储单元中的内容进行交换 请填空。
void excha nge()
{
int t;
t=*y;
*y=*x;
*x=t;
}
设有如下变量说明语句
int a[8]={44,55,12,42,94,18,6,67},*p=a;
则通过指针变量p引用值为18的表达式是或。
执行下述程序
#i nclude
int strle ngth(char a[],char b[])
{
int num=O,n=O;
while (*(a+num)!='\O')
nu m++;
while (b[ n])
{
*(a+num )=b[ n];
nu m++;
n++;
}
return (nu m);
}
mai n()
{
char str1[81],str2[81],*p仁str1,*p2=str2;
gets(p1);
gets(p2);
prin tf("%d\n",strle ngth(p1,p2));
}
若从键盘输入
qwerty
abcd
则输出结果是 。
下面的函数定义是一个求阶乘的递归调用函数。假定n^O。请填空
long fac(i nt n)
{
long f;
if (n==0)
f=1;
else
f=;
return ⑴;
}
组成的直角三角下述程序的功能是:输入n值,输出高度为n的、由字符 形,例如当n=4时的输出图形如下(最后一行前面没有空格):
组成的直角三角
请填空。
#include
void fun c(char c,i nt n)
{
if (n >0)
{
prin tf("%c",c);
fun c(c, n-1);
}
}
mai n()
{
int i,n;
scan f("%d",&n);
for (i=1;i<=n ;i++)
prin tf("\n");
}
}
执行下述程序的输出结果是
#i nclude
#defi ne COMP struct complex
COMP
{
float re;
float im;
};
void plus(COMP *z1,COMP *z2,COMP *z3) {
z3->re=z1->re+z2->re;
z3->im=z1->im+z2->im;
}
mai n()
{
COMP a,b,c;
a.re=7.0;
im=4.0;
re=-2.0;
b.im=5.5;
plus(&a,&b,&c);
prin tf("c=%5.lf+%5.lf i\n",c.re,c.im);
}
以下程序在运行时输入
10 20 30
则输出结果是。
#i nclude
int fun c(i nt a,i nt b,i nt c)
{
return (a+b+c);
}
mai n()
{
int x,y,z;
prin tf("E nter x,y,z:");
sca nf("%d%d%d", &x,