niusouti.com
更多“以下程序的输出结果为() #include "stdio.h" ”相关问题
  • 第1题:

    以下程序的输出结果是( )。 includefun(){ int a=0;a+=3;printf("%d",A); } main() {int

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

    include<stdio.h>

    fun()

    { int a=0;

    a+=3;

    printf("%d",A);

    }

    main()

    { int cc;

    for(cc=1;cc<=4;cc++)

    fun();

    printf("\n");

    }


    正确答案:3 3 3 3
    3 3 3 3 解析:本题考查for循环,for(cc=1;cc=4;cc++)表示循环4次,a+=3表示每次a的值增加3,但是子函数中没有将变量a定义为static类型,所以每次调用完子函数之后,变量a所做的改变都不能保存,这样在下一次调用子函数时,a的初值仍是0,所以不管调用多少次,子函数输出始终是3。

  • 第2题:

    以下程序的输出结果是() include main( ) { int a,b; for(a=1,b=1,a<=50;a+ +)

    以下程序的输出结果是 ( ) # include<stdio.h> main( ) { int a,b; for(a=1,b=1,a<=50;a+ +) { if(b>=10) break; if (b%2==1) { b+=2; continue } b+=2; } printf("%d\n",a); }

    A.4

    B.5

    C.6

    D.7


    正确答案:C

  • 第3题:

    以下程序的输出结果是()includeincludemain(){char str[12]={'s','t','r',

    以下程序的输出结果是( ) #include<stdio.h> #include<string.h> main() {char str[12]={'s','t','r','i','n','g'}; printf("%d\n",strlen(str)); }

    A.6

    B.7

    C.11

    D.12


    正确答案:A

  • 第4题:

    下列程序段的输出结果为()。 include main() {static char a[]="language"; char*p; p=

    下列程序段的输出结果为( )。

    #include<stdio.h>

    main()

    { static char a[]="language";

    char*p;

    p=a;

    for(p=a;p<a+8;p+=2)

    putchar(*p);

    }

    A.language

    B.lnug

    C.有语法错误

    D.lang


    正确答案:B
    解析:本程序首先定义了静态字符数组a,然后将指针p指向数组a的首地址。第1次for循环,p=a,p指向数组的第1个元素,*p是取指针p所指地址的内容,输出1;第2次for循环, p=p+2,则p指向数组的第3个元素,*p是取指针p所指地址的内容,输出n;第3次for循环,p=p+2,则p指向数组的第5个元素,*p是取指针p所指地址的内容,输出u;第4次for循环,p=p+2,则p指向数组的第7个元素,*p是取指针p所指地址的内容,输出g,结束循环。

  • 第5题:

    以下程序的输出结果为()。includemain(){ char *alpha[6]={"ABCDEFGH","IJKL","MNOP","

    以下程序的输出结果为( )。 #include<stdio.h> main() { char *alpha[6]={"ABCDEFGH","IJKL","MNOP","QRST","UVWX"}; char**p;int i; p=alpha; for(i=0;i<4;i++)printf(" %s" ,p[i]);printf("\n" );}

    A.ABCDEFGHIJKL

    B.ABCD

    C.ABCDEFGHIJKLMNOPQRST

    D.AEIM


    正确答案:C
    解析:字符串数组中的每个元素是一个指向字符串的字符指针,可用一个指向指针的指针来指向一个字符串数组,题中p即为一个这样的指针,p[i]则指向了数组alpha的第i+1各元素。注意:用带下标的指针变量引用一维数组中的元素。

  • 第6题:

    以下程序的输出结果是#include "stdio.h"main(){ int a=065; printf("%d\n",--a);}


    正确答案:52
    本题主要考查数据的格式化输出。程序首先给整型变量a赋一个八进制数的初值,根据输出的格式“%d”我们知道,最终需要输出一个十进制数的结果,因此,首先需要将八进制数转换为十进制数,这个过程我们可以通过二进制数来实现,即首先将八进制转换为二进制,然后将二进制转换为十进制。
    由于2的3次方等于8,因此,一位八进制数对应于三位二进制数,因此,65对应的二进制数为110101,其中6对应前面的110,而5对应后面的101,再将这个二进制数转换为十进制为32+16+4+1=53,再自减1后输出。因此,本题程序的输出结果为52。

  • 第7题:

    以下程序的输出结果是【】。 include main() {struct stru {int a; float b; char d[4]; }

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

    include<stdio.h>

    main()

    { struct stru

    { int a;

    float b;

    char d[4];

    };

    printf("%d\n",sizeof(struct stru));

    }


    正确答案:10
    10 解析:结构体变量占用内存空间的字节数是结构体各分量占用内存空间的字节数的总和。int型变量占用2字节,float型变量占用4字节,char型占用1字节,char d[4]是含有4个元素的char型数组,占用4字节。sizeof(struct stru)是计算结构体变量占用内存空间的字节数,2+4+4=10。

  • 第8题:

    下面程序段的输出为( )。 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;左端(高位)移出的部分舍弃。

  • 第9题:

    以下程序的输出结果是______。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)。

  • 第10题:

    有以下程序: 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。因为本题中相与的两个数相同,即对应位的二进制数相等,所以结果为其值本身。

  • 第11题:

    有以下程序:include include main(){char *p[10]={"abc","aabdfg","dcdbe"

    有以下程序: #include <stdio.h> #include <string.h> main() { char *p[10]={"abc","aabdfg","dcdbe","abbd","cd"}; printf("%d\n",strlen(p[4])); } 执行后的输出结果是( )。

    A.2

    B.3

    C.4

    D.5


    正确答案:A
    解析:p是由10个指向字符型数据的指针元素组成的指针数组,其中前5个数组元素进行了初始化。p[4]="cd",strlen(str)是统计字符串str中字符的个数(不包括终止符'\0'),输出结果为2。

  • 第12题:

    以下程序的输出结果为() #include "stdio.h" main( ){int a;for(a=0;a<10;a++);printf("%d",a);}


    正确答案:10

  • 第13题:

    以下程序的输出结果是______。include void swap(int *a, int *b){ int *t;}{ int i=3,j

    以下程序的输出结果是______。

    include <stdio.h>

    void swap(int *a, int *b)

    { int *t;

    }

    { int i=3,j=5,*p=&i,*q=&j;

    swap(p,q); printf("%d %d\n",*p,*q);


    正确答案:

  • 第14题:

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

  • 第15题:

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

  • 第16题:

    下列程序段的输出结果为( )。 include main() { static char a[]="language"; char *p;

    下列程序段的输出结果为( )。 #include<stdio.h> main() { static char a[]="language"; char *p; p=a; for(p=a;p<a+8;p+=2) putchar(*p); }

    A.language

    B.lnug

    C.有语法错误

    D.lang


    正确答案:B
    解析:本程序首先定义了静态字符数组a,然后将指针P指向数组a的首地址。第1次for循环,p=a,p指向数组的第1个元素,*p是取指针P所指地址的内容,输出1;第2次for循环,p=p+2,则p指向数组的第3个元素,*p是取指针p所指地址的内容,输出n;第3次for循环,p=p+2,则p指向数组的第5个元素,*p是取指针p所指地址的内容,输出u;第4次for循环,p=p+2,则p指向数组的第7个元素,*p是取指针p所指地址的内容,输出g,结束循环。

  • 第17题:

    以下程序的输出结果为______。 include main() { int m=7,n=4; float a=20.0,b=10.0,x;

    以下程序的输出结果为______。 #include<stdio.h> main() { int m=7,n=4; float a=20.0,b=10.0,x; x=m/2+n*a/b+1/4; printf("%f\n",x); }

    A.11

    B.11

    C.11.25

    D.11.75


    正确答案:A

  • 第18题:

    以下程序运行后的输出结果是( )。 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。

  • 第19题:

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

  • 第20题:

    下列程序的输出结果是()。 include include main() {char a[]="\n123\\";pr

    下列程序的输出结果是( )。 #include<stdio.h> #include<string.h> main() { char a[]="\n123\\"; printf ("%d,%d\n",strlen(a),sizeof(a)); }

    A.5,6

    B.5,5

    C.6,6

    D.6,5


    正确答案:A
    解析:转义字符'\n'表示换行,'\\'表示反斜杠,函数strlen()是计算字符串的长度,不包括文件结束标志('\0'),函数sizeof()统计字符串所占的字节数。

  • 第21题:

    有以下程序: #include <stdio.h> main( ) { int a=7; while(a--); print[("%d\n",a); } 程序运行后的输出结果是( )。

    A.-l

    B.0

    C.1

    D.7


    正确答案:A
    此题考查a--和--a之间的区别,当while(a--)为真循环执行,a--是执行再减1,所以答案选择A。

  • 第22题:

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

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

    #include<stdio.h>

    main()

    { int a=4;

    printf("%d\n",(a+=a-=a*A) );

    }

    A.-8

    B.14

    C.0

    D.-24


    正确答案:D
    解析:表达式a+=a-=a*a看起来复杂,其实将它分成两个表达式来计算就简单了:①第一个表达式(a-=a*a)=(a=a-a*a=-12);②第二个表达式 (a+=a-=a*a)=(a=a+a=-24)。

  • 第23题:

    以下程序输出结果是 include main ( ){int i=0,a=0; while ( i<2 0 ){for(;;){if ((i

    以下程序输出结果是 #include <stdio.h> main ( ) { int i=0,a=0; while ( i<2 0 ) { for(;;) { if ((i%10) ==0) break; else i--; } i+=11; a+=i; } print f ( "%d\n" , a); }

    A.21

    B.32

    C.33

    D.11


    正确答案:B
    解析:break语句只能在循环体和switch语句体内使用。本题程序为在while循环中嵌套for循环。先看内层for循环,该循环的3个表达式全部省略,循环条件始终为真,但循环体内的break语句为终止循环的条件。首先,由初始条件判断外层循坏while括号内表达式的值,该值为真,执行本次while循环,即执行循环体内的订语句,判断该表达式后面括号里表达式的值为真,执行break语句,跳出内层循环,执行下面的语句,此时i和a的值均变为11;回到外层循环,判断表达式“i20”仍为真,执行内层循环语句,此时if条件不满足,执行else语句,i的值为10,继续内层循环,if语句条件满足,执行break语句,跳出内层循环,执行下面的语句后,i和a的值分别是21和32。再判断外层循环的条件为假,结束循环.所以,4个选项中B为所选。

  • 第24题:

    以下程序的输出结果为() #include "stdio.h" main( ){int a=010,j=10;printf("%d,%d/n",++a,j--);}


    正确答案:9,10