找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 57|回复: 1

C语言逻辑运算符练习题

[复制链接]

37

主题

21

回帖

241

积分

中级会员

积分
241
发表于 2026-4-17 11:58:44 | 显示全部楼层 |阅读模式
一、基础填空题(计算表达式结果,0 表示假,非 0 表示真)
已知变量:a=5, b=0, c=-3, d=1
a && b → 结果:____
a || b → 结果:____
!b → 结果:____
c && d → 结果:____
!a || c → 结果:____
(a > b) && (c < d) → 结果:____
!(a && c) → 结果:____
b || !d || c → 结果:____
二、选择题
下列表达式结果为 ** 假(0)** 的是()A. 3 && 5 B. 0 || 8 C. !0 D. 0 && 6
已知x=0, y=5,执行if(x || y) printf("true");,输出结果是()A. true B. false C. 无输出 D. 编译报错
逻辑运算符优先级从高到低是()A. && > ! > || B. ! > && > || C. || > && > ! D. ! > || > &&
三、编程题
输入一个整数,判断它是否是1~100 之间的数,是输出 YES,否则输出 NO。
输入一个字符,判断它是否是大写字母(A-Z),是输出 1,否则输出 0。
输入三个整数,判断是否同时大于 0,是输出 OK,否则输出 NO。

37

主题

21

回帖

241

积分

中级会员

积分
241
 楼主| 发表于 2026-4-17 12:00:02 | 显示全部楼层
参考答案
一、基础填空题答案
0
1
1
1
1
1
0
1
二、选择题答案
D
A
B
三、编程题参考答案
第 1 题:判断 1~100 之间的数
#include <stdio.h>
int main() {
    int n;
    scanf("%d", &n);
    // 逻辑与:同时满足 >=1 且 <=100
    if (n >= 1 && n <= 100) {
        printf("YES");
    } else {
        printf("NO");
    }
    return 0;
}
第 2 题:判断大写字母
#include <stdio.h>
int main() {
    char ch;
    scanf("%c", &ch);
    // 大写字母:A(65) ~ Z(90)
    int res = (ch >= 'A' && ch <= 'Z');
    printf("%d", res);
    return 0;
}
第 3 题:判断三个数同时大于 0
#include <stdio.h>
int main() {
    int x, y, z;
    scanf("%d %d %d", &x, &y, &z);
    // 三个条件同时成立
    if (x > 0 && y > 0 && z > 0) {
        printf("OK");
    } else {
        printf("NO");
    }
    return 0;
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|郎哥嵌入式编程社区 ( 鲁ICP备15001146号-5 )

GMT+8, 2026-4-28 04:55 , Processed in 0.013565 second(s), 19 queries .

快速回复 返回顶部 返回列表