当前位置:嗨网首页>书籍在线阅读

27-复习题

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

10.12 复习题

复习题的参考答案在附录A中。

1.下面的程序将打印什么内容?

#include <stdio.h>
int main(void)
{
     int ref[] = { 8, 4, 0, 2 };
     int *ptr;
     int index;
     for (index = 0, ptr = ref; index < 4; index++, ptr++)
          printf("%d %d\n", ref[index], *ptr);
     return 0;
}

2.在复习题1中, ref 有多少个元素?

3.在复习题1中, ref 的地址是什么? ref + 1 是什么意思? ++ref 指向什么?

4.在下面的代码中, *ptr*(ptr + 2) 的值分别是什么?

a.

int *ptr;
int torf[2][2] = {12, 14, 16};
ptr = torf[0];

b.

int * ptr;
int fort[2][2] = { {12}, {14,16} };
ptr = fort[0];

5.在下面的代码中, **ptr**(ptr + 1) 的值分别是什么?

a.

int (*ptr)[2];

int torf[2][2] = {12, 14, 16};

ptr = torf;

b.

int (*ptr)[2];

int fort[2][2] = { {12}, {14,16} };

ptr = fort;

6.假设有下面的声明:

int grid[30][100];

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 类型值的数组,并初始化各元素为 12481632

b.用数组表示法表示 a 声明的数组的第3个元素(其值为 4

c.假设编译器支持C99/C11标准,声明一个内含100个 int 类型值的数组,并初始化最后一个元素为 -1 ,其他元素不考虑

d.假设编译器支持C99/C11标准,声明一个内含100个 int 类型值的数组,并初始化下标为 510111213 的元素为 101 ,其他元素不考虑

9.内含10个元素的数组下标范围是什么?

10.假设有下面的声明:

float rootbeer[10], things[10][5], *pf, value = 2.2;

int i = 3;

判断以下各项是否有效:

a. rootbeer[2] = value;

b. scanf("%f", &rootbeer );

c. rootbeer = value;

d. printf("%f", rootbeer);

e. things[4][4] = rootbeer[3];

f. things[5] = rootbeer;

g. pf = value;

h. pf = rootbeer;

11.声明一个800×600的int类型数组。

12.下面声明了3个数组:

double trots[20];
short clops[10][30];
long shots[5][10][15];

a.分别以传统方式和以变长数组为参数的方式编写处理 trots 数组的 void 函数原型和函数调用

b.分别以传统方式和以变长数组为参数的方式编写处理 clops 数组的 void 函数原型和函数调用

c.分别以传统方式和以变长数组为参数的方式编写处理 shots 数组的 void 函数原型和函数调用

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

void show(const double ar[], int n);        // n是数组元素的个数
void show2(const double ar2[][3], int n);   // n是二维数组的行数

a.编写一个函数调用,把一个内含 8392 的复合字面量传递给 show() 函数。

b.编写一个函数调用,把一个2行3列的复合字面量( 839 作为第1行, 541 作为第2行)传递给 show2() 函数。