/*【项目1-字母及其编码】
编写一个程序,从键盘上输入一个小写字母,显示这个小写
字母及它所对应的大写字母以及它们的ASCII码值。*/
#include <stdio.h>
int main()
{
char ch;
printf("Please enter a Char: ");
scanf("%c", &ch);
printf("%c %d\n", ch, ch);
printf("%c %d\n", ch-32, ch-32);
return 0;
}
/*
Please enter a Char: a
a 97
A 65
Process returned 0 (0x0) execution time : 2.177 s
Press any key to continue.
*/
/*
参数解答:
#include <stdio.h>
int main()
{
char ch;
scanf("%c", &ch);
printf("%c %d\n", ch, ch);
printf("%c %d\n", ch-32, ch-32);
return 0;
}
*/
-------------------------------------------------------------------------------------------------------------------------------------
#include <stdio.h>
int main()
{
printf("Name\tAge\tSalary\tAddress\n");
printf("Tom\t%d\t%-6.1f\t%s\n", 20, 600.3, "NewYork");
printf("Sam\t%d\t%-6.1f\t%s\n", 21, 359.2, "London");
printf("Lisa\t%d\t%-6.1f\t%s\n", 23, 999.9, "Beijing");
printf("Jack\t%d\t%-6.1f\t%s\n", 25, 888.8, "Shanghai");
printf("Andy\t%d\t%-6.1f\t%s\n", 28, 962.5, "Paris");
return 0;
}
/*
Name Age Salary Address
Tom 20 600.3 NewYork
Sam 21 359.2 London
Lisa 23 999.9 Beijing
Jack 25 888.8 Shanghai
Andy 28 962.5 Paris
Process returned 0 (0x0) execution time : 0.263 s
Press any key to continue.
*/
————————————————————————————————————————————————————————
<span style="font-size:24px;">笔记:</span>
<span style="font-size:24px;">使用格式描述串
用以 % 开始的转换描述,指明对应的其他参数的转换和输出方式
printf(格式描述串, 其他参数 1 , ..., 其他参数 k );
转换描述 实现的转换 对应参数的类型
%d 将参数按整数形式转换输出 int
%ld 将参数按长整数形式转换输出 long
%f 将参数按带小数点数形式转换输出 double(不是float!)
%Lf 将参数按带小数点数形式转换输出 long double
%c 输出一个字符 表示字符的编码
用于整型数据的输出格式控制
格式控制 实际输出形式 参数
%d,%i 带符号的十进制形式整数 int
%o 无符号八进制表示的整数,没有先导的0 int
%x,%X 无符号十六进制整数,没有先导的 0x 或 0X。 int
%u 无符号十进制整数 int
用于浮点型数据的输出格式控制
格式控制 实际输出形式 参数
%f 一般实数形式,用%m.nf形式控制宽度与小数点后位数 double
%e,%E 科学计数形式 double
%g,%G 灵活形式(当指数小于-4或大于等于精度描述时用%e或%E的形式输
出,否则用%f 的形式输出)
double
字符常量
用单撇号括起来的一个字符,如'a','#','%','D'
字符常量区分大小写字母,如'A'和'a'是不同的。
字符型数据的存储
字符常量用1个字节存储
例:char c1='a',c2='b';
有符号(signed)
无符号(unsigned)
字符型
(char)
类型标识符 字节 范围 备注
[signed] char 1 -128 ~ 127 -2 7 ~ (2 7 -1)
unsigned char 1 0 ~ 255 0 ~ (2 8 -1)
以 \开头的字符序列—— 转义字符常量
例如: '\n'是一个字符,代表“换行”符
诸多“控制字符”在程序中无法用一般形式的字符表示,要采用转义字符
换行
响铃等无法显示的符号
单/双引号
所有的转义字符和所对应的意义
转义字符 意义 ASCII码值(十进制)
\a 响铃(BEL) 7
\b 退格(BS) ,将当前位置移到前一列 8
\f 换页(FF),将当前位置移到下页开头 12
\n 换行(LF) ,将当前位置移到下一行开头 10
\r 回车(CR) ,将当前位置移到本行开头 13
\t 水平制表(HT) (跳到下一个TAB位置) 9
\v 垂直制表(VT) 11
\\ 代表一个反斜线字符''\' 92
\' 代表一个单引号(撇号)字符 39
\" 代表一个双引号字符 34
\0 空字符(NULL) 0
\ddd 1到3位八进制数所代表的任意字符 三位八进制
\xhh 1到2位十六进制所代表的任意字符 二位十六进制
字符串常量
用双撇号括起来的部分就是字符串常量
如:"abc","Hello!","a+b","He Lijian"
字符串的存储
用连续的字节存储字符串
如:"abc","Hello!","a+b","He Lijian"
字符串常量"abc"在内存中占4个字节,而不是3字节
编译系统会自动加一个'\0'作为字符串结束标志。
'\0'不是字符串的一部分,它只作为字符串的结束标志
如printf("abc");输出3个字符abc,不包'\0'
"贺利坚"占7个字节
空字符串""占1个字节.</span>