基本运算符

参考C Primer Plus进行C语言学习

文章目录

  • 基本运算符
    • 除法运算符:/
  • 其他运算


1、除法运算符

        在C语言中,整数除法结果的小数部分被丢弃,这一过程被称为截断。

2.其他运算符

(1)sizeof运算符和size_t类型

        回顾一下,sizeof运算符以字节为单位返回运算对象的大小。如果运算对象是类型(如:float),则必须用圆括号将其括起来。

#include<stdio.h>
int main()
{
	int n=0;
	size_t intsize;
	
	intsize=sizeof(int);
	printf("n=%d,n has %zd bytes;all ints have %zd bytes.\n",n,sizeof n,intsize);
	return 0;
}

        C语言规定,sizeof返回size_t类型的值。这是一个无符号整数类型,但它不是新类型。前面介绍过,,size_t是语言定义的标准类型。C有一个typedef机制,允许程序员为先有类型创建别名。

        typedef double real;

        这样,real就是double的别名。现在,可以声明一个real类型的变量:

        real deal;        //使用typedef

        类似的,C头文件系统可以使用typedef把size_t作为unsigned int或 unsigned long的别名。这样,在使用size_t类型时,编译器会根据不同的系统替换标准类型。

(2)求模运算符:%

        用于整数运算,求模运算符给出其左侧整数除以右侧整数的余数。

#include<stdio.h>
#define SEC_PER_MIN 60
int main(void)
{
	int sec,min,left;
	printf("Convert secnd to minutes and seconds!\n");
	printf("Enter the number of seconds\n");
	scanf("%d",&sec);	//读取秒数
	while(sec>0)
	{
		min=sec/SEC_PER_MIN;	//截断分钟数
		left=sec%SEC_PER_MIN;	//剩下的秒数
		printf("%d second is %d minutes,%d second.\n",sec,min,left);
		printf("Enter next value:\n");
		scanf("%d",&sec);
	}
	printf("Done!\n");
	

(3)递增运算符:++

#include<stdio.h>
int main()
{
	int ultra=0,super=0;
	while(super<5)
	{
		super++;
		++ultra;
		printf("super=%d,ultra=%d\n",super,ultra);
	}
	return 0;
}

 程序中两条递增语句创建两个缩写的原因之一是,紧凑结构的代码让程序更为简洁,可读性更高。

最后,递增运算符还有一个在某些场合特别有用的特性。

#include<stdio.h>
int main()
{
	int a=1,b=1;
	int a_post,pre_b;
	a_post=a++;
	pre_b=++b;
	printf("a	a_post	b	pre_b\n");
	printf("%1d	%5d	%5d	%5d\n",a,a_post,b,pre_b);
	return 0;
}

结果的差异,这就是++的前缀形式和后缀形式的差异。 

a_post=a++;        //后缀:使用a的值之后,递增a

 b_pre=++b;        //前缀:使用a的值之前,递增b

(4)递减运算符:--

#include<stdio.h>
#define MAX 100
int main()
{
	int count=MAX+1;
	while(--count>0)
	{
		printf("%d bottles of spring water on the wall,"
		"%d bottles of spring water!\n",count,count);
		printf("Take one down and pass it around,\n");
		printf("%d bottles of spring water!\n\n",count-1);	
	}
	return 0;
}

 


总结

今天就先学这么些,明天学习表达式和语句。加油!

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值