C语言学习易错点总结(三)---简单程序

关系运算符

优先次序

关系运算符都是双目运算符,结合性均为左结合,优先级低于算术运算符,高于赋值运算符。其中,<,<=,>,>=的优先级相同,高于==和!=。

关系表达式

int i=1,j=2,k=3;
printf("%d\n",k==j==i+5);//先计算k==j,值为0,再计算0==i+5,故表达式值为0

逻辑运算符

!>算术运算符>关系运算符>&&和||>赋值运算符

逻辑运算的值

虽然C编译在给出逻辑运算值时,以“1”代表“真”,“0”代表“假”。但是,在判断一个量是为“真”还是为“假”时,以“0”代表“假”,以非“0”的数值为“真”。

if语句

条件运算符为?和:,它是一个三目运算符
表达式1? 表达式2: 表达式3
1.它的运算优先级低于关系运算符和算术运算符,但高于赋值符
2.这个运算符的结合方向是自右向左的
例如
a>b?a:c>d?c:d
应该理解为
a>b?a:(c>d?c:d)

swich语句

case 后面记得加break,不然不能跳出swich

循环语句

goto语句

int i,sum=0;
i=1;
loop: if(i<=100){
	sum=sum+i;
	i++;
	goto loop;
}

goto 语句和if语句构成循环 不建议使用,但是可以用来退出多层嵌套

while语句

int n=0;
printf("input a string:'n");
while(getchar()!='\n')
	n++;
printf("%d",n);

意义是只要从键盘输入的字符不是回车就继续循环。

do-while语句

do
	语句
while(表达式)

for语句

for(循环变量赋初值;循环条件;循环变量增量)

break与continue

while(表达式){if(表达式)break;}while(表达式){if(表达式)continue;}
break表示跳出当前循环continue跳过剩余语句而强行执行下一次循环

example

用π/4=1-1/3+1/5-1/7+…公式求π

#include<math.h>
int main(){
	int s;
	float n,t,pi;
	t=1,pi=0;
	n=1.0;
	s=1;
	while(fabs(t)>1e-6){
		pi=pi+t;
		n=n+2;
		s=-s;
		t=s/n;
	}
	pi=pi*4;
	return 0;
}

判断m是否素数

#include<math.h>
int main(){
	int m,i,k;
	scanf("%d",&m);
	k=sqrt(m);
	for(i=2;i<=k;i++)
		if(m%i==0)
			break;
	if(i>=k+1)
		printf("%d is a prime number\n",m);
	else
		printf("%d is not a prime number\n",m);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值