第2章 C语言基础知识

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章C语言基础知识

2.1 常量和变量

【学习目标】

(1)掌握常用标识符的命名规则

(2)掌握常量和变量的定义与引用方法

实例5 常量和变量——输出常量与变量的值

【实例任务】

定义不同类型的几个变量,然后对应输出相应的常量值和变量值。程序的运行结果如图2-1所示。

图2-1 程序运行结果

【相关知识】

1.标识符

标识符是用来标识变量名、符号常量名、函数名、数组名、文件名、类名、对象名等,其基本构成元素源自字符集。C语言的字符集包括英文字母、数字字符和一些特殊字符。用这些基本元素单位命名标识符时,一定要遵循以下四个原则:

(1)必须由字母(a~z,A~Z)或下画线(_)开头;

(2)由字母、数字或下画线组成的长度不超过32个字符;

(3)标识符中的大小写字母有区别;

(4)不能与关键字同名。

下面是不合法的标识符和变量名:

M.d.,John,y 123,#33,3d64

2.常量

常量是数据在内存中一种表示形式,在程序运行过程中值永远保持不变,常用的类型有5种,包括整型常量、实型常量、字符型常量、字符串常量、符号常量。

整型常量就是整型,常用的表示形式有十进制,如10、30等。八进制常量表示形式要以0开头,如013、012等。十六进制常量表示形式要以0x或0X开头,如0x13、0X12等。

实型常量就是指的是一些带小数点的数,包括指数。如3.14、-1.2、1.2e6、10.5E8等。其中,1.2e6表示数学上1.2×106,10.5E8表示数学上10.5×108。

字符型常量是单引号引起来的单个字符,这些字符为ASCII字符,对应各有其ASCII 码值。字符常量包括一些转义字符,字符形式和输出结果对照如表2-1所示。

表2-1 转义字符

字符串常量是用双引号引起来的0个或多个字符。字符串常量形式给出的是字符串在存

储空间中的起始地址。如“Hello World!”就是一个字符串常量。

符号常量,是指以标识符来代替一个值,这个标识符的值在程序运行过程中不能再改变。它是在编译预处理阶段使用#define来进行定义,也就是程序的开头来定义。常量名的类型由所给的常量值的类型来定,不再单独指明。符号常量的定义形式为:

#define 常量名常量值

如实例中的定义语句“#define C 'x'”定义了一个符号常量,常量名为C。

3.变量

变量是指在程序运行过程中其值可以被改变的量,C语言变量遵循先定义后引用的原则。变量的定义形式为:

数据类型<变量名列表>

变量在定义时,可以先定后,后赋值,也可以定义的同时赋初值。如实例中合法的定义形式:

int a=10; /*定义整型变量,同时为变量赋初值*/

float b; /*先定义单精度型变量,然后再赋初值*/

b=10.5;

char c='x'; /*定义字符型变量,同时赋初值*/

double d=3.14e15; /*定义双精度类型变量*/

变量定义时很灵活,允许在定义的同时对部分变量赋初值,如下列合法的定义语句:int a,b,c=6;

但不允许同时对几个变量赋同一个值,如下定义语句是错误的:

int a=b=c=13;/*这是错误的语句*/

【课堂精练】

1.已知频率求波长。光的速度为3×108米/秒,已知频率为50HZ,求此频率光波的波长。程序的运行结果如图2-2所示。

图2-2 程序的运行结果

根据程序的运行结果,请将下面程序补充完整并调试。

#include "stdio.h"

main()

{ _________________________________

float f=50.0;

x=c/f;

printf("此光波的波长为:%.2lf米",x);

getch(); }

2.摄氏温度和华氏温度的转换。已知摄氏温度与华氏温度的转换公式为:C=5(F-32)/9,输入摄氏温度的值,请输出华氏温度的值,程序的运行结果如图2-3所示。

图2-3 程序的运行结果

根据程序的运行结果,请将下面程序补充完整并调试。

#include "stdio.h"

main()

{ float F,C; /*F为摄氏温度,C为华氏温度*/

printf("请输入摄氏温度的值:\n");

___________________________________

getchar();

C=5*(F-32)/9;

printf("摄氏温度%.1f所对应的华氏温度为:%.1f",F,C);

getch(); }

2.2 数据类型

【学习目标】

(1)掌握几种常用的数据类型

(2)理解不同数据类型间的转换

实例6 基本数据类型——输出不同数据类型的值

【实例任务】

定义不同类型的变量,并进行一定的简单运算,要求输出不同类型表达式的值。程序的运行结果如图2-4所示。

图2-4 程序运行结果【程序代码】

【相关知识】

1.整型数据

根据占用内存字节数的不同,整型变量又分为4类:

(1)基本整型(类型关键字为int)。

(2)短整型(类型关键字为short [int])。

(3)长整型(类型关键字为long [int])。

(4)无符号整型。无符号型又分为无符号基本整型(unsigned [int])、无符号短整型(unsigned short)和无符号长整型(unsigned long)三种,只能用来存储无符号整数。

整型数据或变量占用的内存字节数,随系统而异。在16位操作系统中,一般用2字节表示一个int型变量,且long型(4字节)≥int型(2字节)≥short型(2字节)。显然,不同类型的整型变量,其值域不同。占用内存字节数为n的(有符号)整型变量,其值域为:-215~(215-1);无符号整型变量的值域为:0~(21 6-1)。不同整型变量的长度和取值范围如表2-2所示。

表2-2 整常数类型的字节长度和取值范围

2.实型数据

C语言的实型变量,分为两种:

(1)单精度型:类型关键字为float,一般占4字节、提供7位有效数字。

(2)双精度型:类型关键字为double,一般占8个字节、提供15~16位有效数字。

实型常量即实数,在C语言中又称浮点数,其值有两种表达形式:

(1)十进制形式:例如3.14、10.5等。

(2)指数形式:它靠字母e或E连接两边的数字组成,如2.3e-7代表2.3x10-7。e的两边必须有数值,且e后的指数部分必须是整型数,6.1e、.e+5、e-3、1.3e4.8都是非法

相关文档
最新文档