c语言题目,高手帮哈忙

来源:百度知道 编辑:UC知道 时间:2024/05/25 20:47:16
一、 byte类型在内存中所需空间为8bit,请问int、long、float、double、int*、char*分别需要多大空间存放?

二、 Char a=’3’,请问a+11是否合法,如不合法,请讲述原因,如合法值为多少?

三、 char*p=”abcde”:
char**b=p:
printf(”%s”,b);
请写出运行结果

四、 请将int a=123 char*b=”123” float c=1.23 按顺序放到void*d的内存空间,请实现该代码。

五、 请写出半查找算法代码。

六、 请写出超出long类型范围的大数运算代码(加、减、乘、除各写一个函数),如100000000000000000000000000000*100000000000000000000000.

七、 请不用中间变量交换实现一个数组排序算法。
大哥,谢谢你啦,但是第6题呢?再次感谢啦。

1 int 32 long 32 float 32 double 64 int* 32 char* 32
2 合法,a+11=62
3 有问题,输出的应该是乱码
4struct abc
{int a;char b[5];float c;}
struct abc *A = (struct abc *) d;
A.a=123;A.b[]="123",A.c=1.23;
5 int Search_Bin ( SSTable ST, KeyType kval )
{
// 在有序表ST中折半查找其关键字等于kval的数据元素,
// 若找到,则函数值为该元素在表中的位置,否则为0。
low = 1; high = ST.length; // 置区间初值
while (low <= high) {
mid = (low + high) / 2;
if ( kval == ST.elem[mid].key )
return mid; // 找到待查元素
else
if ( kval < ST.elem[mid].key )
high = mid - 1; // 继续在前半区间内进行查找
else low = mid + 1; // 继续在后半区间内进行查找
} // while
return 0; // 有序表中不存在待查元素
} // Search_Bin
7
交换:
int a,b;
a=a+b;
b=a-b;
a=a-b;

1.机器不同数据存储方式存在差别,现在大多数机器是
int两字节
long四字节
double四字节
指针都是两字节.
2.char的定义本身是unsigned int
3.b是二级指针,指向字符串首地址指针