飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 1778|回复: 0

[C/C++] C语言--学习笔记--第七课

[复制链接]
  • TA的每日心情

    2019-4-15 08:38
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2017-4-30 13:23:16 | 显示全部楼层 |阅读模式
    [C] 纯文本查看 复制代码
    对应表:
    0x41
    
    %d 十进制 == 65;
    %u 无符号数 == 65;
    %c 字符形式表示 == A;
    %x 以十六进制显示 ==41;
    
    ==================================
    0x41  A
    ....  ..
    0x61  a
    
    0~255  //一个字节就可以存完所有的字符;
    
    main()
    {
            char a;
            for(a=0; a<127; a++)
            {
                    printf("%c",a);
            }
    
    }
    
    for(a=0; a<127; a++) a<127不能是255;因为一个字节里面是-128~127;默认不是无符号数;
    
    ========================================================================
    优化调整上面码表
    main()
    {
            unsigned char a;
            printf("\n   ASCII Table Code!!!\n\n");
            printf("     01234567 - 89ABCDEF\n");
            for(a=0; a<255; a++)
            {
                    if(!(a%16))     \* 每循环16个字符执行下面的操作,也就是换行;*\
                    {
                            if(a)
                            {
                                    printf("%c",10);   
                            }                         /*这个if语句的意思是a == 0 不除以16,也就是第一行不回车;*/
                            printf("%x0H: ",a/16);    /*这句的意思在回车之后每行的开始为止标明行号;*/
                    }
                    if((a%16) && !(a%8))
                    {
                            printf(" - ");     /*在整除完16后,在每行的8个字符之后打印" - "这个几个字符;*/
                    }
                    if(a==0||a== 7||a==8||a==9||a==10||a==13||a==26f)  /*把ASCII码表里面不能显示的字符用空格代替;*/
                    {
                            printf(" ");
                    }
                    else
                    {
                            printf("%c",a);
                    }
            }
            printf("\n\n           By:weiwandaixu\n ");
            getch();
    }
    
    printf("\n%03xH:",a/16);可以在%x之间写入数字,它的意思是空几个格,%03x 显示的结果是003H:
    ===========================================================================
    main()
    {
            unsigned char c = 0;
            for(; c<16 ;c++)
            {
                    printf("%d = %c%c\n",c,c,c+1);  /* 测试%d = %c %c+1 进而证实前16的字符*/
            }
    }
    
    显示一下前16个字符都是什么东西。0、7、8、9、10(\n)、13、26(缩进符) 空字符
    
    ===============================================================================
    
    作业:Please input a num : 65 --> Hex:0x41(%x)  ASCII:A(%c)  Num:65(%d)
    
    ==============================================================================
    main()
    {
            char c = 0;
           /* for( c = 0; c < 10 ; c++)  */
           while(c < 10)  /*括号里面只接受判断条件*/
            {
                    printf("%d\n",c++);
            }
    }
    
    =====================================================
    main()
    {
            char c = 0;
            while(1)
            {
                    printf("Please input num: ");
                    c = getch();
                    printf("%c\n",c);
                    printf("Do you keep on:('Y' or 'N')\n");
                    c = getch();
                    if(c != 'y')
                         break;
            } 
    }
    
    这个程序实现是否继续;
    
    c= getch();这句只是获取一个字符,不接受回车;scanf();这个函数即接受一个字符又接受回车;

    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表