题目:输入16位整数x,如0x1234,将其转为Big Endian格式再输出,此例为输出 0x3412 来源:某500强企业面试题目 思路:将x左移8位得到a,将x右移8位得到b,a+b即为所得 //---------------------------------------- // 写一个宏,将16位的整数转为Big Endian //---------------------------------------- #define ConvertToBigEndian(x) (((x)<<…
package com.rui.test; import java.util.Random; /** * @author poseidon * @version 1.0 * @date:2015年10月25日 上午11:12:24 * @description: 面试题-->写一个函数,返回一个数组中所有元素被第一个元素除的结果 * 陷阱: * 1.循环需要倒着写,为什么? * 想想顺着写循环的结果,第一个元素的值会发生变化后面再除就会有问题 * 2.需要考虑除数为零的边界 * 考察: * 面试…
弱菜刷题还是刷中文题好了,没必要和英文过不去,现在的重点是基本代码能力的恢复. [题目] 剑指offer 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. [思路] 直觉想到用二进制的位运算.最后写出来是一个迭代的过程. 每次迭代先计算x和y的和但不处理进位,那么相当于做异或,得到res1 然后处理进位问题,相当于计算与运算,得到res2 那么res2左移1位,再加到res1上,则整个运算的最终结果转化为res1+(res2<<1) 因为res2做左移,总会减小到…
在C语言中标准库中的随机数产生函数的返回可能不是最优的,因为有些随机数生成器的低位并不随机,而另一些返回随机数的函数实现上又太复杂鸟.所以rand()%N并不是一个好方法,牛人给出的建议是使用: rand()/(RAND_MAX/N+1) 其中RAND_MAX在stdlib.h中定义,而假设N要远远小于RAND_MAX.而PARK和MIller提供的"最小标准"的可移植随机数生成器的C实现如下: #include <stdio.h> #include <stdlib.…
题目:输入一个IPv4字符串,如“1.2.3.4”,输出对应的无符号整数,如本例输出为 0x01020304. 来源:某500强企业面试题目 思路:从尾部扫描到头部,一旦发现无法转换,立即返回,减少无谓操作. #include "stdio.h" #include "stdlib.h" #include "string.h" bool ConvertIPv4ToUInt(const char *strIP, unsigned int *ip) {…
题目:输入一个字符串,如“adcaeceeed”,判断是否可以通过重新排列使之可以输出对称字符串,如本例可以输出“adceeeecda”,返回True. 来源:某500强企业面试题目 思路:扫描字串,对每个字符出现的次数累加,如果次数为奇数的字符个数不超过1个,则返回True,否则返回False #include "stdio.h" #include "stdlib.h" #include "string.h" //---------------…
题目:输入两个数字字符串,如“1234567890”和“987654321”,返回二者相乘的结果字符串,如本例返回为“1219326311126352690”. 来源:某500强企业面试题目 思路:从尾部到头部,对两个字串的每个数字分别相乘,并放入结果字符串相应的位置. #include "stdio.h" #include "stdlib.h" #include "string.h" char *BigNumMultiply(const cha…
题目:输入整数n和M,输出n在M进制下的表示字符串.如n=3000,M=16,输出16进制下3000的表示字符串,为“BB8” 来源:某500强企业面试题目 思路:对n取模M,将得到的数字压入栈中,再令 n = n / M 的商.重复这一过程,可以得到每一位的数字. 将栈内的数字出栈,并转为字符表达,凑成完整的字符串即可 #include "stdio.h" #include "stdlib.h" #include "string.h" //--…
在学习C#基础部分(课件来源:http://www.xuepub.com/52.html),遇到这么一个题目,前段时间面试遇到一个"车牌限行的问题",我就在想如何取末尾数值的问题.这是个类似的问题. int Num = int.Parse(Console.ReadLine());int thirdNum = ((Num - xNum % 100) / 100) % 10;if (thirdNum == 7){Console.WriteLine("{0}→true",…
#include <iostream> using namespace std; int add(int x, int y) { return x+y; } int addmove(int a, int b) { if (b==0) { return a; } else { int sum = a ^b; //处理移位 11 = 0, 10 = 1,00 = 0 int jinwei = (a & b) <<1; //11 = 0; 10 = 1,00 = 0 return…
1.字节顺序 字节顺序是指占内存多于一个字节类型的数据在内存中的存放顺序,通常有小端.大端两种字节顺序.小端字节序指低字节数据存放在内存低地址处,高字节数据存放在内存高地址处:大端字节序是高字节数据存放在低地址处,低字节数据存放在高地址处.计算机中读取数据的时候是从低地址到高地址,存储数据时候相反! 2.主机字节序到网络字节序 基于X86平台的PC机是小端字节序的,而有的嵌入式平台则是大端字节序的.因而对int.uint16.uint32等多于1字节类型的数据,在这些嵌入式平台上应该变换其存储顺…
最近,莫名其妙c代码就是编译运行不了,老是提示不支持的16位应用程序 然后网上找了各种教程 只有这个成功了(害得我还升了下系统) 实现进入Windows设置 然后点更新和安全--恢复 然后点高级启动--立即重新启动 然后选择疑难解答 选择高级选项 选择启动设置 这里看启用安全模式前面的数字,然后按对应的Fn键启动安全模式 例如:这里是F4键 进入安全模式的系统后 Win + R键 输入regedit 找到这个路径下的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\W…
static有什么用途?(请至少说明两种)1.限制变量的作用域2.设置变量的存储域7. 引用与指针有什么差别?1) 引用必须被初始化,指针不必.2) 引用初始化以后不能被改变,指针能够改变所指的对象.2) 不存在指向空值的引用,可是存在指向空值的指针. 8. 描写叙述实时系统的基本特性在特定时间内完毕特定的任务,实时性与可靠性9. 全局变量和局部变量在内存中是否有差别?假设有,是什么差别?全局变量储存在静态数据库,局部变量在堆栈10. 什么是平衡二叉树?左右子树都是平衡二叉树 且左右子树的深度差…
1.   阅读下面程序并写出输出结果(10分). main() { int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); printf("%d,%d",*(a+1),*(ptr-1)); } 答:2,5 *(a+1就是a[1]*(ptr-1)就是a[4],执行结果是25 &a+1不是首地址+1系统会认为加一个a数组的偏移是偏移了一个数组的大小本例是5个int int *ptr=(int *)(&a+1); 则p…
1.static有什么用途?(请至少说明两种) 1)限制变量的作用域 2)设置变量的存储域(堆,主动分配内存也是堆) 1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变.
 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问.它是一个本地的全局变量.
 3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用.那就是,这个函数被限制在声明它的模块的本地范围内使用. 2.全局变量和局部变量在内存中是否有区别?如…
CBrother脚本语言10分钟写一个拯救“小霸王服务器”的程序 到了一家新公司,接手了一坨c++服务器代码,到处内存泄漏,这服务器没有数据库,挂了后重启一下就好了,公司就这么凑活着用了几年了,定时重启吧,也不是天天挂,不定时重启吧,说不准哪天就挂了...... 小公司,从写代码到维护就我一个人,每到下班后或者周末,电话一响,我就知道挂了,得找电脑重启一下,要是出去玩了还得找网吧,装个远程软件吧,公司说服务器之前被远程软件黑过,不准装,烦. 想着弄个什么程序在手机上点一下就给重启了就好了,咱这种…
title author date CreateTime categories WPF 源代码 从零开始写一个 UI 框架 lindexi 2019-05-24 15:54:36 +0800 2018-11-18 20:54:22 +0800 WPF 需要知道 WPF 是一个 UI 框架,作为一个 UI 框架,最主要的就是交互.也就是 UI 框架需要有渲染显示和处理用户输入的功能. 如果直接告诉大家 WPF 里面有哪些类,估计没有几位小伙伴会听下去,要么就是讲的类太简单,看过去我也就知道了,要么…
[试题描述] 请用shell写一个简短的程序,实现1+2+...+100的功能. [程序] 方法一: #!/bin/bash ..} do let sum+=$i done echo $sum 方法二: #!/bin/bash ....} do let sum+=$i done echo $sum 方法三: #!/bin/bash ;i<=;i++)) do let sum+=$i done echo $sum 其他方法: 可以while循环.until等方式实现.…
概要 完成一个程序,作用是统计一个文件夹下面所有文件的代码行数.输入是一个文件夹的绝对路径,输出是代码行数.所以此程序的新特点有两个: 统计某一文件夹下的所有文件: 可以任意指定本机硬盘上任何位置的某一个文件夹. 前言 在上一篇随笔中熟悉了文件的基本操作.但仍然有改进的余地:统计特定文件时,还是需要手动输入文件名.如果文件数量很多怎么办?可不可以直接统计某个文件夹下面的所有文件的代码行数?今天解决的就是这个问题. 思考 我们已经解决了一个问题:写一个带有文件操作的C语言程序,输入文件名,输出此文…
“用C语言写一个函数测试当前机器的大小端模式”是一个经典的笔试题,如下使用两种方式进行解答: 1. 用union来测试机器的大小端 #include <stdio.h> union test { int a; char b; }; int endian_test(void) { union test t1; t1.a = ; return t1.b; } int main(void) { int i = endian_test(); ) { printf("is little end…
解答:#define MIN(A,B) ((A) <= (B) ? (A) : (B)) MIN(*p++, b)会产生宏副作用 剖析:这个面试题主要考察宏定义可以实现函数的功能.但是它终归不是函数,宏定义中括弧的”参数“也不是真的参数,在宏展开的时候对”参数“进行的是一对一的替换. C++中另一个进行代码替换的是#inline,它们之间的区别是: 1. define只是简单的宏替换,通常会产生二义性:而inline会真正地编译到代码中  2.  inline函数是否展开由编译器决定,有时候当函…
在<C程序设计伴侣>以及这几篇关于cURL的文章中,我们介绍了如何利用cURL写一个下载程序,从网络下载文件.可是当我们在用这个程序下载文件时,又遇到了新问题:如果这个网址是无效的,那么我们的下载会失败,这就意味着我们在进行下载之前,需要对这个文件的网址的有效性进行验证.另外一个需要对网址进行验证的场景是,在C++11 FAQ中文版中有很多链接,因为一些后期的维护,其中的有些链接可能会失效,这就要求我们对其中的链接的有效性进行检查验证,及时地发现失效链接并进行维护. 以上这些场景下,都要求我们…
在这一系列的前一篇文章学了C语言,如何为下载狂人写一个磁盘剩余容量监控程序?中,我们为下载狂人写了一个程序来监视磁盘的剩余容量,防止下载的东西撑爆了硬盘.可是,这两天,他又抱怨他的下载程序不好用,让我们帮他写一个下载程序. 虽然我们学了C语言,虽说学了C语言,走遍天下都不怕,但是要想用C语言写一个全新的下载程序,对我们来说,就好比另外一个二万五千里长征.虽然技术上可行,但是在实际操作中却是行不通的.谁也不会傻到去用C语言写一个全新的下载程序.那么,到底怎么办呢? 如果我们看了<C程序设计伴侣>…
前言 在上一篇博客中,本人提到了自己的文件操作可以说是几乎没用过.现在想想,这也算是只在OJ上做题的一个弊端吧.虽然通过OJ做题是一个学习代码好手段,但其他方面也要多多涉猎才好,而不是说OJ用不到文件操作,就不去使用了,要坚持贯彻Learning by doing(咳).写完上一篇博文之后,偷懒了三天,今天我就花时间学习了上次的不足,也就是这第二篇博客的标题. C语言的文件操作 在编码过程中,尤其是在初学时,控制台和命令行是我们打交道的对象.有时候学了很久的代码,打出来的程序也只能是和小黑框交互…
源:用C语言写一个“事件”的模拟程序 Example.c //定义一个函数指针 func int (*func) (void); //调用该函数相当于触发了事件. //该事件触发后,会检查函数指针func是否为NULL,如果不为NULL,说明该指针已被赋值(相当于该事件被注册). //如果事件已被注册,则执行之. void fireTheEvent() { if(func != NULL) { func(); } } void registerTheEvent(int (*function) (…
1.写一个“标准”宏,这个宏输入两个参数并返回较小的一个 答:#define MIN(x, y) ((x)<(y)?(x):(y))//注意x,y要加括号,因为x,y如果有复合运算会出现问题. 2.宏定义中#与##的作用? 答:#是把宏参数转化为字符串的运算符,##是把两个宏参数连接的运算符. 例如: #define STR(arg) #arg          则宏STR(hello)展开时为”hello” #define NAME(y) name_y      则宏NAME(1)展开时仍为n…
好吧!我承认我想标题党了.大家对解释器的吸引,绝对没有自己动手写一个脚本语言更有吸引力.不过如果看到标题过来的,可能也是 我承认,之前收藏的减肥视频,我都是这样对待他们的. 不过我还是相信很多程序猿or程序媛不仅仅希望可以做出一个牛逼的产品,更想做出来一个牛逼闪闪的编程语言.而这里就是朝着开发一个脚本语言的方向去努力 恩!我就是xxoo语言之父. 前几篇文章已经实现一个简易的加减法计算器,想必看了文章之后可以很快的写出来一个乘除法计算器.那么如果加减乘除混合运算呢? 这节将实现类似6-1*2+4…
小学生都能用的编程语言 2020的春季中小学受疫情影响,一直还没有开学,孩子宅在家说想做一个学校要求的研究项目,我就说你做一个怎么样通过编程来学习数学的小项目吧,用最简单的计算机语言来解决小学数学问题.虽然我是一个老码农,但一直不赞成教小学生学编程,觉得这是揠苗助长,小学生不应该过早的固化逻辑思维而放松形象思维,某些少儿编程机构居然教学C++游戏编程,我觉得这真是在摧残祖国的花朵.现在孩子宅在家 ,想让他学点什么好几次冒出学编程的想法都被自己给否决了,直到我看到数学老师要求同学们整理小学阶段的数…
如果想要自己写一个服务器和客户端,我们需要掌握一定的网络编程技术,个人认为,网络编程中最关键的就是这个东西--socket(套接字). socket(套接字):简单来讲,socket就是用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信. ✁ TCP 协议 TCP 协议:是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义.在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能.   关键词:三次握手,可靠,基于字节流…
//写一个函数,实现字符串内单词逆序 //比如student a am i.逆序后i am a student. #include <stdio.h> #include <string.h> #include <assert.h> void reverse_string(char *left, char *right) //连续的字符串逆序 { char temp; while (right > left) { temp = *left; *left = *rig…