zoukankan      html  css  js  c++  java
  • day 2

    三目运算符

    A?B:C    

    等价于

    if(A)

      B;

    else

      C;

    实例:

    int i;

    i=(3>2?5:1)  //如果3》2为真,i的值为5,否则为1

    printf(“%d”,i);

    逗号表达式

    格式  

    (A,B,C,D)

    功能: 从左到右执行

        最终表达式的值是最后一项的值 

    实例:

    #include <stdio.h>
    int main(void)
    {
    int i;
    int j=2;
    i=(j++,++j,j+2,j-3);
    printf("%d ",i);

    return 0;
    }

    结果为1。

    while循环

    1.执行顺序

    格式: while(表达式)

        语句;

    2.与for的相互比较

    for和while可以相互转换,但for的逻辑性更强,更不容易出错

    for(1;2;3)

        A;

    等价于

    1;

    while(2)

    {

    A;

    3;

    }

    //for 与 while的转换
    #include <stdio.h>
    int main(void)
    {
    int sum=0;
    int i;
    /*for(i=1;i<101;i++)
    sum=sum+i;
    */
    i=1;
    while (i<101)
    {
    sum=sum + i;//语句一
    i++; //语句二 语句一与语句二顺序不可以调转
    }
    printf("%d ",sum);

    return 0;
    }

    3.实例

    从键盘输入一个数字,如果该数字是回文数,返回yes,否则返回no。

    回文数:正着写和倒着写都一样  比如:121

    #include <stdio.h>
    int main(void)
    {
    int i;
    int m;
    int sum=0;
    printf("请输入您要判断的数字:");
    scanf("%d",&i);
    m=i;
    while(m)
    {
    sum= sum *10+m%10;
    m/=10;//等价于m=m/10
    }
    if(sum ==i)
    printf("yes ");
    else
    printf("no! ");

    return 0;
    }

    //斐波拉契数列 1 2 3 5 8 13 21 34
    #include <stdio.h>
    int main(void)
    {
    int n;
    int f1,f2,f3;

    int i;
    f1=1;
    f2=2;
    printf("请输入您要输入的序列:");
    scanf("%d",&n);
    if (1==n)
    {
    f3=1;
    }
    else if(2==n)
    {
    f3=2;
    }
    else
    {
    for (i=3; i<=n;i++)
    {
    f3=f1+f2;
    f1=f2;
    f2=f3;
    }
    }
    printf("%d ",f3);
    return 0;
    }

    do... while:主要用于人机交互

    格式:do

    {

    ...

    } while(表达式);

    do ...while..并不等价于for,也不等价于while

    代码整理格式:全选(ctrl+a)---》alt+f8

    //斐波拉契数列 1 2 3 5 8 13 21 34
    #include <stdio.h>
    int main(void)
    {

    int n;
    int f1,f2,f3;
    char ch;
    int i;
    f1=1;
    f2=2;
    do
    {
    printf("请输入您要输入的序列:");
    scanf("%d",&n);
    if (1==n)
    {
    f3=1;
    }
    else if(2==n)
    {
    f3=2;
    }
    else
    {
    for (i=3; i<=n;i++)
    {
    f3=f1+f2;
    f1=f2;
    f2=f3;
    }
    printf("%d ",f3);
    }

    printf("您想继续吗(y/n):");
    scanf(" %c", &ch); //%c前面要加一个空格(空白符的问题)
    }//while (1);
    while ('y'==ch || 'Y'==ch);

    return 0;
    }

  • 相关阅读:
    leetcode 第二题Add Two Numbers java
    二叉树中的那些常见的面试题(转)
    运行的指令
    Python常见经典 python中if __name__ == '__main__': 的解析
    软件测试基本概念
    JAVA Android王牌教程
    17个新手常见Python运行时错误
    QTP
    链表有关的常见面试题
    Robot Framework and Ride
  • 原文地址:https://www.cnblogs.com/8013-cmf/p/4619479.html
Copyright © 2011-2022 走看看