当前位置: 首页 > news >正文

一些C语言知识

        C语言的内置类型:

        char

        short

        int 

        long

        float

        double

        C99中引入了bool类型,用来表示真假的变量类型,包含true,false。

        这个代码的执行结果是什么?好好想想哦,坑挺多的。

#include <stdio.h>int main()
{int i = 0;for(i = 0;i < 10;i++){if(i = 5)printf("%d ",i);}return 0;
}

        你做对了吗?结果是死循环打印5。= 是赋值操作符,== 是判断相等操作符,循环变量 i 在循环内部也进行了修改。

        VS选中语句,按 Tab 键可以一起往后缩进,按 Shift + Tab 键可以一起往前缩进。

        switch语句中case后的表达式只能是整型常量表达式,char 也是属于整型家族的,因为字符存储的时候,存储的是ASCII码。

        VS调试快捷键,F10进入调试,进入调试后按F10一条语句一条语句执行,按F11可以进入函数内部,然后再按F10一条语句一条语句执行,调试起来后,还可以调出监视窗口和内存窗口,帮助监视运行过程中变量的值的变化,还可以看变量在内存中的存储情况。

        注意:只有进入调试之后才能调出这两个窗口。

        三个整数从大到小输出

#include <stdio.h>//三个整数从大到小输出
int main()
{int a = 0;int b = 0;int c = 0;int t = 0;scanf("%d %d %d",&a,&b,&c);if(a < b){t = a;a = b;b = t;}if(a < c){t = a;c = a;a = t;}if(b < c){t = b;b = c;c = t;}printf("%d %d %d",a,b,c);		return 0;
}

        如上代码,可以看出交换两个数在代码中重复出现,这时可以把交换两个数这个功能封装成函数,这样就可以避免重复代码。

#include <stdio.h>//交换两个整数
void swap(int* a,int* b){int t = 0;t = *a;*a = *b;*b = t;
}//三个整数从大到小输出
int main()
{int a = 0;int b = 0;int c = 0;//int t = 0;scanf("%d %d %d",&a,&b,&c);if(a < b){swap(&a,&b);/*t = a;a = b;b = t;*/}if(a < c){swap(&a,&c);/*t = a;c = a;a = t;*/}if(b < c){swap(&c,&b);/*t = b;b = c;c = t;*/}printf("%d %d %d",a,b,c);		return 0;
}

        求两个数的最大公约数

        暴力求解,先求两个数中较小的即为m,然后用两个数分别除以 i ,i 从m开始,i -- ,重复这个相除和 -- 的过程,当两个数分别除以m都为0时,停止循环,这时的 i 就为两个数的最大公约数。

#include <stdio.h>//求两个数的最大公约数
int main()
{int a = 0;int b = 0;int i = 0;int m = 0;scanf("%d %d",&a,&b);if(a > b)m = b;elsem = a;for(i = m;i >= 1;i--){if(a % i == 0 && b % i == 0)break;}printf("%d\n",i);return 0;
}

        辗转相除法求两个数的最大公约数

#include <stdio.h>//辗转相除法求两个数的最大公约数
//void swap(int* a,int* b){
//	int t = 0;
//	t = *a;
//	*a = *b;
//	*b = t;
//}
int main()
{int a = 0;int b = 0;int i = 0;int m = 0;scanf("%d %d",&a,&b);/*if(a < b)swap(&a,&b);*///其实也不用事先求谁更大,如果是小的在前面,a % b 会= a;然后就是b % a,还是还会变成大的 % 小的while(a % b != 0){m = a % b;a = b;b = m;}printf("%d\n",b);return 0;
}

        计算1 - 1 / 2 + 1 / 3 - 1 / 4 + ... + 1 / 99 - 1 / 100

#include <stdio.h>//计算1 - 1 / 2 + 1 / 3 - 1 / 4 + ... + 1 / 99 - 1 / 100
int main()
{int i = 0;double sum = 1;for(i = 2;i <= 100;i++){if(i % 2 == 0){sum = sum - 1.0 / i;}else{sum = sum + 1.0 / i;}}printf("%lf\n",sum);return 0;
}

相关文章:

一些C语言知识

C语言的内置类型&#xff1a; char short int long float double C99中引入了bool类型&#xff0c;用来表示真假的变量类型&#xff0c;包含true&#xff0c;false。 这个代码的执行结果是什么&#xff1f;好好想想哦&#xff0c;坑挺多的。 #include <stdio.h>int mai…...

代码工具APEX的入门使用(未包含安装)

第一次使用APEX是2019年&#xff0c;这个技术成名已久只是我了解的比较晚。请看Oracle ACE的网站&#xff0c;这就是用APEX做的。实际上有一次我看O记的人操作他们的办公流程&#xff0c;都是用APEX做的。 那一年&#xff0c;我用APEX做了一个CMDB的管理系统。那时候还没有流行…...

负载均衡.

简介: 将请求/数据【均匀】分摊到多个操作单元上执行&#xff0c;负载均衡的关键在于【均匀】。 负载均衡的分类: 网络通信分类 四层负载均衡:基于 IP 地址和端口进行请求的转发。七层负载均衡:根据访问用户的 HTTP 请求头、URL 信息将请求转发到特定的主机。 载体维度分类 硬…...

Git 指令深入浅出【2】—— 分支管理

Git 指令深入浅出【2】—— 分支管理 分支管理1. 常用分支管理指令2. 合并分支合并冲突合并模式 3. 实战演习 分支管理 1. 常用分支管理指令 # 查看本地分支 git branch# 查看远程分支 git branch -r# 查看全部分支 git branch -aHEAD 指向的才是当前的工作分支 # 查看当前分…...

工作流/任务卸载相关开源论文分享

decima-sim 概述&#xff1a; 图神经网络强化学习处理多工作流 用的spark的仿真环境&#xff0c;mit的论文&#xff0c;价值很高&#xff0c;高被引&#xff1a;663仓库地址&#xff1a;https://github.com/hongzimao/decima-sim论文&#xff1a;https://web.mit.edu/decima/co…...

为什么要用Python?

为什么要用Python&#xff1f; Python简单易用&#xff1a;提供大量的简单易用数据结构和内置库&#xff0c;语法结构也很简单易读&#xff0c;不需要使用括号来进行代码块分组&#xff0c;也不需要预声明变量或参数。Python开发效率高&#xff1a;简单易用的前提下&#xff0…...

北京大学发布,将试错引入大模型代理学习!

引言&#xff1a;探索语言智能的新边界 在人工智能的发展历程中&#xff0c;语言智能始终是一个核心的研究领域。随着大语言模型&#xff08;LLM&#xff09;的兴起&#xff0c;我们对语言智能的理解和应用已经迈入了一个新的阶段。这些模型不仅能够理解和生成自然语言&#x…...

Java 设计模式

编程设计模式六大原则 开闭原则&#xff08;Open Close Principle&#xff09;&#xff1a;对扩展开放&#xff0c;对修改关闭。在程序需要进行拓展的时候&#xff0c;不能去修改原有的代码&#xff0c;实现一个热插拔的效果。简言之&#xff0c;是为了使程序的扩展性好&#…...

Kivy和BeeWare 开发APP的优缺点,及其发展历史

Kivy和BeeWare都是流行的Python框架&#xff0c;用于开发移动应用。它们各自有独特的特点和优势&#xff0c;同时也面临一些挑战和限制。下面是对这两个框架的开发优缺点及其发展历史的总结。 Kivy 发展历史 起源&#xff1a;Kivy诞生于2010年&#xff0c;旨在提供一个用于P…...

C++递推

统计每个月兔子的总数 #include<bits/stdc.h> using namespace std; int n,sum0; void f(int); int main() {int a[1000];cin>>n;a[1]1;a[2]2;for(int i3;i<1000;i){a[i]a[i-1]a[i-2];}cout<<a[n];return 0; } void f(int n){}猴子吃桃子 #include<b…...

C++ 面试题

一、基础语法 1. C 和 C的区别 i. C是面向对象的的编程语言&#xff0c;C是面向过程的编程语言 ii. C中的内存分配运算符是new/delete而C 中是malloc和free iii. C中有函数重载而C 中没有 iv. C中新增了引用的概念而C 中只有值和指针 2. struct 和 class的区别 i. struc…...

MySQL之索引详解

华子目录 索引概述优缺点 索引的原理索引的设计原则索引结构B-tree&#xff08;多路平衡查找树&#xff09;BtreeHash 为什么InnoDB存储引擎选择Btree&#xff1f;索引分类聚集索引选取规则 单列索引和多列索引前缀索引创建索引1.创建表时创建索引2.在已经存在的表上创建索引3.…...

Java面试题总结8:springboot

Spring Boot自动配置原理 importConfigurationSpring spi 自动配置类由各个starter提供&#xff0c;使用ConfigurationBean定义配置类&#xff0c;放到META-INF/spring.factories下 使用Spring spi扫描META-INF/Spring.factories下的配置类 如何理解Spring Boot中Starter …...

Android 4.4 以下,OkHttp访问Https报错,设置了sslSocketFactory仍无效的解决方法

背景 Android 4.4 及以下&#xff0c;使用 OkHttp 发送 Https 请求&#xff0c;报以下错误&#xff1a; javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl0x6b712c90: Failure in SSL library, usually a protocol erro…...

如何扫码查看企业介绍及填写招聘表?招聘二维码在线生成的方法

现在很多企业会通过生成二维码的方式来做企业介绍以及企业招聘&#xff0c;企业信息通过图片、文字、视频及其他内容展示&#xff0c;再创建合适的表单让扫码者按照制定的内容来填写对应的信息&#xff0c;从而完成扫码招聘的目的。 对于也想采用这种方式的小伙伴&#xff0c;…...

如何限制一个账号只在一处登陆

大家好&#xff0c;我是广漂程序员DevinRock&#xff01; 1. 需求分析 前阵子&#xff0c;和问答群里一个前端朋友&#xff0c;随便唠了唠。期间他问了我一个问题&#xff0c;让我印象深刻。 他问的是&#xff0c;限制同一账号只能在一处设备上登录&#xff0c;是如何实现的…...

日常工作总结

日常工作总结 1000. JAVA基础1. 泛型1.1 泛型和Object的区别 1100. Spring1. 常用注解1.1 ControllerAdvice注解1.2 缓存Cacheable 2. 常用方法2.1 BeanUtils.copyProperties的用法 3. 常用功能组件3.1 过滤器Filter 2000. Linux应用 1000. JAVA基础 1. 泛型 1.1 泛型和Objec…...

Android Activity启动模式

文章目录 Android Activity启动模式概述四种启动模式Intent标记二者区别 Android Activity启动模式 概述 Activity 的管理方式是任务栈。栈是先进后出的结构。 四种启动模式 启动模式说明适用场景standard标准模式默认模式&#xff0c;每次启动Activity都会创建一个新的Act…...

【JavaScript】面试手撕防抖

引入 防抖可是前端面试时最频繁考察的知识点了&#xff0c;首先&#xff0c;我们先了解防抖的概念是什么。咳咳。&#x1f440; 防抖&#xff1a; 首先它是常见的性能优化技术&#xff0c;主要用于处理频繁触发的浏览器事件&#xff0c;如窗口大小变化、滚动事件、输入框内容…...

【Kubernetes】K3S

目录 前言一、原理单体架构高可用架构 二、初始化1.配置yum源2.关掉防火墙3.关掉selinux4. 修改内核参数5.关掉swap交换分区 三、安装master节点1. 安装container2.启动master服务 四、安装node节点五、卸载六、总结 前言 各位小伙伴们&#xff0c;大家好&#xff0c;小涛又来…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

如何在网页里填写 PDF 表格?

有时候&#xff0c;你可能希望用户能在你的网站上填写 PDF 表单。然而&#xff0c;这件事并不简单&#xff0c;因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件&#xff0c;但原生并不支持编辑或填写它们。更糟的是&#xff0c;如果你想收集表单数据&#xff…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...