有以下程序    &e

题目

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

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

第1题:

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

第2题:

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

A.ABCDDEFEDBD

B.abcDDfefDbD

C.abcAAfefAbA

D.Abcddfefdbd


正确答案:B
在内存中,字符数据以ASCIl码存储,它的存储形式与整数的存储形式类似。c语言中,字符型数据和整型数据之间可以通用,也可以对字符型数据进行算术运算,此时相当于对它们的ASCIl码进行算术运算,在本题中,s++相当于s=s+1,即让s指向数组中的下一个元素。

第3题:

有以下程序: 程序运行后的输出结果是( )。A.b,B,b,AB.b,B,B,AC.a,B,B,aSX

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

A.b,B,b,A

B.b,B,B,A

C.a,B,B,a

D.a,B,a,B


正确答案:A
函数fun的第一个参数传指针,可以将更改后的值传回调用函数,第二个参数传值,不能将更改后的值传回调用函数,故选A)。

第4题:

有以下程序: 程序运行后的输出结果是( )。A.11,12B.12,13C.13,14SXB

有以下程序:

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

A.11,12

B.12,13

C.13,14

D.14,11


正确答案:B
本题中定义了一个结构体数组dt[2],其中dt[0].x=11,dt[O].y=12,dt[1].x=13,dt[1].y=14。在main函数中指针P指向了结构体数组的第一个元素,因此P一>x值为ll,P_>y值为l2,自加运算的结果分别为12和13。

第5题:

有以下程序: 程序运行后的输出结果是( )。 A.3,3,3B.2,2,3C.1,2,3

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

A.3,3,3

B.2,2,3

C.1,2,3

D.1,l,3


正确答案:A
根据程序可以分析出系统只分配了一个整型数据的存储空间,把这个空间的地址分别赋给了指针型变量a,b和c。程序利用指针a把数据1写入了该空间,然后利用指针b,把数据2写入该空间,所以原来的1就被覆盖掉了,最后用指针c把数据3写入该空间把数据2覆盖掉了,此空间中最后留有的数据是3。因为3个指针都指向该空间,所以输出数据均为3。

第6题:

有以下程序includemain(){int a=5,b=lt; t=(a<<2)|b;printf("%d\n",t);}程序运行后的

有以下程序 #include<stdio.h> main() { int a=5,b=lt; t=(a<<2)|b;printf("%d\n",t); } 程序运行后的输出结果是______。

A.21

B.11

C.6

D.1


正确答案:A
解析:本题主要考查了C语言的逻辑运算符,先将变量a,b的值转换为2进制数,a=00000101,b=00000001,a先左移 2位结果为00010100,再与b按位或运算,结果为00010101,转换为十进制数为21,因此,选项A是正确的。

第7题:

有以下程序 include main() { char a=4; printf("%d/n,a=a

有以下程序 #include <stdio.h> main() { char a=4; printf("%d/n,a=a<<1); } 程序的运行结果是______。

A.40

B.16

C.8

D.4


正确答案:C
解析:“”是按位左移运算符,左移一位相当于该数乘以2,左移两位相当于该数乘以2的2次方,所以本题相当于将4乘以2,结果为8。

第8题:

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

第9题:

有以下程序: 运行后的输出结果是( )。A.MtemoonB.AftemoonC.MorningSXB

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

A.Mtemoon

B.Aftemoon

C.Morning

D.orning


正确答案:B
语句voidfun(char**P)中的形参是一个指向指针的指针,在调用函数fun(a)后,指针数组a加1,

第10题:

有以下程序

A.A

B.B

C.C

D.D


正确答案:A
本题考查的是break语句。d0…while循环是“先执行,后判断”,所以无论条件如何,它都至少会执行一遍。程序首先初始化变量i为5,然后进A.d0…while循环体,首先判断(i%3==1),因为5%3=2,所以if条件不满足,跳过下面的if语句,执行i++,i变为6。第l遍循环结束,判断(i!=0)为真,继续循环。现在i%3--6%3--0,所以if语句还是不被执行,继续i++,i变为7,仍然满足(if-0),继续循环。第3遍循环i%3=7%3=1,满足条件(i%3==1),继续判断条件i%5==2成立,即输出*7,然后执行break语句跳出循环。错误.