输入ASCII码打印字符
#include<stdio.h>
int main(void)
{
char c;
printf("输入一个ASCII码值\n");
scanf("%d", &c);
printf("%c\n", c);
return 0;
}
输入一个ASCII码值
85
U
转义序列
#include<stdio.h>
int main(void)
{
printf("此处应有警报声\a\n"); //"\a"即发出一声警报
printf("\"这就是一句带引号的示例\"\n");
return 0;
}
此处应有警报声
"这就是一句带引号的示例"
同一个数以不同类型输出
#include<stdio.h>
int main(void)
{
float c;
printf("输入一个小数点形式的数:\n");
scanf("%f", &c);
printf("小数点形式:%f\n", c);
printf("十进制指数形式:%e\n", c);
printf("十六进制指数形式:%a\n", c);
return 0;
}
输入一个小数点形式的数:80.254
小数点形式:80.253998
十进制指数形式:8.025400e+001
十六进制指数形式:0x1.410418p+6
数组
基本版
#include<stdio.h>
int main(void)
{
char fn[20]; //数组的宣言
char ln[20];
printf("Please enter your first name: \n");
scanf("%s", fn); //在读取数组时,不用在变量名前加&
printf("Please enter your last name: \n");
scanf("%s", ln); //数组的转换说明是%s
printf("Hello, %s %s.\n", fn, ln);
return 0;
}
Please enter your first name:
ASD
Please enter your last name:
QAZ
Hello, ASD QAZ.
指定格式版
#include<stdio.h>
int main(void)
{
char fn[20]; //数组的宣言
char ln[20];
printf("Please enter your first name: \n");
scanf("%s", fn); //在读取数组时,不用在变量名前加&
printf("Please enter your last name: \n");
scanf("%s", ln); //数组的转换说明是%s
printf("Hello, \"%20s %-20s\".\n", fn, ln);
/*
这是在宽度20的字段右端打印名,
在宽度20的字段左端打印姓
*/
return 0;
}
Please enter your first name:
ASD
Please enter your last name:
QAZ
Hello, " ASD QAZ ".
输入并打印小数
#include<stdio.h>
int main(void)
{
float a;
float b;
printf("输入个小数(小数点形式):\n");
scanf("%f", &a);
printf("以小数点形式输出:%f\n", a);
printf("以指数形式输出:%e\n", a);
printf("输入个小数(指数形式):\n");
scanf("%e", &b);
printf("以小数点形式输出:%f\n", b);
printf("以指数形式输出:%e\n", b);
return 0;
}
输入个小数(小数点形式):
21.3
以小数点形式输出:21.299999
以指数形式输出:2.130000e+001
输入个小数(指数形式):
2.1e+001
以小数点形式输出:21.000000
以指数形式输出:2.100000e+001
输入个小数(小数点形式):
+21.290
以小数点形式输出:21.290001
以指数形式输出:2.129000e+001
输入个小数(指数形式):
2.129e+001
以小数点形式输出:21.290001
以指数形式输出:2.129000e+001
打印表达式
打印出的会是表达式的计算结果
(1)
#include<stdio.h>
int main(void)
{
float h;
char name[20];
printf("输入姓名:\n");
scanf("%s", name);
printf("输入身高(单位:cm):\n");
scanf("%f", &h);
printf("%s的身高是%.2fm.\n", name, h / 100);
return 0;
}
输入姓名:
Alan
输入身高(单位:cm):
178
Alan的身高是1.78m.
(2)
#include<stdio.h>
int main(void)
{
float siz;
float spd, tim;
printf("输入文件大小(单位:MB):\n");
scanf("%f", &siz);
printf("输入下载速度(单位:Mb/s):\n");
scanf("%f", &spd);
printf("下载所需时间(单位:秒):%f\n", siz * 8.0 / spd);
return 0;
}
输入文件大小(单位:MB):
2.20
输入下载速度(单位:Mb/s):
18.12
下载所需时间(单位:秒):0.971302
字符串长度strlen()
欲使用strlen(),须在预处理部分包含string.h
(1)左对齐
#include<stdio.h>
#include<string.h>
int main(void)
{
char fn[20];
char ln[20];
printf("Please enter your first name: \n");
scanf("%s", fn);
printf("Please enter your last name: \n");
scanf("%s", ln);
printf("%-9s %-9s\n", fn, ln);
printf("%-9d %-9d\n", strlen(fn), strlen(ln));
/*
使用足够大的固定字段宽度可使输出整齐,负号表示左对齐
*/
return 0;
}
Please enter your first name:
ERT
Please enter your last name:
KIJH
ERT KIJH
3 4
(2)右对齐
#include<stdio.h>
#include<string.h>
int main(void)
{
char fn[20];
char ln[20];
printf("Please enter your first name: \n");
scanf("%s", fn);
printf("Please enter your last name: \n");
scanf("%s", ln);
printf("%9s %9s\n", fn, ln);
printf("%9d %9d\n", strlen(fn), strlen(ln));
/*
使用足够大的固定字段宽度可使输出整齐
*/
return 0;
}
Please enter your first name:
DRFTG
Please enter your last name:
EDRFGV
DRFTG EDRFGV
5 6
define的单纯替换作用
基本格式
#include<stdio.h>
#define //常量名 常量(可以是数字例如1234,字符例如'a''b''c''d',字符串例如"efgh"...)
int main(void)
{
//处理中用常量名代替具体量
return 0;
}
例
#include<stdio.h>
#define V 3.785
#define S 1.609
#define H 100.0
int main(void)
{
float ml, g, am, eu;
printf("输入里程(英里):\n");
scanf("%f", &ml);
printf("输入油耗(加仑):\n");
scanf("%f", &g);
am = ml / g;
printf("美式(英里/加仑):%.1f\n", am);
eu = g * V * H / ml / S;
printf("欧式(升/100千米):%.1f\n", eu);
return 0;
}
输入里程(英里):
1
输入油耗(加仑):
1
美式(英里/加仑):1.0
欧式(升/100千米):235.2