C语言从0到1(03)——常量、输入与输出

C语言从0到1(03)——常量、输入与输出

一、什么是常量

常量是固定值,在程序执行期间不会改变。又叫做字面量。

比如:1就是1,‘a’就是’a’,1不会变成2,而’a’也不会变成’b’。

常量可以是任何的基本数据类型,比如整数常量、浮点常量、字符常量,或字符串字面值,也有枚举常量。

  • 1、整型常量

整数常量可以是十进制、八进制或十六进制的常量。

如:

66         /* 十进制 */
0123       /* 八进制 */
0x5A       /* 十六进制 */
69         /* 整数 */
69u        /* 无符号整数 */
69l        /* 长整数 */
69ul       /* 无符号长整数 */
011UU      /* 非法的:不能重复后缀 */
068        /* 非法的:8 不是八进制的数字 */
  • 2、浮点常量

浮点常量由整数部分、小数点、小数部分和指数部分组成。

您可以使用小数形式或者指数形式来表示浮点常量。
如:

3.141         /* 小数,合法的 */
314159E-5L    /* 指数,合法的 */
620E          /* 非法的:不完整的指数 */
220f          /* 非法的:没有小数或指数 */
.e15          /* 非法的:缺少整数或分数 */
  • 3、字符常量

字符常量可以是一个普通的字符(例如 ‘x’)、一个转义序列(例如 ‘\t’)

转义字符:

字符含义
\\\ 字符
\’’ 字符
\"" 字符
\?? 字符
\a警报铃声
\b退格键
\f换页符
\n换行符
\r回车
\t水平制表符
\v垂直制表符
  • 4、字符串常量

字符串常量是括在双引号 “” 中的。

"hello, world"

"hello, \
world"      //使用 \  可以将字符串换行

"hello, " "w" "orld"
二、定义常量

1.使用 #define 宏定义。
2.使用 const 关键字。

  • 1、#define 宏定义

#define identifier value

#define是预处理指令,在代码编译时,使用value替换模板identifier。

#define HEIGHT 20   
#define WIDTH  15
#define WEIGHT 75.0f

注意:#define语句后不需要分号(?。

  • 2、const关键字定义

const type variable = value;

一旦variable被定义,其值不允许被改变。

 const int  HEIGHT = 20;
 const int  WIDTH  = 15;
 const float WEIGHT = 75.0f;

HEIGHT = 30;  //编译报错,const变量不允许再被赋值。
三、输出
  • 占位符

“%d” : 输出int、short类型的数据 。
“%ld” : 输出long类型的数据。
“%c” : 输出char类型的数据。
“%f” : 输出float、double类型的数据。

short si = 2;
int i = 3;
long l = 10;
char c = 'A';
float f1 = 13.1415;
double f2 = 1.414;
printf("%d、%d、%ld、%c、%f、%f\n", si, i, l, c, f1, f2);

输出

2310、A、13.1415001.414000
  • %d和%ld 可以加入数字控制输出格式,如 %8d ,输出是一共占用8个位置。
int a = 2;
printf("%8d\n", a);
printf("%08d\n", a);

输出:

       2
00000002
  • %f 默认是6位小数输出;可以在%f中控制;例如:%.2f:输出两位小数。
float f1 = 3.1415926535;
double f2 = 3.1415926535;
printf("%f、%.10f\n", f1, f2);

输出

3.1415933.1415926535
  • “%o” : 输出八进制数据。注意:八进制数据以0(零)开头。
  • “%x” : 输出十六进制数据。注意:十六制数据以0x开头。
int a = 14;
printf("十进制a:%d,八进制a:%o,十六进制a:%x\n", a, a, a);

输出

十进制a:14,八进制a:16,十六进制a:e
四、输入

从键盘接受用户输入的数据, 如:
问:你多岁了?
答:18(岁)
问:你体重多岁?
答:65.5(KG)
问:你这次成绩登记多少?
答:A

C语言中输入语法:(其他输入方式在后续章节讲解)

int scanf(const char *format, …);

上面看不懂没关系,我们在函数章节中会讲解,下面举例。

int age = 0;
float weight = 0;
char level = 0;
printf("你多少岁了?:");
scanf("%d", &age);//输入整数,&符号后续章节讲解
printf("你体重多少KG?:");
scanf("%f", &weight);//输入浮点数
printf("你成绩优秀等级?:");
rewind(stdin);//清空输入缓存,注意在输入字符的时候,会接收到上次输入的回车,所以要清空一下。
scanf("%c", &level);//输入字符
printf("age:%d, weight:%.2f, level:%c\n", age, weight, level);

交互输出:(其中20,60,A为用户输入)

你多少岁了?:20
你体重多少KG?:60
你成绩优秀等级?:A
age:20, weight:60.00, level:A

注意:scanf输入,接受变量前要使用 & 符号,不然会内存报错



练习:(*表示用户输入项)

输入你的姓名,性别,及年龄,身高放入三个不同类型的变量中,要求格式如下
请输入你的身高:
\***
请输入你的性别:(M、F表示男、女)
\*
请输入你的年龄:    
\**
身高  性别  年龄
\***  *   **
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值