题目皆为不定项选择题,都选对为4分,选不全为2分,选错一个0分。
A. pa是一个指向数组的指针,所指向的数组是5个int型元素
B. pa是一个指向某个数组第5个元素的指针,该元素是int型变量
C. pa[5]表示某个数组的第5个元素的值
D. pa是一个具有5个元素的指针数组,每个元素是一个int型指针
--------------------------------------------------------------------------------------------------------------------------------------------------------------
关键词:指针数组与数组指针
这两个概念很容易混淆。其实只要记住优先级就好了:() > [ ] > *
--------------------------------------------------------------------------------------------------------------------------------------------------------------
A. 广播 B. 单播 C. 任播 D. 组播
--------------------------------------------------------------------------------------------------------------------------------------------------------------
关键词:广播、单播、组播
IPV4不支持任播(anycast),IPV6支持。
--------------------------------------------------------------------------------------------------------------------------------------------------------------
A. 友元函数是独立于当前类的外部函数
B. 一个友元函数不可以同时定义为两个类的友元函数
C. 友元函数必须在类的外部进行定义
D. 在类的外部定义友元函数时必须加上friend关键字
--------------------------------------------------------------------------------------------------------------------------------------------------------------
关键词:友元
友元的出现其实是对面向对象编程思想的一种挑战,因为它破坏OO编程中信息封装的特性,使得一个外部函数可以操纵一个类的私有成员。这样做的好处大概是提高了编程的灵活性并精简了代码。不必像Java那样到处充斥getter和setter方法了。
#include <iostream> using namespace std; class A { public: static int count; friend void test(A a); friend void test(); A(int a=1,int b=2):i(a),j(b){}; private: int i,j; }; int A::count = 0; void test(A a) { cout<<a.i<<" "<<a.j<<endl; } void test(){ cout<<A::count<<endl; }; int main() { A a; test(a); test(); } // 打印结果 1 2 0
参考答案:A
--------------------------------------------------------------------------------------------------------------------------------------------------------------
A. 只要允许,任何时候都应该添加索引以加快查询速度
B. 无论记录多少,使用索引都能给查询带来性能提升
C. 每次update/ insert/ delete操作都会导致索引被重新更新
D. 索引可以避免全表扫描
--------------------------------------------------------------------------------------------------------------------------------------------------------------
关键词:索引
数据库的索引并非越多越好,索引的增加会提交查询速度,但是会减慢数据库的修改速度,因为每一次修改都有更新索引,此外还会浪费存储空间(用于维护索引信息)。
此外,我个人认为:记录不多的情况下,使用索引并不能带来性能提升。
参考答案:CD
--------------------------------------------------------------------------------------------------------------------------------------------------------------
A. 事务一旦提交,对数据库的改变是永久的
B. 事务中包括的所有操作要么都做,要么都不做
C. 一个事务内部的操作及使用的数据对并发的其他事务时隔离的
D. 事务必须使数据库从一个一致性状态变到另一个一致性状态
--------------------------------------------------------------------------------------------------------------------------------------------------------------
关键词:ACID、事务特性
--------------------------------------------------------------------------------------------------------------------------------------------------------------
A. 快速排序 B. 堆排序
C. 冒泡排序 D. 折半插入排序
--------------------------------------------------------------------------------------------------------------------------------------------------------------
关键词:排序算法
在常见排序算法中,时间复杂度为O(nlog2n) 【这里指的是n乘以log以2为底的n】的有:快速排序、归并排序、堆排序
折半插入排序虽然减少了比较顺序,性能较一般的插入排序得到了提升,但是其时间复杂度不变,仍然是O(n^2)。
参考答案:AB
--------------------------------------------------------------------------------------------------------------------------------------------------------------
A. 自底向上
B. 自顶向下
C. 逐步求精
D. 面向数据流
--------------------------------------------------------------------------------------------------------------------------------------------------------------
关键词:软件工程
参考答案:B
--------------------------------------------------------------------------------------------------------------------------------------------------------------
$HOME/aaa
$HOME/aaa/bb/a.txt
$HOME/aaa/my.c
请问如果要删除aaa文件夹,要执行的操作是:()
A. rm -rf $HOME/aaa
B. rmdir -f $HOME/aaa
C. rmdir $HOME/aaa
D. rm $HOME/aaa
--------------------------------------------------------------------------------------------------------------------------------------------------------------
关键词:rm、rmdir
很多人可能会误选rmdir。rmdir虽然从字面上理解是删除文件夹,但是它是删除空文件夹。并且rmdir 没有-f这个选项
rm的两个选项:-r 表示递归,即删除文件夹及其子文件和子文件夹。-f 表示force即暴力,无视提示信息。由题干可知,该文件夹并非空文件夹。
参考答案:A
--------------------------------------------------------------------------------------------------------------------------------------------------------------
char chr = 127; int sum = 200; chr += 1; sum += chr;
A. 72 B. 99 C. 328 D. 327
--------------------------------------------------------------------------------------------------------------------------------------------------------------
关键词:溢出
char类型可以看作是一个1个字节(8个位)的低精度整型。以整数角度来看,它能表示的整数范围是:-128~127
当chr += 1之后,此时chr的值变成128,但是这时候发生了溢出。此时要得出其实际的值用 128-256 = -128
所以sum+=char是200-128=72
参考答案:A
--------------------------------------------------------------------------------------------------------------------------------------------------------------
A. 部门和员工之间是一种确定的一对多的关系
B. 建立一个关联表,从该关联表到员工建立一个一对多的关系,然后再从该关联表到部门表建立一个一对多的关系
C. 建立一个关联表,从员工表到该关联表建立以一对多的关系,然后再从部门表到该关联表建立一个一对多的关系
D. 这种情况下不能建立正常的数据库模型
--------------------------------------------------------------------------------------------------------------------------------------------------------------
关键词:多对多关系建表、关联表
解决多对多关系的建表方案,就是建立关联表。本题中,可以建立一个员工表(不包括部门id字段)、部门表(不包括员工id字段)。而关联表至少包括两个字段:员工id和部门id。如果还要给关联表增加一个字段的话就是单独新增一个关联id用做主键。
这样部门增加了员工,或员工加入了新的部门,只需要更新关联表就可了。
参考答案:C
--------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------
关键词:字符串、库函数
B无此函数(可能是sprintf打印错误),C是字符串比较函数,D是求子串的函数
参考答案:AD
--------------------------------------------------------------------------------------------------------------------------------------------------------------
float f[10]; // 假设这里有对f进行初始化的代码 ... // for循环需要遍历f中所有的元素 for (int i = 0; i < 10; ) { if (f[++i] == 0) break; }
A. for (int i = 0; i < 10; ) 这一行写错了
B. f是float型数据直接做相等判断有风险
C. f[++i] 应该是 f[i++]
D. 没有缺陷
--------------------------------------------------------------------------------------------------------------------------------------------------------------
关键词:浮点型、自增
主要问题:
可选方案:
#include <math.h> ... if (fabs(f[i++]) < 1e-5) ... // 或者 #define ACCU 1e-5 ... if (f[i++] > -ACCU && f[i++] < ACCU) ...精度也可以是1e-6。
参考答案:BC
--------------------------------------------------------------------------------------------------------------------------------------------------------------
A. 在C程序中,函数调用不能出现在表达式语句中
B. 在C语言中,一个函数一般由两个部分组成,它们是函数首部和函数体
C. 函数和实参和形参可以是相同的名字
D. 在main()中定义的变量都可以在其它被调函数中直接使用
E. 外部类型的变量只能定义一次,但可以在不同的地方声明
--------------------------------------------------------------------------------------------------------------------------------------------------------------
关键词:函数、变量
参考答案:BCE
--------------------------------------------------------------------------------------------------------------------------------------------------------------
int fun(char *s) { char *t = s; while(*t++); return (t - s); }
A. 比较两个字符的大小
B. 计算s所指字符串占用内存字节的个数
C. 计算s所指字符串的长度
D. 将s所指的字符串复制到字符串t中
--------------------------------------------------------------------------------------------------------------------------------------------------------------
关键词:指针与自增
就优先级而言,自增运算符++大于星号*。但是这个++是在变量名后面的,所以是在该复合表达式的值返回之后,再进行自增。
设p = *t++; 则其等价于p = *t; t++。所以while(*t++)的意思是判断当前字符是否为NULL,如果是就终止循环(是不是NULL,t 都会自增)
如果是p = (*t)++; 就不一样了。其等价于p = *t; (*p)++。在指针所指向的值返回之后,该值加1。
参考答案:B
--------------------------------------------------------------------------------------------------------------------------------------------------------------
#include <stdio.h> void abc(char *str) { int a,b; for(a = b = 0;str[a] != '\0'; a++) if(str[a] != 'c') str[b++] = str[a]; str[b] = '\0'; } void main() { char str[] = "abcdef"; abc(str); printf("str[] = %s",str); }
A. str[] = abdef
B. str[] = abcdef
C. str[] = a
D. str[] = ab
--------------------------------------------------------------------------------------------------------------------------------------------------------------
关键词:字符串、字符指针
参考答案:A
--------------------------------------------------------------------------------------------------------------------------------------------------------------