蓝桥杯2024年1月STEMA考试【中高级组】答案+解析(上)

一、单选题

第一题 表达式 117 % 16 的结果是( )。

A. 0

B. 5

C. 7

D. 10

答案:B

解析:%求的是余数,117除以16的余数是5。

第二题 下列选项中,字符数组定义正确的是( )。

A. char a[5] = "hello";

B. char a[ ] = "hello";

C. char a = "hello";

D. char a[6] = 'hello';

答案:B

解析:考察字符数组定义与赋值。

定义一个字符数组并且用一个字符串常量初始化它时,数组的大小应该足够包含字符串常量的所有字符,包括结尾的空字符(‘\0’)。

在此题中,有一点需要注意:双引号带着的是字符串,字符串hello带有5个字符,但由于C语言风格的字符串要以空字符(‘\0’)结尾,实际上是需要6个字符空间才能存储整个字符串(包括结尾的 ‘\0’)。

因此A选项错误,正确应该是char a[6]="hello";

C选项是单一的字符,不能用双引号。

D选项的初始化用了单引号,错误。

字符数组的定义示例如下:

(1)char a[10]={‘h’,‘e’,‘l’,‘l’,‘o’}; 表示定义一个字符数组,含有10个元素,前面五个元素分别赋值为字母h,字母e,字母l,字母l和字母o,后面的元素赋值为空值,即null。

(2)char a[10]=“hello”; 和(1)相同,要注意,这里的元素个数一定要在字符串长度的基础上加1。

(3)char a[]=“hello”; 这种写法是没有固定元素个数,单独写是错误的,但如果有初始化,程序就会自动根据字符数组的实际长度进行调整。

第三题 定义 int i = 0, a = 10; 执行表达式 a = (i <= 0 ? 1 : 2) 后,a 的值是( )。

A. 1

B. 2

C. 10

D. 随机值

答案:A

解析:考察三目运算符

(i <= 0 ? 1 : 2)转换成 if 语句:

if(i<=0)
    a=1;
 else
    a=2;

定义中,int i = 0, a = 10;i=0,因此a=1,所以选A。

第四题 十进制数 22.5625 转换成十六进制数是( )。

A.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员莫小特

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值