6。求两个字符串的最大公共字符子串,如"abccade","dg
cadde"的最大子串为"cad" int GetCommon(char *s1, char *s2, char **r1, char **r2) { int len1 = strlen(s1); int len2 = strlen(s2); int maxlen = 0; for(int i = 0; i < len1; i++) { for(int j = 0; j < len2; j++) { if(s1 == s2[j]) { int as = i, bs = j, count = 1; while((as + 1 < len1 )&;&; (bs + 1 < len2) &;&; (s1[++as] ==s2[++bs])) count++; if(count > maxlen) { maxlen = count; *r1 = s1 + i; *r2 = s2 + j; } } } } 不使用库函数实现 strcpy。这是一个很简单的题目,但它却可以考察如下的几点: (1)编程风格; (2)出错处理; (3)算法复杂度分析(用于提高性能) 。 这是摘自林锐的《高质量 C++/C 编程指南》中的内容。 也有人总结成了下面的几点,说的也很有道理: (1)注意编程风格。比如,使用 dst、src 这样增强可读性的名字。 (2)使用断言来检验输入参数的有效性。 (3)使用 const 来约束 src,表明 src 对应的内容不能被修改。 (4)返回 dst,以便实现链式表达式这样的机制。 char *strcpy(char *strDest, const char *strSrc); { //使用断言来检验输入参数的有效性。 assert((strDest!=NULL) &;&; (strSrc !=NULL)); char *address = strDest; while( (*strDest++ = * strSrc++) != ‘\0’ ) NULL ; return address ; }
GSM 全名为:Global System for Mobile Communications,中文为全球移动通讯系统,中国移 动、中国联通各拥有一个 GSM 网,为世界最大的移动通信网络。GSM 系统包括 GSM 900: 900MHz、GSM1800:1800MHz 及 GSM-1900:1900MHz 等几个频段 GPRS 的英文全称为 General Packet Radio Service,中文含义为通用分组无线服务,是通信公 司的服务 什么是双工间隔?GSM 系统、DCS1800 的双工间隔是多少? 双工间隔指上下行频率之间的间隔,GSM 为 45MHz,DCS1800 为 95MHz。 900MHz 基本工作频带: 扩展工作频带:
上行:890~915MHz 下行:935~960MHz 上行:880~890MHz 下行:925~935MHz
通信的时候在逻辑上需要两条链路:一条是出去的,一条是进来的(上行和下行); 上行是指信号从移动台(一般指手机)到基站(2G 叫 BTS,3G 叫 NODEB)到 BSC 下行是指信号从 BSC 到基站(2G 叫 BTS,3G 叫 NODEB)到移动台(一般指手机) 这两条链路必须要分开,否则通信无法正常进行,由此产生双工模式。双工模式有 2 种:时 分双工(TDD)和频分双工(FDD) 在 TDD 中,上下行链路靠时隙来区分,频率是一样的, 比如 TD-SCDMA 在 FDD 中,上下行链路靠不同的频率来区分,同时收发, 比如 WCDMA(FDD) 为了有效地区分开上下行频率,上行频率与下行频率必须有一定的间隔(保护带) 一般下行频率高于上行频率。 在 GSM
系统中,上行(接收)的频率为:880-915MHZ;下行(发射)频率为:925-960MHZ; 在我国 GSM900 的使用频率是:905-915MHZ(上行),950-960MHZ(
下行) 移动的:下行(前向)950MHz-954MHz, 上行(反向)905MHz-909MHz 共 4M 带宽,20 个频道; 联通 CDMA:下行 954MHz~960MHz 上行 909MHz~915MHz 共 6M 带宽,29 个频道. 频率间隔是 200KHZ; 双工间隔是 45MHZ 上行: (890~915)MHz,移动台发。 下行: (935~960)MHz,移动台收。 频带宽度:25 MHz。 上,下行频率间隔:45 MHz。 载频间隔:200KHz 频点:25 MHz/200K Hz=125,共 124 个频点。
通信方式:全双工 DCS1800,上行:1710-1785MHz,下行:1805-1880MHz.
在没有编译器优化的情况下,++i 更好。优化过后两者都一样,在编译器很成熟的今天,看来像++i 和 i++这种区别已经不用使用者去 操心了。既然如此还是以可读性为优先考虑吧,建议使用大家看惯的 i++吧。毕竟++i 看起来有点奇怪,当然,在 for 循环里面他们实 现的功能都是一样的
1.给出字符串 pszBuff, 将其全部转化为大写,a 转化为 A #include
#include #include char *con