C语言期末练习题及答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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()

相关文档
最新文档