c语言中myun表示什么意思,2017年计算机二级C语言备考习题

以下是小编为大家整理的2017年计算机二级C语言备考习题,大家可以来做一做,巩固一下自己的知识。

1.下列选项中非法的字符常量是***  ***。

A.’\t’

B.’\039’

C.’,’

D.’\n ’

2.以下程序的输出结果是***  ***。

main***  ***

{ char ch[3][4]={"123","456","78"***,*p[3];int i;

for***i=0;i<3;i++***p[i]=ch[i];

for***i=0;i<3;i++***printf***"%s",p[i]***;}

A.123456780

B.123 456 780

C.12345678

D.147

3.以下程序的输出结果是***  ***。

main***  ***

{ char w[][10]={"ABCD","EFGH","IJKL","

MNOP"***,K;

for***k=1;k<3;k++***printf***"%s\n",w[k]***;

A.ABCD

FGH

KL

B.ABCD

EFG

U

C.EFG

JK

O

D.EFGH

UKL

4.以下程序的输出结果是***  ***。

union myun

{ struct

{int x,y,z;***u;

int k:

}a;

main***  ***

{ a.u.x=4;a.u.y=5;a.u.z=6;

a.k=0;

printf***%d\n",a.u.x***;

}

A.4

B.5

C.6

D.0

5.若有以下定义和语句:“double r=99,*p=&r;*P =r;”,则以下正确的叙述是***  ***。

A.两个*p含义相同,都说明给指针变量p赋值

B.在“double r=99,*p=&r;”中,把r的地址赋值给了P所指的存储单元

c.语句“*p=r;”把变量r的值赋给指针变量P

D.语句“*p=r;”取变量r的值放回r中

6.以下程序的输出结果是***  ***。

main***  ***

{int x=0.5;char z=’a’;

printf***"%d\n",***x&1***&&***z

A.0

B.1

C.2

D.3

7.若希望下列的`程序运行后输出25,程序空白处的正确选项是***  ***。

main***  ***

{int id=50,a[]=***7,4,10,5,8};

for*** ***

j+=a[i];

printf***"%d",j-40***;

}

A.i=1;i<4;++i

B.i=l;i<3;++i

C.i=4;i>2;i--

D.i=2;i<4;++i

8.若二维数组a有m列,则在a[i][j]前的元素个数为***  ***。

A.i*m+j-1

B.i*m+j

C.J*m+i

D.i*m+j+1

9.下列程序的输出结果是***  ***。

#include

int fun***int a***

{int b=0;

static int c=4:

a=c++:b++;

return***a***:

main***  ***

{int a=2,i,c;

for***i=0:i<2;i++***

c=f***a+1***:

printf***"%d\n",c***;

}

A.4

B.7

C.6

D.5

10.定义结构体数组:

struct stu

{int num;

char nameE20];

}X[5]={1,"LI",2,"ZHAO",3,"WANG",4," ZHANG",5,"LIU"***;

for***i=1;i<5;i++***

printf***"%d%c",x[i].num,x[i].name[2]***;

以上程序段的输出结果为***  ***。

A.2A3N4A5U

B.112A3H4I

C.1A2N3A4U

D.2H3A4H5I

参考答案及解析:

1.B。(解析)水平制表符中,’\t’表示的是横向跳若干格;选项B中,’\039’错误,’\039 ’是八进制形式表的字符,最大数为7,但其中出现’ 9’,’,’是字符逗号;选项D中,’\n ’表示的是换行。

2.B。(解析)第一个for循环的作用是让p指向每行的首地址,第二个for循环的作用是把它指向的字符串输出,故选择B选项。

3.D。(解析)当k=1时,循环成立,输出w[l]的数组即EFGH,接着执行k++后k为2;当k=2时,循环成立,输出w[2]的数组即IJKL,接着执行k++后,k为3;当k= 3时,循环不成立,退出。

4.D。(解析)因为a是结构体变量,最后一次输入的值为结构体中的值,即a中的任何一个值都为0。

5.B。(解析)在定义*p=&r时,是表示r的地址赋给了p所指的存储单元,因此选项B正确。

6.B。(解析)***x&1***&&***z

7.D。(解析)要想使程序输出25,则j-40=25,j=65,而j初值是50,所以填入for循环的语句,使引用的数组元素累加65-50=15即可,D选项中,i下标从0开始,i=2指向第3个数50+a[2]=50+10=60,继续循环60+a[3]= 60+5=65,此时i=4跳出,循环结束。

8.B。(解析)二维数组的元素可以看成是按矩阵形式存放的,数组第一维的下标是i,说明它前面还有i行,有i* m个元素,数组第二维的下标是j,说明它前面还有j列,有j 个元素,所以共有i*m+j个元素。

9.D。(解析)static变量是局部度量,函数无法修改,所以当i=1时,第2次进入f函数时c=5,所以最终main***  *** 函数中C的值为5。

10.A。(解析)本题主要考查结构体数组的使用。x [i].num为结构体x[i]中的hum成员,x[i].num[2]是结构体x[i]中name成员的第3个元素。程序执行循环过程时:第1次循环,i=1,输出x[i].num,x[1].name[2]的值;第2次循环,i=2,输出x[2].num,x[2].name[2]的值,即3N;第3

次循环,i=3,输出X[3].hum,x[3].name[2]的值,即4A;第4 次循环,i=4,输出x[4].num,x[4].name[2]的值,即5U。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值