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语言源程序的注释说明位于什么位置?
1. C语言源程序中的注释可以放在任何位置,只要它们不破坏代码的结构和意义。2. 注释的目的是提供代码的解释和说明,以帮助理解程序的功能。3. 在C语言中,有两种注释写法:\/* 注释 *\/ 和 \/\/ 注释。4. \/* 注释 *\/ 方式通常用于较长的注释,可以跨越多行。5. \/\/ 注释 方式用于单行注释,...
C语言中头文件和源文件写法有什么区别?
④连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关 的可执行文件,当然,最后还可以用objcopy生成纯二进制码,也就是去掉了文件格 式信 息。(生成.exe文件)3.比方说 在aaa.h里定义了一个函数的声明,然后在aaa.h的同一个目录下建立aaa.c , aaa.c里定义了这...
C语言中源程序,源代码和源文件有什么区别?
没有区别,都是指包含源代码文件。
C语言中编译 生成 调试 测试 运行各是什么意思有什么区别
C语言中的编译、生成、调试、测试和运行各自代表不同的阶段和活动,具体如下:1. 编译:编译是将C语言源代码转换为目标代码的过程。在Visual C++(VC)中,编译阶段会将源代码(.c文件)转换成目标文件(.obj文件),这个过程称为编译。编译器检查源代码的语法错误,并生成可以被计算机执行的中间代码。
请描述一下一个简单的C语言源程序代码都包括哪些?
您好,很高兴回答您的问题。在C语言中,无论是什么样程度的代码程序,都包含有以下几个方面:宏定义(或者包含的头文件,视情况而定)函数返回值类型 主函数(类型 变量){变量定义或者初始化;输入语句;计算语句;输出语句;} 函数返回值类型 函数名(类型 变量,类型 变量,。。。)(自定义...
r语言中怎样查看函数源代码
最后,如果真的想阅读组成R系统本身的源代码,在各个CRAN中均有下载。你可以得到组成R系统所需要的材料。其中很多C语言(还有就是F)的源代码,均 是精心挑选过的算法,哪怕就是想学从头到尾编写具体的算法,也是学习的好材料。同时,你可以看到R系统内部是如何构成的,理解了这些对于高效使用R有至关 重要的作用。这个范...
C语言中main的位置是怎样的?
main()函数称之为主函数,是C语言所有程序运行的入口。而且在整个项目的源代码中,有且只有一个main主函数。不过,一般情况下,main函数都被放在源代码的最前面或者最后面,以方便读者更好地理解。因此,虽然C语言中没有明确的规定,但是在实际的开发中,main函数的位置一般是固定的。函数分类 一、从...
C语言程序源代码怎么实现其可视化?
先回答你的问题,可以使用以下三种方法中的任意一种:1、使用 C++ Builder。2、使用VC6,建立MFC工程。3、使用VS2005,建立Windows应用程序。另外补充说明:VB是一种开发工具,不是语言,她使用的是Basic语言,本身语言是没有什么可视化的。VB的V就是Visual,可视化的意思。同理,C\/C++也是一样的。C++...
c语言源程序是有什么组成的
C语言源程序是由:数据类型、常量与变量、数组、指针、字符串、文件输入\/输出构成。具体介绍:1、数据类型 C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。2、常量与变量 常量其值不可改变,符号常量名通常用大写。
在使用gcc编译c语言源程序时,如何使目标代码中包含调试信息?
-g 生成调试信息 使用-g选项,可以在目标代码中包含调试信息。
蓬信六神: 一般普通变量:如123,3.5,"abc", 'a' 很容易识别 以变量形式展现的,要看标识符的定义形式,才能确定该标识符是常量,还是变量,如:const int a=5 ; //常量 有const修饰,变量不能修改 int b=34; //变量 #define 定义的宏,即不是常量也不是变量
永和县15246111287: C语言中,变量跟常量的区别,举一些例子 好理解,谢谢!!! - ?
蓬信六神: 常量一般是指通过宏定义、const修饰而得到的,另外,像1,10,1.25f,1.36d这样的数值也是常量.PS:后面的f,d表示该数值是float,double类型的,欲知更多有关这方面的只是,请参考《C primer plus》. e.g. #define MAX 32767 //这样就通过宏...
永和县15246111287: c语言中变量与常量的区别 - ?
蓬信六神: 1,效率:常量在编译的时候,可以以立即数形式编译进指令,比起使用使用内存的变量要高效.2,约束:定义成常量,可以避免程序在运行中给它错误赋值,不要小看这种约束,给常量赋值的错误是很容易犯的,编译器会立即告诉你不对.3,语法:定义数组大小等,是因为编译时候要确定分配的空间,这时必须使用常量.
永和县15246111287: 在C语言中,常量与变量有何区别呢?字符常量与字符串常量有何区别呢? - ?
蓬信六神: 常量就是不变的量.变量顾名思义就是可以变化的,这个变量是一个存储空间,里面可以放1,2,3等等,但是常量就不行了,你一开始在这个存储空间里放了1就不能再放2了,变量或者常量的名字是指向这个存储空间的地址. 字符常量是一个字符,而字符串 顾名思义是一串字符.后面都有常量这个修饰,也就是不可以变化的字符常量或者字符串常量.
永和县15246111287: C语言中常变量是什么?与变量的区别 - ?
蓬信六神: 说明一个变量意味着向编译程序描述变量的类型,但并不为变量分配存储空间.定义一个变量意味着在说明变量的同时还要为变量分配存储空间.在定义一个变量的同时还可以对变量进行初始化. 换句话说,说明一个变量相当于告诉编译程序“在程序的某个位置将用到一个变量,这里给出了它的名称和类型”,定义一个变量则相当于告诉编译程序“具有这个名称和这种类型的变量就在这里”.一个变量可以被说明许多次,但只能被定义一次.因此,不应该在头文件中定义变量,因为一个头文件可能会被一个程序的许多源文件所包含.
永和县15246111287: C语言中何为常量何为变量求其解释!怎么入门.求解! - ?
蓬信六神:[答案] 一、文字常量: 常量之所以称为“文字常量”,其中“文字”是指我们只能以它的值的形式指代它,“常量”是指它的值是不可变的.同时注意一点:文字常量是不可寻址的(即我们的程序中不可能出现获取所谓常量20的存储地址&20这样的表达式...
永和县15246111287: c语言中如何判断右值是常量还是变量 - ?
蓬信六神: 判断是左值还是右值要根据该值赋值之后其本身还有无空间存储来判断.比如一个变量a,它可以作为左值和右值,比如一个const int a,它的值是只读的,就不能给它赋值,但并不代表它是个右值,右值是常量还是变量要看变量定义的类型.
永和县15246111287: C语言里怎样理解长整型 短整型 和无符号型变量和常量? - ?
蓬信六神: 1、变量:是一块内存区域,一块内存包含两个属性,一个是地址,一个是存储的内容,即值.所以在c语言中每个变量都有一个地址,也有自己存储的内容. 2、常量:指的是不会被修改的量,这个概念实际上来自汇编语言中的立即数概念,...
永和县15246111287: 常量和变量的区别 - ?
蓬信六神: 数据类型就像:整数,单精度小数,双精度小数…… 变量:就像数学中的变量X,Y……注意:他们的值是可以改变的 常量:也像数学中的常量 A,B……,值一旦给定后就不变
永和县15246111287: C语言里符号常量和常变量有什么区别? - ?
蓬信六神: 符号常量与常变量的区别:符号常量不占用内存空间,在预编译时就全部由符号常量的值替换了,而常变量占用内存空间,也有数据类型,但是此变量在存在期间是不能重新赋值的. 1、常变量a的定义如下: const int a = 5; 2、符合常量PI的定义如下: #define b=3.1;