c语言中常见的逻辑运算符与,或,非;常见的循环语句while,for,if,水仙花数

下面结合代码简单讲述一下c语言中常见的逻辑运算符与,或,非;常见的循环语句while,for,if,水仙花数
#include <stdio.h>
#include <stdlib.h>
int main()
{
/*
c语言的与运算,或运算,非运算
一 与运算
与运算:只有全为真时才为真。
当第一个为假时,该表达式即为假,这一特性极大便利了代码的书写,下面我举几个例子。
在JS中因为浏览器的不兼容性,有的浏览器支持某个属性而有的不支持,我们假设浏览器A支持属性a,浏览器B支持
那我们在代码中就可以这样写:
a&&表达式1;当有a时执行表达式1;
c语言中也可以这样写。
/
int a,b,c,d,max;
a=10;
b=5;
max=a;
c=(a>b)&&(max=a);
printf("%d\n",max);
//修改 a b 的大小关系
b=15;
printf("%d\n",max);
d=(a>b)&&(max=b);
printf("%d\n",max);
/

或运算:只要有一个表达式的值为真,条件为真
非运算:取反
下面写一个小程序来体现以上三种运算符
*/
//求1~100中既能整除x又能整除y
//求1~100中能整除x或者能整除y
//求1~100中既不能整除x又不能整除y
int x,y;
printf(“输入x,y\n”);
scanf("%d",&x);
scanf("%d",&y);
//1~100中既能整除x又能整除y的数num1
int num1=0;
//1~100中既不能整除x又不能整除y的数num2
int num2=0;
//1~100中能整除x或能整除y的数num3
int num3=0;
for(int i=1;i<=100;i++){
if(i%x0&&i%y0){
num1++;
}
if(i%x!=0||i%y!=0){
num2++;
}
if(i%x0||i%y0){
num3++;
}
}
printf(“既能整除x又能整除y的数有%d\n”,num1);
printf(“既不能整除x又不能整除y的数有%d\n”,num2);
//num1+num2的值合起来为100
printf(“能整除x或能整除y的数有%d\n”,num3);
}
此程序中新手易犯的错误:逻辑错误
a&&b 取反为 !a||!b 而非!a&&!b

while,for,if的 示例(水仙花数)
#include <stdio.h>
#include <stdlib.h>
int main()
{
/*
if语句与elseif的示例:
对学生成绩进行判定:

90 优秀
80 良好
=60 及格
<60 不及格
/
int grade;
printf(“请输入成绩:\n”);
scanf("%d",&grade);
if(grade>=90){
printf(“优秀\n”);
}else if(grade<90&&grade>=80){
printf(“良好\n”);
}else if(grade<80&&grade>=60){
printf(“及格\n”);
}else if(grade<60){
printf(“不及格\n”);
}
/

for语句实现1~100的累加
while语句实现1~100的累加
*/

int num1,num2;
num1=0;
num2=0;
for(int i=1;i<=100;i++){
num1+=i;
}
int j=1;
while(j<=100){
num2+=j;
j++;
//笔者在此犯了一个小错误j++漏写导致死循环程序无法往下执行
}
printf(“for语句实现1~100的累加的结果为%d\n”,num1);
printf(“while语句实现1~100的累加的结果为%d\n”,num2);
//以下示例实现水仙花数如1^3 + 5^3+ 3^3 = 153
/思路:水仙花数三位数所以范围100~999
x变量保存个位,y变量保存十位,z变量保存百位
for循环遍历100~999,判断水仙花数,输出
/
int x,y,z,num3;
x=0;
y=0;
z=0;
num3=0;
for(int k=100;k<=999;k++){
z=k/100;
y=(k%100)/10;
x=(k%100)%10;
if(k==(x
x
x+yyy+zzz)){
printf("%d\n",k);
num3++;
}
}
printf("%d\n",num3);
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值