C语言—每日选择题—Day64
2023-12-28 14:39:13
前言
????????两天没更新了,作者在复习期末考试,更新一波,祝大家都能顺利通过期末考试!!!
指针相关博客
第一题
1. 下面程序段的运行结果是( )【多选】
char s[] = "12345", *p = s;
printf("%d\n", *(p+5));
A:字符 '\0' 的 ASCII 码值
B:0
C:字符 '5' 的地址
D:字符 '5'
答案及解析 AB
本题考查的是对指针?整数和指针解引用
详谈【指针解引用】与【指针加整数】_指针解引用之后-CSDN博客
最后p + 5是 到达的\0的地址,解引用拿出来的就是\0,ASCII就是0
第二题
2. 以下程序中,while循环的次数是(? ?)
int main()
{
int i = 0;
while(i < 10)
{
if(i < 1)
continue;
if(i == 5)
break;
i++;
}
}
A:1
B:10
C:6
D:死循环,不能确定次数
答案及解析?D
本题考查的是对while循环中的continue和break语句的认识
continue语句,不执行后面语句,直接返回循环条件部分
break语句,跳出当前循环
所以本题就是一直都是i = 0 < 1 ,一直循环
第三题
3. 下面3段程序代码的效果一样吗?
int b;
(1)const int *a = &b;
(2)int const *a = &b;
(3)int *const a = &b;
A:(2) = (3)
B:(1) = (3)
C:(1) = (2)
D:都不一样
E:都一样
答案及解析 C
const在*左边:指针指向的内容不可以改变,pointer to const
const在*右边,指针本身不可被改变,const pointer
第四题
4. 有定义?int a=2.b=3,c=4;?表达式的值为()
?(a < b && !c)? ++b: a--?
A:1
B:2
C:3
D:4
答案及解析 B
第五题
5. 下列代码的输出是()
#include <stdio.h>
void print(char *s)
{
if(*s)
{
print(++s);
printf("%c", *s);
}
}
int main()
{
char str[] = "Geneius";
print (str);
return 0;
}
A:\0suiene
B:neius
C:run-time error
D:suieneG
答案及解析 A
本题考查的是函数递归
在s取到\0的地址的时候结束递归,反向输出
文章来源:https://blog.csdn.net/2302_76941579/article/details/135254504
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!