自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 自用Json解析

将Json解析成 Key 为字符串,Value 为 object 的 Dictionary /// <summary> /// 自用型解析Json 3.0 /// </summary> public object GetJsonValue(string json) { ...

2018-02-22 11:56:58 190

原创 数据库的连接

C#与数据库的连接,找了半天,不如这个看一遍。 链接 :c#连接数据库 这里面有C#连接数据库的基本增删改查语法, 下面会有我的练习代码和我自己的一些理解。因为我只会学我需要的和我感兴趣的东西,所以这里只有SqlServer的连接,其他的数据库我暂时用不上。按照原文,我的理解是 : 操作数据库,最重要的对象有两个 SqlConnection 和 SqlCommand 正如其

2018-01-08 19:57:45 555

原创 《C程序设计语言》练习 4-5

练习 4-5 给计算器程序增加访问 sin、exp 与 pow 等库函数的操作。有关这些库函 数的详细信息,参见附录 B.4 节中的头文件math.h。代码重构了一下, 将功能性的指令和函数调用从 main 里拿出来了 getop 函数也简单的改了一下执行操作 :/*根据 s 执行操作*/void command(char s[]){ double op2

2018-01-04 17:41:55 1068

原创 《C程序设计语言》练习 4-4

练习 4-4 在栈操作中添加几个命令,分别用于在不弹出元素的情况下打印栈顶元素; 复制栈顶元素;交换栈顶两个元素的值。另外增加一个命令用于清空栈。/*打印栈顶元素*/void printtop(void){ if (op > 0) printf("%g\n", val[op - 1]); else printf("error: stack e

2018-01-04 11:24:56 906

原创 《C程序设计语言》练习 4-3

练习 4-3 在有了基本框架后,对计算器程序进行扩充就比较简单了。在该程序中加入 取模(%)运算符,并注意考虑负数的情况。然而书上那个代码并不能用, 可能是因为我是windows系统的原因 windows的控制台敲回车才能输入,但回车自带换行 所以我改了一下代码 主要改的是 main 函数 和 getop函数我在处理取模运算时,要判断两个数是否都为整形,所以加了一个变量main(){

2018-01-04 09:52:48 1212

原创 《C程序设计语言》练习 4-2

练习 4-2 对 atof 函数进行扩充,使它可以处理形如 123.45e-6 的科学表示法,其中,浮点数后面可能会紧跟一个 e 或 E 以及一个指数(可能有正负号)。原atof函数 :double atof(char s[]) { double val, power; int i, sign; for (i = 0; isspace(s[i]); i++) /* skip

2018-01-03 10:25:31 499

原创 《C程序设计语言》练习 4-1

练习 4-1 编写函数 strindex(s, t),它返回字符串 t 在 s 中最右边出现的位置。 如果 s 中不包含 t,则返回-1。写了两个函数,这是第一个 思路是从右往左倒着比较,然后返回第一个匹配字符的下标int strindex(char s[], char t[]){ int i, j, k, l; //s的最右下标 for (i = 0; s[i]

2018-01-02 16:49:18 830

原创 《C程序设计语言》练习 3-6

练习 3-6 修改 itoa 函数,使得该函数可以接收三个参数。其中,第三个参数为最小 字段宽度。为了保证转换后所得的结果至少具有第三个参数指定的最小宽度,在必要时应在 所得结果的左边填充一定的空格。加的代码不多,其实想清楚了就是两个循环 x是传进来的指定宽度 i是字符串s中‘\0’的下标x--; //指定宽度的最后一位下标 if (i < x) { //先

2018-01-02 11:55:51 378

原创 《C程序设计语言》练习 3-5

练习 3-5 编写函数 itob(n, s, b),将整数 n 转换为以 b 为底的数,并将转换结果 以字符的形式保存到字符串 s 中。例如,itob(n, s, 16)把整数 n 格式化成十六进制整数 保存在 s 中。这个和3-4差不多,但是要处理大于10的数。void itob(int n, char s[], int b){ int i, sign, num; i =

2018-01-02 10:57:34 1089

原创 《C程序设计语言》练习 3-4

练习 3-4 在数的对二的补码表示中,我们编写的 itoa 函数不能处理最大的负数,即 n 等于-2 字长-1的情况。请解释其原因。修改该函数,使它在任何机器上运行时都能打印出正确 的值。/* itoa: convert n to characters in s */ void itoa(int n, char s[]) { int i, sign; if ((sign = n

2018-01-02 10:11:36 1262

原创 《C程序设计语言》练习 3-3

练习 3-3 编写函数 expand(s1, s2),将字符串 s1 中类似于 a-z 一类的速记符号 在字符串 s2 中扩展为等价的完整列表 abc…xyz。该函数可以处理大小写字母和数字,并可 以处理 a-b-c、a-z0-9 与-a-z 等类似的情况。作为前导和尾随的-字符原样排印。那个if有点长,我叠了三层,主要是判断“-”前后的字符是否匹配 那三个判断函数逻辑很简单,后面会贴上来

2017-12-29 17:26:32 1041 1

原创 《C程序设计语言》练习 3-2

练习 3-2 编写一个函数 escape(s, t),将字符串 t 复制到字符串 s 中,并在复制 过程中将换行符、制表符等不可见字符分别转换为\n、\t 等相应的可见的转义字符序列。要 求使用 swich 语句。再编写一个具有相反功能的函数,在复制过程中将转义字符序列转换为 实际字符。转换用函数 :void escape(char s[], char t[]){ int i,

2017-12-29 15:21:11 843

原创 《C程序设计语言》练习 3-1

练习 3-1 在上面有关折半查找的例子中,while 循环语句内共执行了两次测试,其实 只要一次就足够(代价是将更多的测试在循环外执行)。重写该函数,使得在循环内部只执行 一次测试。比较两种版本函数的运行时间。原文代码有一个问题,下面是改过的原文代码int binsearch(int x, int v[], int n){ int low, high, mid; low =

2017-12-29 13:48:00 1027

原创 《C程序设计语言》练习 2-10

练习 2-10 重新编写将大写字母转换为小写字母的函数 lower,并用条件表达式替代其 中的 if-else 结构。#include <stdio.h>void lower(char str[]);main(){ char str[] = "Hello World!"; lower(str); printf("%s\n", str);}void lower(cha

2017-12-29 11:16:05 309

原创 《C程序设计语言》练习 2-9

练习 2-9 在求对二的补码时,表达式 x &= (x – 1)可以删除 x 中最右边值为 1 的 一个二进制位。请解释这样做的道理。用这一方法重写 bitcount 函数,以加快其执行速度。#include <stdio.h>main(){ int x = 123; //0111_1011 int b; for (b = 0; x != 0; b++)

2017-12-29 10:46:20 369

原创 《C程序设计语言》练习 2-6

练习 2-6 编写一个函数 setbits(x, p, n, y),该函数返回对 x 执行下列操作后 的结果值:将 x 中从第 p 位开始的 n 个(二进制)位设置为 y 中最右边 n 位的值,x 的其余 各位保持不变。主要的算法其实就两句话:int setbits(x, p, n, y){ int a; a = ~(~(~0 << n) << (p - 1));

2017-12-28 18:14:05 365

原创 《C程序设计语言》练习 2-8

练习 2-8 编写一个函数 rightrot(x, n),该函数返回将 x 循环右移(即从最右端 移出的位将从最左端移入)n(二进制)位后所得到的值。用了循环和判断,感觉不太好int rightrot(int x, int n){ int b, c; c = ~0U >> 1; while (n > 0) { b = x & 1;

2017-12-28 18:12:10 785

原创 《C程序设计语言》练习 2-7

练习 2-7 编写一个函数 invert(x, p, n),该函数返回对 x 执行下列操作后的结 果值:将 x 中从第 p 位开始的 n 个(二进制)位求反(即,1 变成 0,0 变成 1),x 的其余各 位保持不变。其实是可以一个表达式搞定的,但感觉太恶心,所以分开了#include <stdio.h>invert(x, p, n);main(){ int x, y; x

2017-12-28 16:36:13 265

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除