有以下程序: include main( ){ int m =12,n=34;printf( "% d% d" ,m++ , ++n);printf(有以下程序: #include <stdio.h>main( ){ int m =12,n=34; printf( "% d% d" ,m++ , ++n); printf("% d% d \n" ,n ++ , ++m); }程序运行后的输出结果是( )。A.12353514B.12353513C.12343514D.12343513

题目
有以下程序: include main( ){ int m =12,n=34;printf( "% d% d" ,m++ , ++n);printf(

有以下程序: #include <stdio.h>main( ){ int m =12,n=34; printf( "% d% d" ,m++ , ++n); printf("% d% d \n" ,n ++ , ++m); }程序运行后的输出结果是( )。

A.12353514

B.12353513

C.12343514

D.12343513


相似考题
参考答案和解析
正确答案:A
解析:程序执行printf("%d%d",m++,++n);后,输出的是m和n+1的值1235,然后m+1=13,再执行printf("%d%d\n",n++,++m);输出n和m+1的值3514,之后n+1=36。这里要注意的是m++和++m的区别:m++是先输出m的值,再执行m++;++m是先执行++m,再输出m的值。
更多“有以下程序: #include <stdio.h>main( ){ int m =12,n=34;printf( "% d% d" ,m++ , ++n);printf( ”相关问题
  • 第1题:

    以下4个程序中,完全正确的是A.include main(); {/*programming*/ printf("programming

    以下4个程序中,完全正确的是

    A.#include<stdio.h> main(); {/*programming*/ printf("programming!\n");}

    B.#include<stdio.h> main() {/*/programming/*/ printf("programming!\n");}

    C.#include<stdio.h> main() {/*/*programming*/*/ printf("programming!\n")}

    D.include<stdio.h> main() {/*programming*/ printf("programming!\n");}


    正确答案:B
    解析: 选项A)main();的分号是错误的,不能有分号;选项C)的注释语句多了两个*号;选项D)include前面没有#。

  • 第2题:

    有以下程序 main() { int m=12,n=34; printf("%d%d",m++,++n); printf("%d%d\n",n++,++m); ) 程序运行后的输出结果是

    A.12353514

    B.12353513

    C.12343514

    D.12343513


    正确答案:A
    解析:本题考查的是自加运算符的运用。自加运算符有前缀和后缀两种不同的形式,对于变量本身来说,无论是前缀还是后缀其作用的效果都是相同的,使变量值增1。但作为表达式来说却有着不同的值,前缀时自增表达式的值是变量增1,后的值,而后缀时自增表达式的值是变量增1前的值。本题程序开始定义了两个整型变量m和n,并分别初始化为12和34.第一条输出语句是按整型格式输出表达式m++和++n的值,根据前面所述,表达式m++的值为12,++n的值为35,所以第一次输出的字符串是"1235",执行完后m和n的值都自增1,分别是13和35.接下来第二条输出语句也是按整型格式输出表达式n++和++m的值,分别是35和14,故最终的输出应该为“12353514”,所以,4个选项中选项A符合题意。

  • 第3题:

    以下四个程序中,完全正确的是()

    A.#include <stdio.h> main(); {/*/ programming /*/ printf("programming!n");}

    B.#include <stdio.h> main() {/* programming */ printf("programming!n"); }

    C.#include <stdio.h> main() {/*/* programming */*/ printf("programming!n"); }

    D.include <stdio.h> main() {/* programming */ printf("programming!n"); }


    B 在选项A中,main()函数后面的分号是错误的,C语言在函数名后而不能有分号。在C语言中注释内容必须放在”/’和”+/”之间,”/”和”*/”必须成对出现,按语法规定在注释之间不可以再嵌套”/∥’和”+/”。在选项C的程序段中注释语句之间有嵌套;所以选项C不正确。C语言用#inc1ude命令行来实现文件包含的功能。#inc1ude命令行的形式为:#inc1ude”文件名”,所以存选项D中inc1ude前面少了一个#符号,因而选项D不正确。

  • 第4题:

    以下四个程序中,完全正确的是______。A.include main(); {/*programming*

    以下四个程序中,完全正确的是______。

    A.#include <stdio.h> main(); {/*programming*/ printf("programming!\n");}

    B.#inc lude<stdio.h> main() {/*/programming/*/ printf("programming!\n");}

    C.#include <stdio.h> main() {/*programming*/ printf("programming!\n");}

    D.include<stdio.h> main() {/*/*programming*/*/ printf("programming!\n");}


    正确答案:C
    解析:C程序中注释用“/*”和“*/”括起来,它可以出现在程序中任何合适的地方。选项A中“main();”是—个函数声明语句,下面的大括号及其内容作为—个语句块,应放在程序的大括号中,故选取项A错误;选项B中的注释语句不正确,因为程序在编译时认别到两次“/*”作为注释的开始,但为识别到“*/”作为注释的结束,故选项B错误;选项 D的“include”前缺少“#”,故选项D错误。

  • 第5题:

    有以下程序 main() {int m=12,n=34; printf("%d%d",m++,++n); printf("%d%d\n",n++,++m); } 程序运行后的输出结果是

    A.12353514

    B.12353513

    C.12343514

    D.12343513


    正确答案:A
    解析:自增运算符“++”,放在变量之前表示在使用变量之前,先使变量的值加1;放在变量之后表示在使用变量之后,再使变量的值加1。第一条输出语句,先输出 m=12,m再自加1,变成13,n先自加1再输出,输出n=35;第二条输出语句,先输出n=35,n再自加1,变成36,m先自加1再输出,输出m=14。