TOM 发表于 2017-4-30 13:23:16

C语言--学习笔记--第七课

对应表:
0x41

%d 十进制 == 65;
%u 无符号数 == 65;
%c 字符形式表示 == A;
%x 以十六进制显示 ==41;

==================================
0x41A
......
0x61a

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();这个函数即接受一个字符又接受回车;
页: [1]
查看完整版本: C语言--学习笔记--第七课