筑基八层 —— 问题思考分析并解决
目录
零:移步
一.修炼必备
二.问题思考(先思考)
三.问题解答
零:移步
CSDN由于我的排版不怎么好看,我的有道云笔记相当的美观,请移步有道云笔记
一.修炼必备
1.入门必备:VS2019社区版,下载地址:Visual Studio 较旧的下载 - 2019、2017、2015 和以前的版本 (microsoft.com)
2.趁手武器:印象笔记/有道云笔记
3.修炼秘籍:牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网 (nowcoder.com)
4.雷劫必备:leetcode 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
注:遇到瓶颈怎么办?百度百科_全球领先的中文百科全书 (baidu.com)
二.问题思考(先思考)
注:所有问题需代码证明
1.短路运算符的特点
2.%操作符和/操作符的特点
1)%的特点
2) /的特点:a.整数除法 b.小数除法 【观察结果得出结论】
3. 逗号表达式的特点
4.当函数的返回值没有写的时候,默认返回的是int
5.字符串或数组在进行传参的时候把数组名传过去,形参中接收到的是什么?
6.建议:当指针的内容无需改变的时候,加const,const使指针指向的内容不能改变(即加上const后具有健壮性)
7.怎么证明数据在内存中存储的是补码?
8.既然内存中存储的是补码,那么在控制台上打印的数值是补码吗?为什么?
9.补码变成原码的两种形式
10.正整数和负整数的二进制表示形式?
1)整数的表示形式是原码、反码、补码
2)正整数的表示形式均相同3)负整数的表示形式:原码;反码 = 原码符号位不变 + 其他位按位取反
11.正/负整数的原码、反码、补码规则
12.说说C语言中#include <stdio.h>是什么意思
13.为什么long型的数据类型明明比int型的数据类型大,为什么两者的所占的字节数相等?
14.求出C语言中各个数据类型所占的字节空间
15.全局变量和局部变量的区别?
16.全局变量和局部变量的作用域和生命周期?
17.C语言中常量的种类及它们的使用形式?
18.scanf()和printf()函数的返回值是什么类型?并查看它们的函数模型
19.C语言中的字符串结束标志是什么?如何查看一个字符串中是否有结束标志?
20.代码验证:为什么C语言中0表示假,非0表示真
三.问题解答
1.短路运算符的特点
&&:如果第一个操作符为假,则不执行后面的代码
||:如果第一个操作符为真,则不执行后面的代码
#include <stdio.h>
int main()
{int a = 0, b = 1, c = 2;//int d = a++ && b++ && c;//a=0为假,后置++先使用再++//printf("a=%d,b=%d,c=%d,d=%d\n", a, b, c, d);//1,1,2,0int d = a++ || b ++ || c++;//a为0,为假,b=1为真printf("a=%d,b=%d,c=%d,d=%d\n", a, b, c, d);//1,2,2,1return 0;
}
2.%操作符和/操作符的特点
1)除法的特点:
a.整数除法:得到的结果是整数,舍弃了小数部分
b.小数除法:得到的结果是小数,两个操作数中必有一个浮点数
2)%的特点:只能进行整数之间的取模,浮点数之间不能进行取模
#include <stdio.h>
int main()
{int a = 9;int b = 2;int c = a / b;//整数除法double d = a / 2.0;//小数除法,有一方为浮点数printf("%d %lf\n", c, d);int e = a % b;//整数能进行取模运算//int f = a % 3.0;//浮点数不能进行取模运算return 0;
}
3.逗号表达式的特点
——当运算中有多个逗号隔开的表达式,最后一个表达式是结果
#include <stdio.h>
int main()
{int a = 1;int b = 1;int num = (a++, b++, a);//最后一个表达式a为结果printf("%d\n", num);//2return 0;
}
4.当函数的返回值没有写的时候,默认返回的是int
#include <stdio.h>
swap()
{int num = 10;//当没有写返回值的时候,结果返回的是随机值return num;
}
int main()
{int res = swap();printf("%d\n", res);//10return 0;
}
5.字符串或数组在进行传参的时候把数组名传过去,形参中接收到的是什么?
——形参收到的是数组或字符串的首元素地址
#include <stdio.h>
void test1(char* ch)
{//查看形参的地址printf("%p\n", ch);
}void test2(int* arr)
{//查看形参的地址printf("%p\n", arr);
}int main()
{char ch[100] = "abcdef";int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };//形参的地址和字符串/数组首元素的地址进行比较test1(ch);printf("ch[0] = %p\n", &ch[0]);test2(arr);printf("arr[0] = %p\n", &arr[0]);return 0;
}
6..建议:当指针的内容不需要改变的时候,加上const,const使指针指向的内容不能改变(即加上const后具有健壮性)
#include <stdio.h>
void test(const char* arr)
{//*arr = 'a';//错误,加上const后不能修改arr的值
}int main()
{char arr[100] = "abcdfhgeh";test(arr);return 0;
}
7.怎么证明数据在内存中存储的是补码?
使用负数证明,把补码中存储的值按照十六进行打印
注:我们还可以使用调试来查看a在内存中的存储
#include <stdio.h>
int main()
{int a = -1;//10000000 00000000 00000000 00000001 原码//11111111 11111111 11111111 11111110 反码//11111111 11111111 11111111 11111111 补码//四个二进制位是一个16进制位//ffffffffprintf("%x\n", a);//ffffffffreturn 0;
}
8.内存中存储的是补码,那么在控制台上打印的数值是补码吗?为什么?
——不是,打印是十进制数,补码需要转化为原码,在由原码转化为十进制
#include <stdio.h>
int main()
{int a = -1;//10000000 00000000 00000000 00000001 原码//11111111 11111111 11111111 11111110 反码//11111111 11111111 11111111 11111111 补码printf("%d\n", a);//-1//注意:若是按照十六进制打印,则打印的补码(因为%x是打印无符号数,原码、反码、补码均相同)return 0;
}
9.补码变成原码的两种形式
1)-1,取反
2)取反,+1
#include <stdio.h>
int main()
{int a = -2;//11111111 11111111 11111111 11111110 补码//变回原码:法一//11111111 11111111 11111111 11111110 补码//11111111 11111111 11111111 11111101 反码//10000000 00000000 00000000 00000010 原码 -2//法二// 11111111 11111111 11111111 11111110 补码// 10000000 00000000 00000000 00000001 取反// 10000000 00000000 00000000 00000010 +1 -2return 0;
}
10.整数的二进制表示形式?
11.正/负整数的原码、反码、补码规则
1)整数的表示形式是原码、反码、补码;
2)正整数的表示形式均相同;
3)负整数的表示形式:原码;反码 = 原码符号位不变 + 其他位按位取反
#include <stdio.h>
int main()
{int a = 1;//00000000 00000000 00000000 00000001 补码printf("%x\n", a);//%x把补码按照十六进制打印 :1int b = -1;//10000000 00000000 00000000 00000001 原码//11111111 11111111 11111111 11111110 反码//11111111 11111111 11111111 11111111 补码//ffffff --> 十六进制形式printf("%x\n", b);//ffffffffreturn 0;
}
12.说说C语言中#include 是什么意思
1)#include 是预处理指令
2)stdio : standard input output --> 标准输入输出
3).h表示这是一个头文件
13.为什么long型的排名明明在int型的后面,为什么两者的所占的字节数相等?
——C语言标准下: sizeof(long) >= sizeof(int)
#include <stdio.h>
int main()
{//int的值最大值是2147483647int a = 2147483647;long b = 2147483647;//注:两者的最大值均是2^31-1;printf("%d\n", a);return 0;
}
14.求出C语言中各个数据类型所占的字节空间
#include <stdio.h>
int main()
{printf("%d\n", sizeof(char));//1printf("%d\n", sizeof(short));//2printf("%d\n", sizeof(int));//4printf("%d\n", sizeof(long));//4printf("%d\n", sizeof(long long));//8printf("%d\n", sizeof(float));//4printf("%d\n", sizeof(double));//8return 0;
}
15.全局变量和局部变量的区别?
1)全局变量具有全局性,在源程序中均可使用全局变量
2)局部变量具有局部性,即局限于一个{}中,只能在{}中使用
3)注:当局部变量和全局变量名字相同时,在使用时,优先使用局部变量
#include <stdio.h>
int num = 10;
int main()
{{int num = 20;printf("%d\n", num);//20}printf("%d\n", num);//10return 0;
}
16.全局变量和局部变量的作用域和生命周期?
1)作用域
a.全局变量:全局变量的作用域在整个工程内,即整个工程内那点均可使用
b.局部变量:在自己的{}中
2)生命周期
a.全局变量:全局变量的生命周期和整个工程的生命周期一样
b.局部变量:出了{}后没有作用
#include <stdio.h>
int main()
{{int num = 10;}//printf("%d\n", num);//错误,num的变量的作用域和生命周期在自己所在{}中return 0;
}
//注:我们不推荐大量使用全局变量,因为全局变量容易被改变,一不小心就会使程序崩溃
17.C语言中常量的种类及它们的使用形式?
1)字面常量:3,5,'a',"abcd"
2)const定义的常变量:const int a = 10; a不可在改变
3)#define定义的标识符常量 : #define MAX 10
4)枚举常量: enum Grade{ A,B,C,D};
注:常量一般需要使用大写字面表示
#include <stdio.h>
int main()
{//字面常量3, 5, "agcgs";//const定义的常变量const int num = 10;//num = 11;//不可改变//#define定义的标识符常量
#define MAX 10printf("%d\n", MAX);//10//枚举常量enum Grade{A,//0B,//1C,//2D//3};printf("%d\n", A);//0printf("%d\n", B);//1printf("%d\n", C);//2printf("%d\n", D);//3return 0;
}
18.scanf()和printf()函数的返回值是什么类型?并查看它们的函数模型
——scanf()和printf()函数的返回类型是int
#include <stdio.h>
int main()
{int num = 0;int ret = scanf("%d", &num);int res = printf("%d\n", num);printf("%d %d\n", ret, res);//1 2return 0;
}
函数模型:
19.C语言中的字符串结束标志是什么?如何查看一个字符串中是否有结束标志?
——结束标志:'\0'
#include <stdio.h>
int main()
{char str[100] = "abcdhdde";return 0;
}
调式过程:
20. 代码验证:为什么C语言中0表示假,非0表示真
#include <stdio.h>
int main()
{int a = 0;int b = -1;int c = 1;if (a){printf("haha\n");}if (!a){printf("hehe\n");}if (b){printf("hihi\n");}if (c){printf("hoho\n");}return 0;
}
!!!恭喜,成功突破至筑基八层!!!
相关文章:
筑基八层 —— 问题思考分析并解决
目录 零:移步 一.修炼必备 二.问题思考(先思考) 三.问题解答 零:移步 CSDN由于我的排版不怎么好看,我的有道云笔记相当的美观,请移步有道云笔记 一.修炼必备 1.入门必备:VS2019社区版&#x…...
【面试题】当面试官问 Vue2与Vue3的区别,你该怎么回答?
大厂面试题分享 面试题库后端面试题库 (面试必备) 推荐:★★★★★地址:前端面试题库被问到 《vue2 与 vue3 的区别》应该怎么回答Vue 内部根据功能可以被分为三个大的模块:响应性 reactivite、运行时 runtime、编辑器…...
使用Python对excel中的数据进行处理
一、读取excel中的数据首先引入pandas库,没有的话使用控制台安装 —— pip install pandas 。import pandas as pd #引入pandas库,别名为pd#read_excel用于读取excel中的数据,这里只列举常用的两个参数(文件所在路径ÿ…...
TCP协议原理三
文章目录七、延时应答八、捎带应答九、面向字节流粘包问题十、TCP异常情况总结七、延时应答 如果说滑动窗口的关键是让窗口大一些,传输速度就快一些。那么延时应答就是在接收方能够处理的前提下,尽可能把ack返回的窗口大小尽可能大一些。 如果在接受数据…...
mac在命令行里获取root权限
1、为什么要获取root权限? 答:一些命令在正常状态下没有权限会报错,只有获取了root权限才能正常操作。 比如我们想修改一些系统的文件: vim /etc/shells 1 修改后保存,发现没权限,报错了。如下图…...
文献阅读 Improving Seismic Data Resolution with Deep Generative Networks
题目 Improving Seismic Data Resolution with Deep Generative Networks 使用深度生成网络提高地震数据分辨率 摘要 叠前数据的使用,通常可以来解决噪声迹线、覆盖间隙或不规则/不适当的迹线间距等问题。但叠前数据并不总是可用的。作为替代方案,叠后…...
mysql数据库之子查询练习
1、查询员工的姓名、年龄、职位、部门信息(隐式内连接)。 #emp、dept #连接条件:emp.dept_iddept.id select e.name,e.age,e.job,d.name from emp e,dept d where e.dept_idd.id; 2、查询年龄小于30岁的员工姓名、年龄、职位、部…...
西电计算机通信与网络(计网)简答题计算题核心考点汇总(期末真题+核心考点)
文章目录前言一、简答计算题真题概览二、网桥,交换机和路由器三、ARQ协议四、曼彻斯特编码和差分曼彻斯特编码五、CRC六、ARP协议七、LAN相关协议计算前言 主要针对西安电子科技大学《计算机通信与网络》的核心考点进行汇总,包含总共26章的核心简答。 【…...
【博学谷学习记录】超强总结,用心分享丨人工智能 Python基础 个人学习总结之列表排序
目录前言简述list.sort()语法返回值实例无参参数key参数reversesorted()语法返回值实例无参参数key参数reverseoperator.itemgetter功能简述实例List.sort与sored区别sorted原理:Timsort算法扩展list原理数据结构心得前言 经过一周的学习,对Python基础部…...
深度讲解React Props
一、props的介绍 当React遇到的元素是用户自定义的组件,它会将JSX属性作为单个对象传递给该组件,这个对象称之为“props”。 函数声明的组件,会接受一个props形参,获取属性传递的参数 function ComponentA(props) { return <…...
WebRTC现状以及多人视频通话分析
1.WebRTC 概述WebRTC(网页实时通信技术)是一系列为了建立端到端文本或者随机数据的规范,标准,API和概念的统称。这些对等端通常是由两个浏览器组成,但是WebRTC也可以被用于在客户端和服务器之间建立通信连接࿰…...
【Windows】Windows下wget的安装与环境变量配置
1 wget安装 GNU Wget常用于使用命令行下载网络资源(包括但不限于文件、网页等)。 GNU Wget官网:GNU Wget GNU Wget for Windows:GNU Wget for Windows 安装时首先下载主安装包:Complete package, except sources&…...
密码学基础概念
把一段原始数据通过某种算法处理成另外一种数据(原始数据为明文,处理后的数据为密文)。明文->密文:称之为加密。密文->明文:称之为解密。 在加密过程中我们需要知道下面的这些概念: 1)明文…...
科技巨头争相入局,卫星通信领域将迎来怎样的发展?
近年来,全球卫星通信产业进入了一个高速发展的阶段 与卫星通信相关的新技术和新应用不断出现,成为了媒体报道的热点,也引起了公众的广泛关注。 尤其是刚刚过去的2022年,华为和苹果公司分别发布了搭载卫星通信技术的手机…...
银行软件测试面试题目总结,希望可以帮到你
目录 一、根据题目要求写出具体LINUX操作命令 二、JMETER题目 三、根据题目要求写出具体SQL语句 总结感谢每一个认真阅读我文章的人!!! 重点:配套学习资料和视频教学 一、根据题目要求写出具体LINUX操作命令 1、分别写出一种…...
MySQL数据定义
系列文章目录前言创建数据库删除数据库修改数据库修改表结构修改表中列修改表中约束创建表删除表前言 创建数据库 创建数据库CREATE DATABASE 数据库名 使用数据库use 数据库名; MySQL数据库如何建表 删除数据库 删除数据库语句DROP DATABASE 数据库名 这条语句会删除数据…...
跨设备文件传输工具横评
文章目录对比QQ微信SnapDropLocalSendIntelUnisonLANDropTailscaleAirDroidSendAnywhere参考文献对比 传输速度测试条件大致相同,文件大小约为 100 MB 工具优点缺点传输速度备注QQ支持断点续传不要求同一局域网需要安装1.81 MB/s微信方便需要安装不支持大文件传完还…...
Oracle通过SQL找出ID不连续的位置
文章目录1 前言2 SQL3 结语1 前言 工作中要求我找到 ID 不连续的地方, 然后拿这个 ID , 给数据库里面 INSERT 一条数据. 比如: ID备注… 省略连续的部分232425就是想找到这里断开的地方, 下一个可以 INSERT 的 ID 就是 2674915751157512075122… 省略连续的部分 2 SQL 假设数据…...
学习一个Java项目
你想学习一个项目,一行一行去看代码 效率很低,看了就忘了 理清学习的思路 项目分为两部分:业务和代码 一、如何熟悉业务 1、看项目的文档(需求概要文档、设计文档) 2、同事/前辈言传身教 3、自己动手使用功能 …...
《数据库系统概论》学习笔记——第三章 关系数据库标准语言SQL
教材为数据库系统概论第五版(王珊) 最重量级的一章。从后续的学习,基本所有实验,大作业和考试都会涉及SQL,SQL实际上是有很多变化的,书上讲的只是最基本的(做了大作业才知道SQL能有这么多变化&a…...
linux shell 入门学习笔记17 mysql脚本开发
开发mysql监控脚本 需要了解的命令: ss命令展示 xiao123xiao123:~/Downloads/shscripts$ ss -tunlp Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process udp UNCONN 0 0 …...
产品新说 | 指标的异常检测怎么做,能更好配合业务变化(二)
前言:上期分享我们提到了指标异常检测实践要素中的三个方面:以面对业务变动为前提,确定业务波动是周期性还是非周期性,进而选对算法;通过确认业务的常规指标,确定异常方向进行监测(上基带 / 下基…...
华为OD机试题,用 Java 解【最短耗时】问题
最近更新的博客 华为OD机试题,用 Java 解【停车场车辆统计】问题华为OD机试题,用 Java 解【字符串变换最小字符串】问题华为OD机试题,用 Java 解【计算最大乘积】问题华为OD机试题,用 Java 解【DNA 序列】问题华为OD机试 - 组成最大数(Java) | 机试题算法思路 【2023】使…...
mysql数据库常见面试题
慢查询排查优化 排查 slow_query_log设置为on,就会记录慢查询sql;long_query_time可以设置慢查询sql的阈值时间;slow_query_log_file表示记录慢查询sql的日志路径。即我们可以通过打开记录慢查询的开关,设置慢查询的时间阈值&…...
【Android源码面试宝典】MMKV从使用到原理分析(一)
去年,我们写过一篇文章,对于android原生提供的key-value存储API SharePreference,进行了从使用到原理的深入分析,同时对其中存在的ANR问题、存取慢等问题,进行了深入的探索、总结。但是之前的文章,我们仅仅指出了问题,没有给大家提供解决方案,也就是说,SharePreferenc…...
你真的懂动态库吗?一文详解动态库的方方面
这里写目录标题创建动态库创建静态库动态库与静态库的区别动态链接与静态链接的区别动态库的加载过程dll的创建以及应用程序隐式链接到dll的过程dll的创建以及应用程序显示链接到dll的过程动态库的二进制兼容性创建动态库 1.【新建】-》【项目】-》【动态链接库】 新建的动态…...
I.MX6ULL内核开发12:使用设备树插件实现RGB灯驱动
目录 一、引言 二、设备树插件格式 三、实验说明 四、实验准备 4.1 通过内核工具编译设备树插件 五、实验效果 5.1 uboot加载 5.2 加载RGB驱动 一、引言 Linux4.4以后引入了动态设备树(Dynamic DevicesTree),这里翻译位“设备树插件…...
大家一起来找茬,新手第一次layout到底能挑出多少毛病?
有一个新手工程师在论坛上发了一篇帖子,把自己的处女PCB布线图贴出来。 如果不看其他网友的评论,你能看出多少问题呢?可以在留言区和我们互动哦~ 帖子里他还提出了自己的小见解:问一下,我觉得自动布线挺好用的啊&#…...
Java集合概述(Collection集合)
目录集合一、集合与数组二、集合类体系结构三、泛型(约定集合存储数据类型)四、Collection集合常用API五、Collection集合的遍历方式5.1 迭代器遍历5.2 增强for循环(for each):5.3 lambda表达式六、Collection集合存储自定义类型的对象七、常见数据结构集合 一、集合与数组 数…...
运动无线蓝牙耳机哪款好、运动无线蓝牙耳机推荐
作为 运动爱好者,每天早晨醒来后的第一件事就去家门口的湿地公园跑上一圈。各种运动装备都齐了,不过在耳机选择上还真的犯难,打着“运动耳机”旗号的产品也是种类繁多,那么到底什么样的无线耳机更适合运动呢?于是我花时…...
长沙开福区专业制作网站/长春网站制作推广
Xilinx FPGA bit 文件加密 今天给大侠带来Xilinx FPGA bit 文件加密设计,话不多说,上货。 当你的项目终于做完了,到了发布的关键节点,为了防止自己的心血被别人利用,最好对产品进行bit加密。 首先咱们来了解一下加密…...
一家专门做特卖的网站/廊坊网络推广公司
OctoberCMS ———— 十月之秋 --一个基于laravel的快速集成开发框架 十月CMS是一个轻量级的,回到建立在Laravel基本的内容管理系统,并在执行任务,使您的Web开发工作流程再容易。它拥有一个非常简单和快速的学习曲线,以保证你会离…...
wordpress 友链/外贸订单一般在哪个平台接
先来看一组数据——中建五局协同信息化管理价值数字化、可视化,致远协同管理平台上线以来共节约138.5亿张纸! 具体来看,中国建筑第五工程局有限公司(以下简称“中建五局”)是中国建筑工程总公司的全资子公司࿰…...
温州网站排名优化公司哪家好/chrome官方下载
目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结前言 多年经验的大厂测试/开发程序员,如何突破技术…...
外国产品设计网站/查询网站
在任何一个时间点上,线程是可结合的(joinable)或者是分离的(detached)。一个可结合的线程能够被其他线程收回其资源和杀死。在被其他线程回收之前,它的存储器资源(例如栈)是不释放的…...
怎么建com的网站/广州网站建设推广专家
我想得到按流量来排序,而且还是倒序,怎么达到实现呢? 达到下面这种效果, 默认是根据key来排, 我想根据value里的某个排, 解决思路:将value里的某个,放到key里去,然后来排 下面&#…...