拒绝摆烂!C语言练习打卡第六天

🔥博客主页:小王又困了

📚系列专栏:每日一练

🌟人之为学,不日近则日退 

❤️感谢大家点赞👍收藏⭐评论✍️


目录

一、选择题

📝1.第一题 

📝2.第二题

📝3.第三题

📝4.第四题

二、编程题

📝1.第一题 

📝2.第二题


🗒️前言:

在前面我们学习完C语言的所以知识,当然练习巩固也不能落下。俗话说:“无财之谓贫,学而不能行之谓病。”可见实践对我们学习的重要。接下来就让小王带着大家进行练习,巩固我们C语言的学习。

一、选择题

📝1.第一题 

若运行以下程序时,从键盘输入ADescriptor<回车> ,则下面程序的运行结果是( )

int main()
{
    char c;
    int v0 = 0, v1 = 0, v2 = 0;
        do
        {
            switch (c = getchar())
            {
            case'a':
            case'A':
            case'e':
            case'E':
            case'i':
            case'I':
            case'o':
            case'O':
            case'u':
            case'U':
                v1 += 1;
            default:
                v0 += 1; v2 += 1;
            }
        } while (c != '\n');
        printf("v0=%d,v1=%d,v2=%d\n", v0, v1, v2);
        return 0;
}

 💡解题思路:

我们通过观察代码发现,这个程序读取字符,在switch语句中进行计算,当读到 ‘\0’ 时停止 。判断是否是元音字母进行不同的计算,但是在本题switch语句中没有break,执行完case语句还会继续执行default语句。输入ADescriptor这串字符中有4个元音字母,所以case语句和default语句都执行,v0=v1=v2=4;其他7个字符只执行default语句,所以v1=4,v0=v2=11。但是这里要注意,本题使用的是do…while循环,先执行在判断,所以输入‘\0’也要执行语句,最后结果为v1=4,v0=v2=12。

📝2.第二题

下面代码 *pa 的值是()

    float a[3] = { 1.5,2.5,3.5 };
	float* pa = a;
	*(pa++) *= 3;

💡解题思路:

a 是数组名,数组名是首元素地址,pa中存放的就是数组名是首元素地址。*(pa++) *= 3 这里是后置++,要先使用,再++。*pa 就是数组的首元素1.5,1.5*=3的结果为4.5,这时数组首元素的值被修改为4.5,这里我们不要忘记++,pa++就指向了2.5所在的位置,对pa解引用结果就是2.5。

📝3.第三题

若给定条件表达式 (M)?(a++):(a--) ,则下面表达式哪个 M 等价( ) 

A: 和(M==0)等价 B: 和(M==1)等价 C: 和(M!=0)等价 D: 和(M!=1)等价

💡解题思路:

我们观察题目,代码的意思是:M为真,执行a++;M为假,执行a--。当M非0时为真,M为0时为假。

选项A: M==0 的意思是,M为0时,表达式为真;M非0时,表达式为假,与题中M不等价。

选项B: M==1 的意思是,M为1时,表达式为真,但题意是M非0时为真,不等价。

选项C: M!=0 的意思是, M不等于0时为真,也就是非0;M为0,表达式为假,与M等价。

选项D: M!=1 的意思是, M不等于1时为真,但题意是M非0时为真,不等价。

📝4.第四题

 test.c 文件中包括如下语句,文件中定义的四个变量中,是指针类型的变量为【多选】( )


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

💡解题思路:

根据宏定义的理解,我们直接将INT_PTR给替换成int*,则为int*a,b;故可以判断出,a为指针变量,b不是,而typedef int* int_ptr相当于是给int*取了个叫int_ptr的类型,是一个将int和*联合在一起的整体,故c,d为指针变量 

二、编程题

📝1.第一题 

 💡解题思路:

我们将A和B进行异或操作,异或的作用是对应的二进制位相同位0,相异为1。异或后我们只需要统计二进制中1个数,就可以知道A转成B要改变几位。

统计个数时,我们通过 num>>i&1==1 判断,条件成立计数器就加1。

  • &  -  对应的二进制位有0,则为0;都为1,则为1
  • ^  -  对应的二进制位相同位0,相异为1
int convertInteger(int A, int B)
{
    int num=A^B;
    int count=0;
    for(int i=0;i<32;i++)
    {
        if(num>>i&1==1)
        {
            count++;
        }
    }
    return count;
}

📝2.第二题

  💡解题思路:

我们通过观察可以发现,杨氏矩阵的右上角的元素是有特点的,右上角的元素是一行中最大的,一列中最小的。我们从右上角开始查找,当右上角的元素比我们要查找的元素小,我们就可以去掉右上角元素所在的这一行;右上角的元素比我们要查找的元素大,我们就可以去掉右上角元素所在的这一列。然后继续找右上角的元素和要查找的值比较。这样每一次去掉一行或一列,小路远高于遍历数组元素。

int main()
{
	int k = 0;
	scanf("%d", &k);
	int arr[3][3] = { 1,2,3,4,5,6,7,8,9 };
	int flag = 0;
	//右上角的元素
	int x = 0;
	int y = 2;

	while (x <= 2 && y >= 0)
	{
		//去掉一行
		if (arr[x][y] < k)
		{
			x++;
		}
		//去掉一列
		else if (arr[x][y] > k)
		{
			y--;
		}
		else
		{
			printf("找到了,下标为%d %d\n", x, y);
			flag = 1;
			break;
		}
	}

	if (flag == 0)
	{
		printf("找不到\n");
	}
	return 0;
}

本次的内容到这里就结束啦。希望大家阅读完可以有所收获,同时也感谢各位读者三连支持。文章有问题可以在评论区留言,博主一定认真认真修改,以后写出更好的文章。你们的支持就是博主最大的动力。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)

一、spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具&#xff0c;包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单&#xff0c;可以在开发人员的电脑上跑。另外说明spring cloud是基…

node_modules.cache是什么东西

一开始没明白这是啥玩意&#xff0c;还以为是npm的属性&#xff0c;网上也没说过具体的来源出处 .cache文件的产生是由webpack4的插件cache-loader生成的&#xff0c;node_modules里下载了cache-loader插件&#xff0c;很多朋友都是vuecli工具生成的项目&#xff0c;内置了这部…

全流程R语言Meta分析核心技术

​Meta分析是针对某一科研问题&#xff0c;根据明确的搜索策略、选择筛选文献标准、采用严格的评价方法&#xff0c;对来源不同的研究成果进行收集、合并及定量统计分析的方法&#xff0c;最早出现于“循证医学”&#xff0c;现已广泛应用于农林生态&#xff0c;资源环境等方面…

掌握Six Sigma:逐步解锁业务流程优化的秘密之匙

一、Six Sigma方法简介 1. Six Sigma的起源和概念 Six Sigma起源于1980年代的摩托罗拉公司。当时的摩托罗拉在面临激烈的全球竞争和持续的质量问题时&#xff0c;发明了这种系统的管理方法&#xff0c;并通过实施&#xff0c;获得了显著的成绩。 所谓的“Six Sigma”&#x…

AIGC人工智能涉及三十六职业,看看有没有你的职业(一)

文章目录 一只弹吉他的熊猫 神奇的企鹅 功夫熊猫 视觉光影下的女子 闪光灯效 局部柔光 生物光 LOGO设计 制作儿童绘本故事 换脸艺术 打造专属动漫头像 包装设计之美 建筑设计 如何转高清图 生成3D质感图标 生成微信表情包 探索美食摄影的奇妙之旅 蛋糕创意设…

​LeetCode解法汇总2236. 判断根结点是否等于子结点之和

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 描述&#xff1a; 给你一个 …

用Python写一个武侠游戏

前言 在本教程中&#xff0c;我们将使用Python写一个武侠类的游戏&#xff0c;大的框架全部搭好了&#xff0c;很多元素都可以自己添加&#xff0c;让游戏更丰富 &#x1f4dd;个人主页→数据挖掘博主ZTLJQ的主页 个人推荐python学习系列&#xff1a; ☄️爬虫JS逆向系列专栏 -…

类与对象(下)

类与对象&#xff08;下&#xff09; 一、初始化列表1、构造函数与初始化2、使用初始化列表的形式3、注意点4、代码5、类需初始化列表但没使用初始化列表时报的错误6、成员变量的初始化顺序&#xff08;1&#xff09;顺序&#xff08;2&#xff09;测试代码&#xff08;3&#…

k8s之nodes

概念&#xff1a; Node是Kubernetes中的工作节点&#xff0c;最开始被称为minion。一个Node可以是VM或物理机。每个Node&#xff08;节点&#xff09;具有运行pod的一些必要服务&#xff0c;并由Master组件进行管理&#xff0c;Node节点上的服务包括Docker、kubelet和kube-pro…

5G LAN标准及现状

欢迎关注微信公众号“我想我思”。 随着通信技术的发展&#xff0c;各行各业对网络的可靠性、确定性等提出了更高的需求。5G LAN作为3GPP R16标准定义的关键特性之一&#xff0c;具有组建灵活、直接互通等特性&#xff0c;在网络部署、网络确定性、uRLLC 等方面表现优异&#…

【计算机网络】HTTPs 传输流程

HTTPS和HTTP的区别 1、HTTP协议传输的数据都是未加密的&#xff0c;是明文的&#xff0c;使用HTTP协议传输隐私信息非常不安 HTTPS协议是由SSLHTTP协议构建的可进行加密传输、身份认证的网络协议&#xff0c;要比http协议安全。 2、HTTPS协议需要到CA申请证书&#xff0c;一般…

06-Numpy基础-线性代数

线性代数&#xff08;如矩阵乘法、矩阵分解、行列式以及其他方阵数学等&#xff09;是任何数组库的重要组成部分。 NumPy提供了一个用于矩阵乘法的dot函数&#xff08;既是一个数组方法也是numpy命名空间中的一个函数&#xff09; x.dot(y)等价于np.dot(x, y) 符&#xff08;…

MySQL每日一练--校园教务系统

一丶数据库名称&#xff1a;SchoolDB 二丶数据库表信息&#xff1a;角色信息表 表名&#xff1a; t_role 主键&#xff1a; r_id 序号 字段名称 字段说明 类别 位数 属性 备注 1 r_id 角色编号 int 主键 自动增长 2 r_name_EN 角色名&#xff08;英…

C++信息学奥赛1149:最长单词2

#include <iostream> #include <string> using namespace std; int main() {string str1;// 输入一行字符串getline(cin,str1);int n0;string MaxArr"";string MinArrstr1;string arr"";for(int i0;i<str1.length();i){if(str1[i] or str1…

4G模组EC20 网卡udhcpc获取IP但是没有设置IP

使能网卡&#xff1a; ifconfig usb0 up dhcp获取ip&#xff0c;虽然没有报error&#xff0c;但是很显然没有设置进配置 获取ip命令&#xff1a;udhcpc -i usb0 非正常现象&#xff1a; 正常现象&#xff1a; 解决方法&#xff1a; &#xff08;1&#xff09;rootfs 创建文件夹…

深入浅出AXI4协议(1)——概述

写在前面 从这篇文章开始&#xff0c;我们将正式进入AXI4协议的学习&#xff0c;在xilinx系列的FPGA中&#xff0c;AXI4协议的使用是非常广泛的&#xff0c;很多的IP核都会支持AXI接口&#xff0c;而如果使用的是zynq系列&#xff0c;那AXI协议的学习更是重中之重。但是作为一款…

leetcode1475. 商品折扣后的最终价格 【单调栈】

简单题 第一次错误做法 class Solution { public:vector<int> finalPrices(vector<int>& prices) {int n prices.size();stack<int> st;unordered_map<int, int> mp;int i 0;while(i ! prices.size()) {int t prices[i];if (st.empty() || t …

机器学习笔记 - 使用 AugMix 增强图像分类模型的鲁棒性

一、简述 图像分类模型能够预测与训练数据具有相同分布的数据。然而,在现实场景中,输入数据可能会发生变化。例如,当使用不同的相机进行推理时,照明条件、对比度、颜色失真等可能与训练集不同,并显着影响模型的性能。为了应对这一挑战,Hendrycks 等人提出了 AugMix 算法。…

SELinux 入门 pt.2

哈喽大家好&#xff0c;我是咸鱼 在《SELinux 入门 pt.1》中&#xff0c;咸鱼向各位小伙伴介绍了 SELinux 所使用的 MAC 模型、以及几个重要的概念&#xff08;主体、目标、策略、安全上下文&#xff09; 我们还讲到&#xff1a; 对于受 SELinux 管制的进程&#xff0c;会先…

WordPress用于您的企业网站的优点和缺点

如今&#xff0c;WordPress 被广泛认为是一个可靠、可扩展且安全的平台&#xff0c;能够为商业网站提供支持。然而&#xff0c;许多人质疑 WordPress 是否是适合企业的平台。 这就是我们创建本指南的原因。通过探索 WordPress 的优点和缺点&#xff0c;您可以确定世界上最受欢…