‘壹’ c语言中常量有哪些类型
C语言中的常量可以分为:整型常量、实型常量和字符型常量和字符串常量,
另外还有符号常量和有名常量.、
整型,例如:-123, 0xff (十六进制), 022(八进制)
实型, 例如:3.14, 3.14f (单精), 3.14lf (双精), 1.2e04(科学)
字符常量, 'A'
字符串常量, "abc123"
转义字符常量 '\0' "\n"
宏定义标识符常量 #define e 2.71
程序中的 e 编译时会被2.71 替代,
逻辑型常量 TRUE (实际上也是宏定义常量)
差不多就这几种吧····
‘贰’ c语言dowhile循环中的判断句为常量怎么结束循环
for循环和while循环是“当型”循环,意思是当满足循环条件时才执行循环体!否则不执行循环体!而do while循环是“直到型”循环。即先执行一次循环体,然后再判断此时循环条件是否满足,若满足则执行之,否则不执行! 并且for循环的功能是最强大的,凡是用while,do while 循环能解决的问题用for循环都能解决!
‘叁’ c语言怎么判断常量合不合法
法律分析:只能是A-Z,a-z,0-9与下划线组成(也就是说空格或其他字符都不能有)。不能以数字开头
法律依据:《C语言程序设计》 第二章 常量 2e32.6 -e-5 "/045" 'BASIC' 0fc 0x4d00 e5 ‘\' 变量 int _auto_ auto 2-or Turbo_C _169 常量里面 我知道1,4,5,8不合法... 常量
2e32.6 -e-5 "/045" 'BASIC'
0fc 0x4d00 e5 ‘\'
变量
int _auto_ auto 2-or
Turbo_C _169
‘肆’ C语言源代码中怎样区分变量和常量
C语言基础知识常量和变量分类:C/C++
1.常
量:
程序执行过程中,值不变的量。
3
,\'a\'
变
量:值可以改变的量。
一个变量有一个名字,在内存中有一定的存储单元,存放变量的值。
2.常量类型:
a.整
型:12,0,-3
b.实
型:4.6,-1.2
c.字
符
型:
\'a\',\'d\'
d.符号常量:
#define
PRICE
30
(PRICE不能再被赋值且要大写)
3.变
量:
先定义,后使用。一个变量只能被指定为一确定类型。
4.标识符:标识变量名,符号常量名,函数名,数组名,类型名,文件名的有效字符数列。
a.由字母、数字、下划线三种字符组成,第一个字符必须为字母或下划线。
b.大写字母、小写字母被认为是两个不同的字符。
c.长度一般小于8个。
数据类型
一.整
型:
1.整型常量
a.十
进
制:12,-3,0
b.八
进
制:以0开头。
c.十六进制:以0x开头。
2.整型变量
a.
int
-32768——32767
b.
short
int
-32768——32767
c.
long
int
d.
unsigned
int
0——65535
e.
unsigned
short
0——65535
f.
unsigned
long
int、short
int、long
int
第一位为符号位
0000001
(0为正,1为负)
unsigned
第一位不是符号位
0000001
所以int型和unsigned型的000001不是同一个值。
二.实
型:
1.实型常量:
a.十进制数:数字和小数点组成。0.12,.12,12.0,0.0
b.指
数:e之前必须有数字,e后面必须为整数。12e3
2.实型变量:
a.单精度:float
7位有效数字
111111.1可,111111.11不可。
b.双精度:double
15—16位有效数字
。
三.字符型:
1.字符常量:
a.
\'a\'
,
\'x\'
,
\'*\'
,\'$\'
。
b.
转义字符:‘\\n\'换。
\'\\t\'从第九列开始。\'\\r\'回车。
\'\\b\'退一格。
2.字符变量:
char
char=\'a\'
一个字符变量在内存占一个字节。
。将一个字符常量放到一个字符变量中,并不是把该字符本身放到内存单元中去,而是将该字符的ASC码
放到存储单元中,所以字符型数据和整型数据之间可以通用。一个字符型数据既可以以字符形式输出,
又可以以整数形式输出。
四.字符串常量:
"how
are
you",
"a","&12"
。不能把一个字符串赋给一个字符变量。
char
c=\'a\'对,char
c="how"
错。
。\'a\'
:在内存中存a。
“a”:在内存中存a\\0。
‘\\0’是C语言中判断字符串是否结束的标志。
变量赋初值
a.
int
a=3;
float
f=7.2;
char
c=\'a\';
b.
int
a,b,c=5;
相当于
int
a,b,c;
c=5;
c.
int
a=3;b=3;c=3;
不可写:
int
a=b=c=3;
各类数值型数据间的混合运算
整型、实型、字符型数据可以混合运算:10+\'a\'+1.5-8765.4321*\'b\'
double<--float
long
unsigned
int
<--char,shot
float型转晃?double型
char型,shot型转换为
int型
int型
转换为double型
等等
算术运算符和算术表达式
1.基本算术运算符
+
加
-
减
*
乘
/
除
5/3=1
%
摸(MOD)
5%3=2
2.强制类型转换运算符:将一个表达式转换成所需类型
(类型名)(表达式)
(double)a
将a转换为double型
(int)(x+y)
将x+y转换为int型
(float)(5%3)
将5%3转换为float型
putchar函数:输出一个字符
#include
"stdio.h"
a.
char
a;
a=\'C\';
putchar(a);
b.
putchar(\'\\n\');
c.
putchar(\'\\102\');
getchar函数:输入一个字符
#include
"stdio.h"
a.
char
c;
c=getchar();
putchar(c);
b.
putchar(getchar());
c.
printf("%c",getchar());
putchar函数:输出若干个任意类型的数据
a.
printf("%d,%d",a,b);
b.
printf("a=%d
b=%d",a,b);
1.d
输出十进制整数
a.
%d:
b.%md:
指定输出的宽度。数据位数小于m,左端补空格;大于m,按实际位数输出。
a=123;b=12345;
printf("%4d,%4d",a,b);
输出结果为:_123,12345
c.%ld:
输出长整型数据。
long
a=123456;
printf("%ld",a);
用%d,错。
printf("%9ld",a);
输出结果为:___123456
2.
o
输出八进制数
3.
x
输出十六进制数
4.
u
输出unsigned型数据
5.
c
输出一个字符
6.
s
输出一个字符串
a.%s
printf("%s"."how");
b.%ms
c.%-ms
d.%m.ns
e.%-m.ns
7.
f
以小数形式输出实数
a.%f
b.%m.nf
c.%-m.nf
8.
e
以指数形式输出实数
a.%e
b.%m.ne
c.%-m.ne
scanf函数:输入任意类型的多个数据
scanf("%d%d%d",&a,&b,&c);
&a指a在内存中的地址。
——按a,b,c在内存的地址将a,b,c的值存入。
if语句
1.
if
(A)
B;
如果条件A满足,执行B,否则执行下一句。
2.
if
(A)
B
else
C;
如果条件A满足,执行B,否则执行C。
3.
if
(A)
if
(B)
C
else
D;
else
if
(F)
H
else
K;
输入三个数,按小到大输出。
main()
{
float
a,b,c,t;
scanf("%f,%f,%f",&a,&b.&c);
4
2
1
if
(a>b)
{t=a;a=b;b=t;}
2
4
1
if
(a>c)
{t=a;a=c;c=t}
1
4
2
if
(b>c)
{t=b;b=c;c=t;}
1
2
4
printf("%f,%f,%f",a,b.c);
}
switch
语句
switch(a)
{
case
A
:
B;
break;
case
C
:
D;
break;
default
:
F;
break;
}
如果变量a=A,执行B;执行break语句,跳出swith语句。如果没有break语句,D,F语句也会执行。
如果变量a=C,执行B;其它情况执行F。
while
语句
while(A)
{
B;
}
如果条件A满足,执行B,否则执行下一句。(先判断,后执行。)
while(i<-5)
{
s=s+1;
i++;
}
如果i=1,则不满足i<-5,执行下一句。i值不变。
do-while
语句
do
{
A;
}
while(B);
先执行A,再判断B;如果B满足,再执行A,否则执行下一句。(先执行,后判断)
do
{
s=s+1;
i++;
}
while(i<-5);
如果i=1,执行i++,i=4;不满足i<-5,执行下一句。
for
语句
for(
A
;
B
;
C
)
D;
A:为变量赋初值;
判断是否满足条件B;满足则执行D再执行C再判断B;
不满足则执行下一句。
for(i=1;i<=5;i++)
s=s+1;
for(i=1,s=0;i<=5;i++)
s=s+1;
for(
;i<=5;i++)
s=s+1;
for(
;i<=5;
)
{
s=s+1;
i++;}
break
语句
break
语句:终止循环。用于循环语句,switch语句。
while(A)
{
if
(B)
C;
break;
......
}
执行break语句,跳出循环,执行后面的语句。
continue
语句
continue
语句:只结束本次循环,而不是终止整个循环。
while(A)
{
if
(B)
C;
continue;
......
}
执行break语句,跳出循环,再判断A,继续执行循环。
‘伍’ C语言实型常量判断
严格来说,C语言中没有“实型”(real type)这种数据类型。
C语言中非构造类型只有整型(int、short、long、long long和对应的unsigned修饰的类型,以及同义写法),以及浮点型(包括单精度浮点型float,双精度浮点型double,长双精度浮点型long double)两大类。其中float和double内部储存形式遵循IEEE 754标准,long double取决于编译平台。C语言中的浮点型数内部储存形式为指数计数法分段存储的二进制形式的小数,即使在规定大小和字长精度范围之内也不能严格无误差地表示所有十进制小数、有理数,更不用说实数。(而C语言源代码中除了16进制整数表示的实际存储形式以外,直接表示的所有浮点数都只能是十进制的,因此除非在二进制下也是有限小数(分数形式中分母是2的幂),且不是太长,否则在编译过程中即会产生误差。)
尽管如此,有时候float、double、long double这三者(或者前两者)会被不严格地统称为“实型”。
C语言中,数值常量的后缀(大小写同义)可以表达常量的类型,例如0UL表示unsigned long型数0。如果没有后缀,则通过具体的写法来确定。总的原则是尽可能避免精度损失。不过也不是范围越小越好,例如0是int型而不是char型常量。对于没有后缀的十进制小数(小数部分或整数部分之一完全不写的也算,当作省略了0),默认为double常量,例如3.1415等同于3.1415D。(如果要用float常量,应该使用3.1415f或3.1415F。)对于指数形式的,默认也是double,例如0.329e2(或者0.329E+2之类的也可以)。至于0.329*10^2如果出现在源代码中,会被当做是一个表达式,先计算0.329和10的积,结果再和2作^(位异或)运算。但由于积是double类型的,不能参与位运算,会给出编译错误。
871是int常量,不是“实型”常量。
871.、871.f、871.0F、871.d、871.0D、8.71E+2、0.871e3这类才是“实型”常量。
回答者: 幻の上帝 - 十四级 2010-1-16 19:52
‘陆’ C语言怎么区分常量和变量
常量,有两种方法定义。一种是用宏 #define a 3 那么编译之前a就都会被3替换掉
第二种是在定义变量前面加const 。如const int a=3; 这是一个不可改变值的变量。
所以。。。就可以知道哪些是常量了。看定义。。
不知道是不是常量可以在那个单词上点右键然后选转到定义就可以看到了
另外,常量通常所有字母大写
‘柒’ 如何判断C语言中的合法常量
整型分前缀(0、0x)和后缀(u、l),每种进制中用的数字不同;
浮点数后缀f、l,指数表示注意是否在范围内;
字符与字符串主要注意转义字符后面是否合法;
a:整数中不允许出现逗号;
b:科学计数法表示1.5乘以10的2.0次方,由于科学计数法指数部分只能是整数。
c:号是转义符号后面要跟其他符号来表示具体字符,这里什么都没跟就写反引号了;
d:字符串常量是连续的2个字符,第1个字符的ascii码是7,第2个字符的ascii码是0作为字符串结束符号,第1个字符是响铃符号,输出时会让默认扬声器发出声音。
(7)c语言判断句常量扩展阅读:
字符串常量是一对双引号括起来的字符序列。
字符常量可以赋值给字符变量,如"char b='a';",但不能把一个字符串常量赋给一个字符变量,同时也不能对字符串常量赋值!
例如下面的是合法的字符串常量:
"how do you do.","CHINA","a","$123.45"“C language programming”、“a\n”、“#123”、“ ”等为字符串常量
存储:字符串中的字符依次存储在内存中一块连续的区域内,并且把空字符‘ ’自动附加到字符串的尾部作为字符串的结束标志。故字符个数为n的字符串在内存中应占(n+1)个字节。
‘捌’ 正确的C语言常量是什么
正确的C语言常量是指针常量。
在除了‘C/C++’的一些高级程序语言中,‘常量’可以被称作,“在一个信息变化过程中,始终不发生改变的量”,其可以是不随着时间变化的某些量的固定信息;也可以表示为某一数值的字符(或字符串),常被用来标识、测量和比较两者的差异。
但在 ‘C/C++语言中’,‘常量’如果还用‘运行过程中不变的量’来描述,就显得不太准确了,甚至是在具体使用时,这就是一个错误的概念。在 ‘C/C++’中,常量实质是‘指针常量’,虽然其看起来‘符合常量的概念’,但是在实际运行中,其值或地址值是会发生变化的。
(8)c语言判断句常量扩展阅读:
C语言常量只要const位于指针声明操作符右侧,就表明声明的对象是一个常量,且它的内容是一个指针,也就是一个地址,并且在声明的时候一定要给它赋初始值。一旦赋值,以后这个常量再也不能指向别的地址。
C语言常量指针的使用要注意,指针指向的对象不能通过这个指针来修改,可是仍然可以通过原来的声明修改,也就是说C语言常量可以被赋值为变量的地址,只是限制了通过这个指针修改变量的值。
‘玖’ C语言语法的实型常量定义及其判断
c语言里实型常量必须在数字后加f或f、l或l
像3.1415只是一个浮点数,而不是常量
.871应该是.87l或.87l,这才是实型常量
‘拾’ c语言中常量表达式有哪些举点例子,谢谢!!!
C语言中的常量与常量表达式与变量
在程序运行过程中,其值不能被改变的量,称为常量。
整型常量:1,0,-1
实型常量:8.2,-3.55
字符常量:'a', 'c'。
常量一般从其字面形式即可判断。这种常量为字面常量或直接常量。
整型常量可分为:int, short int, long int, unsigned int, unsigned short, unsigned long.
浮点常量可分为:float, double, long double
字符常量:
字符串常量:
变量: 变量代表内存中具有特定属性的一个存储单元,它用来存放数据,也就是变量的值。
就是比如cout<<5*8+2/6<<endl; 表达式的值是一个定值,而不包含变量的式子!
那可不可以认为常量表达式就是常量?一般情况可以的,只要没变量就可以了。
常量表达式顾名思义表达式由常量表示,如
double a = 3d + 2.1 + sizeof(double);
整型表达式是表达式由整型数据表示.
a[n];
维大小n必须为整型,系统不会自动将一个低精度的数转换为高精度的数,所有a[3.4]不正确,必须为a[(int)3.4]
----------------------------------
表达式就有由一串“数字”和“符号”组成的式子,例如1+2是表达式,12*8-1*99也是表达式。C++
的“符号”除了普通的算术运算+-*/之外还有其他的。
常量表达式就是表达式里面只有常量的式子,比如1+2是常量表达式,如果定义a为常量1,那么a+2也是常量表达式。
如果定义变量a,那么a+2就不是常量表达式。