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…else语句。如果if条件成立,则执行if下面的语句,不成立则执行else,判断条件,发现a
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |