Linux C语言开发-D10-D14语句

abs()绝对值函数,头文件为stdlib.h

sqrt()开根号函数,头文件为math.h,并且在编译时-lm链接数学库

判断一个年份是否是润年

        1、能被4整除,但不能被100整除的年份是润年

        2、能被4整除,能被100整除,又能被400整除的年份

switch语句

switch中表达式的变量必须是整形、字符型、枚举类型

以下是一个整形和一个枚举类型的例子,其中枚举类型默认从0开始

goto语句

当函数有很多个出口,使用goto把这些出口几种到一处是很方便的,特别是函数中有许多重复的清理工作时:

        可无理由跳转

        可以减少嵌套

        可以避免忘记更新某一个出口点的问题

        帮助编译器做了代码优化

while语句

        要注意:

                1、变量初值

                2、终止条件

                3、变量变化

pow(x,y)表示x的y次方,需引入头文件<math.h>,并在编译时加上-lm

for语句

 for(expression1;expression2;expression3) {statements;}

执行过程:

        1、先求解表达式1;

        2、求解表达式2,若为真,则执行循环体,然后执行步骤3,若为假,则执行步骤5

        3、求解表达式3;

        4、转回执行步骤2;

        5、执行for下面的语句

表达式1可省略,但循环前应给循环变量赋值

表达式2可省略,将陷入死循环

表达式3可省略,但在循环体中增加使循环变量值改变的语句

for(;;)相当于while(1)

例子:利用for循环打印下面的图案

辅助控制语句

break只能用于循环语句和switch语句中

素数:在一个大于1的自然数中,除了1和此整数自身外,没有其他自然数整除的数。(1和0都不是素数,也不是合数)

continue:结束本次循环,接着判断下一次是否执行循环

continue不能在单独的switch中使用,因为switch是分支语句。可以在有for外层循环中使用,用于结束当前循环

例子:对判断素数的程序进行完善,若用户输入的不是整数,重新输入

        判断用户输入是不是整数是通过scanf的返回值,ret=scanf("%d",&n),如果返回值是0,就不是整数

        下图中,用户和scanf之间有一个输入缓冲区,用户输入是先放入到缓冲区中,如果输入的是w,接着就放到了缓冲区中,此时scanf看到是w,而不是一个整形,就不从缓冲区取值,导致了下面程序的不断循环,可以在goto loop上面写getchar()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值