必胜高考网 > 计算机类 > 计算机等级 > 资讯 >

2015年计算机二级考试《C语言》提高练习题五份(4)

时间: 家辉2 资讯

  1[单选题] (1)C语言程序中,运算对象必须是整型数的运算符是

  A.&&

  B./

  C.%

  D.*

  参考答案:C

  参考解析:%取余运算是二目运算符,且要求运算对象必须为整数,所以选C。

  2[单选题] 以下针对全局变量的叙述错误的是

  A.用extern说明符可以限制全局变量的作用域

  B.全局变量是在函数外部任意位置上定义的变量

  C.全局变量的作用域是从定义位置开始至源文件结束

  D.全局变量的生存期贯穿于整个程序的运行期间

  参考答案:A

  参考解析:在不同编译单位内用extern说明符来扩展全局变量的作用域,extem可以将全局变量作用域扩展到其他文件,而不是限制全局变量的作用域,答案为A选项。第2题 笔记记录我的笔记(0) | 精选笔记(0)选择笔记标签:试题内容(0)答案解析(0)

  3[单选题] 函数fun的功能是在a所指的具有n个元素的数组中查找最大值并返回给调用函数,函数不完整。

  在if语句下划线处应填人的选项是( )。

  A.O>sB.* P>*sC.a[p]>a[s]D.p—a>P—s

  参考答案:B

  参考解析:函数fun的功能是在形参a所指的具有n个元素的数组中查找最大值并返回。通过for循环比较,s始终指向最大值的那个元素。取指针的值,使用+P,因此比较使用&middot;P和}8,需要找到最大值,当}8<+P时,修改指针s的指向,因此答案为B选项。

  4[单选题] C语言中,下列不合法的字符串常量是(  )。

  A.

  B.

  C.

  D.

  参考答案:B

  参考解析:B项中字符串常量必须用双}1号,否则不合法。

  5[填空题]请补充main()函数,该函数的功能是:先以只写方式打开文件file.dat,再把字符串s中的字符保存到这个磁盘文件中。请勿改动main()函数与其他函数中的任何内容,仅在的横线上填写所需的若干表达式或语句。

  试题程序:

  参考解析:

  【1】file.dat【2】fpute(ch,f)【3】fclose(f)

  【解析】第一空:根据C语言对于文件打开操作的语法fopen的用法可知语句中缺少文件名,根据程序中文件操作指针为空的提示语句:“printf(”cannot open file.dat\n”);”可知文件名为:“file.dat”。

  第二空:这里应该是向文件里面写入字符,根据前面字符的定义“ch=s[i]”和获得的文件指针f,第二空应填“fputc(ch,f)”,其中fputc函数是输出一个字符。

  第三空:C语言中对于文件执行操作后,要对文件指针执行关闭操作,关闭文件的fclose函数的调用形式为fclose(文件指针),所以第三空应填“fclose(f)”。

  6[简答题]下列给定程序中,函数proc()的功能是:利用插入排序法对字符串中的字符按从大到小的顺序进行排序。插入法的基本方法是:先对字符串中的头两个元素进行排序,然后把第3个字符插入前2个字符中,插人后前3个字符依然有序,再把第4个字符插入前3个字符中,待排序的字符串已在主函数中赋予。例如,原始字符串为“goodluck”,则排序后的字符串为“uoolkgdc”。

  请修改程序中的错误,使它能得到正确结果。

  注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。

  试题程序:

  参考解析:

  7[单选题] 有以下程序

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

  A.1B.4C.0D.3

  参考答案:C

  参考解析:由结构体的定义初始化可知,a[0].X=4,aEo].Y=3,a[1].x=2,a[1].Y=1,因此计算a[0].y/a[0].x$a[1].x=3/4}2=(3/4)}2=0}2=0,故答案为c选项。

  8[单选题] 若有定义“float a=25,b,*p=&b;”,则下列对赋值语句“*p=a;”和“p=&a;”的正确解释为(  )。

  A.两个语句都是将变量a的值赋予变量p

  B.*p=a是使P指向变量a,而P=&a是将变量的值赋予变量指针p

  C.*p=a是将变量a的值赋予变量b,而&a是使P指向变量a

  D.两个语句都是使p指向变量a

  参考答案:C

  参考解析:“p”是指针变量,指向一个地址:“*p”为p指针所指向地址的内容。“&”是取变量地址。

  9[单选题] 下列选项中,能正确定义数组的语句是( )。

  A.int num[0..2008];

  B.int lllllll[];

  C.int N:2008:

  D.#define N 2008int num[N1;int num[N];

  参考答案:D

  参考解析:C语言不允许定义动态数组,定义数组的大小必须为常量表达式。A选项错误,C语言中数组没有此类型的定义方法;B选项错误,定义数组应指明数组大小,如果不指明数组大小,需要给定初值的个数;c选项错误,N为变量,不能用来定义数组大小。因此D选项正确。

  10[单选题] 下列程序的输出结果是(  )。

  A.3,6,18B.3,6,2C.6,3,18 D.6,3,2

  参考答案:B

  参考解析:本题考查if&hellip;else语句。如果if条件成立,则执行if下面的语句,不成立则执行else,判断条件,发现a

55644