1 下列for循环的循环体执行次数为
for(int i=10, j=1; i=j=0; i++, j--)
0
1
无限
以上都不对
2 下面程序的输出结果是
xyz123ABC
z123ABC
xy123ABC
出错
//strcat(p1,p2)出错,因为p1只被分配了4个字节的地址空间,将p2拼接在p1后面会引起内存溢出。
3 下面函数的执行结果是输出
4, 4, 4
7, 4, 4
6, 4, 4
6, 6, 4
4
若从键盘输入:abc def, 则输出结果是
def def
abc def
abc d
d d
5 现在有以下语句:
struct _THUNDER{
int iVersion;
char cTag;
char cAdv;
int iUser;
char cEnd;
}Thunder;
int sz = sizeof(Thunder);
则执行后,变量sz的值将得到
11
12
13
16
6 有如下程序段:
void GetMemeory(char* p)
{
p = (char*) malloc (100);
}
void test()
{
char *str=NULL;
GetMemory(str);
strcpy(str,”Thunder”);
strcat(str+2, “Downloader”);
printf(str);
}
请问运行Test函数结果是:
Thunder Downloader
under Downloader
Thunderownloader
程序崩溃
7 p是指向类X的成员m的指针,s是类X的一个对象。现要给m赋值,()是正确的。
s.p = 5
s->p = 5
s.*p = 5
*s.p = 5
8 函数
fun(char* p) {
return p;
}
的返回值是
无确切值
行参p中存放的地址值
一个临时存储单元的地址
行参p自身的地址值
9 a,b均为不等于0的整形变量,以下关系式恒成立的是:
a*b/a*b == 1
a/b*b/a == 1
a/b*b + a%b == a
a/b*b == a
//a/b得到的是去除余数后的值,再加上a%b取摸的值就等于a了
10 设有如下说明:
typedef struct ST{
long a; int b; char c[2];
} NEW;
则下面叙述中正确的是:
以上的说明形式非法
ST是一个结构体类型
NEW是一个结构体类型
NEW是一个结构体变量
11 下列表达式中,不合法的是()
已知:double d = 3.2; int n = 3;
d<<2;
d/n
!d && (n-3)
(d-0.2)|n
12 下面描述正确的是()
while循环语句的循环体至少执行1次
do-while循环可以写成while循环的格式
continue语句可以出现在各种循环体中
break语句不可以出现在循环体内
13 关于内联函数正确的是()
类的私有成员函数不能作为内联函数
在所有类说明中内部定义的成员函数都是内联函数
类的保护成员函数不能作为内联函数
使用内联函数的地方会在运行阶段用内联函数体替换掉
14 下面模板声明中,哪些是非法的()
template<class Type>class C1;
template<class T, U, class V>class C2;
template<class C1, ypename C2>class C3{};
template<typename myT, class myT>class C4{};
15 在使用浏览器打开一个网页的过程中,浏览器会使用的网络协议包括()
DNS
TCP
HTTP
Telnet
16 有n个文件的长度记载在一个无符号64位整数数组中unsigned__int64 file_length[n],把这n 个文件从逻辑上按序首尾拼接在一起形成一个逻辑上的大文件,然后以每块长度为unsigned block_length把这个逻辑上的大文件划分成大小相等的数据块(当然,最后一块有可能比block_length小),请定义和实现一个函数,把边界块的序号集合返回给函数的调用者(第一个数据块序号为0)。
注:边界块指的是跨多个文件的数据块。
17 请实现一个函数,把两个从大到小的有序链表合并成一个链表,新的链表是一个从小到大的有序链表。
struct list
{
int value;
list* next;
};
list * merge (list *list1_head, list*list2_head);
18 如果两个英文单词,组成它们的字符集合相同,而且相同字符出现的次数也相同,则称这两个词匹配:比如说:同”abbc”与词 ”babc”是匹配的。有一个词典,存储在字符串数组const char* dictionary[n]中,数组的每一个元素是一个词。对于任意给出的句子。句子中的单词使用空格分割。请实现以下函数,判断句子中是否有词和词典中的词匹配。
bool is_matching( const char* dictionary[],int n, const char* sentence);