C语言三大结构

一、结构

1、基本类型

分类   1. 整型            int                4个字节

          短整            short              2个字节

          长整            long               4个字节

      2.  浮点型          float    单精度    4个字节

                          double   双精度    8个字节

      3.  字符型          char               一个字节

2、void类型         没有值,是空的

3、指针类型         一个数据的地址

4、自定义类型      构造类型   (数组  结构体)

常量:在程序运行过程中,其值不能改变的量

        2、3、-1、-8    (int 常量)

        2L    long 常量

        1.5 double 常量

        1.5f    fioat 常量

       ‘a’    字符常量

 转义字符:    ‘\n’   换行

               ‘\b’   退格

               ‘\\’    输出一个 \

               ‘\’’    输出一个 ‘

               ‘\t’    跳过一个制表位(默认4列)

变量:在程序运行过程中,其值可以改变的量

变量的定义: 数据类型  变量名称

变量命名规则  1)只能由字母、数字或下划线组成

              2)开头只能由字母或下划线

              3)不能是系统的关键字

定义多个变量:数据类型  变量1,变量2,……..变量n;

以0开头的正整数,表示八进制的整数

以0x开头的正整数,表示十六进制的整数

运算符

分类:1、赋值运算    =

      2、算术运算符   + 、-、*、/、++、--、%

      %只能整数、字符型的数据进行运算

ASCII值:

a~~z      97__________122

A~~z      65__________90

 

表达式由变量、常量、运算符或函数组合而成的式子

二  运算符:

1.赋值运算符  =,+=,-=,*=,/=, %=

i+=2  相当于 i=i+2  

i-=2  相当于 i=i-2

i*=2  相当于 i=i*2

i/= 2 相当于 i=i/2

i%=2 相当于 i=i%2 

2 算术运算符:+,-,* , / , %, ++, --

++:自加1

后++: 将++放在变量的后面,其运算规则是:先用该变量进行整个表达式的运算,然后再自加1运算。

前++: 将++放在变量的前面,其运算规则是:变量先自加1,然后再用该变量进行整个表达式的运算

--:自减1

后--: 将--放在变量的后面,其运算规则是:先用该变量进行整个表达式的运算,然后再自减1运算。

前--: 将--放在变量的前面,其运算规则是:变量先自减1,然后再用该变量进行整个表达式的运算

3 关系运算符: > , >=, <, <= , == , !=

一个关系表达式的结果值有两个:1 或 0 , 1表示关系成立,0 表示不成立

在C语言中, 0 表示不成立,即为假, 非0表示成立,即为真

4 逻辑运算符: &&  与   || 或    !非

 

5 条件运算符: ? :  三元运算符

条件表达式:  表达式1?表达式2:表达式3

执行顺序: 先判断表达式1,如果为真,表达式2作为整个表达式的结果值,如果为假,则表达式3作为整个表达式的结果值

可以用条件表达式代替简单的if…else…..选择结构

6 逗号运算符:   ,

由逗号,运算符连接的多个表达式组成一个逗号表达式,最后一个表达式作为整个表达式的结果

逗号表达式:表达式1,表达式2,…, 表达式n

运算顺序:先计算表达式1,再计算表达式2,以此类推,最后计算表达式n,并且把表达式n作为整个表达式的结果

三  运算符的优先级和结合性

1 优先级

由高到低:

括号: () []

一元运算符:++ --  !  +(正号)  -(负号)

算术运算符:* / %

+  - 

关系运算符: 

Ø > >=  < <= 

Ø ==  !=

条件运算符: ?  :

赋值运算符: =  +=  -=  *=  /=   %=

逗号运算符:  ,

结合性:

左结合性:表达式从左往右计算  

右结合性:表达式从右往左计算   如: 赋值运算符 =

一  printf 用法

printf为格式输出函数,在标准输入、输出函数库stdio.h 中。

f:  为format的第一个字母f,表示格式

语法格式: printf(“输出格式字符串”,输出参数列表);

说明:

1 输出格式字符串,表示数据输出时的格式

2 输出参数列表,可以没有参数,可以为一个或多个,如果有多个参数,参数之间用逗号,分隔。

第一部分:格式字符串

格式字符串包括:格式部分和非格式部分

格式部分:[%][最小宽度][精度]类型

%:格式的起始标志

最小宽度:输出数据时的最小宽度,如果实际的数据的宽度大于指定宽度,按照实际的宽度输出。

精度:用.n表示,以.开始,n整数表示输出的小数位数

类型:

d:  表示十进制整数

o:表示八进制整数

x,X:表示十六进制整数

f:表示十进制实数

c: 表示字符

s: 表示字符串

非格式部分:在格式字符串中,除了格式部分即为非格式部分,非格式部分原样输出。

 

二  scanf 格式输入

语法规则: scanf(“输入格式”, 地址列表)

1 输入格式:包括格式部分和非格式部分 

格式部分:[%][宽度][精度]类型

类型:

d:  表示输入十进制的整数

f: 表示输入十进制的float单精度浮点数

lf:表示输入十进制的double双精度浮点数

c: 表示输入一个字符数据

s:表示输入字符串数据

非格式部分:原样输入

2 地址列表: 变量的地址组成的列表,变量的地址通过&获得,例如:&i,如果有多个地址,用逗号分隔,例如:&i,&j…

  

二、 选择结构

1. if….  if..else….结构

if(条件)

{

    //语句块

}

执行:先判断条件,如果为真,则执行{ }中的语句块,如果为假,则不执行语句块

说明:如果{ }中的语句只有一条,{}可以省略。

if(条件)

{

    //语句块1

}

else

{

   //语句块2

}

执行:先判断条件,如果为真,则执行if后{ }中的语句块1,如果为假,则执行else后面的{ }中语句块2

else和if组成if..else…结构的匹配原则,else和其上面的第一个而且没有else匹配的if匹配,组成一个if…else….结构。

2. 多重条件结构

1 if…else if…else if…else…

语法:

if(条件1)

{

   //语句块1    

}

else if(条件2)

{

  //语句块2

}

else if(条件3)

{

  //语句块3

}

……

else

{

  //语句块n

}

执行顺序:

1 先判断条件1,如果为真,执行语句块1,退出整个结构

2 如果条件1为假,继续判断条件2,如果为真,执行语句块2,退出整个结构,依次类推

3 如果所有的条件都为假,如果有else,则执行else中的语句块n

4 else可以省略

 

3.switch…..case…

switch(表达式)

{

case  常量1:

  //语句块1;

break;

 case  常量2:

  //语句块2;

break;

 case  常量3:

  //语句块3;

break;

…..

  default:

   //语句块n

break;

}

switch: 交换,开关

case:情形,情况

执行顺序:

1 求解表达式

2 将表达式的值和第一个case后面的常量值进行相等的比较,如果相等,就执行case中的语句块,遇到break,退出整个的结构,如果不相等,就继续判断和第二个case后面的常量值是否相等,和第一个case类似(重复第一个case的判断)

3 如果表达式的值和每个case后面的常量值都不相等,如果有default,则执行default后面的语句块,然后退出整个结构

4 default可以省略

 

 三、循环结构

1. while循环

语法结构:

while(条件)

{

   //语句块;

}

执行过程:

判断条件,如果为真,则执行大括号{}中既循环体中的语句块

执行循环体中代码后,又回到while继续判断条件,如果为真,则重复1,2

如果条件为假,则退出while循环

while循环特点:先判断条件后执行循环体中程序代码,可能一次循环都不执行

2.do…while….循环

语法结构:

do

{

   //语句块

}while(条件)

执行过程:

先执行大括号{}中既循环体中语句块

判断while后面的条件,如果条件为真,继续执行从循环体中的语句块

重复1,2

如果有一次while后的条件为假,则退出整个的do…while….循环结构

do…while….循环特点:先执行循环体中的程序代码,然后判断while后面的条件,至少执行一次循环

 

3. for循环

语法结构:

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

{

   //语句块

}

说明:{}中为循环体

执行过程:

1. 首先执行表达式1,而且在整个循环过程中,只执行了一次

2. 执行表达式2,作为循环的条件,如果为真,则执行{}中的语句

3. 执行循环体后,执行表达式3

4. 再执行表达式2,判断是否为真,如果为真则重复2

5. 如果表达式2为假,则退出整个for循环结构,执行后面的程序代码

三个表达式的作用:表达式1初始化循环变量,表达式2是循环的条件,表达式3改变循环变量的值。

表达式省略:

表达式1可以省略,放在for循环的前面进行循环变量的初始化

表达式3可以省略,放在循环体中进行改变循环变量的值

表达式2可以省略,这时,循环的条件始终为真,必须在循环体中用break,进行有条件的退出整个循环结构

这三个表达式可以部分或全部省略,两个分号;不能省略,但是相关的工作(循环的4要素)必须要做

break语句表示退出包含该语句的循环结构

continue语句: 结束本次循环,继续下一次循环,执行continue后,执行表达式3,再执行表达式2

while循环中,执行continue后,接下来判断while后的条件,在do…while….循环中执行continue后,接下来判断while后的条件,在for循环中,执行continue后,接下来执行表达式3.

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值