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

2015年9月计算机二级《C语言》突破模拟卷

时间: 家辉2 资讯

  B.ptr是指向int型数据的指针变量

  C.ptr是指向函数的指针,该函数返回一个int型数据

  D.ptr是一个函数名,该函数的返回值是指int型数据的指针

  参考答案:C

  参考解析:本题中int(*ptr)()的含义是指向函数的指针变量,其为指向函数的指针变量,该函数返回一个int型数据,故选择C选项。

  2以下程序的输出结果是(  )。

  A.O650B.1470C.5430 D.输出值不定

  参考答案:A

  参考解析:当所赋的值不够其列的宽度时,系统在其后自动补0,因此a[0][3]=0,a[1][2]=6,a[2][1]=5,a[3][0]=0,故选择A选项。

  3若有定义:int c[4][5],(*cp)[5];和语句cp=c;,则能正确引用c数组元素的是(  )。

  A.cp+1B.*(cp+3)C.*(cp+1)+3 D.*(*cp+2)

  参考答案:D

  参考解析:cp是行指针,只表示行。若要表示元素,则需要配合列,A:表示第二行;B:表示第四行的内容,但是设指出那一列;C:*(cp+1)+3只是地址不是元素值,需改为*(*(cp+1)+3)。

  4有以下程序:

  输出的结果是(  )。

  A.ZhangB.B.ZhaoC.Wang D.18

  参考答案:B

  参考解析:从实参传递过去的是结构体系数组的第3个元素,所以输出的name为Zhao。

  5若有下列定义和语句:

  则输出结果是(  )。

  A.9,17,11B.9,11,11C.11,11,11D.11,17,11

  参考答案:C

  参考解析:“%o”表示八进制无符号型输出整型数据(即不带前导0);“%x”表示以十六进制无符号型输出整型数据(即不带前导ox或0X);“%d”表示输出带符号的十进制整型数。

  6有下列程序:

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

  A.45B.20C.25 D.36

  参考答案:C

  参考解析:在for循环语句中自变量i从0开始,每次自加2,执行s+一*(t+i)语句,因为C语言规定数组名做表达式相当于数组的首地址,也就是第一个元素的地址。因此,*(t+i)代表数组的第i+1个元素,所以程序运行的结果是1+3+5+7+9=25,即变量S的值等于25。

  7若有正确定义语句double x=5.16894:

  A.输出格式说明与输出顶不匹配,输出无定值B.5.170000C.5.168000D.5.169000

  参考答案:D

  参考解析: (x*1000+0.5)--x移动3位小数,加0.5,也就是小数第4位加5,若这位大于等于5,则进1到个位。5.16894*1000-)5168.94+0.5->5169.44接下来:(int)(x*1000+0.5)取整变51 69,5169/(double)1000)-)5.169。所以printf(″%f\n″,5.169)结果是5.16900。因此正确答案为D。

  8

  A.随机值B.B.0C.x的地址D.p的地址

  参考答案:B

  参考解析:*p的意思是取其指向地址的内容,p是指向x地址的指针,因此输出*p也就是输出X的内容,即0,故选择B选项。

  9有以下程序:

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

  A.1B.2C.4D.死循环

  参考答案:A

  参考解析:当k=5时,while条件中的值为4,k为4,循环不成立,k-=3可写成k=k-3,输出1;接着执行--k后k为0,当k=0时,while循环不成立,退出。

  10以下四个程序中不能对两个整型值进行交换的是(  )。

  A.

  B.

  C.

  D

  参考答案:C

  参考解析:

  main()

  11有以下程序段:

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

  A.9B.1C.11D.10

  参考答案:D

  参考解析:因为首先k-2,然后你进行一次循环后,k自增两次,变成4,所以这时候s又成l了。然后当k-4的时候,s=1,j=4,然后执行内层循环,s=1+4,然后j自增等于5,s=5+5,然后j再自增为6,跳出内层循环。k自增两次后等于6,不成立,跳出外层循环。然后输出s的值,即为10。因此正确选项为D。

  12若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是(  )。

  A.-3B.9C.-12D.6

  参考答案:C

  参考解析: 在表达式中,其+=,-=的优先级相同,按从右到左的结合方向运算,而*的优先级最高,表达式写成a=a+(a-(a*a)),代入3可得-12。

  13下列4个关于C语言的结论中错误的是(  )。

  A.可以用do-while语句实现的循环一定可以用while语句实现

  B.可以用for语句实现的循环一定可以用while语句实现

  C.可以用while语句实现的循环一定可以用for语句实现

  D.do-while语句与while语句的区别仅是关键字“while”出现的位置不同

  参考答案:D

  参考解析:本题考查对各个循环语句的理解。①do-while语句、for语句、while语句所实现的循环可以相互替代;②do-while语句至少执行一次,而while是符合条件执行,不符合不执行。

  14已定义了以下函数:

  该函数的类型是(  )。

  A.与参数x的类型相同B.void类型C.int类型D.无法确定

  参考答案:C

  参考解析:函数返回值类型由函数头部的返回值类型决定,特别地,如果函数头部没有显示的说明返回值类型,则在C中一般是默认当作返回int型,本题中fff(float x),则返回值类型为int型。因此正确答案为C。

  15在C语言中,函数返回值的类型最终取决于(  )。

  A.函数定义时在函数首部所说明的函数类型

  B.return语句中表达式值的类型

  C.调用函数时主调函数所传递的实参类型

  D.函数定义时形参的类型

  参考答案:A

  参考解析:在C语言中,函数返回的类型最终取决于函数定义时在函数首部所说明的函数类型,与调用函数时主调函数所传递的实参类型和函数定义时形参的类型无关,而return语句表达式的值将强制转换为函数定义时在函数首部所说明的函数类型返回。

  16若有以下的说明和语句,则在执行for语句后,*(*(pt+1)+2)表示的数组元素是(  )。

  A.

  B.

  C.

  D.

  参考答案:C

  参考解析:从for循环可知,pt是指向行的首地址的指针变量,因此由指针的表示方法可知:*(*(pt+1)+2)=pt[1][2]=t[1][2]。

  17下列程序中函数sort()的功能是对数组a中的数据进行由大到小的排序。

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

  A.1,2,3,4,5,6,7,8,9,l0,B.10,9,8,7,6,5,4,3,2,1,C.1,8,7,6,5,4,3,2,9,10,D.1,2,10,9,8,7,6,5,4,3,

  参考答案:C

  参考解析:本程序中的函数sort(int a[],int n)实现的功能是将数组a中的前n个数进行从大到小排序。sort(&a[1],7)是将数组中从a[1]~a[7]这7个数进行从大到小排序,其他数不变。

  18设有程序段:

  int k=12:

  while(k=1)k=k-1:

  则下列描述中正确的是(  )。

  A.while循环执行10次

  B.循环是无限循环

  C.循环体语句一次也不执行

  D.循环体语句执行一次

  参考答案:C

  参考解析:本题考查while,while循环表达式k-1是个赋值表达式而不是逻辑表达式,k的初值为12不符合循环条件,所以循环体语句一次也不执行。

  19有以下程序:

  程序的输出结果是(  )。

  A.1,5,9,B.1,4,7,C.3,5,7,D.3,6,9,

  参考答案:C

  参考解析:即输出x[0][2]x[l][1]x[2][0]分别为3 5 7。

  20下列工具中为需求分析常用工具的是(  )。

  A.PADB.BFDC.N-SD.DFD

  参考答案:D

  参考解析:需求分析常用的工具有4种:数据流图(DFD)、数据字典(DD)、判断树和判定表。PAD(问题分析图)、PFD(程序流程图)、N—S(盒式圈)都是详细设计的常用工具,不是需求分析的工具。

  21有以下程序:

  程序的输出结果是(  )。

  A.

  B.

  C.

  D.

  参考答案:A

  参考解析:

  #include

  int main()

  所以输出为*#*#*#$和一个换行符*/,因此正确答案为A。

  22有如下程序:

  该程序的执行结果是(  )。

  A.321B.23C.不输出任何内容D.陷入死循环

  参考答案:B

  参考解析:本题考查do-while语句,当x=23时,执行do后的语句,x--的表达式值为x=x=1,此时x的值为22,而!x为0,因此while循环不成立,退出,故选择B选项。

55628