m0_67966063 2022-03-18 11:45 采纳率: 100%
浏览 33
已结题

C语言的数据类型及其运算,语句与输入输出

img

img


各位帮忙看看这些怎么解答,实在是搞不明白c语言啊,学来学去,还是只能理解一点点,第一张图片那个相关知识点,高中没有学,大学不带讲。

  • 写回答

4条回答 默认 最新

  • 赵4老师 2022-03-18 15:49
    关注

    仅供参考:

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <locale.h>
    int main() {
        int i,v;
        char bs[33];
        char b[33];
        char hs[9];
        char h[9];
        char s[4];
        char *e;
    
    // 十进制整数转二进制串;
        i=1024;
        ltoa(i,b,2);
        sprintf(bs,"%032s",b);
        printf("i=%d,bs=%s\n",i,bs);
    // 十进制整数转十六进制串;
        i=1024;
        ltoa(i,h,16);
        sprintf(hs,"%08s",h);
        printf("i=%d,hs=%s\n",i,hs);
    // 十六进制字符串转成十进制数
        strcpy(hs,"00000400");
        sscanf(hs,"%x",&i);
        printf("hs=%s,i=%d\n",hs,i);
    // 二进制字符串转化为十六进制字符串;
        strcpy(bs,"00000000000000000000010000000000");
        i=strtol(bs,&e,2);
        ltoa(i,h,16);
        sprintf(hs,"%08s",h);
        printf("bs=%s,hs=%s\n",bs,hs);
    // 二进制字符串转化为十进制数;
        strcpy(bs,"00000000000000000000010000000000");
        i=strtol(bs,&e,2);
        printf("bs=%s,i=%d\n",bs,i);
    // 十六进制字符串转成二进制串
        strcpy(hs,"00000400");
        sscanf(hs,"%x",&i);
        ltoa(i,b,2);
        sprintf(bs,"%032s",b);
        printf("hs=%s,bs=%s\n",hs,bs);
    // ASC\GBK字符串转十六进制串
        strcpy(s,"a汉");
        i=0;
        while (1) {
            if (0==s[i]) break;
            sprintf(hs+i*2,"%02X",(unsigned char)s[i]);
            i++;
        }
        setlocale(LC_ALL,"chs");
        printf("s=%s,hs=%s\n",s,hs);
    // 十六进制字符串转成汉字(GBK)及字符(ASC)
        strcpy(hs,"61BABA");
        i=0;
        while (1) {
            if (1!=sscanf(hs+i*2,"%2x",&v)) break;
            s[i]=(char)v;
            i++;
        }
        s[i]=0;
        printf("hs=%s,s=%s\n",hs,s);
    
        return 0;
    
    }
    //i=1024,bs=00000000000000000000010000000000
    //i=1024,hs=00000400
    //hs=00000400,i=1024
    //bs=00000000000000000000010000000000,hs=00000400
    //bs=00000000000000000000010000000000,i=1024
    //hs=00000400,bs=00000000000000000000010000000000
    //s=a汉,hs=61BABA
    //hs=61BABA,s=a汉
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月27日
  • 已采纳回答 3月19日
  • 创建了问题 3月18日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效