C语言家教记录(二)

C语言家教记录(二)

导语

本次授课内容如下:输入输出、表达式

有时间则讲解选择语句

辅助教材为 《C语言程序设计现代方法(第2版)》

输入输出

这里参考上一篇C语言家教记录(一)

表达式

算数运算符

    • * / % ()

简单介绍一下优先级和意思

示例程序

c 复制代码
#include <stdio.h>
int main(void)
{
 int d, i1, i2, i3, i4, i5, j1, j2, j3, j4, j5,
 first_sum, second_sum, total;
 printf("Enter the first (single) digit: ");
 scanf("%1d", &d);
 printf("Enter first group of five digits: ");
 scanf("%1d%1d%1d%1d%1d", &i1, &i2, &i3, &i4, &i5);
 printf("Enter second group of five digits: ");
 scanf("%1d%1d%1d%1d%1d", &j1, &j2, &j3, &j4, &j5);
 first_sum = d + i2 + i4 + j1 + j3 + j5;
 second_sum = i1 + i3 + i5 + j2 + j4;
 total = 3 * first_sum + second_sum;
 printf("Check digit: %d\n", 9 - ((total - 1) % 10));
 return 0;
}

赋值运算符

简单赋值

c 复制代码
int i=1;
i=2;
int j=i;
j=4;

int k=i*j+4;
float f=0.999;
int t=f;

i=j=k=0;
i=(j=(k=0));

f=i=44.6f;

k=1+(j=i);

复合赋值

+= -= *= /= %=

介绍符号意思

c 复制代码
i=i+2;
i+=2;
i++;//i=i+1
i--;//i=i-1

i+=j+=k;
i+=(j+=k);

i=1;
j=2;
k=i++ + j++;

C语言没有定义子表达式的求值顺序,也就说当多个子表达式拥有相同的优先级时,可能会导致语句执行未定义。

c 复制代码
a=5;
c=(b=a+2)-(a=1);
i=2;
j=i*i++;

总结和复习

本次授课讲述第三章和第四章内容,关键点:输入输出、表达式、正确使用表达式。

相关推荐
朝朝辞暮i5 分钟前
C++ 第 21 课:struct —— 把一组相关数据打包在一起
开发语言·c++·算法
SHARK_pssm1 小时前
【C++——类和对象(下)】
开发语言·c++·经验分享·笔记
凯哥Java1 小时前
写代码怎么避免逻辑漏洞?
java·开发语言·人工智能·自动化
Escalating_xu1 小时前
【C 语言】操作符详解(下):逗号、下标、结构体、类型转换与表达式求值
c语言
Ai-_Man1 小时前
您您这可以把Dola的多个会话比如说。左侧的多个会话一次性导出吗?不是单条会话里面的多次会对话。用AI导出鸭,答案是可以的
开发语言·前端·人工智能·小程序
Java后端的Ai之路1 小时前
Python进阶探索23 - Python中的Time与Datetime模块
开发语言·数据库·python·datetime·time
沫璃染墨2 小时前
《从零入门Linux系统篇(五十四):线程篇·七——互斥锁底层原理:从原子交换到线程竞争与锁实现》
linux·运维·服务器·开发语言·c++·驱动开发·系统架构
Java后端的Ai之路2 小时前
Python进阶探索24_应用案例_linux系统的监控
linux·开发语言·python·应用·探索
晓蛋2 小时前
C语言条件编译精讲
c语言·条件编译·宏定义·代码移植·预处理程序
程序员清风2 小时前
PydanticAI 实战:用类型安全构建可靠的 Python Agent
开发语言·python·安全