1063 字
5 分钟
C notes
2023-08-30

C notes#

变量、数据类型和算术表达式#

使用变量#

  • 变量命名规则:字母或下划线+字母、下划线或数字 注:
  • 不允许使用$
  • 不允许使用空格
  • 数字不能作为变量名的开头
  • 不允许使用保留字

数据类型与常量(四种基本类型:float、double、char、_Bool)#

  • %f若未指定,只显示6位数字
  • %g不显示浮点数后面多余的0,若小数点后没有位数,将省略小数点

int#

  • %o输出八进制数(该方法不显示前面的0,若要显示使用%#o)
  • %x输出十六进制数(该方法不显示前面的0x,若要显示使用%#o,若要输出大写字母则使用%X)

float double#

  • 浮点类型格式化输出符号为%f
  • 合法的浮点数常量,例如:“3.”、“125.8”、“-.001”、“1.7e4”(即为1.7*10-4,分割尾数和指数的字母e,大小写都合法
  • 使用科学计数法显示浮点数 使用格式化输出符号%e %g(printf函数自行决定,若指数小于-4或者大于5,将使用科学计数法)
  • double与float类型存储浮点数 double精度为float的两倍

char#

  • 格式化输出符号为%c
  • char可以储存单个字符,例如’a’,‘6’,’;‘

_Bool#

  • _Bool只能存储0或1
  • 主要用于判断

类型修饰符:long, long long, short, unsigned, signed#

使用算数表达式#

整数算术和单目减法操作符#

  • 两个整数之间进行除法操作得到的结果一定是个整数
  • 整型变量程序效率较高
  • 单目操作符:只需要一个操作数的操作符(双目操作符亦然)

余数操作符#

  • 两边的运算量必须为整型,且%后面的运算量不能为0。

整型数与浮点数之间的转换#

  • 将浮点数赋给整型数,浮点数的小数部分将被舍弃
  • 将整型变量赋给浮点数不会丢失精度 如果两个操作数有一个是浮点数,将被视作浮点运算

类型转换操作符#

(int)29.55+(int)21.99

  • 实际上相当于29+21(相当于临时将该两变量看作整型)
  • 临时转换规则同上

结合运算和赋值:运算赋值操作符#

  • 该方法可简化程序
  • 该写法可读性较好

C 中的运算符(操作符)优先级

类别运算符结合性
后缀() [] -> . ++ - -从左到右
一元+ - ! ~ ++ - - (type)* & sizeof从右到左
乘除* / %从左到右
加减+ -从左到右
移位<< >>从左到右
关系< <= > >=从左到右
相等== !=从左到右
位与 AND&从左到右
位异或 XOR^从左到右
位或 OR|从左到右
逻辑与 AND&&从左到右
逻辑或 OR||从左到右
条件?:从右到左
赋值= += -= *= /= %=>>= <<= &= ^= |=从右到左
逗号,从左到右

类型_Complex和_Imaginary#

  • 用于处理复数和虚数的数据类型

循环#

for语句#

  • 一般形式:for(初始表达式;循环条件;循环表达式)程序代码 不要在for语句括号后面放置分号,这样会立即结束循环

关系操作符#

操作符用途示例
==相等count == 10
!=不等flag! = DONE
<小于a < b
<=小于或等于low <= higt
>大于pointer > end_of_list
>=大于或等于j >= 0

关系操作符优先级低于算术操作符

对齐输出#

  • 如%2f(格式化输出符号,前面加上一个输出宽度限定数(若某个数输出宽度大于宽度限定数,将忽略该限定符))

程序输入#

例子 scanf("%d",&x); 请求用户输入一个整数,并将其存放于x变量中

嵌套的for循环#

for循环的变体#

多个表达式#

例子: for(int i=0, j=0; i<10; ++i) for(i=0, j=100; i<10; ++i, j=j-10)

省略某些表达式#

例子: for(;j!=100; ++j)

声明变量#

注意:for循环中声明的变量为局部变量

while循环#

while语句的两种形式

while(表达式)
    语句
while(循环条件){
    程序代码
    循环表达式;
}

do语句#

形式

do
    程序语句
while(循环表达式);

注:先执行程序语句,再对循环表达式求值

break语句#

停止当前层级的循环

continue语句#

该语句之后的所有语句将被跳过

C notes
https://blog.sfunction.top/posts/c-notes/
作者
微茫之心
发布于
2023-08-30
许可协议
CC BY-NC-SA 4.0