C语言课程笔记 - 运算符和程序控制
运算符
一元运算符
加减号:正负号
按位取反:~
逻辑非:!
自增自减:++ –
类型转换:sizeof
二元运算符
算术运算符:+ - * / %
位运算符:& | ^(与、或、异或)
关系运算符:> < >= <= == !=
逻辑运算符:&& || !(与、或、非)
短路现象
逻辑与:&& 如果第一个操作数为假,则不计算第二个操作数。
逻辑或:|| 如果第一个操作数为真,则不计算第二个操作数。
赋值运算符
复合赋值运算符:+= -= *= /= %= &= |= ^= 等。
位运算符
位运算通常用于底层二进制操作。
三元运算符
格式:条件 ? 表达式1 : 表达式2
类似于简化版的if-else。
程序控制
分支控制
if-else:根据条件执行不同分支。
switch-case:根据整数表达式的值执行不同分支。
循环控制
for:适合已知循环次数的情况。
while:适合循环次数未知,需要条件判断的情况。
do-while:至少执行一次循环体。
练习题
逻辑运算符练习:编写一个程序,使用逻辑与、或、非运算符来判断一个整数数组中是否存在同时为正数和负数的情况。
位运算符练习:给定一个整数,编写程序计算其按位取反的结果。
赋值运算符练习:编写程序,使用复合赋值运算符计算两个整数的和、差、积、商。
三元运算符练习:编写一个程序,根据用户输入的分数,使用三元运算符判断分数是优秀、良好还是及格。
分支控制练习:
使用if-else语句编写一个程序,根据用户输入的月份,输出对应的季节。
使用switch-case语句编写一个程序,根据用户输入的星期数(1-7),输出对应的星期名称。
练习题解答
- 逻辑运算符练习
c
#include <stdio.h>
int main() {
int arr[] = {1, -2, 3, -4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
int hasPositive = 0, hasNegative = 0;
for (int i = 0; i < size; i++) {
if (arr[i] > 0) hasPositive = 1;
if (arr[i] < 0) hasNegative = 1;
}
if (hasPositive && hasNegative) {
printf("数组中同时存在正数和负数。\n");
} else {
printf("数组中不存在同时为正数和负数的情况。\n");
}
return 0;
}
2. 位运算符练习
c
#include <stdio.h>
int main() {
int num;
printf(“请输入一个整数:”);
scanf(“%d”, &num);
int bitwiseNot = ~num;
printf("按位取反的结果为:%d\n", bitwiseNot);
return 0;
}
3. 赋值运算符练习
c
#include <stdio.h>
int main() {
int a = 10, b = 5;
// 计算和
a += b;
printf("和:%d\n", a);
// 计算差
a -= b;
printf("差:%d\n", a);
// 计算积
a *= b;
printf("积:%d\n", a);
// 计算商
a /= b;
printf("商:%d\n", a);
return 0;
}
4. 三元运算符练习
c
#include <stdio.h>
int main() {
int score;
printf(“请输入分数:”);
scanf(“%d”, &score);
// 使用三元运算符判断分数等级
printf("分数等级:%s\n", score >= 90 ? "优秀" : score >= 60 ? "良好" : "及格");
return 0;
}
5. 分支控制练习
使用if-else
c
#include <stdio.h>
int main() {
int month;
printf(“请输入月份(1-12):”);
scanf(“%d”, &month);
if (month == 1 || month == 2 || month == 12) {
printf("冬季\n");
} else if (month == 3 || month == 4 || month == 5) {
printf("春季\n");
} else if (month == 6 || month == 7 || month == 8) {
printf("夏季\n");
} else if (month == 9 || month == 10 || month == 11) {
printf("秋季\n");
} else {
printf("输入的月份不正确\n");
}
return 0;
}
使用switch-case
c
#include <stdio.h>
int main() {
int week;
printf(“请输入星期数(1-7):”);
scanf(“%d”, &week);
switch (week) {
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 7:
printf("星期日\n");
break;
default:
printf("输入的星期数不正确\n");
}
return 0;
}
这些练习题涵盖了基础的逻辑、位、赋值运算符以及分支控制语句的使用。您可以将这些代码复制到您的C语言开发环境中,编译并运行它们。
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 第三天总结--C语言实战:运算符应用与程序控制技巧
发表评论 取消回复