美文网首页
(c基础)上课笔记 12.13

(c基础)上课笔记 12.13

作者: 霸王小 | 来源:发表于2016-12-13 20:29 被阅读13次
    • 类型转化

    5/3=1
    5/3=1.000000
    5.000000/3.000000=1.666667
    5.000000/3=1.666667
    ----隐式转化:当赋值号两边类型不同时,自动转化为精度比较高的类型。
    int sum=i/j;
    ----显示转化:强制类型转化,不会改变变量的类型,只做临时一次转化(float只转化了 i)
    float sum1=(float)i/j;

    • 位运算符

    (针对二进制数:&位与,|位或,~位非,^异或,<<左移,>>右移)
    ----&(位与 都为真才为真)讲十进制数,八进制数或十六进制数转化为二进制数进行位与
    ----|(位或 有一为真则为真)讲十进制数,八进制数或十六进制数转化为二进制数进行位或
    ----~(位非 每位取反) 计算机是补码存储,原码输出。可以简单理解记忆为 该数的相反数减一
    ----^ (按位异或 对应位不相同则为一)
    ----<< (左移)>>(右移)

    • 赋值操作符

    (=,+=,-=,*=,/=,%=,&=,|=,<<=,>>=)

    • 逻辑运算符和条件运算符

    ----&& (如果a++<j&&a++>j a++<j为假,则&&后面的运算不会再进行)
    ----?: (条件运算符) 表达式1?表达式2:表达式3 若表达式1为真,则执行表达式2;否则执行表达式3;。

    • 运算符优先级

    ----括号成员第一,全体单目第二,乘除余地三,加减第四,位移第五,关系六,等与不等第七,位与,异或和位或第八九十,逻辑或和逻辑与十一十二,条件条件高于赋值,逗号运算符最低

    • c语言的三大结构

    顺序结构
    分支结构

    ----if
    ----循环结构

    *###作业

    1. 用while循环实现字母三角形

    include <stdio.h>

    include <windows.h>

    int main(int argc,char *argv)
    {
    int i,j,n;
    char string='A';
    while(1)
    {
    printf(" 请输入想要金字塔的高度\n");
    printf(" 输入范围在(1-25)\n");
    printf(" 输入'0'可以退出:");
    scanf("%d",&n);
    if(n>0&&n<26) ;
    else if(n==0)
    exit(0);
    else
    {
    printf("非法输入!");
    getch();
    system("cls");
    continue;
    }
    printf("\n");
    i=0;
    while(i<n)
    {
    j=n-i;
    while(j>0)
    {
    printf(" ");
    --j;
    }
    j=0;
    while(j<((i+1)
    2-1))
    {
    printf("%c",string+i);
    ++j;
    }
    ++i;
    printf("\n");
    }
    getch();system("cls");
    }
    return 0;
    }

    1. for循环三角形

    include <stdio.h>

    include <windows.h>

    int main(int argc,char *argv)
    {
    int i,j,n;
    char string='A';
    for(;;)
    {
    printf(" 请输入想要金字塔的高度\n");
    printf(" 输入范围在(1-25)\n");
    printf(" 输入'0'可以退出:");
    scanf("%d",&n);
    if(n>0&&n<26) ;
    else if(n==0)
    exit(0);
    else
    {
    printf("非法输入!");
    getch();
    system("cls");
    continue;
    }
    printf("\n");
    for(i=0;i<n;i++)
    {
    for(j=n-i;j>0;j--)
    printf(" ");
    for(j=0;j<((i+1)
    2-1);j++)
    printf("%c",string+i);
    printf("\n");
    }
    getch();system("cls");
    }
    return 0;
    }

    1. 模拟电子时钟

    include <stdio.h>

    include <windows.h>

    int H,F,s=0;
    void time(int h,int f)
    {
    int i;
    while(1)
    {
    if(s==60)
    {
    ++f;s=0;
    }
    if(f==60)
    {
    ++h;f=0;
    }
    if(h==24)
    {
    h=0;f=0;s=0;
    }
    Sleep(250);
    system("cls");
    printf("\t\t====================\n");

    printf("\t\t=     %.2d %.2d %.2d     =\n",h,f,s);
    
    printf("\t\t====================\n");
    
    Sleep(250);
    system("cls");
    printf("\t\t====================\n");
    
    printf("\t\t=     %.2d:%.2d:%.2d     =\n",h,f,s);
    
    printf("\t\t====================\n");
    
    Sleep(250);
    system("cls");
    printf("\t\t====================\n");
    
    printf("\t\t=     %.2d %.2d %.2d     =\n",h,f,s);
    
    printf("\t\t====================\n");
    
    Sleep(250);
    ++s;
    }
    

    }
    int main(int argc,char **argv)
    {
    while(1)
    {
    printf("模拟时钟初始化!请输入当前时间(24小时制)\n");
    printf("(输入格式为12点12分)\n");
    scanf("%d点%d分",&H,&F);
    if((H>=0&&H<=23)&&(F>=0&&F<=59))
    break;
    else
    continue;
    }
    time(H,F);
    return 0;
    }

    4.阶梯问题

    int main(int argc,char **argv)
    {
        int i,n=0;
        printf("阶梯问题所得的值:\n");
        for(i=100;i<=999;i++)
        {
        if((i%2==1)&&(i%3==2)&&(i%5==4)&&(i%6==5)&&(i%7==0))
        {
        printf("{ %d } ",i);
        ++n;
        }
        if(n==10) 
        printf("\n");
        }
        printf("\n总共找到%d个。\n\n",n);
        getch();
    }```

    相关文章

      网友评论

          本文标题:(c基础)上课笔记 12.13

          本文链接:https://www.haomeiwen.com/subject/pomvmttx.html