关于变量、常量、分支结构、循环结构

一、变量

        在运行过程中会发生变化的量。

格式:

存储类型数据类型变量名
autointa

存储类型:决定了存储变量的位置。

数据类型:觉醒了变量开辟的空间大小。

数据类型

字节大小

char

字符型

1

int

整型

4

short

短整型

2

long

长整型

32位:4;64位:8

float

单精度浮点型

4

double

双精度浮点型

8

如何查询变量的大小:使用sizeof语句。(ps:1字节=8位)

局部变量与全局变量的区别:

局部变量

全局变量

定义位置

函数体内部

函数体外部

初值

未初始化时,值为随机值

未初始化时,值为0

存储位置

栈区

全局区

生命周期

同当前函数体共存亡

同整个程序共存亡

作用域

函数内部

整个程序

二、常量

在程序运行过程中不会发生变化的量。

2.1 整型常量

一般包括八进制、十进制、十六进制

2.2 字符常量

字符型用'   '包裹,用来表示一个字符;

字符串用"   " 包裹;

/0用于表示字符串结束标志。

2.3   浮点型常量

常见于 float double

2.4 标示常量

宏定义格式:

#define  宏名  常量值或表达式或函数。

宏名一般大写,为了与普通变量区别开。

宏定义的特点:只是单纯的替换,并不进行运算。(原样替换,换完后再计算)

例如:

#define N 2

#define M N+3

#define NUM N+M/2+1 //2+2+3/2+1

void main()

{

int a = NUM;

printf("%d\n",a); // 6

}

宏函数的应用:

这里定义NUM(a,b) 的函数为一个三目运算。

三、变量常量

3.1 按字符输入输出:

1)int getchar(void)

功能:终端输入字符

参数:无

返回值:字符的ASCII值

2)int putchar(int c);

功能:终端输出字符

参数:字符的ASCII码值

返回值:字符的ASCII码值

3.2 按格式输入输出

1)int printf(const char *format, ...);

功能:按格式终端输出

参数:多个

返回值:输出字符个数

格式:

%d int

%c char

%f float

%lf double

%s 字符串

%p 指针

%o 八进制

%x 十六进制 %#x

%m.n m位宽 .n保留小数位数

2)int scanf(const char *format, ...);

功能:按格式终端输入

参数:多个

返回值:正确输入字符的个数 开始位置输入错误,返回0

四、垃圾字符回收

4.1 通过一个或多个空格回收一个或多个字符

4.2 %*C   抑制符:回收任意一个字符

4.3 get char 回收

五、分支结构

5.1 if 结构

5.1.1 基本格式

if(表达式1)

{

语句块1;

}else

{

语句块2;

}

执行顺序:表达式一成立,则执行语句块一,否则执行语句块二

例如:

int age=22;

if(age>18)

{

printf("work\n");

}else

{

printf("study\n");

}

5.1.2 多层分支

if(表达式1)

{

语句块1;

}

else if(表达式2)

{

语句块2;

}

else

{

语句块3;

}

例如:

int age=22;

// 0-18 18-30 30-65 65-

if(age>=0&&age<18)

{

printf("weichengnian\n");

}else if(age<=30)

{

printf("qing\n");

}else if(age<=65)

{

printf("zhong\n");

}else

{

printf("lao\n");

}

5.1.3 嵌套结构

if(表达式1)

{

if(biaodashi 2)

{

语句块1;

}

}

例如:

if(age<0||age>200)

{

printf("error\n");

}else

{

}

注意:

1、if后边可以没有else ,else前边必须有if。

2、分支语句只有一行代码时,可以省略{ }。

5.2  switch结构

 基本格式

switch(变量名或表达式)

{

case 常量1:

语句块1

break;

case 常量2:

语句块2;

break;

default:

语句块3

break;

}

例如:

int a=33;

switch (a/10)

{

case 1:

printf("11111\n");

break;

case 3:

printf("333333\n");

break;

case 5:

printf("55555\n");

break;

default:

printf("error\n");

break;

}

注意

1、case常量一般是整型字符。

2、case后边可以没有break,程序会从符合条件分支开始继续向下执行,直到遇见break为止,或执行分支结束。

六、循环结构

6.1 for循环

6.1.1 基本结构

for(表达式1;表达式2;表达式3)

{

语句块

}

表达1循环变量赋初值

表达式2终止条件

表达式3增值减值

执行顺序执行表达式1判断表达式2是否成立。

成立执行语句块执行表达式3判断判断表达式2是否成立

不成立退出循环。

例如:

int i;

for(i=0;i<5;i++)

{

printf("%d\n",i);//0 1 2 3 4

}

printf("i=%d\n",i);//i=5

-----------------------------------------------------分割线-------------------------------------------------------------------

6.1.2 for 循环的嵌套结构

外层循环执行一次,内层循环执行一轮。

例如:

九九乘法表

6.2 while 循环

基本格式:

6.3 do while 循环

基本格式:

while 循环与do while 循环的区别:

while先判断再执行;do_while先执行一次,再判断。

七、循环控制

包括:

break:结束本次循环。

continue:结束本次循环,继续下个循环。

return 0:结束程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值