一、选择题
(1)有以下程序:
#include <stdio.h>
char fun(char *c)
{
if (*c <= 'Z'&& *c >= 'A') *c -= 'A' - 'a'; return *c;
}
main()
{
char s[81], *p = s;
gets_s(s);
while (*p)
{
*p = fun(p);
putchar(*p);
p++;
}
printf("\n");
}
若运行时从键盘上输入OPEN THE DOOR<回车>,程序的输出结果是?
A、OPEN THE DOOR
B、oPEN tHE dOOR
C、open the door
D、Open The Door
解析:字符串输入函数gets的功能是从标准输入设备键盘上输入一个字符串。
首先使指针变量p指向字符串的首字母,while循环语句中对字符串的每个字符进行fun函数操作。
fun函数的功能是,将字符串中的大写字母变小写字母。将处理结果返回主函数,主函数通过putchar( )字符输出函数进行输出。
因此**C**选项正确。
知识点:小写的ASCLL码比大写的ASCLL码大32,所以本题是减去-32,相当于加了32,相当于大写变小写。
*c -= 'A' - 'a'
首先 ‘A ’ - 'a' = - 32
然后 *c -= -32 等于 *c = *c +32
所以这样代码的作用是将大写字母转换成小写字母
(2)下列属于采用虚电路连接的系统是
A、分组交换
B、DDN
C、帧中继
D、ATM
E、SDH
解析:分组交换可以分为 数据报 和 虚电路 两种方式;
而ATM、帧中继是应用虚电路;
虚电路需要建立连接;
数据报是无连接的;
答案:ACD
(3)设栈的顺序存储空间为 S(1:m) ,初始状态为 top=0 。现经过一系列正常的入栈与退栈操作后, top=m+1 ,则栈中的元素个数为( )
A、不可能
B、m+1
C、0
D、m
解析:此栈为顺序栈,存储空间为S(1:m),栈顶指针初始状态为top=0,即栈空状态;
当栈内有一个元素时,top=1,;当处于栈满状态时,top=m。
由此可见,栈顶指针top的取值范围是[0,m]之间的整数,因此top=m+1是不可能事件。
另外的知识点:应注意的是,如果用一维数组来作为顺序栈的存储结构,则存储空间为S(0:m-1) ,
易与题述混淆,此时栈顶指针初始状态为top=-1,即栈空状态;当栈内有一个元素时,top=0,;
当处于栈满状态时,top=m-1。由此可见,当栈非空时,栈顶指针top与数组下标相对应。
栈顶指针top的取值范围是[-1,m-1]之间的整数。
答案:A
(4)如何把一个字符串转换成URI(统一资源标识符)?
A、uri new uri=uri.parse("content://com.changcheng.provider.contactprovider/contact")
B、uri uri=uri.parse("content://com.changcheng.provider.contactprovider/contact")
C、android.uri uri=uri.parse("content://com.changcheng.provider.contactprovider/contact")
D、uri uri=android.uri.parse("content://com.changcheng.provider.contactprovider/contact")
解析:答案:B
扩展:
Uri的使用场景:
1,调web浏览器
Uri myBlogUri = Uri.parse(" http://xxxxx.com ");
returnIt = new Intent(Intent.ACTION_VIEW, myBlogUri);
2,地图
Uri mapUri = Uri.parse("geo:38.899533,-77.036476");
returnIt = new Intent(Intent.ACTION_VIEW, mapUri);
3,调拨打电话界面
Uri telUri = Uri.parse("tel:100861");
returnIt = new Intent(Intent.ACTION_DIAL, telUri);
4,直接拨打电话
Uri callUri = Uri.parse("tel:100861");
returnIt = new Intent(Intent.ACTION_CALL, callUri);
5,卸载
Uri uninstallUri = Uri.fromParts("package", "xxx", null);
returnIt = new Intent(Intent.ACTION_DELETE, uninstallUri);
6,安装
Uri installUri = Uri.fromParts("package", "xxx", null);
returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);
7,播放
Uri playUri = Uri.parse("file:///sdcard/download/everything.mp3");
returnIt = new Intent(Intent.ACTION_VIEW, playUri);
8,调用发邮件
Uri emailUri = Uri.parse("mailto:xxxx@gmail.com");
returnIt = new Intent(Intent.ACTION_SENDTO, emailUri);
9,发邮件
returnIt = new Intent(Intent.ACTION_SEND);
String[] tos = { "xxxx@gmail.com" };
String[] ccs = { "xxxx@gmail.com" };
returnIt.putExtra(Intent.EXTRA_EMAIL, tos);
returnIt.putExtra(Intent.EXTRA_CC, ccs);
returnIt.putExtra(Intent.EXTRA_TEXT, "body");
returnIt.putExtra(Intent.EXTRA_SUBJECT, "subject");
returnIt.setType("message/rfc882");
Intent.createChooser(returnIt, "Choose Email Client");
10,发短信
Uri smsUri = Uri.parse("tel:100861");
returnIt = new Intent(Intent.ACTION_VIEW, smsUri);
returnIt.putExtra("sms_body", "yyyy");
returnIt.setType("vnd.android-dir/mms-sms");
11,直接发邮件
Uri smsToUri = Uri.parse("smsto://100861");
returnIt = new Intent(Intent.ACTION_SENDTO, smsToUri);
returnIt.putExtra("sms_body", "yyyy");
12,发彩信
Uri mmsUri = Uri.parse("content://media/external/images/media/23");
returnIt = new Intent(Intent.ACTION_SEND);
returnIt.putExtra("sms_body", "yyyy");
returnIt.putExtra(Intent.EXTRA_STREAM, mmsUri);
returnIt.setType("image/png");
(5)如果最常用的操作是取第i个结点及其前驱,则采用()存储方式最节省时间。
A、单链表
B、双链表
C、单循环链表
D、顺序表
解析:答案:D
知识点:
线性表:零个或多个数据元素的有限序列,要点:相同元素;唯一前驱/后继(除首尾),即序列;有限。
顺序表:采用顺序存储结构的线性表。(存储地址连续)
链表:采用链式存储结构的线性表。(存储地址可以不连续)
分清之后就好多了,我们知道,顺序结构长于存取,链式结构长于插删,故答案就出来了
别被‘前驱’两个字带偏了,因为除了前驱还有访问第i个,双向链表只能遍历,而顺序表可以直接用
(6)用希尔排序方法对一个数据序列进行排序时,若第1趟排序结果为9,1,4,13,7,8,20,23,15,则该趟排序采用的增量(间隔)可能是 ()
A、2
B、3
C、4
D、5
解析:答案:B
考察知识点:
希尔排序:设待排序元素序列由n个,首先取gap<n作为间隔,将全部元素分为gap个子序列,
所有距离为gap的元素放在同一个子序列中,在每个子序列进行直接插排。
从定义可知,在进行第一趟希尔排序后,由于执行了直接插排,每个子序列都是有序的。
根据题目,反过来,找间隔gap,使得每个子序列{a[i],a[i+gap],a[i+2*gap]....}有序,其中i~[0,n-1]。
(7)结构体类型只有一种。请问这句话的说法是正确的吗?
A、正确
B、错误
答案:B
解析:结构体类型是可以用户自定义和声明的!
因此,结构体的类型应该是无数多种。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)