C程序设计进阶   指针练习测验, 15 个问题.

指针练习测验, 15 个问题

恭喜!您通过了!

下一项

第 1 个问题

正确

1 / 1

分数

1. 第 1 个问题

现在要字符型的定义指针变量p,以下定义及初始值设置合法的包括哪些?

()char a[] = "abc";

        char *p = a;

正确 

 ()char a[] = "abc";

       char p[] = &a;

()char a[] = "abc";

        char p[] = *a;

()char a[] = "abc";

        char *p = * a;

()char a[] = "abc";

        char p[] = a;

第 2 个问题

正确

1 / 1

分数

2. 第 2 个问题

已知int a = 3; 现在我们想输出a的值,即得到输出为 3 。在不考虑代码优美性、易读性的情况下,以下操作可行的有哪些?

()cout << &a;

        未选择的是正确的 

 ()cout << *&a;

        正确 

        &a为a的地址,*(&a)为a的地址的内容,即a。

() cout << a;

        正确 

        这是最正常的代码,通常情况下应该这么写。

()cout << &*a;

        未选择的是正确的 

()cout << *a;

        未选择的是正确的 

第 3 个问题

正确

1 / 1

分数

3. 第 3 个问题

已知字符串 char a[] = "hollo,world"; 由于存在拼写错误,现在我们想让这个字符串变成"hello,world",以下操作哪些是正确的?

()char *p = a;    

        p++;

        *p = 'e';    

        正确 

        p是指针变量,可以自加

()a[1] = 'e';

        正确 

()a++;

        * a = 'e';

        未选择的是正确的 

()&(a+1) = 'e';

未选择的是正确的 

()* (a + 1) = 'e';

正确 

第 4 个问题

正确

1 / 1

分数

4. 第 4 个问题

有double num = 3.14; double * pi = & num; 现在pi指向的地址的内容为3.14。然而我们又想要提高精度,将它变成3.14159。在不考虑代码优美性、易读性的情况下,以下操作正确的有哪些?

()*pi = 3.14159

正确 

正确

()pi = 3.14159

未选择的是正确的 

()pi[0] = 3.14159

正确 

正确,虽然pi看上去不是指向数组,但确实可以通过pi[0]引用到我们需要修改的数。但是,这不是一种良好的代码风格,因为一旦使用pi[1]就会出现不可预料的后果。

()π = 3.14159

未选择的是正确的 

第 5 个问题

正确

1 / 1

分数

5. 第 5 个问题

已知定义了数组int a[10]; 并且a指向的地址为0x22ff44。假设整形占4个字节,那么下列哪个说法是正确的?

()a+1所指向的地址为0x22ff48,因此a+1不是数组元素a[1]的地址

()a+1所指向的地址为0x22ff45,因此a+1不是数组元素a[1]的地址

()a+1无合法语义

()a+1所指向的地址为0x22ff48,因此a+1数组元素a[1]的地址

正确 

()a+1所指向的地址为0x22ff45,因此a+1数组元素a[1]的地址

第 6 个问题

正确

1 / 1

分数

6. 第 6 个问题

已知字符串char str[] = "hello,world"; 现在我们想输出字符串的后半部分,即",world",以下操作正确的包括哪些?

()for(int i = 5; i <= 10; i++)

    cout << *(str + i);

cout << endl;

正确 

正确,逐个输出每个字符

()cout << *(str + 5) << endl;

未选择的是正确的 

()cout << &(str + 5) << endl;

未选择的是正确的 

()cout << str + 5 << endl;

正确 

正确,str+5指向',',并且是字符指针,对它使用cout,输出从str+5开始的字符串

()cout << str[5] << endl;

未选择的是正确的 

()cout << str[5:10] << endl;

未选择的是正确的 

()for(int i = 5; i <= 10; i++)

    cout << str[i];

cout << endl;

正确 

正确,逐个输出每个字符

正确

1 / 1

分数

7. 第 7 个问题

以下函数的输出结果是:

int fun( ){

    char a[10] = {'1', '2', '3', '4', '5', '6', '7', '8', '9', 0}, *p;

    int i = 8;

    p = a + i;

    cout << p - 3 << endl;

    return 0;

}

正确回答 (6789)

p - 3指向a+5,即内容为'6'的那个地址。由于p-3为字符指针,所以使用cout时输出字符串,以0(即'\0')结尾。

第 8 个问题

正确

1 / 1

分数

8. 第 8 个问题

以下函数的运行结果是:

int fun( ){

    int a[ ]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, };

    int *p = a + 5, *q = NULL;

    *q = *(p + 5);

    cout << *p << " " << *q << endl;

    return 0;

}

()运行后报错

正确 

*q初始化为NULL,指向非法地址。语句*q=*(p+5)的含义相当于:请把非法地址里的内容设成*(p+5),故运行报错。

()6 6

()6 12

()5 5

第 9 个问题

正确

1 / 1

分数

9. 第 9 个问题

以下函数返回a所指数组中最小的值所在的下标,其中n为数组a的大小。那么划线处应该填入:

int fun(int *a, int n){

    int i = 0;

    int p = i;

    for (; i < n; i++)

        if (a[i] < a[p])

            ____;

    return p;

}

()p = * a[i]

()p = a[i]

()p = & a

()i = p

()p = a

()p = i

  正确    p为下标

()p = * a

()p = & a[i]

第 10 个问题

正确

1 / 1

分数

10. 第 10 个问题

以下函数的返回值是什么?

char* fun(char * p){

    return p;

}

()p[0]这个字符

()p指向的地址值

正确 

()p自身的地址值

()无意义的值

正确

1 / 1

分数

11. 第 11 个问题

下列程序的输出结果是:

int b = 2;

int func(int *a){

    b += *a;

    return b;

}

int main( ){

    int a=2, res=2;

    res += func(&a);

    cout << res << endl;

    return 0;

}

正确回答 (6)

func返回4,故res值为6

正确

1 / 1

分数

12. 第 12 个问题

有如下程序段

    int *p, a = 10, b = 1;

    p = &a;

    a = *p + b;

执行该程序段后, a 的值为:

正确回答 (11)

p为指向a的指针,a=*p+b相当于a=a+b,故结果为11。

第 13 个问题

正确

1 / 1

分数

13. 第 13 个问题

对于基类型相同的两个指针变量之间,以下哪一项操作缺乏有价值的语义?

()=

()-

()+

    正确 

()<

第 14 个问题

正确

1 / 1

分数

14. 第 14 个问题

下面程序把数组元素中的最大值放入a[0]中, 则在if 语句中的条件表达式应该是:

int fun( ){

    int a[10] = {6, 7, 2, 9, 1, 10, 5, 8, 4, 3}, *p = a, i;

    for( i = 0; i < 10; i++, p++)

        if(________)

            *a=*p;

    cout << *a << endl;

}

()*p>*a[0]

未选择的是正确的 

()a[i] > a[0]

正确 

()p>a

未选择的是正确的 

()*p[0]> *a[0]

未选择的是正确的 

()a[i] > p[0]

未选择的是正确的 

()p[i] > a[0]

未选择的是正确的 

()*p>a[0]

正确 

()*p > *a

正确 

第 15 个问题

正确

1 / 1

分数

15. 第 15 个问题

以下程序片段都能为a的元素加1,并输出。考虑程序易读性、可移植性,不考虑代码的文本长度、代码行数和执行效率,你认为代码风格最良好的是哪个?

()int a[] = {10, 21, 32, 32, 46};

for (int i = 0; i < 5; i++){

    a[i]++;

    cout << a[i] << endl;

}

正确 

良好的代码风格

()int a[] = {10, 21, 32, 32, 46};

for (int i = 0; i < 5; cout << ++a[i] << endl,i++);

()int a[] = {10, 21, 32, 32, 46};

for (int * p = a; p < a + 5;)

    cout << ++ (p++) << endl;

()int a[] = {10, 21, 32, 32, 46};

for (int * p = a; p < a + 5;){

    (*p)++;

    cout << *p++ << endl;

}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342

推荐阅读更多精彩内容