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++;
总结和复习
本次授课讲述第三章和第四章内容,关键点:输入输出、表达式、正确使用表达式。