1.
内存空间被分成不同区域,其中用函数
void* malloc(unsigned int size);
申请的内存在()
答案:C 编程语言中的 malloc 、 calloc 函数和 C++ 的 new 运算符都是在动态存储区( heap )上申请内存空间
2.CPU输出数据的速度远远高于打印机的打印速度,为了解决这一矛盾,可采用()
缓冲技术
3.
编译和执行如下代码,系统将会输出什么?
1
2
3
4
5
6
7
|
#include<stdio.h>
int
main()
{
char
c=
'0'
;
printf
(
"%d %d"
,
sizeof
(c),
sizeof
(
'0'
));
return
0;
}
|
两个1
sizeof 运算符主要用于计算占用内存( stack 而不是 heap )的大小, char 占用一个字节。
4.表的主键特点中,说法主键的
A.每一列都必须非空
B.主键的每一列都必须唯一
C.一个表只能定义一个主键
D.主键可以定义在表级或列级不正确的是()
B.主键的每一列都必须唯一
C.一个表只能定义一个主键
D.主键可以定义在表级或列级不正确的是()
D D我不知道他想说明什么 其他项都是正确的
5.一位酒商有6桶葡萄酒和啤酒,容量分别为30升、32升、36升、38升、40升、62升。其中五桶装着葡萄酒,一桶装着啤酒。第一位顾客买走了两桶葡萄酒;第二位顾客所买的葡萄酒则是第一位顾客的两倍。请问,有多少升啤酒?
public
class
Charandchar {
public
static
void
main(String[] args) {
// 一位酒商有6桶葡萄酒和啤酒,容量分别为30升、32升、36升、38升、40升、62升。
// 其中五桶装着葡萄酒,一桶装着啤酒。
// 第一位顾客买走了两桶葡萄酒;
// 第二位顾客所买的葡萄酒则是第一位顾客的两倍。请问,有多少升啤酒?
int
bear[] =
new
int
[] {
30
,
32
,
36
,
38
,
40
,
62
};
for
(
int
i =
0
; i < bear.length; i++) {
for
(
int
j = i +
1
; j < bear.length; j++) {
int
sum = bear[i] + bear[j];
// 统计剩下的4桶 如果存在其中3桶等于sum的两倍 那么可以 输出
// 这里应该统计最大的3个数的和
int
num = Test(i, j, bear, sum);
if
(num !=
0
) {
System.out.println(num);
}
}
}
}
private
static
int
Test(
int
i,
int
j,
int
[] bear,
int
sum) {
int
sum_test[] =
new
int
[bear.length -
2
];
int
count =
0
;
// 将剩下的4桶复制到sum_test数组
for
(
int
k =
0
; k < bear.length; k++) {
if
(k != i && k != j) {
sum_test[count++] = bear[k];
// System.out.print(bear[k] + " ");
}
}
// 4桶中统计任意3桶的总和 如果存在这3桶的和==sum的两倍 返回
for
(
int
l =
0
; l < sum_test.length; l++) {
int
sum_three =
0
;
for
(
int
m =
0
; m < sum_test.length; m++) {
if
(l != m) {
sum_three += sum_test[m];
}
}
if
(sum_three == sum *
2
) {
// System.out.println(sum_three + "-" + sum + "-" + bear[i] +
// "-" + bear[j]);
return
sum_test[l];
}
}
return
0
;
}
}
程序输出40
7.冯诺依曼工作方式的基本特点是____
冯.诺依曼机工作方式的基本特点就是程序事先存放在存储器中,存储器按地址访问,逐条地取出指令来执行。