1118c语言学习补遗

21 篇文章 0 订阅

if,while,do-while,goto,for语句

if语句

格式为 if(条件语句){执行语句列表};
条件语句书写时注意运算符的优先级和结合性。

while语句

格式为 while(条件语句){循环体};
条件语句书写时同if语句;

do-while语句

格式为 do{循环体} while(条件语句);
一般书写时,条件语句以及分号,while 循环体的右花括号写在同一行,已示与空语句while的区分。

goto语句

goto语句具有较强的灵活性,其作用为执行到此语句是,跳转到标志好的语句位置,此跳转是五条件的,需要与if语句同时使用。goto语句一般用作从多层循环内跳出。

for语句

格式为for(赋值;条件;自增减){循环体};
其与while有共同之处,可以通过一些改写相互转化。

语句分支

if可以构成单分支(只有一个if),可以构成多分支(if-else),也即可以构成多分支(if -else if -else if …).同样多分支的还可以用switch-case语句,但是switch的语句表达式只是整型表达式。

与零值做比较

1.布尔变量(true为真,false为假)
2.整形变量(0为假,1为真)
3.浮点变量(只能比较精度)
4.指针变量(与NULL比较)

位运算

按位与

x & y
x=1,y=1,x&y =1
其他=0;
同一为一

按位或

x | y
x=0,y =0, x | y=0
同0为0

按位异或

x ^ y
相同为0,不相同为1

按位取反

~x

按位左移,右移

x << 位数(左移)
低位补0,高位溢出
x >> y位数(右移)
###移出的低位舍弃,分两种补位方法。
对无符号数和有符号正数,补0
有符号负数
1)逻辑右移:补0;
2)算术右移:补1;

位段

位段,是一种特殊的结构类型,其所有成员均以二进制位为单位定义长度,并称成员为位段。因为位段类型是一种结构类型,所以位段类型和位段变量的定义和对位段的草作,均与结构体一样。

变量作为函数参数是单向传递的

指针作为函数参数是双向传递的

可变参数列表

#include<stdarg.h>中定义了
typedef struct
{
char *ao;
int offset;
}
va_list;

控制函数:
void va_start(va_list ap,last);
type va_arg(va_list ap,type);
void va_end(va_list ap);
void va_copy(va_list dest,va_list src);

递归调用

函数在调用时直接或间接的调用自己的过程称之为递归。
递归有两个部分组成。一个是正向的,叫递推,还有一个反向的 ,叫回归。

递归的条件

1)被调函数语句 ,即循环体,可被递归的算法。
2)递归调用测试语句,如果一个函数不满足递归条件则退出递归。
3)递归结束标志,需要一个语句去判读递归是否结束。
递归时,每次递归都要给调用函数分配内存空间,所以递归并不既节省空间和时间,与调用其他函数相同。只是节省了编程空间,使编程简化。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值