C语言—每日选择题—Day53

指针相关博客

打响指针的第一枪:指针家族-CSDN博客

深入理解:指针变量的解引用 与 加法运算-CSDN博客

第一题

1. 有以下程序,输出的结果为()

#include <stdio.h>
int main() 
{char a = 'H';a = (a > 'A' && a <= 'Z') ? (a + 32) : a;printf("%c\n", a);return 0;
}

A:H

B:h

C:A

D:a

答案及解析 B

本题考查的是对ASCII值的认识和条件表达式

条件表达式: x ?y:z ;x为真,执行y,反之执行z;

很明显本题为真,执行的是a + 32,这是将大写字符转换为小写字母的操作

下面是ASCII表:

第二题

2. 定义的四个变量,哪个变量不是指针类型?

#define INT_PTR int*
typedef int*int_ptr;
INT_PTR a,b;
int_ptr c,d;

A:a

B:b

C:c

D:d

E;都是指针

F:都不是指针

答案及解析 B

记住#define是替换,所以

INT_PTR a,b = int* a, b,替换的意思就是只给一个,不能默认都给;

而typedef是对类型的重命名,所以 int_ptr 就是 int*,都是指针类型;

第三题

3. 下面程序运行的结果是()

#include <stdio.h>
int f(int n)
{if (n==1)return 1;elsereturn (f(n-1)+n*n*n);
}
int main()
{int s=f(3);printf("%d\n", s);return 0;
}

A:8

B:9

C:27

D:36

答案及解析 D

本题考查的是一个简单的函数递归

f(3) = f(2) + 3 * 3 * 3

f(2) = f(1) + 2 * 2 * 2

f(1) = 1

所以

f(3) = f(1) + 2 * 2 * 2 + 3 * 3 * 3 = 1 + 2 ^ 3 + 3 ^ 3 = 36

第四题

4. 下面代码会输出什么()

#include <stdio.h>
int main()
{int a[4] = {1, 2, 3, 4};int *ptr = (int *)(&a + 1);printf("%d", *(ptr - 1));
}

A:1

B:2

C:3

D:4

答案及解析 D

本题考查的是指针的解引用和加法,请看这个博客:深入理解:指针变量的解引用 与 加法运算-CSDN博客

第五题

5. 下列程序的输出是()

#include <stdio.h>
int main() 
{int a[12] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, *p[4], i;for (i = 0; i < 4; i++) p[i] = &a[i * 3];printf("%d\n", p[3][2]);return 0;
}

A:上述程序有错误

B:6

C:8

D:12

答案及解析 D

这个题就很有趣了,首先是一个整型数组有12个变量,然后定义了一个指针数组,这个指针数组分别存的是&a[0]、&a[3]、&a[6]、&a[9]这四个地址;

打印的时候是p[3] [2],这个怎么理解呢?

利用指针来理解:p[3] [2] = *(p[3] + 2) 这样就是先拿到p[3]这个元素,也就是&a[9]

所以p[3] [2] = *(&a[9] + 2);也就是在a[9]的地址往后2个int类型的长度,为啥是int

看第四题博客,然后就来到了&a[11],所以最后就是*&a[11] = a[11] = 12;

深入理解:指针变量的解引用 与 加法运算-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/284805.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【03】GeoScene创建海图或者电子航道图数据

1 配置Nautical属性 1.1 管理长名称 长名称&#xff08;LNAM&#xff09;是一个必要的对象标识符&#xff0c;是生产机构&#xff08;AGEN&#xff09;、要素识别号码&#xff08;FIDN&#xff09;和要素识别子项&#xff08;FIDS&#xff09;组件的串联。这三个子组件用于数…

MidJourney笔记(8)-ask和blend命令

经过前面的课程介绍,我相信大家对MidJourney有一定的认识,接下来就给大家介绍一下MidJourney的常用命令。 /ask 获取问题答案。 我一开始以为是随便问题都可以问,最后发现只能回答MidJourney相关的问题。 我们先试试一些日常生活问题: 今天天气如何? 以为它不会识别中文,…

蓝桥杯time模块常用操作

#导入time模块import time #获取时间戳 start_time time.time () print ( "start_time ", start_time) time .sleep ( 3) end_time time.time () print ( "end_time ", end_time)#计算运行时间 print("运行时间 { :.0f } ".format(end_time …

计算机毕业设计 基于SpringBoot的高校毕业与学位资格审核系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

Vue中英文翻译小结

背景&#xff1a;时局艰难&#xff0c;后端开发被强制写了vue&#xff0c;这不有个需求是中英文翻译&#xff0c;特此记录下&#xff0c;该怎么个翻译法子。 先引入全局的路由国际化文件&#xff0c;zh.js 和 en.js 1.关于插值表达Button里面 {{ $t(reinsop.common.back) }} …

如何用Python向图像中加入噪声

我们在做机器视觉项目的过程中&#xff0c;有的时候需要向图像中加入噪声。Pytorch本身不支持类似的功能&#xff0c;如果自己写的话&#xff0c;不但麻烦&#xff0c;而且容易出错。好在skimage支持这个功能。代码如下&#xff1a; import skimage import matplotlib.pyplot …

匆匆前行 也适时驻足

冬日碎片 大家好&#xff0c;今天是小气吝啬的生信小博士 分享发生在身上的两件小事 2023年12月16日 与往常一样&#xff0c;周六早八例行组会&#xff0c;本想争分夺秒买完早饭直奔会议室&#xff0c;一个大姐挡住了我的去路&#xff1a; “小伙子&#xff0c;借你饭卡买个…

P33鱼和熊掌可以兼得的机器学习-why deep

Review: Why Hidden Layer? 在这里插入图片描述 ** 一个hidden 可以通过无数个 picewise linear 构成任意形状的曲线** 那么为什么还要 deep 呢 Why deep not Fat 同样参数量下&#xff0c;deep的模型表现优于 fat 的 Why we need deep? 使用deep&#xff0c;效率更高&…

linux 操作系统(二)

1、linux用户和权限 1.1、用户分类&#xff1a; 在linux中的用户可以分为两类&#xff0c;一类是root用户&#xff0c;root用户拥有linux操作系统的最大的权限&#xff0c;另外一类就是普通用户&#xff0c;相比于root用户&#xff0c;普通用户的权限受到一定的限制&#xff0…

【Matlab】如何可视化多项式函数(附完整MATLAB代码)

可视化多项式函数 前言多项式函数MATLAB 对理解多项式函数的帮助 正文思考步骤 代码实现及图像显示对于一元多项式函数对于多元多项式函数 前言 多项式函数 多项式函数是数学中常见的一类函数&#xff0c;它的一般形式可以表示为&#xff1a; [ f ( x ) a n x n a n − 1 x…

【Redis】五、Redis持久化、RDB和AOF

文章目录 Redis持久化一、RDB&#xff08;Redis DataBase&#xff09;触发机制如何恢复rdb文件 二、AOF&#xff08;Append Only File&#xff09;三、扩展 Redis持久化 面试和工作&#xff0c;持久化都是重点&#xff01; Redis 是内存数据库&#xff0c;如果不将内存中的数据…

promise到底是个什么??

promise是什么&#xff1f; promise是一门新的技术&#xff08;es6规范&#xff09; promise是js中进行异步编程的新的解决方案 旧的方案是单纯的使用回调函数 具体的说 promise是构造函数 可以快速构建promise对象 快速获取成功或者失败的值 异步操作有哪些&#xff1…