C语言数组fun函数的内存空间,2017年计算机二级C语言考前模拟试题及答案8

818ca582eb69acc211949733cb4feb30.png

a438a4eecb2aef5581ac7464e9a46655.png

程序段的输出结果是(  )。

(22)有以下程序段:

952f307d066917bedca24250872fe04f.png

以下关于程序段执行情况的叙述,正确的是(  )。

A.for循环语句固定执行8次

B.当产生的随机数n为4时结束循环操作

C.当产生的随机数n为1和2时不做任何操作

D.当产生的随机数n为0时结束程序运行

(23)有以下程序:

03e09e5c345eb4a2511a56dfb03d595e.png

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

A.8

B.2

C.4

D.1

(24)以下叙述中错误的是(  )。

A.可以给指针变量赋一个整数作为地址值

B.函数可以返回地址值

C.改变函数形参的值,不会改变对应实参的值

D.当在程序的开头包含头文件stdi0.h时,可以给指针变量赋NULL、、、

(25)设已有定义:float x;,则以下对指针变量P进行定义且赋初值的语句中正确的是(  )。

d7569b34d69ade6dff9c031fdf74972a.png

(26)以下数组定义中错误的是(  )。

952273e8ab41632b2cca91f785851385.png

(27)有以下程序:

0b48fec2d5b613267a7f4d16d8a3eb63.png

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

A.321678

B.876543

C.1098765

D.345678

(28)有以下程序:

411ccaacb9f1d16ed5618e61fba2af9e.png

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

A.一3,一l,1,3,

B.B.一12,一3,0,0,

C.C.0,1,2,3,

D.D.一3,一3,一3,一3,

(29)设有定义:char s[81];int i=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是(  )。

d835056c2e48692c8e65926bc57fa668.png

(30)设有定义:char p E]={’1’,‘2’,’3’},*q=p;,以下不能计算出一个char型数据所占字节数的表达式是(  )。

A.sizeof(p)

B.sizeof(char)

C.sizeof(*q)

D.sizeof(p[0])

(31)有以下程序:

bc61a50e6ed0d0a1728ef56c7165bf4d.png

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

A.321,cba

B.abc,l23

C.123,abc

D.lbe,a23

(32)有以下函数:

5b085763f975e9fb50b045ef7784b250.png

函数的功能是(   )。

A)将Y所指字符串赋给x所指存储空间

B.查找x和y所指字符串中是否有

C.统计x和y所指字符串中最前面连续相同的字符个数

D.统计x和Y所指字符串中相同的字符个数

(33)有以下程序:

01d80e9b4b6ee0d6af7f554960309b4d.png

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

A)Lo

B.30

C.0

D.64

(34)在一个C源程序文件中所定义的全局变量,其作用域为(   )。

A.由具体定义位置和extem说明来决定范围

B.所在程序的全部范围

C.所在函数的全部范围

D.所在文件的全部范围

(35)以下叙述中错误的是(   )。

A.可以通过typedef增加新的类型

B.可以用typedef将已存在的类型用一个新的名字来代表

C.用typedef定义新的类型名后,原有类型名仍有效

D.用typedef可以为各种类型起别名,但不能为变量起别名

(36)有以下程序:

74bcdb4da8fa9ff5127e52e952cd7c1b.png

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

A.10

B.11

C.20

D.21

(37)有以下程序:

337398d541e4e33e2f96687a2a26bf91.png

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

A.7.5

B.31.5

C.程序有错无输出结果

D.14.0

(38)有以下程序:

777dca979ae5b4b420bb1e26457f77d7.png

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

A.3

B.4

C.5

D.6

(39)有以下程序:

2611b398d47f2c5577201432f6b0d48d.png

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

A.1.1.3

B.2,2,3

C.1,2,3

D.3,3,3

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

A.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失

B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖

C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据

D.c语言中的文件是流式文件,因此只能顺序存取数据.

(21)C【解析】由于内层循环for(k=1;k<3;k++)后面直接跟了空语句“;”所以在循环内部什么操作也不做,跳出外层循环后执行打印语句,所以打印了一个“t”,选择c。

(22)D【解析】Case常量表达式只是起语句标号作用,并不是该处进行条件判断。在执行switch语句时,根据switch的表达式,找到与之匹配的ease语句,就从此cafle子旬执行下去,不再进行判断,直到碰到break或函数结束为止。简单的说break是结束整个循环体,而continue是结束单次循环。B选项中当产生的随机数n为4时要执行打印操作。c选项中当产生的随机数为l和2时分别执行cage3与case4后面语句的内容。由于存在break语句所以for循环不是固定执行8次,执行次数与产生的随机数n有关系。

(23)A【解析】第一次调用Ill=f(f(f(1))),第二次为m

=f(f(2)),第三次为m=f(4),即返回值为8。

(24)A【勰析l不能将一个整数直接赋给指针变量作为地址,所以A是错误的。函数的返回值可以是地址,即指针。函数调用中形参值的变化不会传递给实参。

(25)B【解析】指针是用来存放地址的变量,用(类型名+指针变量名)的形式定义。赋值时应将某个变量地址即8Ⅸ赋给指针变量,所以选择8。

(26)D【解析】D选项中x[2][3]定义的是一个两行三列的二维数组,而在给数组元素赋值时却赋成了三行,所以错误。

(27)A【解析】本题中的函数fun()的功能是将数组k中前5个元素倒序,所以返回后数组k中的元素排列是5,4,3,2,1,6,7,8,9,10。所以打印输出k[2]到k[7]元素的值,即321678,所以选择A。

(28)A【解析】本题中由fun函数可知,b[O]=a[o][0]一a[0][3]=1—4=一3,b[1]=a[1][1]一[1][2]=6—7=一1,b[2]=a[Z][2]一[2][1]=11一10=1,b[3]=8[3][3]一[3][1]=16—13=3。所以主函数中打印Y数组元素的值为A选项。

(29)C【解析】字符串的输入不能使用scanf(”%s”,s);而应该使用9ets(s)。

(30)A【解析】根据题目中的定义可以知道sizeof(p),计算的是数组P中所有元素所占用的字节数,而不是ch”型数据所占字节数。

(31)D【解析】字符串是一个特殊的数组,所以按照数组的规则,sl应该指向的是数组的首地址,即“abc”的第一个字符的地址。s2指向的是“123”的第一个字符的地址。调用swap函数之后交换的是两个字符串的第一个字符‘a’和‘1’的内容,所以打印输出为D)。

(32)C【解析】本题中由循环条件可知遇到‘\0’或x与y所指的字符的值不等中的一个条件时就结束,所以功能是统计x和Y所指字符串中最前面连续相同的字符个数。

(33)D【解析】本题目中静态局部变量x,在静态存储区内分配存储单元。在程序整个运行期间都不释放。所以第一次循环s的值为2,第二次循环中,返回的x的值为4,所以s的值为8,第三次循环,返回的x的值为8,所以S的值为64.

(34)A【解析】全局变量的作用域是从声明处到文件的结束。所以选择A)。

(35)A【解析】关键字typedef的作用只是将C语言中的已有的数据类型作了置换,并不是增加新的类型,所以A错误。

(36)D【解析】声明data是结构S数组。初始化data『0].a=10;data[0].b=100;data[1].a=20;data[1].b=200。主函数中P=data[1];即P.a=data[1].a;P.b=data[1].b;执行语句prinff(”%d\n”,++(P.a));打印输出时p.a先增l再打印。P.a=data[1].a=20,先增1等于21。

(37)C【解析】宏定义不是C语句,末尾不需要有分号。所以语句printf(”%4.1f\n”,S(8+b));展开后为parintf(”%4.1f\n”,3.5;*a+b}a+b;);所以程序会出现语法错误。

(38)B【解析】&按位与,如果两个相应的二进制位都为l,则该位的结果值为1,否则为0。l按位或,两个相应的二1进制位中只要有一个为l,该位的结果值为l。2的二进制为1 00000010,4的二进制为00000100,所以做或运算结果为1 00000110,该数与5即00000101做与操作结果为00000100,1即4。

(39)D【解析】maUoc函数动态分配一个整型的内存空间,然后把函数返回的地址用(int{)强制类型转换为整型指针,再把它赋给a,b,c,即让指针变量a,b,c都指向刚申请的内存空间。所以只有最后一个赋值语句+C=3的值保留在了该空间内,因为a、b、C三个指针变量均指向该空间,所以打印该空间内的数值为3。

(40)A【解析】B选项中打开一个已存在的文件并进行了写操作后,原有文件中的全部数据不一定被覆盖,也可以对源文件进行追加操作等。C选项中在一个程序中当对文件进行了写操作后,不用先关闭该文件然后再打开,才能读到第l个数据,可以用fseek()函数进行重新定位即可。D选项中,C语言中的文件可以进行随机读写。

2829f2ca24f0d0090cbba57f30759f23.png

2017年计算机二级C语言考前模拟试题及答案8.doc

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

编辑推荐:

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、付费专栏及课程。

余额充值