c语言备考习题及部分答案

更新时间:2023-12-18 15:46:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、判断题

1. 若有定义:long int j, *p;,则操作j=(long int)p;是合法操作。√

2. 设有说明int (*ptr)[M]; 其中ptr是指向含有M个整型元素的一维数组的指针。√

3. 对同一类型的两个指针变量而言,一个变量向另外一个变量赋值的结果是使得两个指针指向同一个对象。√

4. 定义一个指向某种类型函数的指针后,就可以讲任何函数的首地址赋给这个指针变量×

5. 可以将一个整型指针变量的值赋给一个实型指针变量,但可能引起符号位扩展。× 6. 可以将一个实型指针变量的值赋给一个整型指针变量,但可能影响指针的精度。× 7. 由于指针的数据类型实际上是指定指针所能指向对象的数据类型,所以不通数据类型的指针变量不能相互赋值。√

8. 函数中使用指针变量作为形式参数,就有可能在被调函数中操作主调函数中的实参。√

9. 若有定义:int a[5],*p;,则操作p=a;是合法的操作。√ 10. 若有定义:int a[5],*p;,则操作p=&a[2];是合法的操作。√

11. 若有定义:int a[5][5],*p;,则操作p=a;是合法操作。× 12. 若有定义:int a[5][5],*p;,则操作p=*a;是合法操作。√

13. 若有定义:int a[5][5],*p;,则操作p=a[0];是合法操作。√

14. 若有定义:int a[5][5],*p;,则操作p=&a[0][0];是合法操作。√

15. 若有定义:int a[5][5], (*p)[5];,则操作p=a;是合法操作。√

16. 若有定义:int a[5][5], (*p)[5];,则操作p=*a;是合法操作。×

17. 若有定义:int a[5][5], (*p)[5];,则操

作p=a[0];是合法操作。×

18. 若有定义:int a[5][5], (*p)[5];,则操作p=&a[0][0];是合法操作。× 19. 若有定义:double (*dd)[10];则dd是一个指向具有10个元素的double型数组的指针变量;∨

20. 在C语言中,程序main(){int *ptr;

*ptr=100; printf(\是正确的。(× 21. 如果指针占用的内存大小为2 Byte,那么指向它的二重指针占用内存大小为4Byte。×

22. 指针变量的值是无符号整型值,所以指针变量都是整型变量。为×

23. 凡是整型变量可以参加的运算,指针变量都可以参加。×

24. 即使数据类型相同,两个指针变量也不能相互赋值。×

25. 两个同类型的指针变量可以相互赋值。√

26. 指针变量可以与一个整型常量相加。√ 27. 指针变量可以与一个整型常量相减。√ 28. 指针变量可以与一个整型常量相乘。× 29. 指针变量可以除以一个不为0的整数。×

30. 对于指向同一个数组的两个变量而言,两个指针变量相减的操作是有意义的。√ 31. 若有定义:long int j, *p;,则操作p=j;是合法操作。×

32. 若有定义:long int j, *p;,则操作j=p;是合法操作。×

33. 若有定义:long int j, *p;,则操作p=(int)j;是合法操作。×

34. 指针变量的类型确定了该指针能够指向的对象的数据类型。√

35. 只要使用指针变量作为函数的形式参数,就一定能在被调函数中操作主调函数中的实参。×

本文来源:https://www.bwwdw.com/article/l5t5.html

Top