C语言

我的C语言

正式接触编程,大概是一年连六个月吧,这真是一个令人着迷的领域

0x01-C语言序言

倒是觉得写代码首先不是语法,而是格式,任何时候任何地点,要是自己的代码难以理解,要么你是故意的,要么你就是菜菜

一个难以被人理解的代码在我看来是没有太多的潜力的,但不排除故意为之的情况,也许很多人说这是强迫症,但是无论打开哪一个开源代码,你看到的都将是一个拥有规范的代码文件

也许有人说人不应该被限制,不应该拘泥于小节,但是当一个工程超过一千行,也许不用只需要不到五百行,就能完全暴露出代码规范的重要性,包括缩进,变量命名,接口存放,接口参数的规范之类,听起来似乎很虚谷歌代码规范(翻墙后查看)

在我看来C语言的内建语法真是无比简洁,几乎存在既有道理,简洁不代表着不强大,强大的某些地方在近来渐渐复苏的Lisp身上也有体现。
if, for, while, switch

组成了每个C程序的半壁江山
" + " " - " " * " " / " " % " " = "

组成了各式各样的算法计数
">>" "<<" "|" "&" "^"...

Read More

Qt5 in Linux

Linux of Qt5

在Ubuntu编译Qt5工程时出现了
can not find -lGL

这是为什么?在Qt4时代并没有这种情况

经过查找,发现Qt5在这个版本自动加入了openGL的支持,而有的平台并没有默认拥有
(Windows默认有openGL,Linux却没有完全)

那么我们可以通过安装 libglut-dev 来进行修复
sudo apt-get install libglut-dev

稍微解读一下也能知道-lGL==>-linkopenGL的意思

Read More

Python学习笔记

Python学习笔记之基础

Python缩进

1. Python用相同缩进来代表同一个代码块,而某2些语言则是用花括号

2. 缩进最好使用四个空格,不要混用和使用Tab

3. 退出缩进多敲一个回车

if语句

if statement: statement elif statement: statement else statement: statement print 'That is All' 

for语法

 for variable in list/tuple: statement 

则variable每次循环就会前进一个,代表一个元素

for 和 in 是Python的关键字

Read More

C++流操作

C++流的使用(续)

文件I/O

常用的基本方法是 open(),c_str(),is_open() 分别时连接文件,转为C风格字符串,是否连接文件成功

 #include `<fstream>` //此头文件已经包含了iostream ... string cppstr1 = "input.txt", cppstr2 = "output.txt"; ... ifstream fin; //任意命名 ofstream fout; fin.open(cppstr1.`c_str()`); if(!fin.`is_open()`) { cerr << "..."; return -1; } fout.open(); ... 
...
Read More

C++流操作

C++流的使用

每次使用完流,记得要关闭,虽然有时候并不是必须的.

streamname.close();

重定向

在Linux终端或者Windows命令提示符模式下,使用重定向可以改变输入源和输出源

 ~$ program '<'input.filetype >output.filetype #去掉多余的'' 

在Linux和Unix下,'>' '<'默认是标准输出和标准输入,'2>'则是标准错误(即std::cerr)

输出流


1. ostream类提供了 put() 和 write() 方法用来输出

 cout.put('W'); //输出字符W,可以拼接使用就像重载之后的 '<<' cout.write("Candy Bob",5); //输出第一个参数的第二个参数个长度 


2. 刷新输出缓冲区可以有两种方法,原理都是重载 '<<'

...

Read More

Python相关

Python

安装第三方库(Linux::Ubuntu 14.04 LTS)

关于一个gui的库 SimpleGUICS2Pygame
所有的命令均在 root 权限下执行

安装前提:

  1. 使用easyinstall 工具 `apt-get install easyinstall`
  2. 安装pip easy_install pip

开始安装

  1. 在 https://pypi.python.org/pypi/SimpleGUICS2Pygame 下载.egg格式的安装包
  2. 使用命令 easy_install name.egg #name.egg 为下载的第三方库的egg包名称
  3. 我们这里可以使用 easy_install *.egg #代表安装所有的egg包,方便快捷,不用输入完整的名字
  4. ...
Read More