C语言—每日选择题—Day60

2023-12-22 23:43:41

明天更新解析

第一题

1. 下列for循环的循环体执行次数为()

for(int i = 10, j = 1; i = j = 0; ++i, --j)

A:0

B:1

C:无限

D:以上都不对

答案及解析?A

for循环的判断条件是 i = j = 0;赋值语句做判断条件,赋值表达式结果为右操作数的值,所以右操作数为0,整个结果就是0,0为假,非0为真,那执行次数就是0

第二题

2. 对于下面?char (*p)[16]?的声明描述正确的一项是()

A:p是长度为16的字符指针数组

B:p是包含16个字符的字符串

C:p是指向长度为16的字符数组的指针

D:p是长度为16的字符数组

答案及解析 C

首先*会先和p结合形成指针,指针的类型是char [16],是一个长度16的字符数组,所以这是一个指向长度为16的字符数组的指针。

第三题

3. 有以下程序,程序运行后的输出结果是()

void ss (char *s,char t) 
{
    while (*s) 
{
        if(*s == t)
            *s = t - 'a' + 'A';
        s++;
    }
}
int main() 
{
    char str1[100] = "abcddfefdbd", c = 'd';
    ss(str1, c);
    printf ("%s\n", str1);
}

A:ABCDDEFEDBD

B:abcDDfefDbD

C:abcAAfefAbA

D:Abcddfefdbd

答案及解析?D

第四题

4. 有以下语句定义,则选项中表达式错误的是()

int x = 5;
const int *const p = &x;
int *const q = &x; 
int const *next = &x;
const int *j = &x;

A:*p = 1;

B:q++;

C:next++;

D:( *j )++;

答案及解析?ABD

第五题

5. 有以下程序输出结果是?

#include <stdio.h>
int main() 
{
    int a[3][4] = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23};
    int(*p)[4] = a, i, j, k = 0;
    for (i = 0; i < 3; i++)
        for (j = 0; j < 2; j++)
            k = k + *(*(p + i) + j);
    printf("%d", k);
    return 0;
}

A:40

B:60

C:80

D:100

答案及解析?B

文章来源:https://blog.csdn.net/2302_76941579/article/details/135162023
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。