c语言乘积imnl,2017年计算机二级C语言考前必做试题及答案2

00837299fca5f17d14d316abbff0f0ff.png

(21)有以下程序:

05aa1da4866350d9c4fa4a4809b0de2e.png

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

A.852

B.963

C.741

D.875421

(22)有以下程序:

4a04538aa54cb0525b4d101a89a87dcb.png

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

A.let=4

B.m=2

C.m=6

D.m=5

(23)有以下程序:

17157334f7a8ee59d47c8d88d0909168.png

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

A.6

B.3

C.8

D.12

(24)有以下程序:

77c640d8a818f7f9a85e875526f4d099.png

则以下函数调用语句错误的是(   )。

A.k:f(a,B.;

B.k:add(a,B.;

C.k=(*f)(a,B.;

D.k=*(a,B.;

(25)有以下程序

a0f4c9b47b57c1ec31d4604c5bdce1e1.png

(26)下列定义数组的语句中,正确的是(   )。

52f5a8cb760f6bf82d9607da7e0d1bf6.png

(27)有以下程序:

f51e82789bb4e1f8ee7d69adcb1b7d55.png

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

A.0 3 0 4

B.2 0 5 0

C.3 3 4 4

D.3 0 4 0

(28)有以下程序:

55b0bcaab49f3aeda572e0f7e5fcf0a0.png

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

A.3

B.4

C.l

D.9

(29)以下语句中存在语法错误的是(   )。

16d1b9428927215453d907bdf742e012.png

(30)以下不能将s所指字符串正确复制到t所指存储空间的是(   )。

A.do{*t++=*8++;}while(*s);

B.for(i=0;t[i]=s[i];i++);

C.while(*t=*s){t++;s++;}

D.for(i=0,j=0;t[i++]=s[j++];);

(31)有以下程序:

f069e5bad40ba05924c9bfd453f17d2f.png

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

A.10,One*Dream!

B.9,One*Dream!

C.9,One*World

D.10,One*World

(32)有以下程序:

1fdc40367fd4331a44f94312438e202c.png

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

A.0

B.3

C.7

D.8

(33)有以下程序:

a97f817cb1a047038711f4a1c7cef1fc.png

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

A.5,11

B.5,5

C.11,11

D.11,5

(34)在c语言中,只有在使用时才占用内存单元的变量,其存储类型是(  )。

A.aut0和static

B.extern和register

C.aut0和register

D.static和register

(35)下面结构体的定义语句中,错误的是(  )。

A.struct ord{int x;int Y;int z;}struct ord a;

B.struct ord{int x;im Y;im z;};struct ord a;

C.struct ord{int x;int Y;int Z;}a;

D.struct{int x;int Y;int z;}a;

(36)有以下程序:

0dcbf4483df6a528d4bb0d2866fc5915.png

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

A.2,4

B.1,2

C.1,4

D.2.3

(37)以下叙述中正确的是(  )。

A.在C语言中,预处理命令行都以“#”开头

B.预处理命令行必须位于c源程序的起始位置

C.#include必须放在C程序的开头

D.C语言的预处理不能实现宏定义和条件编译的功能

(38)有以下程序:

13c47457ada03c89c367862ee6b439b6.png

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

A.O

B.10

C.20

D.出错

(39)有以下程序:

cce601094ba5f5d0cca2165cadf503e8.png

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

A.16

B.1

C.32

D.O

(40)读取二进制文件的函数调用形式为:fread(buffer,size,count,fp);,其中buffer代表的是(  )。

A.一个内存块的字节数

B.一个整型变量,代表待读取的数据的字节数

C.一个文件指针,指向待读取的文件

D.一个内存块的首地址,代表读人数据存放的地址

(21)A【解析】第一次for循环,y的值为9,y%3的值为3,满足条件打印一一Y,即先减一后打印,所以打印8;第二次for循环,Y的值为7,y%3的值为1,不执行打印语句;第三次for循环,y的值为6,y%3的值为0,满足条件打印一一Y,即先减一后打印,所以打印5;第四次for循环,Y的值为4,不满足if条件,不执行打印语句;第五次for循环,Y的值为3,满足if条件,打印输出2;第六次for循环,Y的值为1,不满足条件,不执行打印语句。

(22)C【解析】第一次外循环i的值为l,第一次内循环j的值为3,不满足条件执行in}=i}j即m的值为3;第二次j的值为2,不满足条件执行m·=i*j,即m的值为6;第三次j的值为1,不满足条件执行nl*=i*j,即m的值仍为6。第二次外循环i的值为2,j的值为3,满足条件,执行break语句,跳出循环。

(23)A【解析】本题中第一次调用为fun(8,fun(5,6)),因为fun(5,6)返回值为5,所以第二次调用为fun(8,5)=6。所以选择A。

(24)D【解析】D选项中+f(a,b)表示调用后返回一个指向整型数据的地址指针,即该函数的返回值为指针类型,所以不能将其赋值给整形变量k。

(25)A【解析】选项8的正确写法应为P=&n;选项c的正确写法应为scanf(”%d”,P);选项D的正确写法应为printf(”%d\n”,* P)。

(26)A【解析】数组说明的一般形式为:类型说明符

数组名[常量表达式]。B选项中N是变量,不能用变量定义数组长度。c选项中数组长度是非法的一串数字。定义数组时必须为其指明长度,D选项中数组长度为空,所以非法。

(27)D【解析】第一次循环i为0,i%2为o,执行switch(a[O]%2)中的ca∞0语句后内容即a[0]++,a[0]的值变成3;第二次循环i的值为l,i%2为1,执行ca∞1:a[i]=0;所以a[1]的值变成0;第三次循环i的值为2,i%2为0,执行switch(a[2]%2)中的ca∞1语句后的内容a[2]一一,8[2]的值变成4;第四次循环i的值为3,i%2为1,执行casel:a[i]=0;所以a[3]的值变成0。

(28)B【解析】每次内循环只循环一次就结束,第一次外循环时t=t+b[0][b[0][0]]=1+b][0]=1+0=第二次外循环时t=t+b[1][b[1][1]]=1+b[1][1]=1+1=2;第三次外循环时t=t+b[2][b[2][2]]=2+b[2][2]=2+2=4。

(29)A【解析】数组定义后,不可以对数组整体赋值,s是二维数组,因SS[1]是一维字符数组,即字符串,字符串赋值可以使用strcpy(SS[1],”right”);这样的形式,而选项A中对二维数组中的第…l维(相当于一个一维数组)赋值,是不可以的。选项8和D是定义时对数组初始化,这是可以的。选项c中,将字符串在内存中的首地址赋给指针数组的一个元素,这是可以的。

(30)A【解析】do{*t++=}S++;}while(*S);不能因为当*s=’、0。时,while(* s)跳出循环,这样字符串结束标志’、0’没有复制给}t,造成}t不完整。注意,*t++=*s++是先执行t=*s,然后才进行t=t+1,s=s+1。B、C、D都能将。\0’复制过去

(31)A【解析】P是指向二维字符数组第二行One+Dream!的数组指针,所以长度是l0,打印输出的也是该字符串。

(32)B【解析】本题中遇到“\”字符循环结束,所以只统计“\”之前的数字字符,所以为3。

(33)A【解析1声明静态局部变量:函数调用结束后,其占用的存储单元不释放,在下次该函数调用时,该变量保留上一次函数调用结束时的值。本题子函数tim中的变量i和m均为静态局部变量。所以第一次调用fun函数,返回m的值为5,第二次再调用fun函数时,i的值为3,nl的值已经是5了,所以执行i+=m+1,i的值变为9,nl=i+x+Y=9+1+l=11。

(34)C【解析】aut0:函数中的局部变量,动态地分配存储空间,数据存储在动态存储区中,在调用该函数时系统会给它们分配存储空间,在函数调用结束时就自动释放这些存储空问。register:为了提高效率,C语言允许将局部变量的值放在cPU中的寄存器中,这种变量叫“寄存器变量”,只有局部自动变量和形式参数可以作为寄存器变量。extem:#1’部变量(即全局变量)是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。如果外部变量不在文件的开头定义,其有效的作用范围只限于定义处到文件终了。static:静态局部变量属于静态存储类别,在静态存储区内分配存储单元。在程序整个运行期间都不释放。

(35)A【解析】A选项stnlet onl{int x;int y;int 2;struet ora a;错误,不能在定义结构体的同时,又用结构体类型名定义变量。应该写成B选项或者D选项的格式。

(36)B【解析l结构体变量可以作为函数的参数和返回值。作为函数的实参时,可以实现函数的传值调用。当使用结构体变量作为函数的形参时,实参也应该是结构体变量名以实现传值调用,实参将拷贝副本给形参,在被调用函数中改变形参值对于调用函数中的实参没有影响。所以选择B。

(37)A【解析】预处理命令是以“#”号开头的命令,它们不是C语言的可执行命令,这些命令应该在函数之外书写,一般在源文件的最前面书写,但不是必须在起始位置书写,所以B、c错误。C语言的预处理能够实现宏定义和条件编译等功能,所以D错误。

(38)C【解析】nlaIloc(sizeof(int))的作用是开辟一个长度为sizeof(int)存储空间,并通过强制类型转换(int。)将此存储空间的地址赋给了一个整型的指针变量P。然后执行语句·P=n,使得·p的值为10,并通过return返回此值,即a的值为l0。然后在主函数中输出a+ftm(10)=10+10=20。

(39)B【解析】无符号整型变量a的值为8,二进制表示为00001000,右移3位后为00000001,即十进制的l,所以输出1。

(40)D【解析】fread(void}buffer,size—t size,size—tcount,FILE}stream);功能是从一个文件流中读数据,读取count个元素。每个元素size字节,如果调用成功返回count。buffer:用于接收数据的内存地址,大小至少是size * count字节;size:单个元素的大小,单位是字节;count:元素的个数,每个元素是size字节;Stream:输人流。

2829f2ca24f0d0090cbba57f30759f23.png

2017年计算机二级C语言考前必做试题及答案2.doc

下载Word文档到电脑,方便收藏和打印[全文共33545字]

编辑推荐:

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

下载Word文档

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值