The third lesson of C·

1,算术操作符(+,-,*,/,%)

1,+,-

2,*

3,/

#include<stdio.h>

int main()
{   
    float x = 6 /4;
    int y = 6/4;
    printf("%f\n",x);
    printf("%d\n",y);
    return o
}

x的类型为浮点数,所以输出为1.00000

y的类型为整型 所以,所以输出为1

在C语言中整数除法,只会返回整数部位,丢弃小数

想得到浮点数,则两个运算数中必须有一个为浮点数

4,%(取余数)

这个运算符只能用于整数,不可用于浮点数

负数求模:结果的正负号由第一个运算数决定

2,赋值操作符

在变量创建完成后给予一个值为赋值

1,连续赋值

int a = 3;
int b = 4;
int c = 5;
c = b = a+3;

从右向左依次赋值(拆开写更好)

2,复合赋值符

a = a +3;可以写为 a += 3;

a = a-2;可以写为a-=2;

类似复合值有:+=,-=,*=,/=,%=,>>=,<<=,&=,|=,^=

3,单目操作符(只有一个操作数)

1,++

前置++(先加一,再使用)
int a = 10;
int b = ++a;

a+1=11,再赋值给b,b=11

后置++(先使用,后加一)
int a = 10;
int b = a++;

先给b赋值,b=10,a再加一,a=11

2,--(用法与++类似)

前置--(先减一,再使用)
后置--(先使用,再减一)

3,+与-

运算符+对正负值无影响,可省略

运算符-用来改变一个值的正负号,负值加-为正值,正值加-为负值

4,强制类型转换(非必要不使用)

int a = 3.14;

a为int类型,3.14为double类型,类型不一样

int a = (int)3.14;

将3.14强制转换为int类型

5,scanf与printf函数

1,printf函数

使用printf函数需要包含头文件<stdio.h>

printf函数不会在行尾自动添加换行符,所以在结束需要添加\n

1,占位符

占位符:这个位置可以用其他值

占位符的第一个字符为%,第二个字符表示占位符的类型

printf函数的第二个参数为替换占位符的值

输出文本中也可使用多个占位符,参数与占位符为一一对应的,如果参数少于对应的占位符,则会出现随即值

2,占位符列举

%a:十六进制浮点数,输出小写字母

%A:十六进制浮点数,输出大写字母

%c:字符

%e:使用科学计数法的浮点数,指数部分e为小写

%E:用科学计数法的浮点数,指数部分E为大写

%i:整数

%f:小数(包含float与double类型)

%g:六个有效数字的浮点数,整数部分超过六位,就自动转换为科学计数法,小写e

%G:与g相同,大写E

%hd:十进制short int类型

%ho:八进制short int类型

%hx:十六进制short int类型

%hu:unsigned short int类型

%ld:十进制long int 类型

%lo:八进制long int 类型

%lx:十六进制long int 类型

%lu:unsigned long int 类型

%lld:十进制long long int 类型

%llo:八进制long long int 类型

%llx:十六进制long long int 类型

%llu:unsigned long long int 类型

%le:科学计数法的long double 类型浮点数

%lf:long double类型浮点数

%s:字符串

%zd:size_t类型

%%:输出百分号

3,限定宽度
#include<stdio.h>

int main()
{   
    printf("%5d".123);
    return 0;
}

%5d表示这个占位符宽度为5,不满5位,则会在前面添加空格

默认右对齐,左对齐加一个负号,%-5d

4,显示正负号

在%后面加符号即可显示

5,限定小数位数

在5后面加.即可实现 %.2f

最小宽度小数位数都可以用*输入

6,输出部分字符串

%s表示输入全部字符串,如果想输入开头部分,可以使用%.[m]s指定输出长度

2,scanf函数

使用scanf函数需要包含头文件<stdio.h>

scanf函数的第一个参数为一个格式字符串,里面会放置占位符

变量前面必须加入&运算符因为scanf函数传递的是地址

scanf函数在处理数值占位符时,会自动过滤空白字符

scanf函数的返回值是整数,表示成功读取的变量个数

1,占位符:(与printf函数类似)

%c:字符

%s:字符串

%[ ]:在方括号中指定一组匹配的字符,eg:%[0-9],遇到不在集合内的值,匹配停止

除了%c外,都会自动忽略起首的空白字符

强制跳过字符前的空白字符,可以写成scanf(" %c",%ch)即在%c前加空格

%s不会包含空白字符,无法读取多个单词

2,赋值忽略符:

为了防止用户输入可能不符合预定的格式,scanf函数提供了一个赋值忽略符*

只要把*号加在任何占位符的%后面,该占位符就不会返回值,解析后被抛弃

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值