C语言笔记(4)

指针的大小是相同的,由于指针是用来存放地址的,因此,指针需要多大空间,取决于地址的存储需要多大空间。(指针大小在32位平台是4个字节,在64位平台上是8个字节)

在打印结构体时,如printf(“%s %d %lf\n”,ps->name,ps->age,ps->score);

需要用这种格式:结构体指针->成员变量(结构体的{}内的变量被称为成员变量。)

if和else只能控制一条语句,如果想要控制多条语句,就必须加上{}。

在使用if语句时,如果想加条件,则使用

if()

else if()

else if()

...(这里可以一直使用else if来增加条件)

else(最后需要使用else来结尾,这是就不需要再加其他条件了,因为它就是除以上所有条件以外)

当出现两个或者两个以上的if时,else只与最近的if匹配,在这之前的if全是前置条件(只有一直满足到else的语句才会执行)。

注意:

在使用if(num ==5)等类型的表达式时,为了避免犯错,尽量写成

if (5==num),这么做的目的是防止漏掉一个 = 号导致条件变量变成结果变量,使得num一直为真,导致结果发生偏差。

switch语句使用(注意:switch语句可以嵌套使用)

switch(整形表达式)

{

语句项

}

例如:switch (day)

{

case 1:

printf(”星期一\n“);

break;(它的作用是跳出,如果不用的话,即使只输入了1,它还是会将整个表达式的结果全部打印出来(会将2,3,4,5,...的结果打印出来),使用break就是对每个语句进行隔离。)

case 2:

printf(”星期二\n“);

break;

......(依次类推,使用case(由case开头的语句后面必须是整形常量表达式)去引导语句)

}

注意:即使没有加上break,整个表达式也没有任何问题,仅仅只是因为不合逻辑,如果逻辑对,那么也可以不加。

例如:

int day = 0

scanf(”%d“,&day);

switch (day)

{

case 1 :

case 2 :

case 3 :

case 4 :

case 5 :

printf(”工作日\n“);

break;(此处使用break是将语句隔开。)

case 6 :

case 7 :

printf("休息日\n");

break;

default :(它的作用是,如果输入了不在表达式中的值,那么就跳到这条语句)

printf(”输入错误\n“);

break;

}

这样的话,只要输入的是1到5,那么都会打印工作日,输入6到7就是休息日。

在while循环中,break用于永久的终止循环。(注意:break只能跳出自己所在的循环,不能跳出多个循环)

例如:

int main()

{

int i = 1;

while (i<=10)

{

if (5==i)

break;(当i循环到5时,进入break,那么就会跳出这个循环,不会再进入while语句)

printf("%d ",i);

}

return 0;

}

在while循环中,continue的作用是跳过本次循环continue后面的代码

例如:

while (i<=10)

{

if (i == 5)

continue;(当i到5时,会进入continue函数,从而跳过后面的函数,重新进入循环。但是,由于跳过了i++,所以进入了死循环)

printf(”%d“,i);

i++;

}

EOF----end of file---文件结束标志(本质上它就是-1)

getchar-----获取一个字符

putchar-----输出一个字符

例如:

int main()

{

int ch = getchar();

putchar(ch);(它的效果等同于printf(”%c“,ch);)

return 0;

}

ctrl+z(键盘上按)----getchar--读取结束

for循环语句用法

for(表达式1 :表达式2 :表达式3)例如:for(i = 1;i<=10;i++)

         初始化       判断           调整

判断部分省略会导致判断部分恒为真,进入死循环。

循环体内改变循环变量不可取。

do while循环(它与while语句很相似,再加入break或continue后,会直接跳出或进入死循环)

特点:do循环至少要执行一次。

do

循环语句(注意:不一定只有一句话,最好使用{})

while(表达式);(;号不能省略)

例如:

int main()

{int i = 1;(这里初始量等于1是为了直接进入运行)

do

{

printf("%d ",i);

i++;

}while(i<=10);

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值