精华内容
下载资源
问答
  • printf

    2007-11-26 15:52:00
    今天在写看一c程序的时候既然忘记了%u什么格式转换。现把所有格式都copy下来,便于记忆。  原型:extern void printf(const char *format,...);    用法:#include <stdio.h>    功能:...
      今天在写看一段c程序的时候既然忘记了%u是什么格式转换。现把所有的格式都copy下来,便于记忆。
     原型:extern void printf(const char *format,...);
     
      用法:#include <stdio.h>
     
      功能:格式化字符串输出
     
      说明:format指定输出格式,后面跟要输出的变量
            目前printf支持以下格式:
              %c        单个字符
              %d        十进制整数
              %f        十进制浮点数
              %o        八进制数
              %s        字符串
              %u        无符号十进制数
              %x        十六进制数
              %%        输出百分号%
            一个格式说明可以带有几个修饰符,用来指定显示宽度,小数尾书及左对齐等:
              -         左对齐
              +         在一个带符号数前加"+"或"-"号
              0         域宽用前导零来填充,而不是用空白符
            域宽是一个整数,设置了打印一个格式化字符串的最小域。精度使用小数点后加数字表示的,
            给出每个转换说明符所要输出的字符个数。

    #include <stdio.h>
    #include 
    <system.h>
    main()
    {
        
    int i;
        
    char *str="GGV";
        
        clrscr();
        
        textmode(
    0x00);
        printf(
    "Printf Demo-%%c");
        printf(
    "--------------");
        printf(
    "%c-%c-%c-%c\n",'D','e','m','o');
        printf(
    "%2c-%2c-%2c-%2c\n",'D','e','m','o');
        printf(
    "%02c-%02c-%02c-%02c\n",'D','e','m','o');
        printf(
    "%-2c-%-2c-%-2c-%-2c\n",'D','e','m','o');
        
        getchar();
        clrscr();
        textmode(
    0x00);            // not nessary
        i=7412;
        printf(
    "Printf Demo-%%d");
        printf(
    "--------------");        
        printf(
    "%d\n",i);
        printf(
    "%14d",i);
        printf(
    "%+10d\n",i);       // output format not correct(bug)
        printf("%-10d\n",i);
        
        getchar();
        clrscr();
        printf(
    "Printf - d,o,x");
        printf(
    "--------------");        
        printf(
    "%d\n",i);
        printf(
    "%o\n",i);         // %o and %x not implemented
        printf("%x\n",i);
        
        getchar();
        clrscr();
        printf(
    "Printf Demo-%%s");
        printf(
    "--------------");
        printf(
    "   %s\n","Demo End");
        printf(
    "    %s\n","Thanx");
        printf(
    "    %s\n  %s","Golden","Global View");
        
        getchar();
        
    return 0;
    }

    展开全文
  • 或者任意一个.c文件中,注意不要添加在.h文件中,因为.h文件都要在预编译时候加载在.c文件前面,如果你将下面代码添加进一.h文件中了,那么如果你在后面的程序中多次include了这个.h文件,那么KEIL...

    直接把下面一段代码添加进usart.c文件,或者任意一个.c文件中,注意不要添加在.h文件中,因为.h文件都是要在预编译的时候加载在.c文件的前面的,如果你将下面的这段代码添加进一段.h文件中了,那么如果你在后面的程序中多次include了这个.h文件,那么KEIL编译后就会提示多次重复定义的错误,所以应该把这段代码添加进.c文件中。

     

     //加入以下代码,支持printf函数,可以在其他地方任意使用printf();     
    #if 1
    #pragma import(__use_no_semihosting)             
    //标准库需要的支持函数                 
    struct __FILE 

        int handle; 
    }; 

    FILE __stdout;       
    //定义_sys_exit()以避免使用半主机模式    
    void _sys_exit(int x) 

        x = x; 

    //重定义fputc函数 
    int fputc(int ch, FILE *f)
    {     
        while((USART1->SR&0X40)==0);//循环发送,直到发送完毕   
        USART1->DR = (u8) ch;      
        return ch;
    }
    #endif
     

    展开全文
  • void output(city1,city2) /*输出函数*/ int city1; int city2; { int a,b,c,d,q=0;... printf("\n从%s到%s的最短路径...这代码中的f(q%8==0) 这句什么意思,这代码的输出流程怎样的。本人在此感激不尽。
  • 计算str输出结果

    2019-08-24 17:04:08
    以下程序段的输出结果() char str[] = “ab\012\n”; printf("%d", strlen(str)); 解答: \012表示八进制数10,也就是ASCII码对应的\n符号。 此外\表示一个字符,斜杠。 并且strlen结果不算字符串结束符,所以...

    以下程序段的输出结果是()
    char str[] = “ab\012\n”;
    printf("%d", strlen(str));

    解答:

    \012是表示八进制数10,也就是ASCII码对应的\n符号。
    此外\表示一个字符,斜杠。
    并且strlen结果不算字符串结束符,所以答案为5。
    在这里插入图片描述

    展开全文
  • 以下段程序:int i; char c; for (i=0;i { scanf("%d",&c); printf("i=%d/r/n",i); } 乍看很简单,可真正运行以后,发现问题并不是这么简单1.当你输入数字时,每次输入都会提示你输入2.当你输入字符时,不会...

    有以下一段程序:

    int i;
    char c; 
    for (i=0;i <5;i++) 

       scanf("%d",&c); 
       printf("i=%d/r/n",i); 
    }
    乍看很简单,可真正运行以后,发现问题并不是这么简单

    1.当你输入数字时,每次输入都会提示你输入

    2.当你输入字符时,不会提示你输入

    3.可能输出000001234

     

    因为c的声名是char而不是int。当你令scanf()去读取一个整数时,它需要一个指向一个整数的指针。但这里它得到的是一个字符的指针。但scanf()并不知道它没有得到它所需要的:它将输入看作是一个指向整数的指针并将一个整数存贮到那里。由于整数占用比字符更多的内存,这样做会影响到c附近的内存。c附近确切是什么是编译器的事;在这种情况下这有可能是i的低位。因此,每当向c中读入一个值,i就被置零。当程序最后到达文件结尾时,scanf()不再尝试向c中放入新值,i才可以正常地增长,直到循环结束,同时函数scanf要求读一个数,如果你输入一个字符,那么scanf会执行失败,那个字符还会在缓冲区内,致使缓冲区一直保持有效,所以当你输入字符时,不会提示你输入。

     

    unsigned int a = 0xaaaaaaa7;
    unsigned char i = (unsigned char)a;
    char *b = (char *)&a;
    printf("%08x,%08x",i,*b);

     

    按照上面所说,printf应该%x要求用一个int指针去读数据,而现在是char型,会不会读b的时候造成多读了3个字节呢?没错,理论上应该是这样,可事实上是,b数据在函数中已被提升为一个int型数据,然后再按%x打印出来。

    ps:在C语言中,调用一个不带原型声明的函数时:调用者会对每个参数执行“默认实际参数提升(default argument promotions)”。

    ps:无论什么时候printf打印的是变量的值,不要看到格式串中有个%p,就以为是打印变量的地址。当遇到%s的时候,会把变量的值解析成一个地址,输出这个地址指向的值。

     

    【练习】

     int i;
     short *ps = (short *)(&i);
     char *pc = (char *)(&i);


     i = 0;
     *ps = 1;
     printf("%x/t%x/t%x/n", i, *ps, *pc);//1 1 1

     i = 0;
     *ps = 256;
     printf("%x/t%x/t%x/n", i, *ps, *pc);//100 100 0

     i = 0;
     *ps = -1;
     printf("%x/t%x/t%x/n", i, *ps, *pc);//ffff ffffffff ffffffff

     printf("%d/t%d/n", '0', '/0');//48 0

     

    展开全文
  • ()若变量a、支结中描b、t已经正确定义,要将a和b中的数据进行交换,以下选项中不正确的若有以下程序段:选项int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(%d,%d,%d\n,a,b,c);执行后的输出结果若变量已经正确...
  • 表达式注释输出hello world程序:#include int main(){ /* 我第一个 C 程序 */ printf("Hello, World! "); return 0;}这段程序的分析:程序的第一行 #include 预处理器指令,告诉 C 编译器在实...
  • 以下程序段的输出结果( )。 int main(void) { int num = 0,s = 0; while(num <= 2){ num++; s += num; } printf("%d\n",s); return 0; } 1分 A. 10 B. 6 C. 3 D. 1 我的答案...
  • C 程序结构

    2021-01-02 21:56:08
    让我们看一简单代码,可以输出单词 “Hello World”: 实例 #include<stdio.h> int main(){ printf("Hello word!\n"); } 接下来我们讲解一下上面这段程序程序的第一行 #include <stdio.h> 预...
  • 这个程序与例2.13相比只是把多个printf语句改一个printf 语句输出。但从结果可以看出不同。为什么结果会不同呢?就是因为printf函数对输出表中各量求值顺序自右至左进行 。在式中,先对最后一项“-i--”求...
  • 1.单选(3分)下面程序段的输出结果? 下面程序段的输出结果? int k; while(k!=0) k=k-1; printf(“%d”, k); 2.单选(3分)以下表达式 x&&1 用在 if 的条件中时,和哪个等价的: 【分析:】 当x...
  • C语言程序设计期末考试模拟试卷

    千次阅读 2016-08-02 12:19:54
    单项选择题 ...1) 若有以下程序段 int r=8; printf("%d\n",r>>1); 输出结果:( )。A.4B.8C.16D.2 2) 若有以下语句 typedef struct S { int g; char h; } T; 以下叙述中正确的是(...
  • C Hello World 实例 C 程序主要包括以下部分...int main(){ /* 我第一个 C 程序 */ printf("Hello, World! \n"); return 0;} 接下来我们讲解一下上面这段程序程序的第一行#include <stdio.h>预处...
  • 1.执行以下程序段后,输出结果和a() int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 2.已知字符'A'ASCⅡ代码值65,字符变量c1'A',c2'D'....
  • C语言程序设计错题集

    千次阅读 2020-03-06 18:23:00
    C语言程序设计错题集 ...1.下列程序段输出结果为: int x=1, y=012; printf(“%d”,y*x++); A.20 B.10 C.12 D.24 2.以下表达式x&&1 用在if条件中时,和哪个等价: A.x!=1 B.x==0 C.x==1 D....
  • 【名词解释】文献检索工具【单选题】下列属于文献研究的【填空题】如下程序段的输出结果_。 int i=0,sum=i; do{ sum +=i++; }while(i<6); printf("%d\n",sum);【单选题】以下选项中,当x为大于1的奇数时,值为0...
  • windows 程序设计

    2012-03-07 15:25:21
    程序写作者角度看,这非常凌乱并带来了long或far指针(包括地址和偏移量地址)和short或near指标(包括带有假定地址偏移量地址)区别。 从Windows NT和Windows 95开始,Windows支持使用Intel 386、486...
  • [C]程序

    2018-02-09 15:27:47
    参考http://blog.csdn.net/zhangweiiou/article/details/46964673以下代码段的输出是什么?for ( int i=10; i&gt; 1; i /=2 ) { printf("%d ", i++);}答案 10 5 3 2解析:i=10,输出10,...
  • 试题内容详尽,很好,如: 1. 以下所列的C语言常量中,正确的整型常量: A....3. 下面程序段的输出结果: char x=56; x=x & 056; printf("%d,%o\n",x,x); A. 56,70 B. 0,0 C. 40,50 D. 62,76
  • (2) 用哪两组数据就可以使程序段每个分支都运行一次?这种情形与上面讨论有何不同?如果为了找出程序中积压分支中错误,应该使用什么样数据对程序进行测试?请上机验证自己结论。 (3)用哪两组数据就...
  • ( 应注意赋值不能超过该位域允许范围)程序第12行以整型量格式输出三个域内容。第13行把位域变量bit地址送给指针变量pbit。第14行用指针方式给位域a重新赋值,赋为0。第15行使用了复合位运算符"&=", 该行...
  • 负责CPU能直接访问( )。对字骨折剧痛应选用节代乙酰水杨酸的不良反应不包括码解提供药物安全性的指标有释执治疗胆绞痛宜选用负责解热镇痛...的输出结果释执乙酰胆碱酯酶有下列程序段:int k=0,a=1,b=2,c=3;k=a;k...
  • 递归中return用法,逐级返回

    万次阅读 多人点赞 2019-04-02 20:02:52
    不明白以下程序段的输出为何 #include<stdio.h> int my_pow(int n,int k) { printf(“level %d: k loacation %p\n”, k, &k); if(k>0) my_pow(n,k-1)*k; printf(“level %3d: k loacation %p\...
  • c和c++中

    2021-03-05 21:43:05
    以下程序段的输出结果什么? printf("%d\n", 1 | 0 == 0); printf("%d\n", 0 & 1 == 0); printf("%d\n", 1 + 2 << 3); 答案: 1 0 24 解释:由于位运算符的优先级较低,因此表达式1 | 0 == 0的真正...

空空如也

空空如也

1 2 3 4 5 6
收藏数 112
精华内容 44
关键字:

以下程序段的输出是printf