Ⅰ c语言中,字符、常量、变量三者有什么联系
一、都有存储区,并有相关的类型。二、常量不能寻址,变量可以。
Ⅱ C语言中变量与常量的概念是什么
在C程序执行过程中,其值不发生改变的量称为常量,其值可变的量称为变量。它们可与数据类型结合起来分类。例如,可分为整型常量、整型变量、浮点常量、浮点变量、字符常量、字符变量、枚举常量、枚举变量。在程序中,直接常量是可以不经说明而直接引用的,而符号常量和变量则必须先定义后使用。
具体说明:
1、在程序执行过程中,其值不发生改变的量称为常量。
①直接常量
整型常量:12、0、-3;
实型常量:4.6、-1.23;
字符常量:‘a’、‘b’。
②符号常量
标识符:用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列。
符号常量:用标示符代表一个常量。在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。
符号常量在使用之前必须先定义,其一般形式为:#define 标识符 常量其中#define也是一条预处理命令(预处理命令都以"#"开头),称为宏定义命令(在后面预处理程序中将进一步介绍),其功能是把该标识符定义为其后的常量值。一经定义,以后在程序中所有出现该标识符的地方均代之以该常量值。
· 习惯上符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。
【例3.1】符号常量的使用。#define PRICE 30main(){ int num,total;num=10;total=num* PRICE;printf(“total=%d”,total);}
· 用标识符代表一个常量,称为符号常量。
· 符号常量与变量不同,它的值在其作用域内不能改变,也不能再被赋值。
· 使用符号常量的好处是:
含义清楚;
能做到“一改全改”。
2、其值可以改变的量称为变量。一个变量应该有一个名字,在内存中占据一定的存储单元。变量定义必须放在变量使用之前。一般放在函数体的开头部分。要区分变量名和变量值是两个不同的概念。
Ⅲ C语言的常量与变量的关系
常量就是在运行过程中不能改变的值!例如单个数字就是常量(例:12);变量就是在运行过程中能改变的值!!这样定义变量:int i;char c;
Ⅳ C语言字符变量和数字常量怎么比较啊
数据在内存中都是以2进制形式储存,储存的2进制的值等于变量的值的ASCII码值
所以 字符常量和数字常量比较是用他们对应的ASCII码比较
由表知:字符'0'到'9' 'a'到'z''A'到'Z' 的ASCII码都>=48都大于数字常量0到9
Ⅳ 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语言中字符常量 字符串常量和标识符的区别
字符常量是单引号括起来的,如'A'。也可以认为是一个int;字符串常量是双引号括起来的,如"ABC"。是以\0结尾的字符数组;标示符就是常量或者变量的名字,不用带任何引号。
Ⅶ 判断正误:1,c语言中有字符类型的常量和变量
1:有字符常量 如 'a' 在用ASCII码 97来表示
有字符型变量 如char a;
2.不能,只能用类似int strcmp(char *Dest,char * src)这样的函数来比较
没有理由,标准规定的,要是标准规定能用 > <来比的话 就能用了。可惜没有!
Ⅷ C语言 字符常量和字符变量
b=a+5;这句是合法的,ASCII码背不背都无所谓,记住几个关键的就好了,比如a和A,
Ⅸ C语言字符常量和字符变量怎么区分
对于常量'9'作为字符型常量,其类型为char,占用1个字节,'A'也是
数字9,默认类型是int,占用4字节
Ⅹ c语言中有字符串类型的常量和变量
是的。字符串常量,就是用双引号括起来的字符串,例如 “Abc123Xyz”,“FG and HI", 它们的”值, 如同常数,一旦定了, 是不可改变的。它们被存放在常数区。
字符串类型的变量,就是 char 型数组,例如 char s[80]; 它们的 值 是可以改变的。
例如 char s[80]="abcd 1234 wxyz"; 初始化 s 有了 值 “abcd 1234 wxyz”。
strcpy(s,"Good Night!"); s的值 变成 "Good Night!" 了。