1. 表达式语句
表达式;
c = a + b;
a++;
2. 函数调用语句
函数名(实际参数表);
printf("Hello Word!");
3. 复合语句
{ c = a + b; printf("Hello Word!"); }
4. 控制语句
5. 空语句
变量 = 表达式
int a; a = 1;
1.在变量说明中给变量赋初值和赋值语句的区别:
#include <stdio.h>
void main(){
// 变量赋初值
int a=1, b=1, c=1;
// 但是不能写成
// int a=b=c=1;
}
等价于 ↓↓
#include <stdio.h>
void main(){
int a, b, c;
// 赋初语句
a=1,b=1, c=1;
// 赋值语句可以嵌套,所以可以写成
a=b=c=1;
}
2.赋值表达式与赋值语句的区别:
if(x=y)>0) z = x;
这是正确的,if(x=y;)>0) z = x;
这是错误的。printf();
scanf();
getchar();
putchar();
getchar()
putchar(字符变量)
从键盘输入ABC三个字符,然后把它们输出到屏幕。
#include <stdio.h>
void main() {
char x, y, z;
x = getchar();
y = getchar();
z = getchar();
putchar(x);
putchar(y);
putchar(z);
putchar('\n');
// 方法二
// putchar(getchar());
// putchar(getchar());
// putchar(getchar());
}
printf(格式控制, 输出列表)
printf("%d , %f",a,b)
1.格式控制:用引号括起来的字符事,它包括两种信息:
2.输出列表:需要输出的一些数据,可以是变量,也可以是表达式
printf("a=%d, f=%f, %d",a,f,a+b)
整数输出格式:d格式符:输出十进制整数。
格式符 | 说明 |
---|---|
%d | 输出整型数据,以十进制带符号形式输出整数,按整型数据的实际长度输出。 |
%md | m为指定的输出字段的宽度。如果数据位数小于m,在数据左端补空格,大于m,按实际位数输出。 |
%ld | 输出长整型数据。long 是 int 得修饰,只是比 int 多了四个字节的存储空间。 |
%u | 输出无符号类型数据。以十进制无符号形式输出整数。 |
%o | 输出八进制的数据。以8进制无符号形式输出整数(不输出前导符0)。 |
%x | 输出十六进制的数据。以16进制无符号形式输出整数(不输前导符0x)。 |
例子
#include <stdio.h>
void main() {
int a, b;
long c;
a = 123;
b = 123456;
c = 123456789;
printf("a=%d, b= %d\n" ,a, b);
printf("a=%4d, b=%4d\n", a, b);
printf("c=%ld\n", c);
printf("c=%10ld\n", c);
}
字符输出格式:
格式符 | 说明 |
---|---|
%c | 输出char型数据,输出一个字符。 |
%s | 输出字符串型数据,输出一个字符串,按字符串的实际长度输出。 |
%ms | m为指定的输出字段的宽度。如果数据位数小于m,在数据左端补空格,大于m,按实际长度输出。 |
%-ms | 与%ms类似,如果数据位数小于m,在数据右端补空格。 |
%m.ns | 输出占m列,只取字符串左端n个字符,输出在右侧,左端补空格。 |
%-m.ns | 输出在左侧,右端补空格,如果n>m,则m自动取n的值,输出n个字符。 |
例子
#include <stdio.h>
void main(){
printf("%3s,%-8s,%s\n","ABCDEFG", "ABCDEFG", "ABCDEFG");
printf("%7.3s,%-5.3s,%.4s\n","ABCDEFG", "ABCDEFG", "ABCDEFG");
}
实数输出格式
格式符 | 说明 |
---|---|
%f | 输出float/double型数据 系统自动指定宽度,整数部分全部输出,小数部分输出6位。 |
%m.nf | 输出占m列,n为小数位。输出在右端,左端补空格。 |
%-m.nf | 输出在左侧,右端补空格,如果m小于(整数位+n)则正常输出小数部分n位。 |
例子
#include <stdio.h>
void main(){
float x;
x = 123.456;
printf("%f,%10f,%10.2f,%-10.2f,%.2f。\n",x,x,x,x,x);
}
指数输出格式
格式符 | 说明 |
---|---|
%e | 以指数形式输出实数,系统自动指定宽度。共13位,小数位6位,指数5位。 |
%m.ne | 输出占m列,n为小数位,输出在右侧左补空格。 |
%-m.ne | 输出在左侧,右端补空格,如果m小于(整数位+n)则正常输出小数部分n位。 |
%me | 没有指定小数位,则小数位6位。 |
例子
#include <stdio.h>
void main(){
float x;
x = 123.456;
printf("%e,%10e,%10.2e,%-10.2e,%.2e。\n",x,x,x,x,x);
}
补充 g格式符:用来输出实数,输出格式为f格式或e格格式(使用较少)。
例子
#include <stdio.h>
void main() {
float x;
x = 123.456;
printf("%f,%g\n",x, x);
}