数据存储和编程题总结。

心得体会:
1.int long short 这三种类型一般默认为有符号型,char大部分被默认为有符号型。若要区别有符号和无符号可以加入unsigned signed。负数被输入,不只是简单的去掉符号,要进行转换成补码来进行判断。
2.在计算机中,只执行加法。16进制存储,两个数字为一个字节,不足的在前面补0。
3.计算机中存储分为大小端,大端:高位存低地址,低位存高地址。小端:低位存低地址,高位存高地址。
4.模拟实现strcpy函数代码;
/实现strcpy
//char my_strcpy(char pa, const char* pb)
//{
// char* pc = pa;
// assert(pa && pb);//这个和if差不多,条件为假就中止
//
// while(*pa++ = *pb++)// \0的啊斯卡码是0
// {
// ;
// }
// return pc;
//
//}
//
//int main()
//{
// char arr1[] = { 0 };
// char arr2[] = “hello azhe”;
// my_strcpy(arr1, arr2);
// printf("%s\n", my_strcpy(arr1, arr2));//返回的是目标空间的起始地址,数组名等于 数组的起始地址,所以不用反解。
// return 0;
//}

5.模拟实现strlen函数代码;
//模拟实现lenth
//int my_lenth(char const* p)
//{
// assert(p != NULL);
// const char* pa = p;
// while (*pa != ‘\0’)//为什么这里不能用while (*pa++ != ‘\0’),因为这样的话会导致pa指向\0后面的一个单元,会多数一位。
// {
// pa++;
// }
// return pa - p;
//}
//
//int main()
//{
// char arr[] = “abcdef”;
// int len = my_lenth(arr);
// printf("%d\n", len);
// return 0;
//}
6.//判读自己的电脑是小端还是大端

//#include <stdio.h>
//#include <stdio.h>
//int check_sys()
//{
// int i = 1;//先给内存中,存一个1.
// return ((char)&i);//因为只看第一个字节,所以强制类型转换成char类型的指针,然后在返回,进行判断。
//}
//int main()
//{
// int ret = check_sys();
// if (ret == 1)
// {
// printf(“小端\n”);
// }
// else
// {
// printf(“大端\n”);
// }
// return 0;
//}
7.杨辉三角,凶手问题,走台阶问题,排名次问题。都是要反复看的代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值