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;
    }

  • 相关阅读:
    broncho a1 hack指南-准备硬件
    嵌入式GUI ftk0.1发布
    ASP.net页面防刷新
    C#反射入门教程(转)
    万物生萨顶顶
    [转载内容]C# win程序中主窗体菜单的权限控制
    VB.net技巧更新(一)
    XML与dataset里相互读取操作
    操作EXCEL代码(c#完全版)
    [转载内容]动态创建菜单,menustrip,根据权限显示菜单,控制菜单可用,反射,给窗体传值,反射对象传值,public static Object CreateInstance ( Type type, params Object[] args )
  • 原文地址:https://www.cnblogs.com/8013-cmf/p/4619479.html
Copyright © 2011-2022 走看看