【C++笔试强训】第二天

选择题

解析:考查printf%后面-表示输出左对齐,输出左对齐30个字符格式为%-30f.后面表示精度。%e字符以指数形势输出,可以认为是double类型(也就是小数点后保留6位)的指数。为%f字符表示输出格式为double类型。所以上面题目要求的格式为%-30.4f

image-20230324164231422

C语言中要求我们掌握的各种输出如下:

整形输出:%d整型输出,%ld长整型输出,%u以十进制数输出unsigned型数据(无符号数);

进制输出:%o以八进制数形式输出整数,%x以十六进制数形式输出整数;

字符输出:%c用来输出一个字符,%s用来输出一个字符串;

浮点数输出:%f用来输出实数,以小数形式输出,%e以指数形式输出实数,%g根据大小自动选f格式或e格式,且不输出无意义的零。

解析:本题考查const修饰及指针相关知识。

指针常量:指针是个常量,即指针的指向不能改变,指针指向空间的内容可以改变;

常量指针:指针指向的空间是个常量,指针指向空间的值不能改变,指针的指向可以改变。

我们判断是指针常量还是常量指针通常是看const*所在的位置,如int *const p3 = &iconst后面紧跟的就是指针变量p3,这就是指针常量,指针的指向不能改变,指针指向空间的内容可以改变;而int const *p2 = &iconst后面紧跟的是*p2,此时就是常量指针,指针的指向可以改变指针,指向空间的值不能改变。

(1)中const修饰的是*p1,是常量指针,指针的值不能改变,指针的指向可以改变。只不过该指针没有给初始值,正确;

(2)中const修饰的是*p2,常量指针,指针的值不能改变,指针的指向可以改变,正确;

(3)中p2 = &j改变了指针p2的指向,正确;

(4)中const修饰的是p3,是指针常量即指针的指向不能修改,指向空间的内容可以修改,正确;

(5)中修改了p3指向空间的内容,没有修改指针指向,正确;

(6)中想修改p2指向空间的内容,但是p2是常量指针,不能够修改,错误;

(7)中修改了p3指针的指向,但是p3是指针常量,不能修改指针指向,错误。

所以本题中错误的就是(6)、(7)。

image-20230324170831066

解析:本题主要考查常量字符串。acXacY都是存在栈区的字符数组,acXacY的区别在于acX存在\0,而acY中不存在\0,所以acX的空间比acY的空间大。而szXszY字符指针指向的常量字符串是存在常量区(静态区)的,szXszY这两个字符指针指向的是同一个地址,常量区的内容只能读不能被修改,所以D错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不 良

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

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

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

打赏作者

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

抵扣说明:

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

余额充值