c语言的变量

news2024/9/26 3:29:28

变量

我们可以直接声明一个变量,并利用这些变量进行基本的运算,声明格式为:

数据类型 变量名称 = 初始值; // 其中初始值可以不用定义变量时设定
// = 是赋值操作,可以将等号后面的值赋值给前面的变量,等号后面可以直接写一个数字(常量)、变量名称、算式
// 也可以同时赋值多个变量

变量的名称命名的规则:

	// 不能重复使用其他变量使用过的变量名
    // 只能包含字母或是下划线数字,并且严格区分大小写
    //可以包数字但是不能以数字开头
    // 不能是关键字
    // 建议不用使用拼音,多实用英文,多个词可以使用驼峰命名法
    // 建议使英文单词进行设置变量,可以使用驼峰命名法或者下划线命名法。

整数类型

可以使用变量进行一些基基本的运算:

#include <stdio.h>
int main() {
	int a =  10; // 将10 作为a 的值
	int b = 20; // b赋值为b
	int c = a + b; //变量c 等于变量a 加上变量b
}

注意:变量一定要先定义再使用

#include <stdio.h>
int main() {
	int a = 10;
	int b = 20;
	int c = a+b;
	printf(c);   //直接打印变量c
}

但是这样代码是没有办法跑起来的,并且还会出现红色的下标
在这里插入图片描述
错误的原因是因为printf是用于格式化打印的将输出的代码修改为以下内容即可:

 printf("%d",c);//打印变量c

其他的格式控制符:

格式控制符说明
%c输出一个单一的字符
%hd,%d,%ld以十进制、有符号的形式输出short、int、long类型的整数
%hu,%u,%lu以十进制、无符号的形式输出short、int、long 类型的整数
%h、%o、%lo以八进制、不带前缀无符号的形式输出short、int、long、类型的整数
%#ho、%#o、%#lo以八进制、带前缀、无符号的形式输出 short、int、long 类型的整数
%hx、%x、%lx %hX、%X、%lX以十六进制、不带前缀、无符号的形式输出 short、int、long 类型的整数。如果 x 小写,那么输出的十六进制数字也小写;如果 X 大写,那么输出的十六进制数字也大写。
%#hx、%#x、%#lx %#hX、%#X、%#lX以十六进制、带前缀、无符号的形式输出 short、int、long 类型的整数。如果 x 小写,那么输出的十六进制数字和前缀都小写;如果 X 大写,那么输出的十六进制数字和前缀都大写。
%f、%lf以十进制的形式输出 float、double 类型的小数
%e、%le %E、%lE以指数的形式输出 float、double 类型的小数。如果 e 小写,那么输出结果中的 e 也小写;如果 E 大写,那么输出结果中的 E 也大写。
%g、%lg %G、%lG以十进制和指数中较短的形式输出 float、double 类型的小数,并且小数部分的最后不会添加多余的 0。如果 g 小写,那么当以指数形式输出时 e 也小写;如果 G 大写,那么当以指数形式输出时 E 也大写。
%s输出一个字符串

定义浮点数类型的变量

#include <stdio.h>
int main() {
	double a = 0.5;
	float b = 2.5f;
	printf("a+b=%f",a+b)
}

这个时候我们需要注意两个地方:2.5f如果这里直接写2.5默认表示的是一个double类型的数值,需要在后面加一个f或者是F表示的是float的类型。
%f根据上面的表可以了解到如果是浮点数使用%f表示

字符串类型的变量

# include <stdio.h>
int main(){
	char c = 'A' //字符需要使用单引号囊括,且只能有一个字符,不能写成'AA',这就不是单个字符了
	}

结果:
在这里插入图片描述

也可以通过ASCII 码打印出对应的字符:

# include <stdio.h>
int main(){
	char c = 66;
	printf("%c,%d",c,c)}

结果:
在这里插入图片描述
变量除了有初始值之外,也可以在后续的过程中得到新的值:

#include <stdio.h>

int main() {
    short s = 10;
    s = 20;    //重新赋值为20,注意这里就不要再指定类型了,指定类型只有在声明变量时才需要
    printf("%d", s);   //打印结果
}

重新赋值为20,注意这里就不要再指定类型了,指定类型只有在声明变量时才需要

那要是我们不对变量设定初始值呢?那么变量会不会有默认值:

# include <stdio.h>
int main(){
		int a,b,c,d;
		printf("%d,%d,%d,%d",a,b,c,d)
		}

在这里插入图片描述

如果变量没有设定初始值,那么他的值就是不确定的(并不是默认的值就是0),至于为什么不是0,这是因为内存分配机制

#include <stdio.h>

int main() {
    char c = 127;    
    c = c + 1;   
    printf("%d", c); 
}

127 + 1=【 01111111 + 1】由于现在是二进制,满2进1,所以最后变成,10000000 = 补码形式的 -128

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringMVC集合

目录 SpringMVCSpringMVC简介1、什么是MVC2、什么是SpringMVC3、SpringMVC的特点 SpringMVC入门&#xff08;1&#xff09;引入依赖&#xff08;2&#xff09;配置web.xml&#xff08;3&#xff09;创建请求控制器&#xff08;4&#xff09;创建SpringMVC的配置文件&#xff08…

[Docker] Docker学习和基本配置部署(一)

前言&#xff1a; Docker的作用是通过容器化技术实现快速、可移植和可扩展的应用程序部署与管理。 文章目录 引言容器化的基本概念Docker的背景产生Docker 配置和命令详解1. 安装 Docker2. Docker 配置3. Docker 命令 Docker的核心组件Docker在软件开发和云计算中的重要性Docke…

rancher

rancher&#xff08;牧场主&#xff09;简介&#xff1a; Rancher是一个开源的容器管理平台&#xff0c;它提供了一套完整的解决方案来管理和部署容器集群。它的目标是简化容器化应用的部署、管理和运维工作。 Rancher使用了开放标准的容器技术&#xff0c;如Docker和Kubernete…

C/C++实现高并发http服务器

http高并发服务器实现 基础知识 html&#xff0c;全称为html markup language&#xff0c;超文本标记语言。 http&#xff0c;全称hyper text transfer protocol&#xff0c;超文本传输协议。用于从万维网&#xff08;WWW&#xff1a;World Wide Web&#xff09;服务器传输超…

绝了!贸易企业增值税高,税负重怎么办?这些处理技巧请收藏!

绝了&#xff01;贸易企业增值税高&#xff0c;税负重怎么办&#xff1f;这些处理技巧请收藏&#xff01; 《税筹顾问》专注于园区招商、企业税务筹划&#xff0c;合理合规助力企业节税&#xff01; 贸易企业始终都逃脱不了税负重的问题&#xff0c;这是因为贸易企业自身的行业…

ChatGPT潮落 资金逃离AI概念股

ChatGPT访问量首次出现负增长&#xff0c;寒气传导到证券市场。 上半年经历暴涨的一众AI概念股偃旗息鼓&#xff0c;蓝色光标、三六零、昆仑万维等知名个股均较高点跌超30%。微软、英伟达也未能幸免&#xff0c;同样有不同程度回调。 回顾这波过山车般的市场表现&#xff0c;…

【JavaEE】你真的了解Cookie和Session吗?

博主简介&#xff1a;想进大厂的打工人博主主页&#xff1a;xyk:所属专栏: JavaEE初阶 目录 文章目录 一、什么是Cookie 二、什么是Session 三、Cookie和Session有什么不同 四、关于Sessionid 五、关于浏览器禁止Cookie 六、如何考虑分布式Session问题&#xff1f; 七、Serv…

springboot请求重定向失败问题解决方案

今天晚上在写登录页面时&#xff0c;发现自己的首页无法正常访问&#xff0c;用户名和密码正常的情况下还是无法访问首页。于是开始进行debug&#xff0c; 程序执行至此处时无任何异常&#xff0c;但是就是在进行重定向页面时出现了404&#xff0c;在检查导航栏后发现地址栏也发…

做好POC测试 需要重点关心的5点

在日常POC测试过程中&#xff0c;往往遇到&#xff1a;测试计划时间结束才达到测试目标&#xff0c;导致结果未记录&#xff1b;不了解测试达标要求&#xff0c;未达到测试要求&#xff0c;后期大量的工作进行补救&#xff1b;测试遇到的问题&#xff0c;没有充分地相互沟通等问…

Dell Inspiron 15-3567电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网&#xff0c;转载需注明出处。&#xff08;下载请直接百度黑果魏叔&#xff09; 硬件型号驱动情况 主板Dell Inspiron 15-3567 处理器Intel Core i5 Kabylake, 7200U, 2.70 GHz已驱动 内存16GB LPDDR4X 3200MHz已驱动 硬盘三星 MZVLW1T0HMLH-000L2 (…

pycharm找不到conda可执行文件怎么办?

问题&#xff1a;pycharm配置conda环境找不到conda可执行文件 解决办法&#xff1a; 1. 找到 anaconda 安装目录&#xff08;D:\Users\wl\anaconda3&#xff09; 2. 打开pycharm &#xff08;看图吧<手动狗头>&#xff09; 找到anaconda3\condabin\conda.bat 选择你要…

【从删库到跑路】MySQL数据库的 存储引擎

&#x1f38a;专栏【MySQL】 &#x1f354;喜欢的诗句&#xff1a;更喜岷山千里雪 三军过后尽开颜。 &#x1f386;音乐分享【如愿】 &#x1f970;欢迎并且感谢大家指出小吉的问题 文章目录 &#x1f33a;存储引擎简介&#x1f384;查询当前数据库支持的存储引擎&#x1f384;…

C++笔记之是否知道了一个数组首元素的地址就可以获取该整个数组?-面试问题

C笔记之数组名和指针GPT问答记录 事前提要&#xff1a;前段时间去面一个公司&#xff0c;面试官说知道了一个数组首元素的地址&#xff0c;就可以获取该整个数组&#xff0c;我当时就困惑&#xff0c;不知道大小和长度&#xff0c;只知道地址怎么就能获取。但也没反驳面试官&a…

ChatGPT炒股:批量下载北交所上市公司的招股说明书

打开北京证券交易所官网&#xff0c;点击发行上市&#xff0c;然后点击公开发行信息披露&#xff0c;然后在查询框里面输入关键词&#xff1a;在北京证券交易所上市招股说明书&#xff0c;然后选择时间&#xff0c;点击查询&#xff0c;就可以看到所有北交所上市公司的招股说明…

数据集【NO.13】复杂场景下的鸟类检测数据集

写在前面&#xff1a;数据集对应应用场景&#xff0c;不同的应用场景有不同的检测难点以及对应改进方法&#xff0c;本系列整理汇总领域内的数据集&#xff0c;方便大家下载数据集&#xff0c;若无法下载可关注后私信领取。关注免费领取整理好的数据集资料&#xff01;今天分享…

一款可定时发圈和标签群发的微信管理软件是什么样的?

什么是时间管理&#xff1f;它是一种科学的解释&#xff0c;意味着时间的流逝是不可阻挡的&#xff0c;但是可以通过掌握时间来获取更多的改变。那如何在有限的生命里而做更多有意义的事情呢&#xff1f;学习一下时间管理&#xff0c;你一定会从中得到启发和答案的。 1.先确定…

MYSQL建库及查询

目的&#xff1a; 1.创建数据库&#xff0c;删除数据库&#xff0c;查询创建数据的语句&#xff0c;使用数据库&#xff0c;查询当前默认的数据库以及使用的编码方式校验规则 2.数字&#xff0c;文本&#xff0c;日期 在一章表中定义多个字段&#xff0c;要使用提到的所有的数…

vue 多环境打包指令配置及编译

1.创建多环境: 在根目录创建.env.xxx文件,如下为例(我创建了两个) 文件内容主要包括&#xff1a; # 页面标题 VUE_APP_TITLE "标题"# 生产环境配置 ENV production# DNA检测仓储管理系统/生产环境 VUE_APP_BASE_API https://xxxxxx 2.设置: 修改根目录下的package…

Parasoft Jtest 2023.1版本-全新的Jtest让你的Java测试更加容易

测试用例的创建和执行以及测量代码覆盖率是现代开发过程的重要组成部分。新发布的Parasoft Jtest 2023.1增加了重要的新功能&#xff0c;使Java开发和QA团队在测试实践中更具有生产力和效率。 通过使用最新版本的Jtest&#xff0c;您可以在Visual Studio code IDE中提高Java代…

设计模式之二:观察者模式

假定我们需要为Weather-O-Rama公司建立一个气象站系统&#xff0c;除已有的WeatherData有数据源类&#xff0c;还需要更新三个布告板的显示&#xff1a;目前状况&#xff08;温度、湿度、气压&#xff09;、气象统计和天气预报。 1 以下是一个可能的实现 class WeatherData { …