C语言期末练习题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
期末练习题2-48课时
一、单选题(共20题,共30分)
1. 执行下列程序后的输出结果是()
int fun(int x1,int x2)
{ int x;x1>x2(x=3):(x=4);return(x+x1);}
main()
{ printf("%d\n",fun( 7,8));}(分)
2. 已知int i,a;执行语句i=(a=3,a++,--a,a+4,a+5,++a);后,i的值是()(分)
3. 若有以下定义和语句:
double r=99,*p=&r;
*p=r;
则以下正确的叙述是( ) (分)
A.以下两处的*p含义相同,都说明给指针变量p赋值
B.在"double r=99,*p=&r;"中,把r的地址赋值给了p所指的存储单元
C.语句"*p=r;"把变量r的值赋给指针变量p
D.语句"*p=r;"取变量r的值放回r中
4. 有以下程序
#define N 20
fun(int A[],int n,int m)
{int i,j;
for(i=m;i>=n;i--)A[i+1]=A[i];
}
main()
{
int i,A[N]={1,2,3,4,5,6,7,8,9,10};
fun(A,2,9);
for(i=0;i<5;i++)printf("%d",A[i]);
}
程序运行后的输出结果是()(分)
5. 下面程序的输出是()
main()
{
int k=11;
printf("k=%d,k=%o,k=%x\n",k,k,k);
} (分)
=11,k=12,k=13 =11,k=13,k=13 =11,k=013,k=oXb =11,k=13,k=b
6. 以下程序段的输出为:
int x=011;
printf("%d\n",++x); (分)
7. 执行下述程序的输出结果是()。
#include <>
#include <>
main()
{
char *p1,*p2,str[50]="ABCDEFG";
p1="ABCD";
p2="efgh";
strcpy(str+1,p2+1);
strcpy(str+3,p1+3);
printf("%s\n",str);
} (分)
8. 以下语句的输出结果是()
int a=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf("%d,%d,%d\n",a,b,c); (分)
,0,5 ,5,-10 ,0,5 ,0,-10
9. 阅读程序
#include <>
int funC(int B[],int n)
{
int i,r;
r=1;
for (i=0;i<=n;i++)
r=r*B[i];
return (r);
}
main()
{
int x,A[]={2,3,4,5,6,7,8,9};
x=funC(A,3);
printf("%d\n",x);
}
执行下述程序的输出结果是()(分)
10. 下列选项中,可作为C语言合法整数的是()(分)
11. 若有以下定义,则对A数组元素的正确引用是()
int A[5],*p=A; (分)
A.*&A[5] +2 C.*(p+5) D.*(A+2)
12. 有以下程序
void fun(int *a,int i,int j)
{
int t;
if(i { t=a[i];a[i]=a[j];a[j]=t; fun(a,++i,--j); } } main() { int a[]={1,2,3,4,5,6},i; fun(a,0,5); for(i=0;i<6;i++) printf("%d",a[i]); } 执行后输出结果是()(分) 5 4 3 2 1 3 2 1 5 6 5 6 1 2 3 2 3 4 5 6 13. 若定义如下变量和数组_________。 int j; int x[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是_________。 for (j=0;j printf("%d",x[j][2-j]); (分) 5 9 4 7 5 7 6 9 14. 有以下程序: main() { int a=1,b=2,m=0,n=0,k; k=(n=b>a)||(m=a printf("%d,%d\n",k,m); } 程序运行后的输出结果是()(分) ,0 ,1 ,0 ,1 15. sizeof(float)是()(分) A.一个双精度型表达式 B.一个整型表达式 C.一种函数调用 D.一个不合法的表达式 16. 在C语言的循环语句for,while,do-while语句中,用于直接中断最内层循环的语句是() (分) 17. 有以下程序 #include “” main()