C语言学习DAY1 杂记

数据类型与基本语句

基本数据类型

  • 整型int
    整数,在目前绝大多数机器上占4个字节。TC环境中是2个字节
  • 单精度实型float
    单精度浮点数,一般是4个字节长
  • 双精度实型double
    双精度浮点数,一般是8个字节长
  • 字符型char
    字符,一般是1个字节长
    用来表示256个ASCII字符,或者0~255的整数

转义字符:
一些特殊字符(无法从键盘输入或者另有它用)用转义字符表示

\n : 换行
\t :水平制表(相当于tab)

sizfof() 属于关键字,不是函数,用来求数据类型(如int,double)长度

内存是以字节为单位的,每个字节有相应的地址

strlen: 求字符串长度,遇到\0结束(字符\0对应数字0)
在使用前应加上 #include<string.h>

负数在内存中是以补码的形式存在的
例如-1:
原码:
10000000 00000000 00000000 00000001
对应反码(符号位不变):
11111111 11111111 11111111 11111110
补码为反码基础上加一:
11111111 11111111 11111111 11111111
-128补码为(八位二进制)
10000000

const c=10;
只读变量c
不能通过变量c修改对应内存值,可通过其他方式修改,如地址

字符串常量
字符串常量是一对双撇号括起来的字符序列.
合法的字符串常量:
  “How do you do.”, “CHINA”, “a” , “$123.45”
C规定:在每一个字符串常量的结尾加一个 “字符串结束标 志”,以便系统据此判断字符串是否结束。
C规定以字符’\0’作为字符串结束标志。
如果有一个字符串常量”CHINA” ,实际上在内存中应占6个字符,最后一个字符为‘\0’。但在输出时不输出‘\0’

运算符与表达式

混合运算:整型(包括int,short,long)、浮点型(包括float,double)可以混合运算。在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算.
混合运算,应先转换成能表示范围较大的类型
因此 有符号数和无符号数一起运算,转换成无符号数

类型强制转换运算符“(类型)”
可以通过“(类型)表达式”的方式把表达式的值转为任意类型

C的运算符有以下几类:

(1)算术运算符 (+ - * / %)
(2)关系运算符 (> < == >= <= !=)
(3)逻辑运算符 (! && ||)
(4)位运算符 (<< >> ~ | ∧ &)
(5)赋值运算符 (=及其扩展赋值运算符)
(6)条件运算符 (?:)
(7)逗号运算符 (,)
(8)指针运算符 (*和&)
(9)求字节数运算符(sizeof)
(10)强制类型转换运算符( (类型) )
(11)分量运算符(. ->)
(12)下标运算符([])
(13)其他 (如函数调用运算符())

优先级

函数符号() 数组下标[]
单目运算符
算数运算符
移位运算符
关系运算符
逻辑运算符
三目运算符

从上到下优先级依次降低

自增、自减运算符
++i,–i(在使用i之前,先使i的值加(减)1)
i++,i- - (在使用i之后,使i的值加(减)1)

int a = 4;
分别执行下列语句
a+=a++;
a+=++a;
++a+=a;
++a+=a++;
++a+=++a;

结果依次为9,10,10,11,12

?又称为三目运算符
如:
c=(a>b)? a : b
表示如果a>b取c=a,否则c=b

逗号运算符:将两个表达式连接起来,又称为“顺序求
值运算符“,如:
3+5,6+8;
逗号表达式 的值为14
一般形式: 表达式1,表达式2
求解过程:
先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。

格式说明符含义
%d或%i按十进制有符号整数输出,正数的符号省略
%u按十进制无符号整数输出
%o按八进制无符号整数输出(不输出前导0)
%x或X按十六进制无符号整数输出(不输出前导符0x)
%c按字符型数据输出
%s按字符串数据输出
%f按小数形式输出(6位小数)

控制结构

If语句

if(表达式1)语句1
else if(表达式2)语句2
else if(表达式3)语句3
……
else if(表达式m)语句m
else 语句n
匹配规则:
else总是与它上面的,最近的,统一复合语句中的,未配对的if语句配对;
当if和else数目不同时,可以加花括号来确定配对关系

Switch语句

switch语句的格式:
switch (表达式)

case 常量表达式1:语句1; break;
case 常量表达式2:语句2; break;

case 常量表达式n:语句n; break;
default :语句n+1; break;

循环语句

while语句

do
循环体语句
while (表达式);
do-while语句的特点:先执行循环体,然后判断循环条件是否成立

continue语句
作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定.
一般形式: continue;

break语句
break语句可以用来从循环体内跳出循环体,即提前结束循环,接着执行循环下面的语句
一般形式: break;
注意:break语句不能用于循环语句和switch语句之外的任何其他语句中。

在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU 跨切循环层的次数;

for语句

for(表达式1;表达式2;表达式3) 语句

tips:当循环次数不确定时,使用while语句
循环次数确定的时候,使用for语句

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值