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++;

总结和复习

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

相关推荐
晓蛋4 天前
c语言指的是什么意思
c语言·编译器·编程开发·集成开发环境·程序实例
小羊没烦恼!4 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
傲世仙尊4 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
牵猫散步的鱼儿4 天前
重载、重写(覆盖)、重定义区别
c语言
伞伞悦读4 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
phltxy4 天前
C 语言指针:从内存地址到灵活的数据访问
c语言
C语言小火车4 天前
C/C++ 为什么需要编译器?
开发语言·c++
phltxy4 天前
C 语言中的数据存储:从类型到二进制位
c语言
霍霍的袁4 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
孙启超4 天前
【AI开发之Rust】第 11 课:智能指针与内部可变性
开发语言·后端·rust