第 1 页:选择题 |
第 5 页:参考答案 |
21.C。【解析】数组的下标是从零开始的。一维数组的一般定义方式为数型说明符数组名[常置表达式]
其中“[]”中的内容可以是整型数量,也可以是整型表达式。选项C中,m[0]=5,m[m[o]]=m[5],数组下标越界。
22.A。【解析】逗号表达式及实参的形式,在逗号表达式中,取最后一个表达式的值,结合fune的调用形式,可以知道实参的个数只有3个。
23.B。【解析】选项B中x[5]数组下标越界,数组的下标是从0开始的。
24.A。【解析】C语言中strlen()函数的功能是返回字符串的长度,其中’\0’是一个转义字符,它占存储空间,但不计入字符串的长度。所以选项A正确。
25.B。【解析】本题考查telurn语句,return语句有以下几个特点:用户定义的函数中可以没有返回语句;一个函数体内可以有多个返回语句,不论执行哪一个,函数都可以结束,回到主函数;但是调用一次只能有一个返回值。为了保证函数不返回任何值,C语言规定,可以定义无类型函数,其形式为void函数名(参数表)。当函数中不需要指明返回值时,可以写成return。
26.C。【解析】本题考查宏的相关知识点。宏名没有大小写限制;宏定义可以放在程序中的任何位置,其有效范围是从定义开始到文件结束;宏替换可以代替任何数据类型,不受数据类型的限制;函数影响运行时间,宏调用影响编译时间。
27.D。【解析】本题考查for循环使用。
当i=3时,j可以取1和2,i+j分别是4和5,执行printf("\n")换行,i--为2。
当i=2时,j可以取1和2,i+j分别是3和4,执行printf("\n")换行,i--为1。
当i=1时,J可以取1和2,i+j分别是2和3,执行printf("\n")换行,i--为0,不符合循环,退出。
28.D。【解析】C语言中规定,else与离它最近的if相匹配。
x=1,y=2,z=3,所以第一个if的条件(x>y)不成立,直接执行printf("%d\n",x+1);语句,输出x的值1,再把x加1。
29.A。【解析】本题考查d0…while循环,先执行循环体,再判断条件是否成立,函数实现的功能是找出满足一个数,它除3时余1,除5时余2,然后打印“*”和这个数从5开始,等于7时恰好符合条件,输出,最后循环结束。
30.B。【解析】本题考查递归函数的使用。fun(4,2)->fun(2,o),由于b等于0,故返回值为2。反之,fun(4,2)=2。
31.C。【解析】本题考查指针与函数的调用。a+fun(10)相当于fun(10)+fun(10),故结果为20。两次调用fun()函数,返回值指向不同的内存单元,不会存在内存冲突的问题,也就不会走错。
32.A。【解析】在程序中实参向形参传递数据的方式是“值传递”,如果实参传递给形参是变量的值,就是数值传递,并不能改变实参的值,所以数组c[10]的值不变。
33.c。【解析】data[2]是两个结构体组成的数组,p指向结构体数组的首地址,p->y访问第一个结构体的第二个元素;(++p)x访问第二个结构体的第一个元素。所以输出为10,2。
34.D。【解析】在程序中,fun(k,5)的功能是将数组k的k[0]、k[1]分别与k[3]、k[4]交换,for循环从k[2]到k[8]输出,所以输出结果为321678。
35.B。【解析】本题考查数组的初始化,在对二维数组元素赋初值时,如果只对部分元素赋初值,那未赋初值的元素自动取0。fun函数是将二维数组a中主对角线上的元素
赋给数组b,所以y[4]=(1,0,7,0)。
36.C。【解析】在程序中fun函数的功能在于求取三维数组S中1至n行中每行第k个元素中的最大者。注意:i=0时为第一行,故fun(a,4,O)在于求取11、21、31中的最大值,显然为31。
37.D。【解析】对于两个结构体,b=a;表示将a的每一个元素都赋给b,所以会输出a中的内蓉。
38.D。【解析】在以下4项中,根据链表插入与删除的原则,选项A中,*P是P所指向的元素.所以这样调用是错误的;选项B是将P指向的结点作为q的后继结点;而选项C则是将指针q指向P指向的结点;选项D将指向q的后继点的指针赋给指向P后继点的指针,并将q指向结点所占的内存。所以选项D正确。
39.C。【解析】本题考查位操作,将4转化成二进制为0100,左移一位后为1000,转成十进制为8,所以输出8。
40.B。【解析】本题考查fwrite的调用形式。
其格式为“fwrite(buffer,size,count,fp);”。
fwritie函数的功能是对fp所指向的文件存入count次,每次存入一个大小为size的数据块。将存入的数据块存到buffer指向的内存区,如果buffer内存区有数据则将其覆盖。
本题中第一次调用fwrite函数,向文件中写入s2的值“Beijing”,第二次调用fwrite函数,向文件中写入S1的值“China”,并将之前“Beijing”的前几个字符覆盖,得到Chi-nang。
编辑推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |