c语言第三单元单元测验答案

c语言第三单元单元测验答案

ID:6642838

大小:53.00 KB

页数:7页

时间:2018-01-21

c语言第三单元单元测验答案_第1页
c语言第三单元单元测验答案_第2页
c语言第三单元单元测验答案_第3页
c语言第三单元单元测验答案_第4页
c语言第三单元单元测验答案_第5页
资源描述:

《c语言第三单元单元测验答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言程序设计第三单元单元测试答案一选择题1.以下程序的运行结果是。voidsub(intx,inty,int*z){*z=y-x;}main(){inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%4d,%4d,%4d",a,b,c);}A)5,2,3B)-5,-12,-7C)-5,-12,-17D)5,-2,-7参考答案:A2.执行以下程序后,a的值为【1】,b的值为【2】。main(){inta,b,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;b=(-*p1)/(*p2)+7;

2、printf("a=%d,b=%d",a,b);}【1】A)-1B)1C)0D)4【2】A)5B)6C)7D)10参考答案:【1】C【2】C3.下面程序欲对两个整型变量的值进行交换,以下正确的说法是。main(){inta=10,b=20;printf("(1)a=%d,b=%d",a,b);swap(&a,&b);printf("(2)a=%d,b=%d",a,b);}swap(intp,intq){intt;t=p;p=q;q=t;}A)该程序完全正确B)该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可C)该程序有错,只要

3、将swap()函数中的形参p、q和变量t均定义为指针即可D)以上说法都不正确参考答案:D4.有四组对指针变量进行操作的语句,以下判断正确的选项是。(1)int*p,*q;q=p;inta,*p,*q;p=q=&a;(2)inta,*p,*q;q=&a;p=*q;inta=20,*p;*p=a;(3)inta=b=0,*p;p=&a;b=*p;inta=20,*p,*q=&a;*p=*q;(4)inta=20,*p,*q=&a;p=q;intp,*q;q=&p;A)正确:(1)不正确:(2),(3),(4)B)正确:(1),(4)不正确:(2),(3)C)正确

4、:(3)不正确:(1),(2),(4)D)以上结论都不正确参考答案:D参考分析:在四组操作中,完全正确的只有(4),对各组操作中出现的错误分析如下。(1)int*p,*q;q=p;p没有指向一个确定的空间inta,*p,*q;p=q=&a;(2)inta,*p,*q;q=&a;p=*q;q没有指向确定空间,且*q不是地址值inta=20,*p;*p=a;p没有指向一个确定的空间(3)inta=b=0,*p;p=&a;b=*p;inta=20,*p,*q=&a;*p=*q;p没有指向一个确定的空间5.以下程序有错,错误原因是。main(){int*p,i;ch

5、ar*q,ch;p=&i;q=&ch;*p=40;*p=*q;…}A)p和q类型不一致,不能执行*p=*q;语句B)*p中存放的是地址值,因此不能执行*p=40;语句C)q没有指向具体的存储单元,所以*q没有实际意义D)q虽然指向了具体的存储单元,但该单元中没有确定的值,所以不能执行*p=*q;语句参考答案:D6.有如下语句inta=10,b=20;*p1=&a,*p2=&b;如果让两个指针变量均指向b,正确的赋值方式是。A)*p1=*p2;B)p1=p2;C)p1=*p2;D)*p1=*p2;参考答案:B7.已有定义intk=2;int*p1,*p2;且p

6、1,p2均指向变量k,下面不能正确执行的赋值语句是。A)k=*p1+*p2;B)p2=k;C)p1=p2;D)k=*p1*(*p2);参考答案:B8.变量的指针,其含义是指变量的。A)值B)地址C)名D)一个标志参考答案:B9.若已定义inta;下面对(1)(2)两个语句的正确解释是。(1)int*p=&a;(2)*p=a;A)语句(1)和(2)中的*p含义相同,都表示给指针变量p赋值B)(1)和(2)语句的执行结果,都是把变量a的地址赋给指针变量pC)(1)在对p进行说明的同时进行初始化,使p指向a(2)将变量a的值赋给指针变量pD)(1)在对p进行说明的

7、同时进行初始化,使p指向a(2)将变量a的值赋给*p参考答案:D10.已有变量定义和函数调用语句inta=25;print_value(&a);下面函数输出的正确结果是。voidprint_value(int*x){printf("%d",++*x);}A)23B)24C)25D)26参考答案:D11.下面判断正确的是。A)char*a="china";等价于char*a;*a="china";B)charstr[10]={"china"};等价于charstr[10];str[]="china";C)char*s="china";等价于char*s;s

8、="china";D)charc[6]="china

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。