筑基八层 —— 问题思考分析并解决
目录
零:移步
一.修炼必备
二.问题思考(先思考)
三.问题解答
零:移步
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…...
《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
LOOI机器人的技术实现解析:从手势识别到边缘检测
LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...
MySQL 主从同步异常处理
阅读原文:https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主,遇到的这个错误: Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一,通常表示ÿ…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
