编程技术分享平台

网站首页 > 技术教程 正文

郑大期末C语言模拟试题8 郑州大学c语言期末考试题答案

xnh888 2024-12-27 17:26:51 技术教程 24 ℃ 0 评论

36、若有int a=3,*pa; float f=4.5,*pf;,则下列表述中,错误的是 ( )。(1分)

A、pa=&a B、pa=&f

C、pf=&f D、f=a+f


pa不管怎么样也是一个int类,和float类的f不来电。因此B错误。另外&其实是取地址的意思。


37、设char s[10];int i=5;,下列表达式中,正确的表达式是( )。(1分)

A、s[i+6] B、*(s+i)

C、*(&s+i) D、*((s++)+i


s[i+6]就是s[11]超过数组范围了,A错。B可以,正确。&s+i这个地址超界,非法访问。C错误。D中s++是代表s=s+1,s是数组,很明显有问题,D错误。因此这道题选B。


38、若有int a[10],*p=a;,则( )。(1分)

A、p++可以使p指向下一个字节 B、p+=2 相当于p=sizeof(a)/10

C、p++可以使p指向下一个元素,即a[1]的首地址 D、p+=2可以使p指向下一个元素,即a[1]的首地址


p其实是取了数组a的首地址,也就是a[0]。因此C正确。A中不是一个字节一个字节取的,错误。B中sizeof代表取a的大小,和地址关系不大,D中指下下个元素。因此选择C。


39、设有语句:int a[10]={0,1,2,3,4,5,6,7,8,9},i,*p=a;,下列表达式中,对a数组元素引用错误的是( )。(1分)

A、p[i] B、a[p-a]

C、*(&a[i]) D、*(*a(a+i))


p指向的是a的首地址,a[0]。因此ABC对。而D中在*外套了个*,意义不明,语法错误。这道题选择D。


40、在C语句中,&后跟指针变量名,表示该指针变量的(( )。(1分)

A、值 B、别名

C、地址 D、类型


前面几道题强调了很多遍了,地址地址地址,这道题选择C。


Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表