更多“下列程序的输出结果是()。 #include<stdio.h> main() {int a=4; printf("%d\n",(a+=a-=a*A) ); }A ”相关问题
  • 第1题:

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

    A.-6

    B.1

    C.2

    D.-12


    正确答案:D
    解析:赋值运算符的结合方向是自右至左,所以表达式a+=a-=a*a先运算最右边的a*a得9,再运算a=a-9,即a=3-9,所以此时a的值由3变成了-6,最后运算a=a+(-6),即a=(-6)+(-6)=-12。

  • 第2题:

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

  • 第3题:

    下列程序的输出结果是()。include main(){int a=O,i; for (i=1;i<5;i++) {swich(i){cas

    下列程序的输出结果是( )。 #include <stdio.h> main() { int a=O,i; for (i=1;i<5;i++) { swich(i) { case 0: case 3:a+=1; case 1: case 2:a+=2; default:a+=3; } } printf ("%d", a); }

    A.19

    B.18

    C.6

    D.8


    正确答案:A
    解析:本题考查switch语句。当i=1时,执行case 1,因为没有遇到break语句,所以依次往下运行,a=a+2=2,a=a+3=5;当i=2时,执行case 2,因为没有遇到break语句,所以依次柱下运行,a=a+2=7, a=a+3=10:当i=3时,执行case 3,a=a+1=11,因为没有遇到 break语句,所以依次往下运行,a=a+2=13,a=a+3=16;当i=4时,执行default,a=a+3=19,结束循环。

  • 第4题:

    以下程序的输出结果是()。include main(){int i; for(i=1;i<5;i++) {if(i%2) printf("*

    以下程序的输出结果是( )。 #include <stdio.h> main() { int i; for(i=1;i<5;i++) { if(i%2) printf("*"); else continue; printf("#"); } printf("$\n");

    A.*#*#*#$

    B.#*#*#*$

    C.*#*#$

    D.#*#*$


    正确答案:C
    解析:程序中当i不能整除2时输出*,然后输出#,能够整除2时将结束本次循环,进入到下一次循环。当循环结束后,输出$。

  • 第5题:

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

  • 第6题:

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

  • 第7题:

    下列程序的输出结果是【】。 include void fun(int x) { if(x/2>0) fun(x/2); printf("%d"

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

    include <stdio.h>

    void fun(int x)

    {

    if(x/2>0) fun(x/2);

    printf("%d",x);

    }

    main()

    {

    fun(3);printf("\n");

    }


    正确答案:13
    13 解析:此题考查的是函数的递归调用,进入主函数调用fun()函数,进行if语句的判断,当x=3时,条件成立,执行fun(x/2);语句,递归调用fun()函数本身,进行if语句条件判断,if(x/2>0)条件不成立,用printf输出1;返回上一次调用fun()函数,printf输出3,因此程序的最终输出结果为:13。

  • 第8题:

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

    下列程序的输出结果是( )。 #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)。

  • 第9题:

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

    A.{

    B.1

    C.2

    D.-12


    正确答案:D
    解析:赋值运算符的结合方向是自右至左,所以表达式a+a-=a*a先运算最右边的a*a得9,再运算a=a-9,即a=3-9,所以此时a的值由3变成了-6,最后运算a=a+(-6),即a-(-6)+(-6)=-12。

  • 第10题:

    以下程序的输出结果是______。 include main() { int a=5,b=4,c=6,d; printf("%d\n",d=

    以下程序的输出结果是______。 #include<stdio.h> main() { int a=5,b=4,c=6,d; printf("%d\n",d=a>b?(a>c?a:c):(b)); }

    A.5

    B.4

    C.6

    D.不确定


    正确答案:C

  • 第11题:

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

    下列程序的输出结果是( )。#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*8看起来复杂,其实将它分成两个表达式来计算就简单了:①第一个表达式(a-=a*a)=(a=a-a*a=-12);②第二个表达式(a+=a-=a*a):(a=a+a-24)。

  • 第12题:

    单选题
    有以下程序#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选项。

  • 第13题:

    以下程序运行后的输出结果是( )。 include main(){ int a=1, b=7; do { b=b/2; a+=b

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

    include<stdio.h>

    main()

    { int a=1, b=7;

    do {

    b=b/2; a+=b;

    } while(b>1);

    printf("%d\n",A);

    }


    正确答案:5
    5 解析:该程序考查do-while循环。循环共进行两次。第一次循环b=3,a=4;第二次循环b=1,a=5。输出a的值为5。

  • 第14题:

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

  • 第15题:

    下列程序的输出结果是()。 include int b=2; int fune(int*a) {b+=*a;return b;} main(

    下列程序的输出结果是( )。 #include<stdio.h> int b=2; int fune(int*a) { b+=*a;return b;} main() { int a=1,t=2; t+=func(&a); printf("%d\n",t); }

    A.4

    B.5

    C.6

    D.8


    正确答案:B
    解析:本题考查函数调用时的参数传递。在执行函数func时,由于全局定义了一个变量b,所以在函数体中执行时b-2+1-3,最终t=2+3=5。

  • 第16题:

    若执行下列程序时从键盘上输入2,则输出结果是()。 inclUde main() {int a; scanf("%d",

    若执行下列程序时从键盘上输入2,则输出结果是( )。

    #inclUde<stdio.h>

    main()

    {int a;

    scanf("%d",&A);

    if(a++<3)

    printf("%d\n",A);

    else printf("%d\n",a--);

    }

    A.1

    B.3

    C.2

    D.4


    正确答案:B
    解析:本题考查if else语句。程序中首先使用函数scanf()通过键盘读入a的值,并通过第1个if语句,先判断条件,取a的值2和3比较,然后将a的值加1,发现条件成立,执行下列的printf语句,输出a的值3。

  • 第17题:

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

  • 第18题:

    以下程序的输出结果是( )。 include main()fint x=0; sub(&x,16,2); printf("%d\n",

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

    include<stdio.h>

    main()

    fint x=0;

    sub(&x,16,2);

    printf("%d\n",x);

    }

    sub(int*a,int n,int k)

    {if(k<=n) sub(a,n/2,2*k);

    *a+=k;

    }


    正确答案:14
    14 解析:本题考查递归函数的调用。在主函数中调用sub(&x,16,2)函数,此时n=16,k=2,if语句的控制的条件k=n成立,所以执行下面的语句,调用sub(x,8,4),此时n=8,k=4,if语句的控制条件k=n成立,所以执行下面的语句,调用sub(x,4,8),此时n=4,k=8,if语句控制的条件k=n不成立,因此,最后得x=2+4+8=14。

  • 第19题:

    下列程序舶输出结果是【 】。include main() {int a[5]={2,4,6,8,10},*p;p=a;p++;printf("

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

    include <stdio.h>

    main()

    {

    int a[5]={2,4,6,8,10},*p;

    p=a;p++;

    printf("%d",*p);

    }


    正确答案:4
    4 解析:题目中定义了一个数组和指针,接着将数组的首地址给了指针,即指针p指向数组a的第一个元素,通过p++,p指向了数组a的第二个元素,所以输出结果为4。

  • 第20题:

    有如下程序#include "stdio.h"void fun(int *a,int *b){ int m; m=(*a+*b)*(*a+*b); m+=(*a-*b)*(*a-*b); printf("%d\n",m);}main(){ int a=5,b=6,*x=&a,*y=&b; fun(x,y);}程序执行后输出的结果为A.120 B.121 C.122 D.123


    正确答案:C
    在本题程序中,首先定义了一个fun函数,函数带有两个指针变量的形参,在程序体中,定义一个整型变量m用来保存计算的结果,然后执行第一条运算语句,并将运算结果保存至变量m,然后执行第二条运算语句,最后输出程序m的值。
    在主函数中,首先定义两个整型变量a和b,并分别赋值为5和6,定义两个指针变量x和y,分别指向变量a和b。然后调用函数fun,调用函数传递的参数为x和y,因此,执行m=(*a+*b)*(*a+*b)=(5+6)*(5+6)=121,然后执行m+=(*a-*b)*(*a-*b)等价于m=m+(-1)*(-1)=121+1=122。因此,本题程序的输出结果为122,答案选C。

  • 第21题:

    以下程序的运行结果是() include main() { int a=015,b=22; printf("%d,%d\n",a

    以下程序的运行结果是 ( ) # include<stdio.h> main( ) { int a=015,b=22; printf("%d,%d\n",a+ +,- -b); }

    A.15,22

    B.15,21

    C.13,21

    D.14,21


    正确答案:C

  • 第22题:

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

    下列程序的输出结果是( )。 #include<stdio.h> main() { int a=4; print f("%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=-2):②第二个表达式 (a+=a-=a*a)=(a=a+a=-24)。

  • 第23题:

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

    以下程序的输出结果是( )。 include<stdio.h> fun() {static int a=0; a+=3;printf("%d",A); } main() {int cc; for(cc=1;cc<5;cc++)fun(); printf("\n"); }


    正确答案:3 6 9 12
    3 6 9 12 解析:本题考查最基本的for循环。for(cc=1;cc5;cc++)规定循环次数为4次,每次a+=3,即每次a的值增加3,但因为fun函数中变量a为static类型,所以每次调用完子函数之后,变量a所做的改变都要保存。