【C语言速成】1. 变量和程序输出
一、变量部分
简介
变量是程序里存储的(可变的)数据。变量有几种常用的基本类型:
- 能存整数的类型有
int
,long
和long long
,它们仨能存的数的范围依次递增。 - 能存浮点数(小数)的类型有
float
,double
和long double
(不常用),float表示的小数在小数点后6位以后会不准,double的在15位以后会不准。 - 另外还有存储单个字符的类型
char
,其实它本质上是一个只能存很小范围的整数的类型,因为每个字符在计算机里都对应着一个数字(见附录“ASCII码表”部分;汉字和中文标点占空间大,单个char变量存不进去)。
示例:
1. 创建一个叫a的int类型的变量
int a;
声明变量的通用的格式:类型名 变量名;
2. 创建一个叫b的float类型变量并且把它的值设定成2.3
float b = 2.3;
声明变量并初始化的通用的格式:类型名 变量名 = 初始值;
3. 创建一个叫c的char类型变量,稍后用字母C给它赋值
char c;
c = 'C';
// 用字符赋值的时候需要把那个字符用英文单引号括起来,像上边这句一样
给变量赋值的通用格式:变量名 = 值;
注意:
- 每条语句的最后需要加一个英文分号(是“;”不是“;”),注意你的输入法
- 类型名和变量名之间必须有空格
二、程序输出部分
为了给最开始什么功能都没有的框架程序增加输出文本的功能,应该在代码的最开头添加一行预处理语句:
#include <stdio.h>
这行代码使用#include这个预处理语句导入了一个叫“stdio.h”的头文件。这个头文件包含了基本的数据输入/输出相关的功能,它们都是以函数形式存在的。所以如果想写一个有数据输入和输出功能的程序,起始代码应该是这样:
#include <stdio.h>
int main()
{
return 0;
}
注意:
- 不要把“stdio.h”错写成“studio.h”
- “#include”预处理语句结尾没有分号
puts函数
此函数输出一行简单的文本。
用法:
puts("内容");
示例:
代码:
#include <stdio.h>
int main()
{
puts("内容1");
puts("内容2");
return 0;
//注意:内容必须用英文双引号和英文小括号括起来,输出的时候只有内容,没有双引号和小括号
//这样写是错的: puts(“内容”);
//这样写是对的:puts("内容");
}
输出:
内容1
内容2
printf函数
此函数输出格式化的文本。
用法:
输出不变的内容:
printf("内容");
输出带变量的内容:
printf("内容 %X 内容 %X ...", 变量1, 变量2, ...);
%X表示格式化说明符,它会在输出时被替换成对应的数据格式。X需要根据变量的类型以及格式需求替换成对应的字(详情看附录):
int
类型对应%d
long
类型对应%ld
long long
类型对应%lld
float
类型对应%f
double
类型对应%lf
char
类型对应%c
输出小数时可以把值保留到小数点后几位。比如输出一个保留两位小数的float变量可以用%.2f
示例:
代码:
输出:
输出示例程序
printf输出的内容默认最后不换行,这两个printf输出的内容会连在一起。
手动换行需要在本来该换行的位置写一个反斜杠再写一个n。
三个变量的值:
a: 3
b: 0
c: 0.123456
c被重新赋值了,
现在是: 2.223456
保留两位小数后是: 2.22
附录
字符串中常用的转义符:
printf函数中常用的格式化说明符:
改变格式的说明符可以混用,读者可以自己动手实验。
基本数据类型及其内存占用和取值范围:
基本数据类型的内存占用和取值范围在不同的机器和操作系统上可能有所区别。一个典型的64位Linux系统下GNU C编译器规定的基本数据类型及其内存占用和取值范围如下所示:
ASCII码表:
- NUL:空字符(字符串结束)
- LF:换行
- CR:回车(效果随系统和软件而不同)
- DEL:退格(效果随系统和软件而不同)
→