iOS笔记:第一篇 C语言基础知识

2024-09-02 12:08

本文主要是介绍iOS笔记:第一篇 C语言基础知识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


第一节 关键字

一、关键字

1>关键字是被C语言本身使用的,不能够被用来定义变量、函数和其他用途。

2>C语言中有32个关键字:

       int    double   float  char    short   long  break   continue  for  if

else  case  switch   struct   auto   enum  register typedef  return  do

union const  extern  signed unsigned  void  goto sizeof  volatile  while

static default

 

二、数据类型关键字

1、基本的数据类型:

void:空类型,声明的函数没有返回值或者没有参数。

int :整型数据,为编译器指定的机器字长。

float:单精度浮点型数据,属于浮点数据的一种。

double:双精度浮点型数据,属于浮点数据的一种。

char:字符型数据,属于整型数据的一种。

2、类型修饰的关键字:

   short:修饰int,短整型的数据。

       long:修饰int,长整型的数据。

       signed:修饰整型数据,有符号数据类型。

       unsigned:修饰整型数据,无符号数据类型。

3、复杂类型关键字:

       struct:结构体声明。

       union:共用体声明。

       enum:枚举类型。

       typedef:声明类型别名。

       sizeof:得到特定类型或者特定类型变量的大小。

4、存储级别关键字:

       auto:指定为自动变量,由编译器自动分配及释放,通常在栈上分配。

static:指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部。

register:指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数。

extern:指定对应变量为外部变量,即表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。4

const:与volatile合称为“cv特性”,指定变量不可以被当前线程或进程改变,但是可能被系统或其他线程或进程改变。

三、流程控制关键字

       1、跳转结构:

              return:用在函数体中,返回特定值(void除外)。

              continue:结束当前循环,开始下一轮的循环。

              break:跳出循环。

              goto :无条件跳转语句。

       `2、分支结构:

              if:条件语句,后面没有分号。

              else:条件语句否定分支。

              switch:开关语句,多重分支。

              case:开关语句中的分支标记。

              default:开关语句中的其他分支,可选。

       3、循环结构:

forfor循环结构。例如:for(int i;i<10;i++) 在执行循环时,先执行第一句int i;在执行i<10;这个判断表达式可能会被执行多次或者0次,在执行完语句题后再执行i++;。

              dodo循环结构,do 1  while(2);执行顺序为:1->2->1…2为循环条件。

whilewhile循环结构,while12;先执行1,再执行2,再执行1,一直到条件满足。

 

第二节 标识符

一、标识符

C语言中符号常量,变量,数组和函数都需要一定的名称,这些名称就叫标识符。可以分为:关键字,预定义标识符和用户标识符。

二、命名原则和规范

有以下规则:

1>    只能由字母、数字、下划线或 $符组成

2>    不能以数字开头

3>    不能与关键字冲突

4>    严格区分大小写

有以下规范:

1>    命名时要见名知意,即有意义

2>    注意驼峰命名法,即变量名或函数名由多个单词组成时,每一个单词的首字母大写,如:MyFirstProject

3>    尽量使用英文单词命名。

 

 

第三节 注释

一、注释的优点以及特点

1> 优点:注释是对代码的解释,是给程序员看的,一个好的程序必须要有注释。

2> 特点:注释不会被编译器编译。

二、单行注释和多行注释

// :单行注释,在Xcode中的快捷键是:Command+/

/*  */:多行注释,注意:不可以嵌套使用。

三、注释的作用

1、在代码中可以很快找到自己想要的功能。

2、可以调试代码用,将某一行代码进行屏蔽,去测试其他代码的正确性。

 

 第四节数据类型

一、数据类型简介

1>    C语言中一共有五种数据类型:基本类型、构造类型、指针类型、空类型、定义类型

2>    其中有几种比较常用的类型有:intfloatdoublechar


A、整型:表示整数,根据范围不同可以划分为:

短整型(short<整型(int<长整型(long

B、浮点型(实型):表示小数,根据范围不同精度不同可以划分为:

单精度(float<双精度(double

float只能保证7位有效数字,double16

C、字符型:描述单个字符,char

2>    各数据类型表示的范围

    




这篇关于iOS笔记:第一篇 C语言基础知识的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1129909

相关文章

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

计组基础知识

操作系统的特征 并发共享虚拟异步 操作系统的功能 1、资源分配,资源回收硬件资源 CPU、内存、硬盘、I/O设备。2、为应⽤程序提供服务操作系统将硬件资源的操作封装起来,提供相对统⼀的接⼝(系统调⽤)供开发者调⽤。3、管理应⽤程序即控制进程的⽣命周期:进程开始时的环境配置和资源分配、进程结束后的资源回收、进程调度等。4、操作系统内核的功能(1)进程调度能⼒: 管理进程、线

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

go基础知识归纳总结

无缓冲的 channel 和有缓冲的 channel 的区别? 在 Go 语言中,channel 是用来在 goroutines 之间传递数据的主要机制。它们有两种类型:无缓冲的 channel 和有缓冲的 channel。 无缓冲的 channel 行为:无缓冲的 channel 是一种同步的通信方式,发送和接收必须同时发生。如果一个 goroutine 试图通过无缓冲 channel

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return