汉邦问答 / 问答 / 问答详情

C语言中错误的整型变量新人麻烦详细说明一下谢谢

2023-06-10 09:12:10
hi投

在上一章我们了解C语言的基本结构并手写了第一个C程序,当然由于一些操作上的失误,导致了未能给大家展示编写程序的截图。哦,还有小伙伴问我用的什么软件,我现在在用dev。

上一章的截图

那么我们也要开始对今天的内容进行学习了,今天我们应该开始学习一些C语言中的基本概念,常量与变量、各种类型数据的储存空间以及C数据的运算。

因为篇幅原因我们将分三小节进行讲解。

一、常量与变量

1. 常量

常量是一种固定值,在程序执行期间不会改变。这些固定的值,又叫作字面量。

常量可以是任何的基本数据类型,比如整数常量、浮点常量、字符常量,或字符串字面值,也有枚举常量。关于这些基本的数据类型我们将在下一小节进行详细的讲解。

常量就像是常规的变量,只不过常量的值在定义后不能进行修改。

整数常量

整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制。例如我们定义一个常量a的值是22,那么用十进制表示是 int a=22;,那么如果换做用八进制表示呢?此时该语句就会变为 int a=026;,对,下面的语句就是用十六进制表示的 int a=0X16;诶这个时候是不是有点懵?别紧张,我们当时也懵。那么你是不是想了解怎么进行单位的换算呢?不过,大可不必,因为基本是用不到的。除非你自己想用。

有时整数常量也可以带一个后缀,后缀是U和L的组合,U 表示无符号整数,L 表示长整数。后缀可以是大写,也可以是小写,U和 L的顺序任意。那他们在什么时候使用呢?

以下是引用的内容:

字面量整数数字如果在int整数范围内,就默认是int类型的,如果超过了int整数范围,就默认是long类型的。 int的范围是负20多亿到正20多亿,10十位数字,34359738368明显11位数字,已经超过int范围,默认就是long型的,后面加不加L都是一样的。 在int范围内的整数字面量后加L才有实际意义。

这个东西现阶段基本也用不到

浮点常量

浮点常量由整数部分、小数点、小数部分和指数部分组成。您可以使用小数形式或者指数形式来表示浮点常量。

当使用小数形式表示时,必须包含小数点、指数,或同时包含两者。当使用指数形式表示时,必须包含整数部分、小数部分,或同时包含两者。带符号的指数是用 e 或 E 引入的。

字符常量

是括在单引号中,例如,‘x" 可以存储在char类型的简单变量中。关于char这一关键字,我们在后面的小节中会给予解释。

字符常量可以是一个普通的字符 ‘x"、一个转义序列‘ ",或一个通用的字符‘u02C0"。

在 C 中,有一些特定的字符,当它们前面有反斜杠时,它们就具有特殊的含义,被用来表示如换行符 或制表符 等

下图是一些转义字符及其含义,图片为引用内容

字符串常量

字符串字面值或常量是括在双引号 "" 中的。一个字符串包含类似于字符常量的字符:普通的字符、转义序列和通用的字符。当然如果你要打个句子,又没用汉语,又想让人看懂,不被打,就可以使用空格做分隔符。举个栗子,例如你想打个英文“Hello world”结果你搞了个“Helloworld”,这是两个词,再多了,嗯那和乱码也就没有区别了。

2. 变量

在了解完常量之后我们接下来就是了解一下C语言中的变量。在C语言中变量其实是程序可操作的存储区的名称,就像是你我的名字一样,代表我们这个人,而C的变量就是代表了储存区。

并且每个变量都有特定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。 变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头,划重点不要尝试拿数字做开头,他不对。大写字母和小写字母是不同的,因为 C 是大小写敏感的,换句话说就是假定你定义了一个变量temp,那么TEMP,Temp并不等于temp,而是作为两个单独的其他变量。

还有C中的左值和右值是两种类型的表达式

以下内容来自引用:

左值:指向内存位置的表达式被称为左值表达式。左值可以出现在赋值号的左边或右边。

右值:术语右值指的是存储在内存中某些地址的数值。右值是不能对其进行赋值的表达式,也就是说,右值可以出现在赋值号的右边,但不能出现在赋值号的左边。

举个例子

a=3;

a,就是左值,为嘛?他在左边啊,你不会这都猜不到吧? 那右值你肯定也了解了吧。至于上面的定义也很好理解,就是一个具体的值不能放在左边。为啥?你仔细想想给一个变量赋予一个值或另一个变量我可以理解,但给一个具体的值赋一个变量这叫个什么事。

二、各种类型数据的储存空间

在结束第一节的学习后我们要进行第二节的学习,在这一节我们要了解各种各样类型的数据。数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。这一节将向大家介绍一下一些基本的常用的数据类型。

int,是整型类型。

int a;

就是将变量a定义为一个整型变量,那么a如果被输出,那么a只能是一个整数,换句话数,a只能能精确到个位数。

float、double则恰恰相反,他们则是浮点类型,对于他们而言与int的区别就是,他们可以将数值精确到小数点后。而二者之间的不同则是精确范围的不同,double要优于float。前者是15位而后者只有6位。

上面三者都与数字有关而下面这一位就有所不同了,他可以定义字符。

char a= ‘x";

则是将a定义为字符‘x",输出a的时候将会在屏幕上显示字符‘x",当然有的小伙伴可能输出的是120啊,78啊,或这空白啊之类的,这是你们犯了一些小小的错误。

示例如下

以上这些就是目前前期你大概率会天天碰到的一些数据类型了,当然还有一些像void 类型

枚举类型,派生类型这些数据类型,在这里就不多作介绍了。有兴趣的小伙伴们可以去自行百度一下哦。

三、C数据的运算

C语言中的数据运算形式非常多,基本上你在数学上学到的这里都有,加减乘除,非或与,大于小于等于不等于......

在这里我会为大家介绍一些新一点的运算符

1:++、--:++为自增运算符,--为自减运算符,二者正好相反。以--为例,我们先 int a=10

此时a--将得到9,但要注意a=b--;与a=--b;是两个操作,a=b--;是先把b的值赋给a在对b进行自减操作,而a=--b;则是先对b进行自减,然后再把b的值赋给a。

还有一种是这种形式的a+=b;其意义为a=a+b;当然类似的运算还有-=,/=,%=......

老规矩详细的运算规则及解释我就留在下面了。

以下图片均来自引用:

那你可能又有疑问产生了,这么多的规则那么它们之间的运算规则又是什么呢?废话不多说,我们直接上图:

好了今天的内容就到此为止了,如果有什么疑问可以私信我哦!

bikbok

首先得知道如下两点:

一、

16进制整形常量以0x或0X开头,可以包含字符0-9、a-f(不区分大小写),负数可以在0x前加负号。

二、

8进制整形常量以0开头,可以包含字符0-7。

所以,A和C都是正确的16进制整形常量。

D是正确的8进制整形常量。

选B。

康康map

给出的四个答案中,只有答案b是错误的整形常量,因为,在C语言中,以数字零开头的后面是数字的表示是一个八进制常数,但是八进制常数中,合法的字符是数字0到数字7。

墨然殇
十六进制数没有前导的负号,所以A错误,其他你对对教科书都是合法的

变量为1是什么意思

剩余变量等于1的含义是在一个经济决策中超额满足最低需求的量。剩余变量表示在一个经济决策中超额满足最低需求的量,若为正,表示超额满足最低需求,若为负,表示没有满足最低需求,其结果不影响收入,也不影响支出。
2023-06-10 08:24:411

变量1相关于变量2什么意思

变量1相关于变量2意味着这两个变量之间存在某种关系,可以是正相关、负相关或无关系。正相关意味着当变量1的值增加时,变量2的值也会增加;负相关则是当变量1的值增加时,变量2的值会减少;而无关系意味着两个变量之间没有任何相关性,即一个变量的值的变化不会对另一个变量的值产生任何影响。在科学研究和数据分析中,了解变量之间的相关性是非常重要的。
2023-06-10 08:24:481

宏定义变量为1,该变量是什么类型?

既然是宏定义为1了,在编译时,会直接把宏义的字符串(你说的变量)变成1,所以,其实是一个常量,并不是变量,也就无所谓类型了。
2023-06-10 08:24:551

求spss高手帮我看看,这个表中变量1和其他变量的关系,我就是要研究变量1对它们的影响,别的关系不用管

变量1与变量2和3在0.01的水平上显著,属于非常显著了。变量1与变量4和7在0.05的水平上显著,属于一般的显著。变量1与变量5和6在0.05的水平上不显著,一般认为就是不显著了。
2023-06-10 08:25:061

西门子触摸屏变量为1时打开画面

西门子触摸屏变量为1时打开画面是可以实现的。在触摸屏连接bool变量(变量1,变量2),当变量1为1时,自动从画面1切换到画面2,当变量2为1时,自动从画面2切换回画面1。
2023-06-10 08:25:131

任何变量或1都等于1对嘛

任何变量或1都等于1不对,正确的说法应该是任何一个分布都必须满足:各组的频率大于零,各组的频率总和等于1变量来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的;但在纯函数式语言(如Haskell)中,变量可能是不可变的。
2023-06-10 08:25:201

线性代数取变量为1或0是什么原理?

具体问题是什么?
2023-06-10 08:25:294

松弛变量为1意味着什么

松弛变量为1意味着资源未充分利用。松弛变量是非负数,当松弛变量为0时,表示这是稀缺资源,若大于0则表示,资源未充分利用。
2023-06-10 08:25:361

C语言 定义数据结构,成员变量后面的:1 是什么意思

它是应用在对位进行操作时 对一个字节进行分段(位段) is_unknown为位段名,1为位的个数
2023-06-10 08:25:461

易语言在启动窗口的变量怎样在窗口1中能调用?

.版本2.程序集窗口程序集1.子程序_窗口1_创建完毕_启动窗口.销毁()
2023-06-10 08:25:522

Java的变量+1为什么不会影响变量的值?而变量+=1、变量++就可以影响?

有无赋值的区别,i++,++i,都包含赋值操作,i+1没有赋值不会改变i的值
2023-06-10 08:26:138

虚拟变量0和1的选取原则

不存在的属性选0,存在的属性选1。虚拟变量的取值为0和1,分别代表某种属性的存在与否,其中0表示不存在某种属性,1表示存在某种属性。模型中引入虚拟变量的作用1、分离异常因素的影响,例如分析我国GDP的时间序列,必须考虑“**”因素对国民经济的破坏性影响,剔除不可比的“**”因素。2、检验不同属性类型对因变量的作用,例如工资模型中的文化程度、季节对销售额的影响。3、提高模型的精度,相当于将不同属性的样本合并,扩大了样本容量(增加了误差自由度,从而降低了误差方差)。
2023-06-10 08:26:281

有则赋值为1的变量叫什么变量

虚拟变量。在定义变量的同时也可以同时赋值如inta=1,表示定义一个int型的变量a并赋值为1,称为虚拟变量。将某一数值赋给某个变量的过程,称为赋值。
2023-06-10 08:26:411

shell 脚本里的变量怎么加1

1、语法((i=i+1));let i=i+1; x=$(( $x + 1 )) x=`expr $x + 1`2、实例until example #bin/bash i=1 s=0 until [[ i -gt 30 ]]; do ((s=s+i)); ((i=i+1)); done
2023-06-10 08:26:513

c语言中,变量加1如何设置

变量++就可以
2023-06-10 08:27:192

roc曲线状态变量的值1是什么意思

状态变量就是二分类的变量,是必须的。说的清楚点就是选择分类变量,如1代表一组,2又代表另一组。
2023-06-10 08:27:281

0-1变量属于定性变量吗

是属于定性变量。0-1变量性质就是定性变量,会变化。定性变量:观测的个体只能归属于几种互不相容类别中的一种时,一般是用非数字来表达其类别,这样的观测数据称为定性变量。分类变量是说明事物类别的一个名称,其取值是分类数据。0-1变量属于分类变量的一种类型。
2023-06-10 08:27:421

用SPSS软件统计关于统计不同性别的人对同一个问题不同选择怎么弄? 求大神帮助,万分感谢

可以考虑卡方检验或者fisher法
2023-06-10 08:27:492

易语言如何创建一个变量组

这样创建了一个最简单的1~10的变量组:.版本2程序集窗口程序集1.子程序_按钮1_被单击.局部变量编号,整数型,,"0".局部变量i,整数型.计次循环首(10,i)加入成员(编号,i).计次循环尾()输出调试文本(编号)结束
2023-06-10 08:27:571

关于变量对常数1按位求与的疑问

因为 2&1==0,意思就是说当2&1等于0时,2&1==0这个表达式等于1 。当2&1不等于0时, 2&1==0这个表达式等于0。显然2&1不等于0,所以表达式等于0
2023-06-10 08:28:162

java每次运行程序变量加1

拷贝到一个临时变量区。Java对自加处理的流程是先把count的值不是引用拷贝到一个临时变量区,然后对count变量加1,接着返回临时变量区的值。Java是由SunMicrosystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称。
2023-06-10 08:28:221

c语言中 i+=1等价于 i=i+1为什么,原理是什么?

i+=1,主要是要注意+=的运算方法:表示i=i+1加后赋值运算符:+=结合方向:从右到左使用方法:变量+=表达式计算方法:把左边的变量和第一个符号移到右边,变量1=变量1+表达式运算结果)如:i+=1则是:i=i+1i+=1+2*3则是:i=i+(1+2*3)类似的赋值运算符还有:/=除后赋值*=乘后赋值%=取模后赋值-=减后赋值...等等
2023-06-10 08:28:311

按键精灵 变量递增1

dox=x+1loop
2023-06-10 08:28:412

0-1变量是什么意思

不明白你具体想问的是什么,你可以把你想要知道的问题在描述的清楚点
2023-06-10 08:28:502

两独立样本卡方检验公式,如何计算表中的卡方值和P值?表中可以运用卡方检验吗?可以的话是哪一种?

卡方检验你的数据应该用交叉列联表做,数据录入格式为:建立两个变量,变量1是组别,正常对照组用数据1表示,病例组用数据2表示;变量2是疗效等分类变量,用1表示分类属性1,用2表示分类属性2,还有一个变量3是权重,例数数据录入完成后,先加权频数后点analyze-descriptive statistics-crosstabs-把变量1选到rows里,把变量2选到column里,然后点击下面的statistics,打开对话框,勾选chi-squares,然后点continue,再点ok,出来结果的第3个表就是你要的卡方检验,第一行第一个数是卡方值,后面是自由度,然后是P值。
2023-06-10 08:28:581

单位“1”为不变量是什么意思

因为你给多维变量[2][3]赋值为300了,要不应该默认是0。别说你不理解多维变量,真不理解追问
2023-06-10 08:29:532

C语言 为什么语句x+1;不能实现变量x加1?

着样写就可以加1x=x+1加1后要把原来的值覆盖掉啊
2023-06-10 08:30:004

lingo里怎么定义变量0与1

@bin(x);
2023-06-10 08:30:082

c语言中 变量名++ 就是这个变量加一的意思 但和直接写 变量名+1 有什么区别吗

i++;i=i+1;前者简洁,运行速度更快。
2023-06-10 08:30:172

易语言怎么做一个电话薄查询啊

在我空间里有详细的图片!!.程序集 窗口程序集1.程序集变量 变量1, 整数型.程序集变量 配置文件, 文本型.子程序 _录入_被单击变量1 = 0.如果 (编辑框1.内容 ≠ “” 且 编辑框2.内容 ≠ “”) .判断循环首 (读配置项 (配置文件, 到文本 (变量1), 到文本 (编辑框1.内容), ) ≠ “” 且 变量1 > 50) 变量1 = 变量1 + 1 .判断循环尾 () 写配置项 (配置文件, 到文本 (变量1), 到文本 (编辑框1.内容), 到文本 (编辑框2.内容)) 编辑框1.内容 = “” 编辑框2.内容 = “”.否则 信息框 (“姓名和电话不能为空!”, 0, ).如果结束.子程序 __启动窗口_创建完毕配置文件 = “d:通讯录.ini”.子程序 _查询_被单击变量1 = 0.如果 (编辑框1.内容 ≠ “”) .判断循环首 (读配置项 (配置文件, 到文本 (变量1), 到文本 (编辑框1.内容), ) = “” 且 变量1 < 50) 变量1 = 变量1 + 1 .判断循环尾 () 编辑框2.内容 = 读配置项 (配置文件, 到文本 (变量1), 到文本 (编辑框1.内容), “未找到匹配记录!”).否则 信息框 (“姓名不能为空!”, 0, )
2023-06-10 08:30:261

宏定义变量为1,该变量是什么类型?

既然是宏定义为1了,在编译时,会直接把宏义的字符串(你说的变量)变成1,所以,其实是一个常量,并不是变量,也就无所谓类型了。
2023-06-10 08:31:141

易语言在启动窗口的变量怎样在窗口1中能调用?

_启动窗口.XXX
2023-06-10 08:31:232

mcgs脚本中一个变量+1到一定数值后停止?

循环脚本中编写如下语句:IF data<100 THENdata=data+1ELSEENDIF解释:如果变量data小于100,那么变量data自加1,直到变量data大于等于100停止。
2023-06-10 08:31:301

易语言怎么将1不断增加 如:变量A=1 我要点击一下按钮它就加1 就像这样A=2,A=3,A=4

简单啦:假设变量1名称=A点一下按钮就加1代码:A=A+1 比如:、A=A+1 =1A=A+1 =2 这个时候A=1了 1+1=2···
2023-06-10 08:31:392

初中函数 变量前面系数为1或者-1 那1或者-1是常量吗

当题目指明了谁是自变量的时候,就可以清楚了。例如以x为自变量的函数y=f(ax),那么a严格说就是《参变量》。——就是说函数值与a取某个固定的数值是有关系的。在a取定了之后就不可以再变动了。你题目的意思,是常数!严格说来,叫做《常数系数》。
2023-06-10 08:31:592

给变量x加1的语句是()

给变量x加1的语句是() A.1+x=xB.x+=1C.x:=1D.x=+1正确答案:x+=1
2023-06-10 08:32:141

行列的每一个卡方值怎么算

卡方检验你的数据应该用交叉列联表做,数据录入格式为:建立两个变量,变量1是组别,正常对照组用数据1表示,病例组用数据2表示;变量2是位点,A用1表示,C用2表示,还有一个变量3是权重,例数数据录入完成后,点analyze-descriptive statistics-crosstabs-把变量1选到rows里,把变量2选到column里,然后点击下面的statistics,打开对话框,勾选chi-squares,然后点continue,再点ok,出来结果的第3个表就是你要的卡方检验,第一行第一个数是卡方值,后面是自由度,然后是P值。
2023-06-10 08:32:351

SPSS18.0卡方检验,请帮助解答一下,谢谢 阳性 阴性 1组 452 1599 2组 76 534

卡方检验你的数据应该用交叉列联表做,数据录入格式为:建立两个变量,变量1是组别,正常对照组用数据1表示,病例组用数据2表示;变量2是疗效等分类变量,用1表示分类属性1,用2表示分类属性2,还有一个变量3是权重,例数数据录入完成后,先加权频数后点analyze-descriptive statistics-crosstabs-把变量1选到rows里,把变量2选到column里,然后点击下面的statistics,打开对话框,勾选chi-squares,然后点continue,再点ok,出来结果的第3个表就是你要的卡方检验,第一行第一个数是卡方值,后面是自由度,然后是P值。
2023-06-10 08:32:421

定义一个整型变量a并赋值为1?

如果是C语言的话 int a=1;
2023-06-10 08:32:493

java定义变量为1-7如何定义

您可以使用Java中的整型变量来定义1-7之间的变量。整型变量可以存储整数类型的数据,包括正整数、负整数和零。在Java中,整型变量可以使用以下两种方式定义1-7之间的变量:使用int类型定义变量:int num = 5; // 定义一个整型变量num,初始值为5使用byte类型定义变量:byte num = 5; // 定义一个字节类型变量num,初始值为5需要注意的是,byte类型的取值范围是-128到127,因此如果定义的变量超出这个范围,会导致数据溢出。在这种情况下,建议使用int类型定义变量。
2023-06-10 08:32:571

spss卡方检验 两个组总人数不一样 能做吗

卡方检验你的数据应该用交叉列联表做,数据录入格式为:建立两个变量,变量1是组别,正常对照组用数据1表示,病例组用数据2表示;变量2是疗效等分类变量,用1表示分类属性1,用2表示分类属性2,还有一个变量3是权重,例数数据录入完成后,先加权频数后点analyze-descriptive statistics-crosstabs-把变量1选到rows里,把变量2选到column里,然后点击下面的statistics,打开对话框,勾选chi-squares,然后点continue,再点ok,出来结果的第3个表就是你要的卡方检验,第一行第一个数是卡方值,后面是自由度,然后是P值。
2023-06-10 08:33:041

为什么我用易语言制作的记事本写1个字或字母就会自动退出

.版本 2.子程序 _编辑框1_内容被改变编辑框1.内容 = “” 这里有问题啊!
2023-06-10 08:33:111

单位“1”为不变量是什么意思

不变量意思是1就是1,如果int a;那a就是变量,可以给a赋值为整形如a=3,但是你不能给1赋值为2,因为1就是1啊
2023-06-10 08:33:181

位运算a*b,a1b,a&b怎么用啊,c语言的

a*b是a乘以ba|b是a或b原则是有1就是1只有当ab同时为0的时候才是0a&b是a与b原则是全是1才1注意ab都得转换成二进制才能计算!!
2023-06-10 08:33:282

VFP问题填空:利用一条()语句可以给多个内存变量赋同一个值.

正确的答案是:store参考答案的 select 那是在误人子弟! 看来有不少混进教师队伍中的“水货教师”。
2023-06-10 08:33:363

易语言高人请进 我想每隔3秒钟 标签1的内容改变 怎么弄

可以用时钟,也可用“延时”命令。注:在易语言中,一秒是1000
2023-06-10 08:33:554

易语言的多项选择命令的索引参数,为何换成变量就一直无法编译成功?直接用1,2,3等等就可以了?

建议调试输出 变量1看看输出结果后,是否有超出自己索引的范围!
2023-06-10 08:34:052

卡方检验,四个表中有1格为0,能用吗

可以用的,没问题,主要看理论频数
2023-06-10 08:34:152

perl 内置变量 $1

$1只会保留最近一次匹配的结果,无论是不是空值
2023-06-10 08:34:244

组态王怎么将两个字符串连接起来?例如字符串一ABC,字符串二是DEF,连接起来后就变了ABCDEF。

两个字符串变量相加就可以了。例如:变量1=ABC,变量2=DEF,定义一个字符串型的变量3,变量3=变量1+变量2;即可。此时变量1和2也应为字符串型的变量,如果是数字组合话需要用StrFromInt或StrFromReal函数将其转换成字符串,然后再相加就可以了。
2023-06-10 08:34:351