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

C语言二刷

const

#include<stdio.h>
int main() {const int amount = 100;int price = 0;scanf("%d", &price);int change = amount - price;printf("找您%d元\n", change);return 0;
}

浮点数类型

输入输出
float(单精度)%f%f    %lf
double(双精度)%lf%f
long double(长双精度)%Lf%Lf

上面的float类型在输出的时候会发生隐形类型转换位double类型,所以输出也可以用%lf。

虽然float和double的输出也可以用%Lf,但是这种隐式转换可能会导致一些潜在的精度损失或不符合预期的输出。

运算符和算子

运算符是用于执行特定运算操作的符号。例如算术运算符、逻辑运算符、关系运算符、位运算符、赋值运算符等。

算子是参与运算的对象,可以是常量、变量或表达式。在一个运算表达式中,算子是运算符作用的目标。

switch-case

switch (控制表达式)
{
case 常量:语句;
case 常量:语句;......
default:break;
}
  • 控制表达式只能是整数型的结果
  • 常量可以是常数,也可以是常数计算的表达式(1+1)

case只是一个入口,遇到第一个break才会停止,比如以下代码:

switch (type)
{
case 1:
case 2:printf("你好");//输入1,输出你好break;
case 3:printf("晚上好");
case 4:printf("再见");//输入3,输出晚上好再见break;
default:printf("啊?什么啊?");break;

循环的选择

  • 如果有固定次数,用for
  • 如果必须执行一次,用do_while
  • 其他情况用while

do-while循环

do{}while();

for循环

for循环中每一个表达式都是可以省略的。

for(; 条件 ;)==while(条件)。

int a = 0;
for (; a < 10;) {a++;
}
printf("%d",a);//输出10

for(; ;)是一个无限循环,如果没有在循环体内正确地设置退出条件,程序将一直运行下去,可能会导致资源耗尽、程序无响应等问题。

    int num = 0;for (; ;) {printf("Number: %d\n", num);num++;if (num == 10) {break;}}

sizeof

静态运算符

int a = 0;
printf("%d\n", sizeof(a++));//输出4
printf("%ld",sizeof(a+1.0));//输出8
printf("%d\n", a);//输出0
return 0;

计算机的字长

CPU(中央处理器)和RAM(存储器)之间用总线连接,CPU中有一个寄存器(Reg)。

字长为32个bit时,每一个寄存器可以表达32个bit的数据,也就是当从内存中取数据到CPU里,每次会取32个bit。

int是用来表达寄存器的,所以不同编译器上int类型的大小不同。

科学计数法

1.23e4表示1.23×10⁴,即12300;

-5e-2表示-5×10⁻²,即-0.05。

转义字符(逃逸字符)

  • \' :⽤于表⽰字符常量'
  • \" :⽤于表⽰⼀个字符串内部的双引号
  • \\ :⽤于表⽰⼀个反斜杠,防⽌它被解释为⼀个转义序列符。
  • \b :退格键,光标回退⼀个字符,但不删除字符。
  • \n :换⾏符。
  • \r :回⻋符,光标移到同⼀⾏的开头。
  • \ddd :ddd表⽰1~3个⼋进制的数字。 如: \130 表⽰字符X
  • \xdd :dd表⽰2个⼗六进制数字。 如: \x30 表⽰字符0
  • \ 0 :null字符,代表没有内容, \ 0 就是  \ddd 这类转义字符的⼀种,⽤于字符串的结束标志,其 ASCII码值是0

自动类型转换

当运算符两边出现不一致的类型时,会自动转换成表达范围更大的类型

  • char->short->int->long->long long
  • int ->float->double

对于printf,任何小于int的类型会被转换成int,float会被转换成double

scanf不会自动转换,输入short时,需要%hd

!>&&>||

函数

函数头包括函数类型(返回值类型)、函数名和参数列表(形式参数列表)。

当函数名不是void时,通常要有带值的return。

声明 -> 调用 -> 定义

传值

每个函数有自己的变量空间,参数也位于这个独立的空间中,和其他函数没有关系

过去,函数参数表中的参数叫做形式参数,调用函数时给的值叫做实际参数。

为了防止初学者误会实际参数就是实际在函数中计算的参数,误会调用函数的时候把变量而不是值传进去了,现在认为它们是参数和值的关系。

本地变量(局部变量)(自动变量)

函数的每次运行会产生一个独立的变量空间,在这个空间的变量是函数这次运行所独有的,称作本地变量。定义在函数内部的变量就是本地变量,参数也是本地变量。

没有参数时

void f():在传统C中,表示f函数的参数表未知,并不代表没有参数

C语言不允许函数嵌套定义(可以声明)

数组

int a[10]={[0]=2,[2]=3,6,
};

上面的代码中未明确初始化的元素,会被自动初始化为0。

数组大小

int sz=sizeof(a)/sizeof(a[0]);

遍历数组

一维数组

for(i=0;i<sz;i++){
printf("%d:%d",i,a[i]);
}

常见错误:

  • 循环结束的条件是<=数组长度
  • 离开循环后,继续用i的值作为数组元素的下标

二维数组

for (i = 0; i < 3; i++) {for (j = 0; j < 5; j++) {a[i][j] = i * j;}
}

a [ i ] [ j ] 表示 i 行 j 列,a [ i,j ] 表示a [ j ] 

二维数组初始化时列数不能省略

int a[][5] = {{0,1,2,3,4},{2,3,4,5,6},
}

或者写成一维数组初始化时的形式:

int a[][5] = {{0,1,2,3,4,2,3,4,5,6},
}

输出:

0 1 2 3 4 
2 3 4 5 6 

相关文章:

C语言二刷

const #include<stdio.h> int main() {const int amount 100;int price 0;scanf("%d", &price);int change amount - price;printf("找您%d元\n", change);return 0; } 浮点数类型 输入输出float&#xff08;单精度&#xff09;%f%f %l…...

C++模块化程序设计举例

1、模块1 在main.cpp里输入下面的程序&#xff1a; #include "stdio.h" //使能printf()函数 #include <stdlib.h> //使能exit(); #include "Static_Variable.h" //argc 是指命令行输入参数的个数; //argv[]存储了所有的命令行参数; //argv[0]通常…...

毕业设计选题:基于Python的招聘信息爬取和可视化平台

开发语言&#xff1a;Python框架&#xff1a;djangoPython版本&#xff1a;python3.7.7数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 采集的数据列表 招聘数据大屏 摘要 本系统通过对网络爬虫的分析&#xff0c;研究智…...

机器人学习仿真框架

机器人学习仿真框架一般包含&#xff08;自底向上&#xff09;&#xff1a; 3D仿真物理引擎&#xff1a;对现实世界的模拟仿真机器人仿真平台&#xff1a;用于搭建工作场景&#xff0c;以实现agent与环境的交互学习学习算法框架集合&#xff1a;不同的策略学习算法的实现算法测…...

力扣每日一题打卡 3180. 执行操作可获得的最大总奖励 I

给你一个整数数组 rewardValues&#xff0c;长度为 n&#xff0c;代表奖励的值。 最初&#xff0c;你的总奖励 x 为 0&#xff0c;所有下标都是 未标记 的。你可以执行以下操作 任意次 &#xff1a; 从区间 [0, n - 1] 中选择一个 未标记 的下标 i。如果 rewardValues[i] 大于…...

NVR录像机汇聚管理EasyNVR多品牌NVR管理工具/设备视频报警功能详解

在科技日新月异的今天&#xff0c;视频监控系统作为现代社会的“第三只眼”&#xff0c;正以前所未有的方式深刻影响着我们的生活与社会结构。从公共场所的安全监控到个人生活的记录分享&#xff0c;视频监控系统以其独特的视角和功能&#xff0c;为社会带来了诸多好处&#xf…...

springboot073车辆管理系统设计与实现(论文+源码)_kaic.zip

车辆管理系统 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了车辆管理系统的开发全过程。通过分析车辆管理系统管理的不足&#xff0c;创建了一个计算机管理车辆管理系统的方案。文章介绍了车辆管理系统的系统…...

2024.10月22日- MySql的 补充知识点

1、什么是数据库事务&#xff1f; 数据库事务: 是数据库管理系统执行过程中的一个逻辑单位&#xff0c;由一个有限的数据库操作序列构成&#xff0c;这些操作要么全部执行,要么全部不执行&#xff0c;是一个不可分割的工作单位。 2、Mysql事务的四大特性是什么&#xff1f; …...

Java中的对象——生命周期详解

1. 对象的创建 1.1 使用 new 关键字 执行过程&#xff1a;当使用 new 关键字创建对象时&#xff0c;JVM 会为新对象在堆内存中分配一块空间&#xff0c;并调用对应的构造器来初始化对象。 示例代码&#xff1a; MyClass obj new MyClass(); 内存变化&#xff1a;JVM 在堆…...

vue文件报Cannot find module ‘webpack/lib/RuleSet‘错误处理

检查 Node.js 版本&#xff1a;这个问题可能与 Node.js 的版本有关。你可以尝试将 Node.js 的版本切换到 12 或更低。如果没有安装 nvm&#xff08;Node Version Manager&#xff09;&#xff0c;可以通过以下命令安装&#xff1a; curl -o- https://raw.githubusercontent.co…...

第 6 章 机器人系统仿真

对于ROS新手而言&#xff0c;可能会有疑问:学习机器人操作系统&#xff0c;实体机器人是必须的吗&#xff1f;答案是否定的&#xff0c;机器人一般价格不菲&#xff0c;为了降低机器人学习、调试成本&#xff0c;在ROS中提供了系统的机器人仿真实现&#xff0c;通过仿真&#x…...

爬虫——scrapy的基本使用

一&#xff0c;scrapy的概念和流程 1. scrapy的概念 Scrapy是一个Python编写的开源网络爬虫框架。它是一个被设计用于爬取网络数据、提取结构性数据的框架。 框架就是把之前简单的操作抽象成一套系统&#xff0c;这样我们在使用框架的时候&#xff0c;它会自动的帮我们完成很…...

聚类分析算法——K-means聚类 详解

K-means 聚类是一种常用的基于距离的聚类算法&#xff0c;旨在将数据集划分为 个簇。算法的目标是最小化簇内的点到簇中心的距离总和。下面&#xff0c;我们将从 K-means 的底层原理、算法步骤、数学基础、距离度量方法、参数选择、优缺点 和 源代码实现 等角度进行详细解析。…...

【Sublime Text】设置中文 最新最详细

在编程的艺术世界里&#xff0c;代码和灵感需要寻找到最佳的交融点&#xff0c;才能打造出令人为之惊叹的作品。而在这座秋知叶i博客的殿堂里&#xff0c;我们将共同追寻这种完美结合&#xff0c;为未来的世界留下属于我们的独特印记。 【Sublime Text】设置中文 最新最详细 开…...

C++学习路线(二十四)

静态成员函数 类的静态方法: 1.可以直接通过类来访问【更常用】&#xff0c;也可以通过对象(实例)来访问。 2.在类的静态方法中&#xff0c;不能访问普通数据成员和普通成员函数(对象的数据成员和成员函数&#xff09; 1)静态数据成员 可以直接访问“静态数据成员”对象的成…...

MySQL-存储过程/函数/触发器

文章目录 什么是存储过程存储过程的优缺点存储过程的基本使用存储过程的创建存储过程的调用存储过程的删除存储过程的查看delimiter命令 MySQL中的变量系统变量用户变量局部变量参数 if语句case语句while循环repeat循环loop循环游标cursor捕获异常并处理存储函数触发器触发器概…...

前端页面样式没效果?没应用上?

当我们在开发项目时会有很多个页面、相同的标签&#xff0c;也有可能有相同的class值。样式设置的多了&#xff0c;分不清哪个是当前应用的。我们可以使用网页的开发者工具。 在我们开发的网页中按下f12或&#xff1a; 在打开的工具中我们可以使用元素选择器&#xff0c;单击我…...

05.MyISAM主键和二级索引树

...

Mac apache配置cgi环境-修改httpd.conf文件、启动apache

Mac自带Apache&#xff0c;配置CGI&#xff0c;分以下几步&#xff1a; 找到httpd.conf。打开终端&#xff0c;编辑以下几处&#xff0c;去掉#或补充内容。在这个路径下写一个测试文件.py格式的&#xff0c;/Library/WebServer/CGI-Executables&#xff0c;注意第一行的python…...

多厂商的实现不同vlan间通信

Cisco单臂路由 Cisco路由器配置 -交换机配置 -pc配置 华三的单臂路由 -路由器配置 -华三的接口默认是打开的 -pc配置及ping的结果 -注意不要忘记配置默认网关 Cisco-SVI -交换机的配置 -创建vlan -> 设置物理接口对应的Acess或Trunk -> 进入vlan接口&#xff0c;打开接…...

sh与bash的区别

sh与bash的区别 结论&#xff1a;对于一般开发者&#xff0c;没有区别&#xff1b;对于要使脚本兼容较老系统&#xff0c;或者兼容其他shell&#xff08;如ksh&#xff0c;dash&#xff09;&#xff0c;那么意义可能很重大&#xff0c;要确保自己代码没有bash扩展的特性。 区…...

D48【python 接口自动化学习】- python基础之类

day48 练习&#xff1a;开发自动咖啡&#xff08;上&#xff09; 学习日期&#xff1a;20241025 学习目标&#xff1a;类 -- 62 小试牛刀&#xff1a;如何开发自动咖啡机&#xff1f;&#xff08;上&#xff09; 学习笔记&#xff1a; 案例解析 定义类 定义属性和方法 clas…...

PostgreSQL(WINDOWS)下载、安装、简单使用

下载 PostgreSQL: Downloads PostgreSQL: Windows installers EDB: Open-Source, Enterprise Postgres Database Management 安装 注意密码要方便自己使用&#xff0c;不能忘记。 打开pgAdmin&#xff0c;输入密码 新建数据库 打开命令工具 新建表...

Git的初次使用

一、下载git 找淘宝的镜像去下载比较快 点击这里 二、配置git 1.打开git命令框 2.设置配置 git config --global user.name "你的用名"git config --global user.email "你的邮箱qq.com" 3.制作本地仓库 新建一个文件夹即可&#xff0c;然后在文件夹…...

rocketmq服务的docker启动和配置

rocketmq的默认启动参数占用的内存实在是太大了&#xff0c;小于8G的电脑无法启动&#xff0c;docker中的开发环境又不可能用这么大&#xff0c;通用的该法是改sh文件 修改文件如下 runbroker.sh 默认8G JAVA_OPT"${JAVA_OPT} -server -Xms${Xms} -Xmx${Xmx} -Xmn${Xmn…...

BLE和经典蓝牙相比,有什么优缺点

蓝牙低功耗&#xff08;Bluetooth Low Energy&#xff0c;简称 BLE&#xff09;和经典蓝牙&#xff08;Bluetooth Classic&#xff0c;即 BR/EDR&#xff0c;Basic Rate/Enhanced Data Rate&#xff09;是蓝牙技术的两种主要模式。两者都有各自的优缺点&#xff0c;具体如下&am…...

ECharts图表图例知识点小结

ECharts 图表图例简述 一、知识点 1. 作用&#xff1a; - 用于标识图表中的不同系列&#xff0c;帮助用户理解图表所展示的数据内容。 2. 位置&#xff1a; - 可以通过配置项设置图例的位置&#xff0c;如 top 、 bottom 、 left 、 right 等。 3. 显示状态控制&#xff1a…...

LabVIEW非接触式模态参数识别系统开发

基于LabVIEW的模态参数识别系统采用非接触式声学方法&#xff0c;结合LabVIEW软件和高精度硬件&#xff0c;实现机械结构模态参数的快速准确识别。降低了模态分析技术门槛&#xff0c;提高测试效率和准确性。 项目背景与意义: 传统的模态分析方法&#xff0c;如锤击法&#x…...

厨艺爱好者的在线家园:基于Spring Boot的实现

1 绪论 1.1 研究背景 现在大家正处于互联网加的时代&#xff0c;这个时代它就是一个信息内容无比丰富&#xff0c;信息处理与管理变得越加高效的网络化的时代&#xff0c;这个时代让大家的生活不仅变得更加地便利化&#xff0c;也让时间变得更加地宝贵化&#xff0c;因为每天的…...

PostgreSQL使用clickhouse_fdw访问ClickHouse

Postgres postgres版本&#xff1a;16&#xff08;测试可用&#xff09;docker 安装 插件安装 clickhouse_fdw: https://github.com/ildus/clickhouse_fdw 安装命令 git clone gitgithub.com:ildus/clickhouse_fdw.git cd clickhouse_fdw mkdir build && cd build…...

php做门户网站/短链接在线生成免费

这些天都忙于公司的招聘&#xff0c;太忙了。可能还要忙上一阵子&#xff0c;自上个月22号才写了一篇。今天下雨没有到外面去。写了一篇贴出来&#xff1a;一、拓扑图&#xff1a;二、详细配置及说明&#xff1a;1、首先配置各PC的IP&#xff0c;并指定默认网关&#xff1a;2、…...

做门头上那个网站申报/广州最新发布最新

分析redis key的大小 bigKeys 这是redis-cli自带的一个命令。对整个redis进行扫描&#xff0c;寻找较大的key。例&#xff1a; 格式&#xff1a;redis-cli -h 服务端主机名或者IP地址 -p 端口 [-a password] --bigkeys $ redis-cli -h 192.168.0.112 -p 6379 --bigkeys …...

react可以做门户网站么/网站收录排名

var str $.trim(str);...

深圳设计公司企业vi设计欣赏/正规网络公司关键词排名优化

pipe gdbcommand | shellcommand | shellcommand... 比如 pipe p argv[0] | wc低版本的gdb可能不支持....

网页设计公司兴田德润在哪里/seo网站优化培训公司

插入 insert into 表名 (列名...) values(值...); 1. 给表中的所有字段添加数据&#xff0c;可以不写前面的字段名称。 2. 只给表的某几个字段赋值&#xff0c;则需要制定字段名。 3. 在 values 中列出的数据位置必须与被加入的列位置相对应。 4. 数据类型&#xff0c;大小等…...

网站建设公司能力要求/国内10大搜索引擎

1.需要的组件 /** * 生成二维码(QRCode)图片的公共方法 * param content 存储内容 * param imgType 图片类型 * param size 二维码尺寸 * return */ private static BufferedImage qRCodeCommon(String content, String imgType, in…...