iOS开发基础--C语言简述(一)
先占个坑,回来再补
需要的运行环境,自行搜寻,工具不止一种,不详细叙述。
C语言是一门非常重要的编程语言,与硬件底层直接相关,很多语言到最后的接口封装都会选择C语言,因而C语言一直很受欢迎,也务必掌握其基础知识。
先放出一份代码熟悉熟悉,用代码来讲解知识点:
#include <stdio.h> int max(x,y)
{
int d;
if (x > y) {
d = x;
} else {
d = y;
}
return d;
} int main(int argc, const char * argv[])
{
int a ,b ,c;
printf("请输入两个数:");
scanf("%d ,%d",&a,&b);
c = max(a,b);
printf("max = %d",c);
}
这是一个比较两个数的基本程序,利用了不少知识点,我们到时一个一个剖开。
C语言的基础知识框架和其他语言大同小异,主要包括数据类型、运算符、表达式、循环控制语句、数组、函数、编译预处理、指针、结构体以及文件操作等十个知识点,我们来每个都简单介绍。
1、数据类型
C语言提供的数据类型如图:

在程序的第6、17行
就是用到int数据类型的基本类型,最常用的三种基本类型是int(整型)、short(短整形)、long(长整形),如果数据总量不是特别大,一般用这三种已经足够,还有double类型应付小数点的数据,这种类型数据在C语言中并没有说明在计算机中所占的内存,具体数值与操作系统有关,以下列表仅供参考

除此之外,还有常量、常量符号、变量,像a,b,c,d这些都属于变量,数值可变,而对变量命名规范,每种语言都有明确的规定,而C语言是“变量用标识符以字母、数字、下划线组成且第一个字符必须为字母或下划线”,还有一点非常重要,变量都是先定义再使用,所有语言都有类似的规定,这是从编译器方面的考虑,当然随着编译技术的发展,定义不必再像以前那样需要确定具体类型,而是转移交到编译器在运行中自己判断。
但数字之外还有文字表述,只有数字人家是无法清楚知道你表达的意思嘛,所以计算机祖辈们为了解决这个问题就想到一个办法--字符串,字符串要用‘’单引号,比如e = 'Hello world',这样计算机就能表达文字啦,但本身用途不是这样,我只是比较好理解才作这种解释。
2.运算符

上面代码中只是用到赋值和算术运算符,像“d=x”,“d=y”,这种都属于赋值运算,在实际应用中最广泛是算术、逻辑、赋值、条件、指针以及强制类型转换,其他可不必深入,多看代码就可以了解。
iOS开发基础--C语言简述(一)的更多相关文章
- iOS开发系列--C语言之基础知识
概览 当前移动开发的趋势已经势不可挡,这个系列希望浅谈一下个人对IOS开发的一些见解,这个IOS系列计划从几个角度去说IOS开发: C语言 OC基础 IOS开发(iphone/ipad) Swift ...
- IOS开发基础知识碎片-导航
1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...
- IOS开发基础环境搭建
一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包: ...
- 【1】windows下IOS开发基础环境搭建
一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包: ...
- iOS开发——总结篇&IOS开发基础知识
IOS开发基础知识 1:Objective-C语法之动态类型(isKindOfClass, isMemberOfClass,id) 对象在运行时获取其类型的能力称为内省.内省可以有多种方法实现. 判断 ...
- iOS开发基础-九宫格坐标(6)
继续对iOS开发基础-九宫格坐标(5)中的代码进行优化. 优化思路:把字典转模型部分的数据处理操作也拿到模型类中去实现,即将 ViewController 类实现中 apps 方法搬到 WJQAppI ...
- iOS开发基础-九宫格坐标(5)
继续在iOS开发基础-九宫格坐标(4)的基础上进行优化. 一.改进思路 1)iOS开发基础-九宫格坐标(4)中 viewDidLoad 方法中的第21.22行对控件属性的设置能否拿到视图类 WJQAp ...
- iOS开发基础-九宫格坐标(4)
对iOS开发基础-九宫格坐标(3)的代码进行进一步优化. 新建一个 UIView 的子类,并命名为 WJQAppView ,将 appxib.xib 中的 UIView 对象与新建的视图类进行关联. ...
- iOS开发基础-九宫格坐标(3)之Xib
延续iOS开发基础-九宫格坐标(2)的内容,对其进行部分修改. 本部分采用 Xib 文件来创建用于显示图片的 UIView 对象. 一.简单介绍 Xib 和 storyboard 的比较: 1) X ...
随机推荐
- Java 添加、修改、读取、复制、删除Excel批注
本文介绍通过Java程序来操作Excel批注的方法.操作内容包括批注添加(添加批注文本.背景色.字体.自适应等).修改.读取(文本.图片).复制.删除等. 工具:Free Spire.XLS for ...
- python requests 库 首次使用
安装requests库 执行pip3 install requests 使用resquests库获取百度网站首页 打开python idle终端.以python3为例,在终端执行python3并回车. ...
- numpy 数组的拼接
一.数组的拼接 1.水平拼接 a.格式 np.hstack((数组1, 数组2)) # 注意: 值是元祖 # 0轴长要相同 b.例子 import numpy as np arr1 = np.aran ...
- python 进程事件
1.作用 通过信号量,控制全部进程进入阻塞状态,也可以通过控制信号量,解除全部进程的阻塞 注意:定义的事件对象,默认状态是阻塞 2.常用方法 """ 对象.set() 作 ...
- Bug的等级程度(Blocker, Critical, Major, Minor/Trivial)及修复优先级
Priority()和Severity(严重程度)是Bug的两个重要属性.很多新人经常混淆这两个概念. 通常,人员在提交Bug时,只定义Bug的Severity, 即该Bug的严重程度, 而将Prio ...
- 到头来还是逃不开Java - Java13程序基础
java程序基础 没有特殊说明,我的所有学习笔记都是从廖老师那里摘抄过来的,侵删 引言 兜兜转转到了大四,学过了C,C++,C#,Java,Python,学一门丢一门,到了最后还是要把Java捡起来. ...
- robotframework,移动端(小程序)自动化,滚动屏幕的方法
场景描述: 小程序端定位元素有无法定位弹出层内容的问题(自动化工具只能识别到背景主层,无法识别到弹出层) 解决思路: 1.弹出层元素与背景主层元素位置一致,当点击出弹出层时,在定位背景主层即可定位到弹 ...
- 简单实现Android手机“全局可调试”(ro.debuggable = 1)的方法【锤子坚果3】
在Android真机上调试程序有一个前提,就是这个apk包必须有 debuggable=true 的属性才行.而除了自己开发的apk能够控制打包属性之外,其他的程序发行之后显然不会设这个值为 true ...
- QDialog
QDialog设置setWindowFlags(Qt::FramelessWindowHint);后,dialog弹不出来,界面不显示: 在继承一个QDialog类并设置窗口为无边框时,如果调用set ...
- nginx文件压缩
nginx文件压缩 如果我们租用了一个带宽很低的服务器,网站访问速度会很慢,这时我们可以通过让nginx开启GZIP压缩来提高网站的访问速度. 首先我们对nginx进行限速操作,限制每个连接的访问速度 ...