大家好,欢迎来到IT知识分享网。
提示:本文参考书为《C语言程序设计》第四版,苏小红编著。
文章目录
你必须知道的事儿
- 一个C程序必须有且只能有一个main函数。
- main前面的int表示函数执行后会返回操作系统一个整数值(在C99标准中这是必须的),return语句返回了这个值,通常返回0表示程序正常结束。
- C程序总是以main函数开始执行,与它在程序中的位置无关。
- C语句是以分号结束的。
- 以#开头而不以分号结尾的不是C语句,而是C的编译预处理命令。
- 浮点数:小数点位置可以浮动的数。
一、什么是常量
常量就是程序中不能改变的量。
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. area = 88.
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. area = 88.
宏定义的一般形式为:
#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. area = 88.
只要将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. 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(表达式)
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/142986.html