码迷,mamicode.com
首页 > 编程语言 > 详细

C语言基础1-简单类型

时间:2015-09-17 21:35:13      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:

简单的介绍了一下C语言的一些小东西,适合有一定工作经验复习用

 

创建C程序:xcode ->OSX的Application -> Command Line Tool -> 选择C语言

1,示例代码:main函数

   #include <stdio.h> 

   main(){

        printf("Hello, World! \n");

        return 0;

   }

解释1:#include  简单的说:系统的东西用#include<> , 而自己写的东西用#include”” 

          有的时候会遇到#include”..\myFile.h” 和 #include”.\myFile.h”  ,区别在于 ..\ 是当前目录的父目录,而 .\ 是当前目录,

          例如如果当前目录是C:\fitst\second , 那..\ 就代表C:\first 目录下, .\代表C:first\second 目录下(即当前目录下)

          OC中得#import和#include用法一样,不过#import不会引起交叉编译

解释2:main是C得入口函数,由于C语言是面向编程(不是面向对象)所以需要注意C语言函数一般需要前置声明;

          如果项目很大或者参与项目的人员较多,最好还是写一个头文件来放函数声明,写一个实现文件来放函数实现

          注意main函数是有返回值的,为int(这个main可以省略掉返回值,但强烈建议任何函数都加上返回值);并且没有返回值应该是void

          其实mian也是OC的入口函数,不过不用你管;具体位置就在Supporting Files下有一个main.m ,可以看一下,以后会讲到   

解释3:C语言中printf 默认是不换行的,因此需要加上\n 来强制换行,但OC得NSLog和swift的println默认是换行的,毕竟是高级语言吗!

          有时候需要输出 双引号 ,单引号等等特殊字符,特别是涉及到多个特殊字符输出,一开始很容易懵了!

          不过,简单的办法就是先把你要输出的东西写出来,然后特殊字符前加\

          例如:我想要输出 my name is "jiaozk",first name is ‘jiao‘ , last name is ‘zk‘  

                   改成         my name is \"jiaozk\",first name is \‘jiao\‘ , last name is \‘zk\‘  

                  输出printf("my name is \"jiaozk\",first name is \‘jiao\‘ , last name is \‘zk\‘ \n");

          至于特殊字符有哪些,请自行google

解释4:大多数语言都需要编译,链接和运行,三个阶段。C语言也是,源文件以ASCII码的形式存储,编译器将其编译成 .obj文件,链接所有相关联的文件,生成exe程序就可以在window上运行了

          不过编译,链接和运行作为了解就好!xcode都帮你做了

          ASCII码是什么,请大家自行google,ASCII码用处较多,例如比较

 

2 示例代码:基础类型

void baseType(){

    int intType;                              //解释1

    double doubleType = 23.6023;  //解释2

    char charType = ‘A‘;                 //解释3

    bool boolType = true;               //解释4

    //string *str = "string";            //解释5

    int intArray[3] = {0};              //解释6

}

解释1:声明一个int型的变量,但是如果声明却没有赋值,系统会随机赋值可能会造成不必要的麻烦,所以任何时候声明变量都赋初值是个好习惯

解释2:声明一个long double类型,有四种修饰基本类型的标识符:

          long 和short 用来修饰整数的取值范围,long double要比double所能展现的数字更大,不过用的不多;

          signed和unsigned 用来区分有符号的还是无符号的,signed是有符号的包括正数负数和0,unsigned是无符号的包括正数和0,不过好玩的是,它们并不会改变数据的长度,也就是所占的字节数,因此如果signed int 的范围是-32768 ~ 32767 (PS:想想为啥是这个范围),那么unsigned int的范围就是 0 ~ 65535

解释3:声明一个char类型,char只能存储一个字符,取值范围是-128 ~127 ,其实这条等价于 等价于char charType = 65 ,因为 A 的ASCII码就是65

解释4:原来C语言是没有布尔值的,只有用1或0来判断,但C99后添加了bool,需要引入 #include <stdbool.h> ,其实还是1表示true,0表示false

解释5:C语言中是没有字符串这种类型的,但可以用char的数组表示,例如:

          char charArray[3] = "abc" ; 等价于 char charArray[3] = {‘a‘,‘b‘,‘c‘}; 

          PS:请自行百度为什么前面是双引号,后面是单引号

解释6:声明一个int类型的数组,并且为数组的所有元素赋值0;如果不赋值0,那么不同的编译器可能会为int数组内的元素随机赋值,

          例如在xcode中int intArray[3] = {0 , 1};那么intArray[2]取出来就是一个随机值,如下

          技术分享

          其实这么写是不规范的,相当于用一个包含两个元素的数组去给一个三个元素的数组赋值

          但在xcode中,如果声明一个 char charArray[3];编译器会自动为每个元素赋值‘\0‘

          C语言中得数组是固定大小的,申请了多大就是多大

          C语言还有二维数组,可以想象成一个长方形,用的不是很多,而且挺简单的,自己google吧

    

 

参考文献:

http://www.cnblogs.com/mjios/archive/2013/03/13/2957471.html 

http://www.cnblogs.com/mjios/archive/2013/03/13/2957628.html

http://www.cnblogs.com/mjios/archive/2013/03/13/2957946.html

 

C语言基础1-简单类型

标签:

原文地址:http://www.cnblogs.com/jiaozk/p/4816424.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!