10.12 复习题

1.下面程序将打印出什么?

阅读 ‧ 电子书库

广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元

2.在第1题中,数组ref包含多少个元素?

3.在第1题中,ref是哪些数据的地址?ref+1呢?++ref指向什么?

4.下面每种情况中*ptr和*(ptr+2)的值分别是什么?

a.
阅读 ‧ 电子书库
b.
阅读 ‧ 电子书库

5.下面每种情况中**ptr和**(ptr+1)的值分别是什么?

a.

阅读 ‧ 电子书库

b.

阅读 ‧ 电子书库

6.假设有如下定义:

阅读 ‧ 电子书库

a.用1种方法表示grid[22][56]的地址
b.用2种方法表示grid[22][0]的地址
c.用3种方法表示grid[0][0]的地址

7.用适当的方法声明下面每个变量:

a.digits:一个包含10个int值的数组
b.rates:一个包含6个float值的数组
c.mat:一个包含3个元素的数组,其中每个元素是一个包含5个整数的数组
d.psa:一个包含20个指向char的指针的数组
e.pstr:一个指向数组的指针,其中数组由20个char值构成

8.a.定义一个包含6个int值的数组,并且用数值1、2、4、8、16和32进行初始化。

b.用数组符号表示a部分中数组的第3个元素(数值为4的那个元素)。
c.假设系统支持C99规则,定义一个包含100个int值的数组并且初始化它,使它的末元素为-1,其他元素的值不考虑。

9.包含10个元素的数组的索引范围是什么?

10.假设有如下声明:

阅读 ‧ 电子书库

则下列语句中哪些是正确的,哪些是错误的?

阅读 ‧ 电子书库

11.声明一个800x600的int数组。

12.以下是3个数组声明:

阅读 ‧ 电子书库

a.以传统的void函数方式,写出处理数组trots的函数原型和函数调用;然后以变长数组方式,写出处理数组trots的函数原型和函数调用。
b.以传统的void函数方式,写出处理数组clops的函数原型和函数调用;然后以变长数组方式,写出处理数组clops的函数原型和函数调用。
c.以传统的void函数方式,写出处理数组shots的函数原型和函数调用;然后以变长数组方式,写出处理数组shots的函数原型和函数调用。

13.下面是两个函数原型:

阅读 ‧ 电子书库

a.编写一个函数调用,把包含数值8、3、9和2的复合文字传递给函数shows()。
b.编写一个函数调用,把包含2行3列数值的复合文字传递给函数show2(),其中第一行为8、3、9;第二行为5、4、1。