更多“单选题有以下程序 #include main() {  printf(%d,NULL); } 程序运行后的输出结果是(  )。A 0B 变量无定义,输出不确定C -1D 1”相关问题
  • 第1题:

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

  • 第2题:

    有以下程序: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符合愿意。

  • 第3题:

    有以下程序: include main( ) {char s[ ] ="159" , * p;p=s;printf( "% c", * p + +

    有以下程序: #include <stdio.h> main( ) { char s[ ] ="159" , * p; p=s; printf( "% c", * p + + ); printf("%~", * p++);}程序运行后的输出结果是( )。

    A.15

    B.16

    C.12

    D.59


    正确答案:A
    解析:语句p=s将指针变量p指向字符数组s,第一次输出时,由于++和*为同一优先级,而结合方向为自右向左,所以,*p++相于*(p++)。但又因为“++”在p的右侧,所以,先输出*p,得到s[0]的值,然后P++,P指向s[1],故第二次输出时,输出s[1]的值,所以输出结果为15。

  • 第4题:

    以下程序运行后的输出结果是( )。 include main() { int x=20; printf("%d", 0

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

    include<stdio.h>

    main()

    { int x=20;

    printf("%d", 0<x<20);

    printf("%d\n", 0<x && x<20);

    }


    正确答案:10
    10 解析:表达式0x20,首先计算0x,其值为1,再计算120,其值为1,输出1;表达式0x && x20,0x为1,x20为0,再计算1 && 0,其值为0,输出0。所以输出结果为10。

  • 第5题:

    有以下程序includemain(){int*p,j; p=NULL p=fun(); for(j=0;j<4;j+){printf("%d",*p)

    有以下程序 #include<stdio.h> main() { int *p,j; p=NULL p=fun(); for(j=0;j<4;j+){printf("%d",*p);p++;} } int*fun() { int a[4],k; for(k=0;k<4;k++)a[k]=k; return(A) ; } 程序运行后的输出结果是( )

    A.程序有错不能运行

    B.输出4个NULL

    C.输出0 1 2 3

    D.输出1 1 1 1


    正确答案:A

  • 第6题:

    以下程序的输出结果是()。 includemain(){printf("%d\n",NULL);}A.不确定的值(因变量无

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

    A.不确定的值(因变量无定义)

    B.0

    C.-1

    D.1


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

  • 第7题:

    有以下程序include main (){ printf("%d\n", NULL); }A.0B.1C.-1D.NULL没定义,出错

    有以下程序 #include <stdio .h> main () { printf("%d\n", NULL); }

    A.0

    B.1

    C.-1

    D.NULL没定义,出错


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

  • 第8题:

    有以下程序:include main ( ){int a =666,b =888;printf( "%'d \n", a,b); 程序运行

    有以下程序: #include <stdio, h> main ( ) { int a =666,b =888; printf( "%'d \n", a,b); 程序运行后的输出结果是( )。

    A.错误信息,

    B.666

    C.888

    D.666,888


    正确答案:B
    解析:在printf函数中,当格式转换说明符个数少于输出项个数时,多余的输出项不予输出。

  • 第9题:

    以下程序的输出结果是_______。includemain(){printf("%d\n",NULL);}A.不确定的(因变量

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

    A.不确定的(因变量无定义)

    B.0

    C.-1

    D.1


    正确答案:B
    解析:NULL在C编译器中是—个值为0的常量,它的定义在头文件“stdio.h”中,本题的程序在一开始就包含了这个头文件,所以,在打印的时候,将打印出0。

  • 第10题:

    单选题
    有以下程序:#include main(){ int a=7; while(a--); printf(%d, a);}程序运行后的输出结果是(  )。
    A

    -1

    B

    0

    C

    1

    D

    7


    正确答案: B
    解析:
    “++”和“—”运算,当以前缀形式出现时,则先进行加一或减一操作,再取值,当以后缀形式出现时,则先取值,再进行加一或减一操作。程序中执行a--,直到while判断为0时才跳出循环,执行下条语句,即a为0时再执行a--,此时跳出while循环,最终输出的结果为-1。答案选择A选项。

  • 第11题:

    单选题
    有以下程序#include main(){ int i=1; i=i^i; printf(%d,i);}程序运行后的输出结果是(  )。
    A

    7

    B

    -1

    C

    1

    D

    0


    正确答案: D
    解析:
    异或操作,两个操作数相同得0,不同得1,因此自身与自身异或,结果是0。答案选择D选项。

  • 第12题:

    单选题
    有以下程序:#include main(){ char ch[3][5] = {AAAA,BBBB,CC}; printf(%s,ch[1]);}程序运行后的输出结果是(  )。
    A

    AAAA

    B

    CC

    C

    BBBCC

    D

    BBBB


    正确答案: A
    解析:
    程序中声明一个3行4列的字符型数组。要求输出ch[1],由于数组下标默认从0开始,故ch[1]为第二行的BBBB。答案选择D选项。

  • 第13题:

    有以下程序:include main( ){ unsigned int a; int b=-1;a=b;printf(" % u", a);程序

    有以下程序: #include <stdio. h> main( ) { unsigned int a; int b=-1; a=b; printf(" % u", a);程序运行后的输出结果是( )。

    A.-1

    B.65535

    C.32767

    D.-32768


    正确答案:B
    解析:不同类型的对象进行混合运算时,需要进行数据的类型转换,其转换方向为int→unsigned→long→double。本题程序中的变量b为int型,需要转换为unsigned型。int型变量的数值范围为-32768~32767,最高位为符号位,而unsigned所表示的数的范围为0~65535,它的最高位为数值位。由于内存中是以补码形式存储数据的,所以整型数-1在内存中表示为16个1,最高位的1表示符号为负,将它转换为unsigned类型,即将原符号位的1看成数值,所以得到16个数值1,即65535。

  • 第14题:

    有以下程序:include main ( ){char a :'a',b; printf( "% c," , + + a); printf("%c

    有以下程序: #include <stdio. h> main ( ) { char a :'a',b; printf( "% c," , + + a); printf("%c \n" ,b =a++); }程序运行后的输出结果是( )。

    A.b,b

    B.b,c

    C.a,b

    D.a,c


    正确答案:A
    解析:程序中pdntf("%c",++a)是先将a加1,再输a,因此输出的是'b',而pfintf("%c\n",b=a++)是先将a的值赋给b,a再加1,所以输出的也是'b'。

  • 第15题:

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

  • 第16题:

    有以下程序:includemain(){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符合题意。

  • 第17题:

    以下程序的输出结果是______。includemain(){printf("%d\n",NULL);}A.不确定的值B.0C.-

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

    A.不确定的值

    B.0

    C.-1

    D.1


    正确答案:B
    解析:NULL的代码值为0,所以printf("%d\n",NULL)相当于printf("\n",0)。

  • 第18题:

    有以下程序: include main( ) {intc = 35; printf( "% d \n" , e&c); }程序运行

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

    A.0

    B.70

    C.35

    D.1


    正确答案:C
    解析:按位与运算符“&”的运算规则是:如果两个相应的二进制位都为1,则该位的结果为1,否则为0。因为本题中相与的两个数相同,即对应位的二进制数相等,所以结果为其值本身。

  • 第19题:

    以下程序的输出结果是(44)。 #include"" void main( ){ printf("%d\n",NULL);}

    A.不确定的值

    B.0

    C.-1

    D.1


    正确答案:B
    解析:本题考查C语言的基本语法知识。在C语言中,NULL是一个关键字,它的默认值是0,题目中的代码是输出变量NULL的值,因此,结果为0。

  • 第20题:

    下列程序的输出结果是______。include main(){printf("%d\n",NULL);}A.不确定(因变量无

    下列程序的输出结果是______。#include <stdio.h>main (){ printf("%d\n",NULL);}

    A.不确定(因变量无定义)

    B.0

    C.-1

    D.1


    正确答案:B

  • 第21题:

    下列程序的输出结果是().  main()  {   printf("%d/n",null);  }

    • A、0
    • B、变量无定义
    • C、-1
    • D、1

    正确答案:B

  • 第22题:

    单选题
    有以下程序:#include main(){ int a=3; int b=3; printf(%d, a&b);}程序运行后的输出结果是(  )。
    A

    6

    B

    1

    C

    0

    D

    3


    正确答案: D
    解析:
    “&”按位与运算符。a=3=11B,b=3=11B,按位与结果为11B=3,答案选择D选项。

  • 第23题:

    单选题
    有以下程序#include #include main(){ int a = 3; printf(%d,(a+=a-=a*a));}程序运行后的输出结果是(  )。
    A

    -12

    B

    9

    C

    0

    D

    3


    正确答案: C
    解析:
    C语言中,表达式从右向左计算。a+=a-=a*a;可以写成a-=a*a; a+=a; 而a-=a*a等价于a=a-(a*a)=3-(3*3)=-6;a+=a等价于a=a+a=(-6)+(-6)=-12。答案选择A选项。