下列程序段的输出结果为().   int a=7,b=9,t;   t=a*=ab?a:b;   printf("%d",t);A、7B、9C、63D、49

题目

下列程序段的输出结果为().   int a=7,b=9,t;   t=a*=a>b?a:b;   printf("%d",t);

  • A、7
  • B、9
  • C、63
  • D、49
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序

main()

{ int i,t[][3]={9,8,7,6,5,4,3,2,1};

for(i=0;i<3;i++) printf(" % d",t[2-i][i]);

}

程序执行后的输出结果是

A)7 5 3

B)3 5 7

C)3 6 9

D)7 5 1


正确答案:B
(34)B) 解析 : 本题考查多维数组的初始化 。 使用一个大括号初始化多维数组时 , 初始化原则为先列后行 , 即初始化完第一行的所有列后再初始化下一行的元素。程序输出 t[2][0] 、 t[1][1] 、t[0][2], 它们的值分别为 3 、 5 、 7 。

第2题:

有以下程序: main() {int i,t[][3]={9,8,7,6,5,4,3,2,1}; for(i=0;i<3;i++)printf("%",t[2-i][i]); } 程序执行后的输出结果是( )。

A.7 5 3

B.3 5 7

C.3 6 9

D.7 5 1


正确答案:B
解析:定义二维数组时第一维的长度可以不指定,该程序中t[][3]通过赋初值等价于t[3][3],并且其数组按行进行赋值,故通过for循环输出的分别是t[2][0]、t[1][1]和t[0][2]。

第3题:

有以下程序

int a=4;

int f(int n)

{ int t=0; static int a=5;

if(n%2) {int a=6; t+=a++;}

else {int a=7 ;t +=a++ ; }

return t+a++ ;

}

main( )

{ int s=a , i=0 ;

for( ; i 〈 2 ; i++) s+=f(i);

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

}

程序运行后的输出结果是

A)24

B)28

C)32

D)36


正确答案:B

第4题:

下列程序的输出结果是()。includestruct abc{int a, b, c, s;};main(){struct abc s[2]

下列程序的输出结果是( )。 #include <stdio.h> struct abc { int a, b, c, s;}; main() { struct abc s[2]={{1,2,3},{4,5,6}}; int t; t=s[0].a+s[1].b; printf("%d\n",t); }

A.5

B.6

C.7

D.8


正确答案:B
解析:在本题中,s[0].a=1,s[1].b=5,所以输出结果为6。

第5题:

下列程序的输出结果是【 】。include void swap(int *a, int *B) { int *t; t=a;a=b;b=t;

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

include <stdio.h>

void swap(int *a, int *B)

{

int *t;

t=a;a=b;b=t;

}

main()

{

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

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

}


正确答案:3 5
3 5 解析:本题考查函数中实参和形参的传递,在C语言函数中实参和形参传递具有不可逆性,参数只能由实参传向形参,而不能由形参传向实参,虽然swap函数的功能是实现两个数的交换,但没有返回值,故最终的输出结果为3 5。

第6题:

有以下程序:void main(){int t=1,i=5; for( ;i=0;) i--;t*=i; printf("%d\n",t);}执行后输出结果是。


正确答案:×
赋值符号将i赋值为0,即使得表达式的值为0,不执行循环体,t=t*i=0,所以输出为0.

第7题:

有下列程序:main{int i,s=0,t[]={1,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);printf(&qu

有下列程序:

main

{int i,s=0,t[]={1,2,3,4,5,6,7,8,9};

for(i=0;i<9;i+=2)s+=*(t+i);

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

}

程序执行后的输出结果是( )。

A.A.45

B.20

C.25

D.36


正确答案:C
在for循环语句中自变量i从0开始,每次自加2,执行s+=*(t+i)语句,因为C语言规定数组名做表达式相当于数组的首地址,也就是第一个元素的地址。因此,*(t+i)代表数组的第i+1个元素。所以程序运行的结果是1+3+5+7+9=25,即变量S的值等于25。

第8题:

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

#include <stdio.h>

void swap(int *a,int *b)

{ int *t;

t=a; a=b; b=t;

}

main()

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

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

}


正确答案:

第9题:

下列程序的输出结果是( )。 #include<stdio.h> int b=2: int func(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。

第10题:

下列程序的输出结果是______。 struct abc { int a,b,c;}; main () { struct abc s[2]={{1,2,3},{4,5,6}}; int t;t=s[0].a+s[1].b; printf("%d\n",t); }

A.5

B.6

C.7

D.8


正确答案:B

更多相关问题