所在位置:主页 > 程序语言 > C语言源代码中怎样区分变量和常量

C语言源代码中怎样区分变量和常量

发布时间:2023-10-27 23:26来源:www.sf1369.com作者:宇宇

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

解析:

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,继续执行循环。