2022年自学考试《C语言程序设计》试题及答案7
【2.31】下面程序的输出结果是____。
#include
#include
main()
{char str[100]='How do you do';
strcpy(str+strlen(str)/2,'es she');
printf('%sn',str);
}
A)How do you do B)es she C)How are you D)How does she
【2.32】下面程序的输出结果是____。
#include
func(int a,int b)
{int c;
c=a+b;
return(c);
}
main()
{int x=6,y=7,z=8,r;
r=func((x--,y++,x+y),z--);
printf('%dn',r);
}
A)11 B)20 C)21 D)31
【2.33】下面程序的输出结果是____。
#include
void fun(int*s)
{static int j=0;
do
{s[j]+=s[j+1];
}while(++j<2);
}
main()
{int k,a[10]={1,2,3,4,5};
for(k=1;k<3;k++)
fun(a);
for(k=0;k<5;k++)
printf('%d',a[k]);
}
A)35756 B)23445 C)35745 D)12345
【2.34】下面程序的输出结果是____。
#include
int k=1;
main()
{int i=4;
fun(i);
printf('n%d,%d',i,k);/*①*/
}
fun(int m)
{m+=k;k+=m;
{char k='B';
printf('n%d',k-'A');/*②*/
}
printf('n%d,%d',m,k);/*③*/
}
①A)4,1 B)5,6 C)4,6 D)A,B,C参考答案都不对
②A)1 B)-59 C)-64 D)A,B,C参考答案都不对
③A)5,66 B)1,66 C)5,6 D)A,B,C参考答案都不对
【2.35】下面程序的输出结果是____。
#include
fun(int n,int*s)
{int f1,f2;
if(n==1||n==2)
*s=1;
else
{fun(n-1,&f1);
fun(n-2,&f2);
*s=f1+f2;
}
}
main()
{int x;
fun(6,&x);
printf('%dn',x);
}
A)6 B)7 C)8 D)9
【阅读程序题参考答案】
【2.31】参考答案:D
注释:字符串拷贝函数strcpy()要求的两个参数都是字符串首地址。本题中第二个参数是字符串常量,接受这个字符串的第一个参量不是直接给出字符数组名,而是进行了地址运算后的结果。由于str字符串的长度是13,除2取整后是6,第一个参数给出的地址是字符数组str的首地址加6,也就是原来字符串中第二个空格的位置,把'es she'从该处放入,字符串str变为'How does she'。
【2.32】参考答案:C
注释:main函数调用func函数时,第一个实参使用的是逗号表达式的值,也就是x+y的结果。由于对变量x、y、z进行的是后缀运算,所以函数func的参数值是13和8。
【2.33】参考答案:C
【2.34】参考答案:①C②A③C
【2.35】参考答案:C
热门推荐:
自考有疑问、不知道如何选择主考院校及专业、不清楚自考当地政策,点击立即了解》》
推荐阅读: