3.1 表达式语句,空语句,复合语句
3.1.1 表达式语句
C程序设计语言的表达式语句由表达式加上分号“;”组成。
分别由以下几种类:算术表达式、赋值表达式、逗号表达式、关系表达式、逻辑表达式 等...
其一般形式为:
表达式;
执行表达式语句就是计算表达式的值。
3.1.2 空语句
- 空语句是什么也不执行的语句,一般由分号“;”或大括号"{ }"组成。
- 在程序中空语句可用来作空循环体。
- 一般推荐使用大括号"{ }"来表示空语句,这样更直观
3.1.3 复合语句
- 把多个语句用括号{}括起来组成的一个语句称复合语句。 在程序中应把复合语句看成是单条语句,而不是多条语句
- 复合语句内的各条语句都必须以分号“;”结尾;此外,在括号“}”外不能加分号。
3.2 输入输出函数的调用
3.2.1 printf函数
printf是输出一个字符串。
printf格式字符:
打印格式 |
对应数据类型 |
含义 |
%d |
int |
接受整数值并将它表示为有符号的十进制整数 |
%hd |
short int |
短整数 |
%hu |
unsigned short |
无符号短整数 |
%o |
unsigned int |
无符号8进制整数 |
%u |
unsigned int |
无符号10进制整数 |
%x,%X |
unsigned int |
无符号16进制整数,x对应的是abcdef,X对应的是ABCDEF |
%f |
float |
单精度浮点数 |
%lf |
double |
双精度浮点数 |
%e,%E |
double |
科学计数法表示的数,此处"e"的大小写代表在输出时用的"e"的大小写 |
%c |
char |
字符型。可以把输入的数字按照ASCII码相应转换为对应的字符 |
%s |
char * |
字符串。输出字符串中的字符直至字符串中的空字符(字符串以'\0‘结尾,这个'\0'即空字符) |
%p |
void * |
以16进制形式输出指针 |
%% |
% |
输出一个百分号 |
printf附加格式:
字符 |
含义 |
l(字母l) |
附加在d,u,x,o前面,表示长整数 |
- |
左对齐 |
m(代表一个整数) |
数据最小宽度 |
0(数字0) |
将输出的前面补上0直到占满指定列宽为止不可以搭配使用- |
m.n(代表一个整数) |
m指域宽,即对应的输出项在输出设备上所占的字符数。n指精度,用于说明输出的实型数的小数位数。对数值型的来说,未指定n时,隐含的精度为n=6位。 |
#include <stdio.h>
int main()
{
int a = 100;
printf("a = %d\n", a);//格式化输出一个字符串
printf("%p\n", &a);//输出变量a在内存中的地址编号
printf("%%d\n");
char c = 'a';
putchar(c);//putchar只有一个参数,就是要输出的char
long a2 = 100;
printf("%ld, %lx, %lo\n", a2, a2, a2);
long long a3 = 1000;
printf("%lld, %llx, %llo\n", a3, a3, a3);
int abc = 10;
printf("abc = '%6d'\n", abc);
printf("abc = '%-6d'\n", abc);
printf("abc = '%06d'\n", abc);
printf("abc = '%-06d'\n", abc);
double d = 12.3;
printf("d = \' %-10.3lf \'\n", d);
return 0;
}
3.2.2 scanf函数
- scanf通过%转义的方式可以得到用户通过标准输入设备输入的数据。
#include <stdio.h>
int main()
{
char ch1;
char ch2;
char ch3;
int a;
int b;
printf("请输入ch1的字符:");
ch1 = getchar();
printf("ch1 = %c\n", ch1);
getchar(); //测试此处getchar()的作用
printf("请输入ch2的字符:");
ch2 = getchar();
printf("\'ch2 = %ctest\'\n", ch2);
getchar(); //测试此处getchar()的作用
printf("请输入ch3的字符:");
scanf("%c", &ch3);//这里第二个参数一定是变量的地址,而不是变量名
printf("ch3 = %c\n", ch3);
printf("请输入a的值:");
scanf("%d", &a);
printf("a = %d\n", a);
printf("请输入b的值:");
scanf("%d", &b);
printf("b = %d\n", b);
return 0;
}