第九周指针

小测验9.1

1、单选题:
‏对于:‎int a[] = {5, 15, 34, 54, 14, 2, 52, 72};
int *p = &a[5];‏则:‎‏p[-2]的值是?‎‏‎
选项:
A: 编译出错,因为数组下标越界了
B: 运行出错,因为数组下标越界了
C: 54
D: 2
答案: 【 54

2、多选题:
‍如果:‍int a[] = {0};
int *p = a;‍则以下哪些表达式的结果为真?‍
选项:
A: p == a[0]
B: p == &a[0]
C: *p == a[0]
D: p[0] == a[0]
答案: 【 p == &a[0];
*p == a[0];
p[0] == a[0]

3、判断题:
‏以下变量定义:‎‏int* p,q;‎‏中,p和q都是指针。‎
选项:
A: 正确
B: 错误
答案: 【 错误

4、填空题:
‎对于:‎int a[] = {5, 15, 34, 54, 14, 2, 52, 72};
int *p = &a[1];‎则:‎‎p[2]的值是?‎
答案: 【 54

小测验9.2

1、单选题:
​对于以下代码段,正确的说法是:‎char *p;
while (1) {
    p = malloc(1);
    *p = 0;
}​‎
选项:
A: 最终程序会因为没有没有空间了而退出
B: 最终程序会因为向0地址写入而退出
C: 程序会一直运行下去
D: 程序不能被编译
答案: 【 最终程序会因为向0地址写入而退出

2、单选题:
​对于以下代码段:‏int a[] = {1,2,3,4,5,};
int *p = a;
int *q = &a[5];
printf("%d", q-p);​当sizeof(int)为4时,以下说法正确的是:‏
选项:
A: 因为第三行的错误不能编译
B: 因为第三行的错误运行时崩溃
C: 输出5
D: 输出20
答案: 【 输出5

3、判断题:
‍使用malloc就可以做出运行时可以随时改变大小的数组‍
选项:
A: 正确
B: 错误
答案: 【 错误

第十周字符串

第二次单元测验

1、单选题:
‏下面的代码段执行后,输出的结果是:‍int i=0;
if ( i==0 ) {
    int i=3;
}
printf("%dn", i);‏‍
选项:
A: 0
B: 3
C: 1
D: 2
E: 4
答案: 【 0

2、单选题:
‌下面哪个选项可以交换指针p和q所指的int型变量的值?‎
选项

剩余75%内容付费后可查看

发表评论

电子邮件地址不会被公开。 必填项已用*标注