参考答案和解析
正确答案:A
更多“以下程序段的输出是() floata=57.666; printf(“*%010.2f*/n”,a);A、*0000057.66*B、*57.66*C、*0000057.67*D、*57.67*”相关问题
  • 第1题:

    以下程序段的输出结果是

    int a=1234;

    printf("%2d\n",a);

    A.12

    B.34

    C.1234

    D.提示出错、无结果


    正确答案:C

  • 第2题:

    设已执行预编译命令include,以下程序段的输出结果是char s[]="an apple";printf("%d\

    设已执行预编译命令#include<string.h>,以下程序段的输出结果是 char s[]=" an apple" ; printf("%d\n",strlen(s));

    A.7

    B.8

    C.9

    D.10


    正确答案:B

  • 第3题:

    下列程序的输出为()includestdio.h;main(){intm=13;floata= 12.6,x;x=m/2+a/2;printf(“%f\n”,x);}

    A.12

    B. 12.3

    C. 12.8

    D. 12.3


    正确答案:B

  • 第4题:

    有以下程序 include main( ) { printf("%d\n",NULL); } 程序运行后的输出结果是

    有以下程序

    #include <stdio.h>

    main( )

    { printf("%d\n",NULL); }

    程序运行后的输出结果是

    A.0

    B.1

    C.-1

    D.NULL没定义,出错


    正确答案:A
    解析:因为在头文件stdio.h中,已对NULL作了宏定义,其值为0。

  • 第5题:

    有以下程序:include main(){ printf("%d\n",NULL);}程序运行后的输出结果是()。A.0B.1C

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

    A.0

    B.1

    C.-1

    D.NULL没定义,出错


    正确答案:A
    解析:在C语言中NULL的ASCII码值为0,而输出函数要求以整形格式输出,故最后的输出数为0。所以,4个选项中选项A符合愿意。

  • 第6题:

    以下程序段的输出结果是______。 int a=1234; printf("%2d\n",a);

    A.12

    B.34

    C.1234

    D.提示出错


    正确答案:C

  • 第7题:

    以下程序的输出结果是( )。 main { int a=3: printf("%d\n",(a+a-=a*a)); }A.-6B.12S

    以下程序的输出结果是( )。 main { int a=3: printf("%d\n",(a+a-=a*a)); }

    A.-6

    B.12

    C.0

    D.-12


    正确答案:D
    本题可以写成:a+a+(a-(a*a)),所以*的优先级最高,其次是-=的,+的优先级最低,因此先求a-=a*a=9,表达式变为a+a+-=9,a即a=a-9=-6,再次变为a+(-6)=-12,故选择D选项。

  • 第8题:

    有以下程序

    #include <stdio.h>

    void func(int n)

    { int i;

    for(i=0;i<=n;i++) printf(”*”);

    printf(”#”).

    }

    main( )

    { func(3); printf(”???? ”); func(4); printf(”\n”); }

    程序运行后的输出结果是

    A)****#????***#

    B)***# ????*** *#

    C)**#????*****#

    D)****#????*****#


    正确答案:D
    【答案】D
    【知识点】函数调用中形参与实参的关系
    【解析】第一次调用实参为3,所以形参变量n为3,打印四个*号后打印一个#号。然后在主函数中打印四个?。再次调用func函数,实参值为4,所以形参n的值为4,按照循环,打印五个*号后结束循环,再打印一个#号。

  • 第9题:

    以下程序的输出结果是( )。 char str[15]=”hello!”; printf(“%d\n”,strlen(str)); A.15

    以下程序的输出结果是( )。 char str[15]=”hello!”; printf(“%d\n”,strlen(str));

    A.15

    B.14

    C.7

    D.6


    正确答案:D

  • 第10题:

    下列程序段的输出结果是【】。int n="c"; switch(n++) {default:printf("error"

    下列程序段的输出结果是【】。

    int n="c";

    switch(n++)

    {default:printf("error");break;

    case "a":

    case "A":

    case "b":

    case "B":printf("good");break;

    case "c":case"C":printf("pass");

    case "d":case"D":printf("warn");

    }


    正确答案:

    n++是在执行完其所在的语句后再加1,因此,在执行case的时候,n的值依然为'c',执行case'c'后面的语句,先打印出“pass”;在执行完case'c'后,未遇到break跳出switch,便接着执行下面的语句,又打印出warn。所以此题输出结果是passwarn。

  • 第11题:

    以下程序段的输出结果是()。    Char s[]I=”/1238/080abc”;    printf(”%d/n”,strlen(s));


    正确答案:2

  • 第12题:

    填空题
    以下程序段的输出结果是()。    Char s[]I=”/1238/080abc”;    printf(”%d/n”,strlen(s));

    正确答案: 2
    解析: 暂无解析

  • 第13题:

    有以下程序 include main() { int n,*p=NULL; *p=&n; printf("

    有以下程序 #include <stdio.h> main() { int n,*p=NULL; *p=&n; printf("Input n:");scanf("%d",&p);printf("output n:");printf("%d\n",p); } 该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是

    A.int n,*p=NULL;

    B.*p=&n;

    C.scanf("%d",&p)

    D.printf("%d\n",p);


    正确答案:A
    解析:指针变量在定义时需要加星号,而在赋值时则不用,故选项B)错误。本题中,scanf()函数和printf()函数都是要对指针变量p指向的地址处的数据进行访问,不是变量本身。选项C)中多了取地址运算符,选项D)中少了指针运算符。

  • 第14题:

    以下程序的输出结果是( )。

    int a=1234;

    printf ("-\n",a);


    正确答案:
    1234

  • 第15题:

    有如下程序 main() { int n=9; while(n>6){ n-; printf("%d",n); } } 该程序段的输出结果是______。

    A.987

    B.876

    C.8765

    D.9876


    正确答案:B

  • 第16题:

    以下程序段的输出结果是 char s[]="\\141\141abc\t"; printf ("%d\n",strlen(s));

    A.9

    B.12

    C.13

    D.14


    正确答案:A
    解析:本题考核的知识点是字符串的长度。字符数组中可以存放字符串,但字符数组的长度并不是字符串的长度,字符串的长度是指字符数组中存放的有效字符个数,即,'\0'之前的字符数。字符数组s中依次存放的字符是:'\\"1"4"1"141"a"b"c"\t'和最后一个字符串结束标记'\0',故字符串的长度是9。所以,4个选项中A为所选。

  • 第17题:

    有以下程序includemain(){printf("%d\n",NULL);}程序运行后的输出结果是A.0B.1C.-1D.N

    有以下程序 #include<stdio.h> main() {printf("%d\n",NULL);} 程序运行后的输出结果是

    A.0

    B.1

    C.-1

    D.NULL没定义,出错


    正确答案:A
    解析:在C语言中NULL的ASCII码值为0,而输出函数要求以整型格式输出,故最后的输出数为0。

  • 第18题:

    有以下程序#include <stdio.h>main { int n,*p=NULL; *p=&n; printf("Input n:"); scanf("%d",&p); printf("output n:"); printf("%d\n",p);}该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是A.int n,*p=NULL; B.*p=&n; C.scanf("%d",&p) D.printf("%d\n",p);


    正确答案:A
    在C语言中存在直接存取和间接存取两种访问内存数据的方法。前者利用变量名隐式地访问内存:首先定义变量,然后由编译系统完成从变量名到内存地址的映射工作,用户通过变量名访问内存空间,变量地址对用户完全透明。后者则通过指针显式地访问内存:用户直接使用变量的地址,或者将变量的地址值储存于特殊的变量中,然后通过此特殊的变量获取地址值访问内存。
    为了更好地使用指针变量,C语言提供了获取变量地址和通过地址访问变量的运算符“&”和“*”。
    (1)取地址运算符“&”的使用格式为:&变量名,如&a表示变量a在内存中的地址。本运算符实现从变量到地址的转化。
    (2)指针运算符“*”的使用格式为:*指针变量名,如*p表示指针变量p所指向的变量的值。本运算符实现从地址到变量的转化。
    在本题中,程序的作用已经给出,下面分别分析各选项中的语句。在选项A中,定义了一个整型变量n和一个整型指针变量p,并使其指向一个空,即不指向任何变量,该语句是正确的语句;在选项B中,由于*p表示值,而&n表示地址,它们之间进行赋值操作明显是错误的;在选项C中,由于p是指针变量,没有&p表示方法,因此错误;在D选项中,输出的是p指针所指向的地址,而不是p指针所指向的变量值,不符合题目的要求。

  • 第19题:

    以下程序的输出结果是()。includemain(){int n=4; while(n--) printf("%d",--n);}A.2 0

    以下程序的输出结果是( )。 #include <stdio.h> main() { int n=4; while(n--) printf("%d ",--n); }

    A.2 0

    B.3 1

    C.3 2 1

    D.2 1 0


    正确答案:A
    解析:n--是先使用后自减,--n是先自减后使用。n=4时,执行n--后,n变为3,执行--n后,n变为2,所以,第一次输出时,n为2;同上过程,第二次输出时,n为0。

  • 第20题:

    有以下程序: 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的值。

  • 第21题:

    下面程序段的输出为( )。 include "stdio.h" main { printf("%d\n",12<<2); }A.0SXB

    下面程序段的输出为( )。 #include "stdio.h" main { printf("%d\n",12<<2); }

    A.0

    B.47

    C.48

    D.24


    正确答案:C
    本题考查位运算的运算原理。<<为左移运算符,运算符的左边是移位对象;右边是整型表达式,代表左移的位数,左移时,右端(低位)补0;左端(高位)移出的部分舍弃。

  • 第22题:

    设已执行预编译命令include,以下程序段的输出结果是()。char s[]="an apple";printf("

    设已执行预编译命令#include<string.h>,以下程序段的输出结果是( )。 char s[]=" an apple" ; printf(" %d\n" ,strlen(s));

    A.7

    B.8

    C.9

    D.10


    正确答案:B
    解析:如果一个字符数组中存放一个字符串,则函数strlen的值为“\0”之前的全部字符个数,也包括空格在内。注意:字符串处理函数的使用。

  • 第23题:

    若有以下程序段:charstr[]=”ab/n/012///””;printf(“%d”,strlen(str));该程序段的输出结果是()

    • A、3
    • B、4
    • C、6
    • D、12

    正确答案:C