iOS开发技能树之C语言-基础知识

主函数

一个C程序有且只有一个主函数,即main函数。主函数是C语言中的唯一入口,C程序就是执行主函数里的代码。

#include <stdio.h>
int main() {
    printf("First C ");
    return 0;
}

#include是预处理指定,用于包含指定文件(在编译前处理),把对应文件复制到指定位置,包含任何类型的文件。

#include包含文件时有两种方式,使用<>""<>包含只会查账编译器库函数文件,适用于包含库函数;""包含首先查找程序当前目录,没找到则查找库函数路径,适用于自定义文件。

C程序一定是从主函数开始执行的。

基本数据类型

数据类型

  • 整型(int):没有小数的数字,格式符:%d
  • 字符型(char):存储单个字符,格式符:%c
  • 浮点型:有小数的数字,单精度(float),双精度(double),格式符:%f-6位小数,%e-科学计数法

%o,以不带符号八进制输出整数
%x,以不带符号十六进制输出整数

    C语言不存在字符串变量,字符串只能存在字符数组中。
//格式化输出
int main(int argc, const char * argv[]) {
    // insert code here...
    printf("Hello, World!\n");

    int age = 23;
    float height = 180.3;
    char sex = 'M';
    printf("age:%d,height:%.2f,sex:%c \n",age,height,sex);
    return 0;
}

类型修饰符

short 短型,修饰int、double
long 长型,修饰int、double
signed 有符号型,修饰int、char
unsigned 无符号型,修饰int、char

运算符

1、算术运算符

  • 加法:+
  • 减法:-
  • 乘法:*
  • 除法:/
  • 求余(模):%
  • 自增:++
  • 自减:–
#include <stdio.h>
int main()
{
    int x = 10;
    int y = 2;
    printf("x+y=%d\n",x+y);
    printf("x-y=%d\n",x-y);
    printf("x*y=%d\n",x*y);
    printf("x/y=%d\n",x/y);
    x--;
    printf("x--:%d\n",x);
    x++;
    printf("x++:%d\n",x);
    printf("x%%y=%d\n",x%y);//打印% -%%

    return 0;    
}
  • 自增的两种表达式:a++,++a,都等同于a=a+1,表达式执行完毕后,a的值都增加了1。但是两种表达方式的运算规则不同,++a表达式,先运算再取值,而a++表达式则是先取值后运算。只是针对表达式的值,与a本身的值没有影响。
     int a = 10;
    printf("a ++ :%d \n",a++);
    printf("a:%d \n",a);

    int b = 10;
    printf("b ++ :%d \n",++b);
    printf("b :%d,\n",b);
打印结果:
a ++ :10 
a:11 
b ++ :11 
b :11

2、赋值运算符:=

  • 简单赋值运算符:=
  • 符合赋值运算符:在简单赋值运算符前面加上其他运算符构成如:+=,-=,*=,/=,%=

3、关系运算符

  • 大于: >
  • 大于等于:>=
  • 小于: <
  • 小于等于:<=
  • 等于: ==
  • 不等于: !=

关系表达式的结果只是“真”和“假”,用1和0表示。

4、逻辑运算符

  • 逻辑与:&&,参与运算两个变量都为真时,结果才能为真,并且,如果前一个变量为假,不会验证后面的变量
  • 逻辑或:||,参与运算两个变量只要有一个为真时,结果为真,否则结果为假。并且,只要第一个变量为真,不会验证后面的变量。
  • 逻辑非:!,参与运算变量为真时,结果为假,参与变量为假时,结果为真。

逻辑运算符的结果只是“真”和“假”,用1和0表示。

5、三目运算符

  • 格式:表达式1 ? 表达式2 : 表达式3;
    判断表达式1是否为真,真执行表达式2,假执行表达式3。

一般用三目运算解决一些简单的判断,替代if-else,更简洁。

6、运算符优先级

来自网络

C语言中运算符最高等级是(),很多时候都会用到它来解决顺序问题。

扫描二维码关注公众号,回复: 183597 查看本文章

猜你喜欢

转载自blog.csdn.net/fengzhixinfei/article/details/80081958