蓝莓题库

中国大学mooc程序设计基础(c语言进阶)(张志祥、李奕)试题及答案-k8凯发

欢迎来访!

k8凯发-凯发官网入口物理问答 正文

作者2023-10-22 23:29:03物理问答 78 ℃0 评论
第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

2、如果:int a[] = ; int *p = a; 则以下哪些表达式的结果为真?
    a、p == a[0]
    b、p == &a[0]
    c、*p == a[0]
    d、p[0] == a[0]

3、以下变量定义: int* p,q; 中,p和q都是指针。

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

2 指针运算随堂测验

1、对于以下代码段,正确的说法是:char *p; while (1) { p = malloc(1); *p = 0; }
    a、最终程序会因为没有没有空间了而退出
    b、最终程序会因为向0地址写入而退出
    c、程序会一直运行下去
    d、程序不能被编译

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

3、使用malloc就可以做出运行时可以随时改变大小的数组

第10周:(1)结构类型

2 结构随堂测验

1、有下列代码段,则输出结果是:struct { int x,y; } s[2] = { {1,3}, {2,7}, }; printf("%d\n", s[0].y/s[1].x);
    a、0
    b、1
    c、2
    d、3

2、有如下变量定义,则对data中的a的正确引用是:struct sk { int a; float b; } data, *p=&data;
    a、(*p).data.a
    b、(*p).a
    c、p->data.a
    d、p.data.a

3、以下两行代码能否出现在一起? struct { int x; int y; } x; struct { int x; int y; } y;

第11周:程序结构

2 编译预处理和宏随堂测验

1、假设宏定义: #define double(x) 2*x 则double(1 2)的值是

2、假设宏定义如下: #define toupper(c) ('a'<=(c)&&(c)<='z'?(c)-'a' 'a':(c)) 设s是一个足够大的字符数组,i是int型变量,则以下代码段的输出是: strcpy(s, "abcd"); i = 0; putchar(toupper(s[i]));

猜你喜欢

  • 2023-10-23 00:03
  • 2023-10-22 23:50
  • 2023-10-22 23:38
  • 2023-10-22 23:05
  • 2023-10-22 23:05
  • 2023-10-22 22:59
  • 2023-10-22 22:50
  • 2023-10-22 22:14
  • 2023-10-22 22:09
  • 2023-10-22 21:17
网站分类
最新发表
标签列表
网站地图