iOS笔记之_C语言基础


一、第一个C程序
#include <stdio.h>
int main()
{
   //输出Hell word
    printf("Hello World!\n");
    return 0;
}
> 通过 cc  –c  文件名.命令编译代码文件
编译成功,会生成.o目标文件
> 通过 cc  文件名.o链接编译生成的.o文件
链接成功,会生成a.out可执行文件

>也可以直接使用cc 文件名.c直接进行编译链接。

可执行文件运行方法
> 直接双击打开a.out文件
> 终端中使用 ./a.out 指令

1、注意点和常见错误:
> 1.不写分号、用了中文分号。
> 2.字符串少了双引号、或者用了单引号,双引号里面又有双引号。
> 3.代码没有写在main函数内部、return之前。
> 4.没有包含#include<stdio.h>。
> 5.文件拓展名不是.c或者.C,比如.txt
> 6.用绝对路径编译文件,注意目标文件生成的地方。
> 7.语法错误,不会生成.o文件,编译不会通过。
    算法错误,会生成.o文件,能够编译通过。

2.注释符:
//单行注释
/*
可以行注释
*/
注释是可以嵌套的,注释符可以用来测试Bug

二、C语言基础知识
1.关键字
(1)什么是关键字
1> 关键字就是C语言提供的有特殊含义的符号,也叫做“保留字”。
2> C语言一共提供了32个关键字,这些关键字都被C语言赋予了特殊含义。
auto double int struct break else long switch
case enum register typedef char extern return union
const float short unsigned continue for signed void
default goto sizeof volatile do if while static

(2)关键字的特征
> 1.全部都是小写。
> 2.在开发工具或者智能文本编辑工具中会显示特殊颜色。默认情况下,C语言中的所有关键字在Xcode中都会显示紫褐色。
(3)main函数中哪些是关键字?
int、return等等
2.标识符
(1)什么是标识符
标识符就是在程序中自定义的一些符号和名称。要跟关键字区分开来:关键字是C语言默认提供的符号,标识符是程序员自定义的

(2)标识符的作用
> 1.标识符,从字面上理解就是用来标识某些东西的符号,标识的目的就是为了将这些东西区分开来.
> 2.其实,标识符的作用就跟人类的名字差不多,为了区分每个人,就在每个人出生的时候起了个名。
> 3.C语言是由函数构成的,一个C程序中可能会有多个函数,为了区分这些函数,就给每一个函数都起了个名称。函数的名称就是标识符的一种。除了函数,以后还会学到“变量”这个概念,变量的名称也是标识符。

3.标识符命名
> 1.命名规则(一定要遵守)
只能由26个英文字母的大小写、10个阿拉伯数字0~9、下划线_组成。
严格区分大小写,比如test和Test是2个不同的标识符。
不能以数字开头。
不可以使用关键字作为标识符。

> 2.命名规范(最好遵守)
尽量起个有意义的名称,比如一个完整的英文单词,别人一看这个名称就能才能这个标识符的作用。如果不懂英文,你也可以用拼音,尽量不要起像abcde、sfsdfsdf等这类看起来没有意义的名称。
如果标识符中含有多个单词,可以使用驼峰标识(除开第一个单词,后面每个单词的首字母都是大写):firstName、myFirstName,或者使用下划线_来连接:first_name、my_first_name。

4.数据
有动态数据和静态数据之分,动态就可随机存取调配但不能永久保存,静态可永久保存
(1)数据分类
 

> 1.什么是常量

常量,表示一些固定的数据。
> 2.常量的分类
整型常量(int)
浮点型常量(float\double)
字符常量(char)
单引号只能括住1个字符,而且不能是中文字符
字符串常量
问题:那究竟6、'6'、"6"在用法上有什么区别呢?
6是整型常量,'6'是字符常量,"6"字符串常量。

(3)变量
> 1.什么是变量
当一个数据的值需要经常改变或者不确定时,就应该用变量来表示。比如游戏积分。
> 2.定义变量
 任何变量在使用之前,必须先进行定义。
 定义变量的目的是:在内存中分配一块存储空间给变量,方便以后存储数据。
 如果定义了多个变量,就会为这多个变量分别分配不同的存储空间。
> 3.格式
变量类型  变量名;
比如int num;
(4)实例
#include <stdio.h>
int main()
 {
    int i = 0; // 定义变量并初始化数值
    char c; // 定义字符变量c
    int a, b; // 同时定义多个变量
    return 0;    
 }

练习:交换两个变量的值的方法。
#include <stdio.h>
int main()
{
    int a = 10;
    int b = 11;
    /*
    工作中常用
    int temp = a;
    a = b;
    b = temp;
    */


    //面试可能会被问
    a = b - a; 
    b = b - a;
    a = b + a;
    
    printf("a=%d, b=%d\n", a, b);
    
    return 0;
}

(5)变量的存储与输出
> 1.所占用字节数跟类型有关,也跟编译器环境有关。
 
> 2.变量的输出
int 用%i或者%d
double 用%f
char 用%c 字符串用%s

(6)变量的使用注意
 >1.变量的作用域
 从定义变量的那一行代码开始,一直到所在的代码块结束
 >2.代码块的作用
 及时回收不再使用的变量,为了提升性能

(7)变量的内存分析
 >1.内存寻址由大到小,优先分配内存地址比较大的字节给变量
 >2.变量越先定义,内存地址就越大
 >3.取得变量的地址:&变量名
 >4.输出地址:%p
 >5.一个变量一定先进行初始化,才能使用

代码实例

#include <stdio.h>
int main()
{
    // 内存寻址由大到小
    int a = 10;
    
    int b = 20;
    
    int c;
    
    // &是一个地址运算符,取得变量的地址
    // %p用来输出地址
    // 0x7fff56f09bc8
    printf("a的地址是:%p\n", &a);
    // 0x7fff56f09bc4
    printf("b的地址是:%p\n", &b);
    // 0x7fff56f09bc0
    printf("c的地址是:%p\n", &c);
    
    //由于变量c没有经过初始化,所以直接拿来使用是不对的
    //int d = c  + 1;
    
    printf("c的值是%d\n", c);
    
    return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值