---摘要:C语言学习个人向记录---
学习目的
第一篇笔记记一下学习目的
BIMer成天和软件打交道,一定会发现软件的限制
这种时候应该将软件工作托付专业人士
奈何并没有这么简单
建筑行业工具软件市场没有那么发达
BIM作为一个大泡沫行业尚处于混沌状态
二次开发这种建筑工程设计与软件工程灰色地带的行当就自然出现
为什么说是行当,故意的,因为这甚至不能当做一个正经行业
软件工程本身不挣钱,懂得都懂
建筑设计本身也不值钱,懂得也都懂
二次开发叠了两个头秃行业的buff。。。
本身又没有靠谱的商业模式(橄榄山老板是个零几年就搞Revit二次开发的大神,可是有多少公司会为橄榄山付费呢)
可以说比较尴尬
然而很多时候尚处于行业开拓期的人们就是要自己想办法
没有那么多银弹,或者突然冒出来KILLER级别的东西给你用
好的铁匠会给自己打把好锤子
迪士尼的动画实验室是世界顶级的图形学实验室
华为会给自家手机设计旗舰芯片
国产替代这两年基本上从概念走向商业价值
大家还是不能只看见人家吃肉,对吧
学习思路
还是把应用部分放到C#上
C语言看一遍就溜
不做详尽笔记,脑图这些,网上到处都是
零散记下收获,有机会再整理
2021/3/1
分支
getchar()/putchar()
不需要转换说明,stdio.h头文件中
while((ch=getchar())!=\n’){
something;
}
读取每个字符并操作,直到空格
- 新的库
#include<ctype.h>
isalpha() // 如果是一个字符,返回一个非零值
tolower() 大写改小写
- isal系列
isalnum/isalpha/isblank/iscntrl/isdigit/isgraph/islower/isprint/ispunct/isspace/isupper/isxdigit
字母或数字/字母/标准空白(空格、水平制表符、换行)/ctrl+/数字/除空格之外的任何可打印字符/小写/可打印字符/标点符号/空白/大写/十六进制数字
if else的匹配问题
1
2
3
4
5if()
if()
sth;
else
sth;没有花括号,if会和最近的else匹配,缩进被忽略了
标记(flag)
举了一个算因数的例子
我来抄一下代码,半抄半写吧
1 | //divisors.c --使用嵌套算约数 |
这里面的isPrime就是一个flag
放在for的第一个分号前保证刷新
- 逻辑运算
&& || !
记住优先级,非>与>或
序列点,副作用兑现,顺序
1 | if(num!=0&&12/num==2) |
这样的写法在其它语言可能会有问题,有可能会算后面的式子报错
1 | while(x++<y||x+y>20) |
这样的递增也会在逻辑运算符前兑现
- 选择运算符(?:)
挺有意思一简写
1 | 回答=今天有30度吗?好热:还行; |
- continue
用来跳过本次循环剩余的部分
1 | if(A){ |
while :下一个行为是测试进入循环
for :下一个行为是更新
1 | for(count=0;count<10;count++){ |
上面这个会执行多少次呢
每有一个continue,都会先count++,然后判断
while就容易跳过++
- 多重选择
用switch和break,更方便
1 | switch(A){ |