6[单选题] 以下叙述中错误的是( )。
A.改变函数形参的值,不会改变对应实参的值
B.函数可以返回地址值
C.可以给指针变量赋一个整数作为地址值
D.当在程序的开头包含文件stdio.h时,可以给指针变量赋NULL
参考答案:C
参考解析:指针变量的值只能是存储单元地址,而不能是一个整数,故选项C错误。
7[填空题]请补充main()函数,该函数的功能是求方程axs+bx+c=0的两个实数根。方程的系数a、b、C从键盘输入,如果判别式(disc=b*b-4*a*c)tb于0,则要求重新输人a、b、c的值。
例如,当a=1,b=2,c=1时,方程的两个根分别是:x1=-1.00,X2=-1.00。
注意:部分源程序给出如下。
请勿改动函数中的其他任何内容,仅在横线上填入所编写的若干表达式或语句。
试题程序:
参考解析:
【1】disc%0或0>disc【2】sqrt【3】sqrt
【解析】本题考查的是do-while循环,第【1】处填空:“disc<0”或“0)disc”;本题引入“#include”头文件可知,可调用函数sqrt。
8[单选题] 下列数据结构中,能够按照“先进后出”原则存取数据的是( )。
A.循环队列B.栈C.队列D.二叉树
参考答案:B
参考解析:栈是按先进后出的原则组织数据的。队列是先进先出的原则组织数据。
9[简答题]下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODIl.C中,不得增行或删行,也不得更改程序的结构!
参考解析:
(1)fh(j=i+1;j<6;j++)
(2)*(pstr+i)=}(pstr+j);
【考点分析】
本题考查:冒泡排序算法;for循环语句格式;指针数组。
【解题思路】
(1)此处考查for语句的格式,各表达式之间应用“;”隔开。
(2)此处考查用指针表示数组元素的方法,}(pstr+I)表示pstr所指向数组的第1个元素,同理}(pstr+j)表示pstr所指向数组的第j个元素。
【解题宝典】
冒泡排序算法,其基本思想是,将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个“气泡”序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即“轻”的元素在下面,就交换它们的位置。显然,处理一遍之后,“最轻”的元素就浮到了最高位置;处理二遍之后,“次轻”的元素就浮到了次高位置。依次类推,完成排序。
用代码实现数组s[N]的升序排列为:for(i=0;i
for(j=i十1;j
if(s[i]>s[j]){t-s[i];s[i]=s[j]s[j]=t;}
10[单选题] 有以下程序:
程序执行后的输出结果是( )。
A.x=4B.X=8C.x=6D.x=12
参考答案:B
参考解析:
eoulinue的作用是跳出循环体中剩余的1语句而进行下一次循环。第一次执行外循环i的值为0,执行|x++,x的值变为l,第一次执行内层循环j的值为0,不满足if1条件,执行x++,x的值变为2,第二次内循环j的值为1,if条1件成立,跳出本次循环,第三次执行内循环j的值为2,不满足l if条件,x的值变为3,第四次执行内循环j的值为3满足条件1跳出本次内循环,x的值加l,即为4,第一次外循环结束。第1二次执行外循环时,同理,i的值被加了,4次,变为8,所以选择I,B选项。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |