02600C语言程序设计

以下程序的输出结果是()      #include      union pw  {int i;char ch[2];}a;   main( )  {a.ch[0]=13;a.ch[1]=0;printf(”%d/n”,a.i);}      (注意:ch[0]在低字节,ch[1]在高字节。) A、13B、14C、208D、209

题目

以下程序的输出结果是()      #include      union pw  {int i;char ch[2];}a;   main( )  {a.ch[0]=13;a.ch[1]=0;printf(”%d/n”,a.i);}      (注意:ch[0]在低字节,ch[1]在高字节。) 

  • A、13
  • B、14
  • C、208
  • D、209
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列程序的输出结果是()。inCludemain(){char ch[2][5]={"1234","5678,},*p[2];int i,j

下列程序的输出结果是( )。 #inClude<stdio.h> main() { char ch[2][5]={"1234","5678,},*p[2]; int i,j,s=0; for(i=0;i<2;i++) p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>'\0';j+=2) { s=p[i][j]-'0';

A.8

B.7

C.12

D.9


正确答案:B
解析: 第1次执行for循环,p[1][0]=p[1][0]-1=3;第2次执行for循环,p[1][1]=p[1][1]-1=4;第3次执行for循环,p[1][2]=1,最后输出的是a[0][1]+a[1][1]+a[1][2]=2+4+1=7。

第2题:

下面程序的运行结果是( )。include define SlZE 12 main() {char s[SIZE];int i;for(i=0

下面程序的运行结果是( )。

include<stdio.h>

define SlZE 12

main()

{char s[SIZE];int i;

for(i=0;i<SIZE;i++) s[i]='A'+i+32;

sub(s,5,SIZE-1);

for(i=0;i<SIZE;i++)printf("%c",s[i]);

printf("\n");}

sub(char *a,int t1,int t2)

{ char ch;

while(t1<t2)

{ ch=*(a+t1);

*(a+t1)=*(a+t2);

*(a+t2)=ch;

t1++;t2--;

}

}


正确答案:abcdelkjihgf
abcdelkjihgf 解析:本题先给字符型数组s的12个元素赋值a到1共12个字母,函数sub(char*a,int t1,int t2)的功能是将数组a的从第t1+1个元素到t2+1个元素进行逆置,在主函数中调用sub(s,5,SIZE-1)函数,是将数组s的第6个元素到第12个元素进行逆置,其他元素位置不变。

第3题:

有以下程序

main()

{ union

{ char ch[2];

int d;

} s;

s.d=0x4321;

printf(" % x, % x\n",s.ch[0],s.ch[1]);

}

在 16 位编译系统上,程序执行后的输出结果是

A)21,43

B)43,21

C)43,00

D)21,00


正确答案:A
(41)A) 解析 : 因为联合的两个变量共用一段内存 ,ch[0] 占用低字节 ,ch[1] 占用高字节 , 所以在读它们的时候还是原来的数据 , 没发生改变。

第4题:

若有如下程序: main() {int a=6;char ch=c; printf("%d\n",(a&2)&&(ch<'m'));} 则程序运行后的输出结果是( )

A.0

B.1

C.2

D.3


正确答案:A

第5题:

以下程序的输出结果是______。 main() { char ch[2][5]={"6937","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>'\0';j+=2) s=10*s+p[i][j]-'\0'; printf("%d\n",s); }

A.69825

B.59713

C.6385

D.693825


正确答案:C
解析:p是指向字符的指针数组。执行第1个循环后,p[0]指向字符数组ch的第1行"6937",p[1]指向字符数组ch的第2行"8254",那么p[0][0]其实就对应着ch[0][0],表示第1行的第1个元素“6”。第2个循环中,外层i循环是控制指针数组p的,内层j循环则是对每一行内的各个元素进行处理,特别注意循环变量j的改变"j+=2"。这样就可以看出是对ch[0][0]、ch[0][2]、ch[1][0]和ch[1][2]进行处理。

第6题:

有以下程序:includeunion pw{int i; char ch[2];}a;main(){a.ch[0]=13;a.ch[1]=0;prin

有以下程序: #include<stdio.h> union pw { int i; char ch[2]; }a; main() { a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);} 程序的输出结果是( )。

A.13

B.14

C.208

D.209


正确答案:A
解析:在本题中,首先定义了一个共用体pw,其中有两个域:整型变量i和字符数组ch。因为共用体中的域是共享内存空间的,数组元素由低到高存储:ch[0]在低字节;ch[1]在高字节;整型变量i占两个字节,高位与ch[1]共用存储空间,低位与ch[0]共用存储空间,而高位ch[1]的值为0,所以输出的成员变量i的值就是ch[0]的值13。

第7题:

有以下程序 main() { union { char ch[2]; int d; }s; s.d=0x4321; printf("%x,%x\n",s.ch[O],s.ch[1]); } 在16位编译系统上,程序执行后的输出结果是______。

A.21,43

B.43,21

C.43,00

D.21,00


正确答案:A
解析:此题考核的是共用体的特征。int类型变量和字符数组ch共用两个字节的相同的存储单元,通常ch[0]位于低字节,ch[1]位于高字节,所以s.ch[0]=21,s.ch[1]=43。

第8题:

下列程序运行时 , 若输入 labcedf2df< 回车 > 输出结果为【 1 0 】

#include <stdio.h>

main()

{ char a=0,ch;

while((ch=getch ar ())!='\n')

{ if(a%2!=0&&(ch>='a'&&ch<='z')) ch=ch-'a'+'A';

a++; putchar(ch);

}

printf("\n");

}


正确答案:

第9题:

下列程序运行时,若输入labcedf2df<回车>输出结果为【】。 include main(){char a=0,ch; wh

下列程序运行时,若输入labcedf2df<回车>输出结果为【 】。

include<stdio.h>

main()

{ char a=0,ch;

while((ch==getchar())!='\n')

{ if(a%2!=0&&(ch>='a'&&ch<='z')) ch=ch'a'+'A';

a++;prtchar(ch);

}

printf("\n");

}


正确答案:1AbCeDf2dF
1AbCeDf2dF 解析:本题的执行过程是先从键盘上获得—个字符,判断是不是换行符,如果不是则继续执行循环体,再判断字符变量 a是否是偶数以及是否是小写字母,如果a不是偶数且输入的字符为小写字母,则将其转换成大写字母,接着执行a++;语句,变量a自增1,输出字符,因此本题的输出结果为1AbCeDF2dF(a相当于用来记录当前的顺序,即是第偶数个字符还是第奇数个字符)。
字符位数:0 123456789
输入字符:1 abcedf2df
输出字符:1 AbCeDf2dF

第10题:

下列程序(注意:ch[0]在低字节,ch[1]在高字节)的输出结果是______。includeunion pw{int

下列程序(注意:ch[0]在低字节,ch[1]在高字节)的输出结果是______。#include<stdio.h>union pw{ int i;char ch[2];}a;main (){ a.ch[0]=13;a.ch[1]=0; printf("%d\n",a.i);}

A.13

B.14

C.208

D.209


正确答案:A

更多相关问题