本文主要是介绍C语言—每日选择题—Day60,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
明天更新解析
第一题
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
这篇关于C语言—每日选择题—Day60的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!