C语言--每日选择题--Day25

本文涉及的产品
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: C语言--每日选择题--Day25

第一题

1. 对于C/C++语言的函数,下列叙述中正确的是( )


A:函数的定义不能嵌套,但函数调用可以嵌套

B:函数的定义可以嵌套,但函数调用不能嵌套

C:函数的定义和调用都不能嵌套

D:函数的定义和调用都可以嵌套

答案及解析 A

函数调用可以嵌套,函数的定义不可以嵌套

因为函数的定义都是相互平行、相互独立的;所以标志C是不允许函数定义的嵌套的;

第二题(好题)

2. 下面程序的功能是从输入字符串中找出最长字符串,则下面程序哪行存在错误()

#include "stdio.h"
#include "string.h"
#define N 10
int main()
{
    char s[N][81], * t;                                     // line:1
    int j;                                                  // line:2
    for (j=0; j<N; j++)                                     // line:3
        gets (s[j]);                                        // line:4
    t= *s;                                                  // line:5
    for (j=1; j<N; j++)                                     // line:6
        if (strlen(t)<strlen(s[j]))                         // line:7
            t=&s[j];                                        // line:8
    printf("strings is: %d, %s\n", strlen(t), t);           // line:9
}

A:line:1

B:line:4

C:line:6

D:line:8

答案及解析 D

由于题目的数组太长了,为了讲解清晰和方便,采用下面的数组:

明确下面几点:

1. 二维数组是一维数组的数组;

2. 二维数组名是第一行的地址;

3. 每一行都相当于一个一维数组,所以s[] 相当于 行数组的数组名;

知道了这些之后,t存的是每一行的首元素地址,也就是说t存的就是每一行的字符串;


直接看第八行,&s[j]这是取第j行首元素地址的地址,是个二级指针,错了

第三题

3. putchar函数可以向终端输出一个( )


A:整型变量表达式值

B:实型变量值

C:字符串

D:字符或字符型变量值

答案及解析 D

getchar是提取一个字符;

putchar是输出一个字符,又因为每个字符都有对应的ASCII值,所以也可以是字符型的变量值

第四题(好题)

4. 设有以下定义:

1

2

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

int(*prt)[3] = a, *p = a[0];

则以下能够正确表示数组元素a[1][2]的表达式是()


A:* (( * prt+1)[2])

B:* ( * (p+5))

C:( * prt+1)+2

D:* ( * (a+1)+2)

答案及解析 D

这个题考查的就是你对二维数组,数组指针的了解

首先数组名代表的是第一行的地址

其次二维数组是一维数组的数组

a[0]、a[1]、a[2]、a[3]分别代表的是1到4行的地址

这个数组指针的数组元素是a[0]、a[1]、a[2];

知道这些之后,我们直接上图:

第五题(好题)

5. 若有语句:int s[3][3],(*p)[3];p=s;则对s数组元素的引用形式正确的是___


A:p+1

B;*(p+1)

C:p[1][2]

D:*(p+1)+2

答案及解析 C

这个跟上一题同理,大家可以自己画画图,我这里就不画了


相关文章
|
2月前
|
C语言
C语言—每日选择题—Day60
C语言—每日选择题—Day60
|
2月前
|
编译器 C语言
C语言—每日选择题—Day61
C语言—每日选择题—Day61
|
2月前
|
编译器 C语言
C语言—每日选择题—Day57
C语言—每日选择题—Day57
|
2月前
|
C语言
C语言—每日选择题—Day56
C语言—每日选择题—Day56
|
2月前
|
编译器 C语言 C++
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题(下)
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题
33 2
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题(下)
|
2月前
|
算法 C语言 C++
从C语言到C++_14(vector的常用函数+相关选择题和OJ题)(中)
从C语言到C++_14(vector的常用函数+相关选择题和OJ题)
79 1
|
2月前
|
算法 编译器 C语言
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题(上)
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题
29 3
|
2月前
|
编译器 C语言 C++
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题(中)
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题
28 1
|
2月前
|
存储 编译器 C语言
从C语言到C++_22(继承)多继承与菱形继承+笔试选择题(下)
从C语言到C++_22(继承)多继承与菱形继承+笔试选择题
28 0
|
2月前
|
Java 编译器 定位技术
从C语言到C++_22(继承)多继承与菱形继承+笔试选择题(中)
从C语言到C++_22(继承)多继承与菱形继承+笔试选择题
26 0