c语言基础知识(续)

1.注释

第一种注释:/*printf("%d\n")*/是c语言的注释风格,优点是一次可以注释多行代码,缺点是不支持嵌套注释。

第二种注释://printf("%d\n")是c++的注释风格。

写注释的重要性:

(1)写注释可以帮助自己理清思路。

(2)写一些复杂的代码时写注释可以帮助别人理解自己代码,也方便自己日后看的时候可以迅速回忆起当时的想法。

2.%的用法

(1)%d 打印整形

(2)%c 打印字符

(3)%s 打印字符串

(4)%f 打印float类型的数据

(5)%lf 打印double类型的数据

(6)%zu 打印sizeof的返回值

3.数组

#include

int main()

{

   int arr[10] = { 10,11,12,13,14,15,16,17,18,19 };//创建数组,arr中有10个元素

   int arr2[] = { 1,2,3 };//arr2中有三个元素,当[]中没有数据时,编译器会自动匹配空间

//数组的下标是从零开始的

//arr[8]访问的是第九个元素

    printf("%d\n", arr[8]);

    int i = 0;

    while (i < 10)

    {

          printf("%d", arr[i]);

          i = i + 1;

     }

return 0;

}

4.数组的下标

c语言规定:数组的每个元素都有一个下标,下标是从0开始的。

数组可以通过下标来访问。

5.数组的使用

#include

int main()

{

    char arr[4] = { 'b','i','t' };//没有转义字符'\0'

    //不完全初始化,剩余部分默认初始化为0

    //C99标准之前,数组的大小都是常量或者常量表达式来指定

    int arr2[10] = { 0 };//常量

    int arr3[4 + 6] = { 1,2,3,4 };//常量表达式

    //C99标准之后,支持了变长数组,这个时候允许数组的大小是变量,但是这种方式的数组是不能初始化的。

    int m = 100;

    int arr4[m] = { 0 };//不可以这么写

    int arr4[m];可以这样写

//计算数组中字符串的长度:strlen()函数

    printf("%d\n", strlen(arr));//没写转义字符'\0',打印结果为随机值

   return 0;

}

6.操作符

(1)算数操作符:+  -  *  /  %

(2)移位操作符:>>  <<

(3)位操作符(设计二进制的运算):& ^ |

(4)赋值操作符 :=  +=  -=  *=  /=  &=  ^=  |=  >>=  =<<

算术操作符:

#include

int main()

{

    int a = 7 / 2;除法

    int b = 7 % 2;//取模(求余数)

    printf("%d\n", a);

    printf("%d\n", b);

//除号的两端都是整数的时候,执行的是整数除法,如果两端只有一个浮点数就执行浮点数的除法。

   float a =7 / 2.0;

   int b = 7 % 2;

//取模操作符的两个操作数只能是整数

    printf("%.2f\n", a);

    print("%d\n", b);

    return 0;

}

赋值操作符:

int main()

{

    int a = 0;//初始化

    a = 20;//赋值

    a = a + 3;//a=23

    a -= 3;//a = a - 3;

    return 0;

}

7.单目操作符——只有一个操作数的操作符

(1)!   :逻辑反操作,把真的变成假的,把假的变成真的。c语言中0表示假,非0表示真。

(2)-   :负值

(3)+  :正值

(4)&  :取地址

(5)sizeof  :操作数的类型长度(以字节位单位)

(6)~  :对一个数的二进制按位取反

(7)--  :--前置、后置--

(8)++ :++前置、后置++

(9)*  :间接访问操作符(解引用操作符)

(10)(类型)强制类型切换

8.关系操作符

(1)> :大于

(2)>= :大于等于

(3)< :小于

(4)<= :小于等于

(5)!=:用于测试"不相等"

(6)==:用于测试”相等“

9.逻辑操作符

(1)&&:逻辑与,并且(两个同时满足)

(2)||:逻辑或,或者(一个满足即可)

(3)条件操作符(三目操作符:有三个操作符):exp1?exp2:exp3(若exp1为真则输出exp2,若而小盘为假则输出exp3)

(4)逗号表达式:就是用逗号隔开的一串表达式,特点是:从左向右依次计算,整个表达式的结构式最后一个表达式的结果。

(5)[]:下标引用操作符

(6)():函数调用操作符

(7)|.:

(8)->:

10:c语言中的一些常见关键字——c语言本身内置的,关键字不是自己创建出来的,也不能自己创建。

(1)auto:所有的局部变量之前都有一个auto,自动创建,自动销毁

(2)break:跳出循环,常与for/while/do while/break一起使用

(3)case:开关分支语句与switch一起使用

(4)char:字符型数据类型

(5)const:常属性

(6)continue:用于循环语句

(7)default:分支语句

(8)do:循环语句

(9)double:双精度变量或函数

(10)else:分支语句

(11)enum:枚举数据类型

(12)extern:声明外部符号的

(13)float:浮点型变量数据类型

(14)for:循环语句

(15)goto:实现跳转的语句

(16)if:循环语句

(17)int:整形数据类型

(18)long:长整型数据类型

(19)register:寄存器

(20)return:函数返回值

(21)short:数据类型

(22)signed:有符号的

(23)unsigned:无符号的

(24)sizeof:计算大小的关键字

(25)static:

a.修饰局部变量(局部变量出了作用域,不消毁。本质上,static修饰局部变量的时候,改变了变量的储存位置。影响了变量的声明周期,生命周期边长,和程序的生命周期i一样)

b.修饰全局变量(全局变量是具有外部链接属性的,static修饰全局变量的时候,这个全局变量的外部链接属性就变成了内部链接属性。其他源文件(.c)文件就不能再使用这个全局变量了。我们在使用的时候,就感觉作用域变小了)

c.修饰函数(函数是具有外部链接属性的,一个函数本来是具有外部链接属性的,但是被static修饰的时候,外部链接属性就变成了内部链接属性,其他源文件(.c)就无法使用了)

(26)struct:结构体

(27)switvh:自定义类型

(28)struct:结构体

(29)typedef:类型的定义,可以理解为类型的重命名

(30)union:联合体

(31)void:无返回值或参数,无指针类型

(32)volatile:变量在程序执行中可被隐含地改变

(33)while:循环语句的循环条件

11.变量的命名

(1)有意义

(2)名字必须是字母、数字、下划线组成,不能有特殊字符,同时不能以数字开头

(3)变量名不能是关键字

你可能感兴趣的:(c语言,开发语言)