《C++新经典》第3章程序的基本结构和语句
3.1 C语言的语句和程序的基本结构
3.1.1 语句的分类
- 控制语句
- 函数调用语句
- 表达式语句
表达式+"构成的语句。 - 空语句
; //表示什么也不做
- 复合语句
{}括起来的语句,当作一个整体。
{
int x;
x = 1;
int y;
y = 1;
} //这里不需要“;”
3.1.2 程序的三种基本结构
-
顺序结构
从上到下,从左到右逐条执行。 -
选择结构
条件为真时执行A操作,否则执行B操作。选择结构可以派生出多分支选择结构。 -
循环结构
(1)当型循环结构。先判断条件P,再决定是否执行A操作。
(2)直到型循环结构。先执行一次A操作,再判断条件P是否为真。
3.1.2 赋值语句的特殊写法
int x;
printf("x=%d\n", x=8);
int a=3, b=5, t=1;
if((a=b)>0) t=a;
3.2 数据的输出与输入
3.2.1 数据的输出
- putchar
只能输出一个字符
putchar(c); //c是字符或整型
#include <stdio.h> //系统目录
#include "stdio.h" //首先当前目录,然后系统目录
- printf
输出若干任意类型数据
printf(格式控制字符串, 输出表列);
%d, 十进制数字
%o, 八进制非负数字
%x, 十六进制非负数字
%u, 十进制unsigned数据
%c, 字符
%s, 字符串
%f, 单,双精度小数
%12.3f
%05d
//搜索“printf格式字符”
输出“%”
printf("%%");
printf("%c", '%');
printf("%s", "%");
3.2.2 数据的输入
- getchar
等待输入一个字符,按Enter后才继续执行。
char c;
c = getchar();
putchar(c);
printf("%c", getchar());
//字符+Enter共两个字符,第二次输出回车符
char c;
c = getchar();
putchar(c);
c = getchar();
putchar(c);
- scanf
输入一到多个任何类型数据。
scanf(格式控制字符串, 地址表列);
//返回成功读入的数据项数
int a, b, c;
scanf(" %d %d %d ", &a, &b, &c); //输入数据间空格、回车、tab键分隔
printf("a+b+c=%d", a+b+c);
#pragma warning(disable:4996) //忽略警告