第二章 基本数据类型

提示:本文参考书为《C语言程序设计》第四版,苏小红编著。


你必须知道的事儿

  1. 一个C程序必须有且只能有一个main函数。
  2. main前面的int表示函数执行后会返回操作系统一个整数值(在C99标准中这是必须的),return语句返回了这个值,通常返回0表示程序正常结束。
  3. C程序总是以main函数开始执行,与它在程序中的位置无关。
  4. C语句是以分号结束的。
  5. 以#开头而不以分号结尾的不是C语句,而是C的编译预处理命令。
  6. 浮点数:小数点位置可以浮动的数。

一、什么是常量

常量就是程序中不能改变的量。

1.幻数(Magic Number)

代码如下(示例):

//计算不同半径的圆的周长和面积
#include<stdio.h>
int main(void)
{
    double r;
    printf("Input r:");
    scanf("%lf",&r);
    printf("circumference = %f\n",2*3.14159*r);
    printf("area = %f\n",3.14159*r*r);
    return 0;
}

//程序运行结果如下
Input r:5.3
circumference = 33.300854
area = 88.247263

printf()、scanf()函数是C的标准输入/输出函数。
scanf(“%lf”,&r); r前面的&是必要的,&称为取地址运算符,&r指定了用户输入数据存放的变量的地址。

在本例中,用到了圆周率∏,是用常数近似表示的,像这种在程序中直接使用的常数,称为幻数

避免大量使用幻术,建议把幻数定义为宏常量const常量

2.宏常量

//使用宏常量定义圆周率
#include<stdio.h>
#define PI 3.14159	//定义宏常量PI
int main(void)
{
    double r;
    printf("Input r:");
    scanf("%lf",&r);
    printf("circumference = %f\n",2*PI*r);
    printf("area = %f\n",PI*r*r);
    return 0;
}
//程序运行结果如下
Input r:5.3
circumference = 33.300854
area = 88.247263

宏定义的一般形式为:#define 标识符 字符串
宏定义中的标识符被称为宏名,用字母全部大写的单词来命名宏常量。
宏定义中的宏名与字符串之间可有多个空白符,但无需加等号,且最后不以分号结尾,因为宏定义不是C语句而是一种编译预处理命令
将程序中出现的宏名替换成字符串的过程称为宏替换
宏替换时不做任何语法检查,宏常量没有数据类型

3.const常量

//使用const常量定义圆周率
#include<stdio.h>
int main(void)
{
    const double PI = 3.14159;		//定义实型的const常量PI
    double r;
    printf("Input r:");
    scanf("%lf",&r);
    printf("circumference = %f\n",2*PI*r);
    printf("area = %f\n",PI*r*r);
    return 0;
}
//程序运行结果如下
Input r:5.3
circumference = 33.300854
area = 88.247263

只要将const放在类型名之前,即可将类型名之后的标识符声明为具有该类型的const常量。
const常量只能在定义时赋初值
与宏常量相比,const常量优点是有数据类型,编译器能对其进行类型检查,某些集成化调试工具可以对const常量进行调试。

二、什么是变量

变量就是其值在程序执行过程中是可以改变的。

1.变量的注意事项

必须定义,使用。
C89规定所有变量必须在第一条可执行语句之前定义,但C99没有这个限制。
变量定义的一边形式是:类型关键字 变量名;
变量的类型决定了编译器为其分配内存单元的字节数数据在单元中的存放形式该类型变量合法的取值范围以及该类型变量可参与的运算种类

2.变量名的命名规则

变量名是用户自定义标识符,用于标识内存中的一个具体的存储单元,在这个存储单元中存放的数据称为变量的值。

标识符只能由英文、数字、下划线组成(建议不要使用汉语拼音)
标识符必须字母或下划线开头
不允许使用C关键字为标识符命名

注意:标识符是区分大小写的

3变量名的初始化

C语言允许在定义变量的同时对变量初始化。

int a, b, c;
a = b = c = 0;
int a = 0, b = 0, c = 0;
不能写成
int a = b = c = 0;

可以同时定义多个相同类型的变量,变量之间用逗号隔开。

三、简单的屏幕输出

#include<stdio.h>
int main(void)
{
    int a = 1;
    float b = 2.5;
    char c = 'A';
    printf("a = %d\n",a);
    printf("b = %f\n",b);
    printf("c = %c\n",c);
    printf("End of program\n");
    return 0;
}
//程序运行结果如下
a = 1
b = 2.500000
c = A
End of program

%d表示十进制整型格式输出变量的值。
%f表示十进制小数格式输出变量的值,无特别指定隐含输出6位小数。
float,单精度浮点型,对应 %f
double,双精度浮点型,对应 %lf
%c输出字符型变量的值(一个字符)。
\n表示输出换行。
用一对双引号括起来的若干字符称为字符串。
调用printf(“%.5f\n”,x);输出——其中.5表示小数点后保留5位小数

四、数据类型

在这里插入图片描述

请添加图片描述

请添加图片描述

请添加图片描述

五、sizeof语句

sizeof是C语言的关键字,不是函数名。
sizeof()是C语言提供的专门用于计算指定数据类型字节数的运算符。

#include<stdio.h>
int main(void)
{
    printf("Date type       Number of bytes \n");
    printf("-----------       --------------- \n");
    printf("char              %d\n",sizeof(char));
    printf("int               %d\n",sizeof(int));
    printf("short int         %d\n",sizeof(short int));
    printf("long int          %d\n",sizeof(long int));
    printf("long long int     %d\n",sizeof(long long int));
    printf("float             %d\n",sizeof(float));
    printf("double            %d\n",sizeof(double));
    printf("long double       %d\n",sizeof(long double));
    return 0;
}
//程序运行结果
Date type       Number of bytes 
-----------       --------------- 
char              1
int               4
short int         2
long int          8
long long int     8
float             4
double            8
long double       8

形式:sizeof(类型)、sizeof(变量名)、sizeof(表达式)

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值