第01章 C语言概述Word格式文档下载.docx
- 文档编号:17899611
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:112
- 大小:58.81KB
第01章 C语言概述Word格式文档下载.docx
《第01章 C语言概述Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《第01章 C语言概述Word格式文档下载.docx(112页珍藏版)》请在冰豆网上搜索。
[例3]稍复杂点的一个C程序
inta,m;
m=pf(a)
printf(“m=%d\n”,m);
pf(intx)
intt;
t=x*x;
returnt;
1.4C程序的结构和书写规则
一、C程序是由函数构成的
每个程序由一个或多个函数组成,其中必须有且仅有一个主函数main()。
二、总是从main函数开始执行
一个可执行的C语言程序总是从main函数开始执行,而不论其在整个程序中的位置如何。
当主函数执行完毕时,亦即程序执行完毕。
习惯上,将主函数main()放在最前头。
/*变量定义部分*/
/*可执行语句部分*/
三、每条语句后必须有一个分号
C程序书写格式自由,一行内可以写几个语句,一个语句也可以分写在多行上。
四.区分大小写
在C语言中,大小写字母是有区别的。
(C语言习惯用小写字母)
五、注释语句
可用/*……*/对C程序中的任何部分作注释,注释可以写在程序的任何位置上,“/*”与“*/”也可不在同一行上。
六、大括号
相当于Pascal中的一对Begin…End
●数据类型
●算术运算符和算术表达式
●赋值运算符和赋值表达式
●逗号运算符和逗号表达式
第三章数据类型、运算符和表达式
C语言有四种常用数据类型:
字符、整型、单精度实型、双精度实型。
类型
范围
char(字符型)
0~255
int(整型)
-32768~32767
float(单精度型)
约精确到6位数
double(双精度型)
约精确到12位数
除此之外,C语言还提供了几种其他类型,包括数组、指针、结构体、共用体(联合)、位域和枚举等。
这些复杂类型在以后的章节中讨论。
3.1常量和变量
一、常量
1.常量的概念
在程序运行过程中,其值不能被改变的量称之为常量。
2.常量的分类
整型常量实型常量字符常量符号常量。
二、变量
1.变量的概念
在程序运行过程中,其值可以被改变的量称之为变量。
2.变量名
每个变量的名字即变量名,变量命名遵循标识符命名规则。
3.标识符和命名规则
有效字符:
只能由字母、数字和下划线组成,且以字母或下划线开头。
有效长度:
随系统而异,但至少前8个字符有效。
如果超长,则超长部分被舍弃。
在TCV2.0中,变量名(标识符)的有效长度为1~32个字符,缺省值为32。
C语言的关键字不能用作变量名。
*特别注意C语言对英文字母的大小敏感,即同一字母的大小写,被认为是两个不同的字符。
习惯上,变量名和函数名中的英文字母用小写,以增加可读性。
4.变量的定义与初始化
在C语言中,要求对所有用到的变量,必须先定义、后使用;
且在定义变量的同时可以赋初值(初始化)。
变量定义的一般格式
[存储类型]数据类型变量名[,变量名2……];
例如:
inta,b,c;
变量初始化的一般格式
[存储类型]数据类型变量1=值1,变量2=值2…;
inta=3,b=4,c=5;
3.2整型数据
一、整型变量
1.分类
根据占用内存字节数的不同,整型变量又分为4类:
(1)基本整型(类型关键字为int)。
(2)短整型(类型关键字为short[int])。
(3)长整型(类型关键字为long[int])。
(4)无符号整型。
分为三种,只能用来存储无符号整数。
(unsigned[int])基本无符号整型
(unsignedshort)无符号短整型
(unsignedlong)无符号长整型
2.占用内存字节数与值域
上述各类型整型变量占用的内存字节数,随系统而异。
ANSI标准中的数据类型
长度
int
16
-32768~32767
short[int]
long[int]
32
-2147483648~2147483649
unsigned[int]
0~65535
unsignedshort
8
0~255
unsignedlong
0~4294967296
3.举例
main()
inta;
shortb;
longc=2345678;
unsignedu;
a=-12;
b=24;
u=10;
printf("
%d,%d,%d,%d\n"
a,b,c,u);
4.说明
在赋值和运算时可能溢出,导致不可确定结果。
二、整型常量
1.三种表示形式
整型常量即整常数,在C语言中可用三种形式表示:
(1)十进制。
例如10、36。
(2)八进制(以数字0开头)。
例如012。
(3)十六进制(以数字0+小写字母x开头)。
例如0x36
inta=123;
intb=010+10;
intc=0xffff;
intd=10+010+0x10;
a,b,c,d);
2.分类
(1)基本整型。
其数据范围与int型变量一样。
(2)长整型(在数值后面加“L/l”)。
对数值很大的整型常量,可使用长整型常量表示,其取值范围可达-231—231-1。
123l、315L等。
3.说明
(1)一个整型常量,可以赋给能容纳下其值的整型变量。
例如,其值在-215--(215-1)的整型常量,可以赋给int型变量和longint型变量;
其值在-231--(231-1)的整型常量,就只能赋给longint型变量。
(2)常量无unsigned型。
但一个非负整型常量,只要它的值不超过相应变量的值域(即取值范围),也可以赋给unsigned型变量。
3.3实型数据
一、实型变量
根据占用内存字节数的不同,整型变量又分为3类:
(1)单精度型。
类型关键字为float。
(2)双精度型。
类型关键字为double。
(3)长双精度型。
类型关键字为longdouble。
(用的很少)
比特数
有效数字
float
6~7
-3.4*10-38~3.4*1038
double
64
15~16
-1.7*10-308~1.7*10308
longdouble
128
18~19
-1.2*10-4932~1.2*104932
2.举例
floata;
doubleb;
longdoublec=-24345345678.1234565433;
a=-12.324234;
b=23244.4543345;
%d,%d,%d\n"
a,b,c);
二、实型常量
1.表示形式
实型常量即实数,在C语言中又称浮点数,其值有两种表达形式:
(1)十进制形式。
例如3.14、9.8。
(2)指数形式:
<
尾数>
E(e)<
整型指数>
。
例如3.0E+5等。
2.说明
实型常量不分float型和double型。
一个实型常量,可以赋给一个实型变量(float型或double型)。
3.4字符型数据
一、字符常量
1.定义
用一对单引号括起来的单个字符,称为字符常量。
例如,‘A’、‘1’、‘!
’等。
2.转义字符
C语言还允许使用一种特殊形式的字符常量,就是以反斜杠“\”开头的转义字符。
注意:
如果反斜杠或单引号本身作为字符常量,必须使用转义字符:
‘\\’、‘\’‘。
字符形式
含义
ASCII代码
\n
换行
10
\t
水平制表
9
\b
退格
\r
回车
13
\f
换页
12
\\
反斜杠
92
\’
单引号字符
39
\”
双引号字符
34
\ddd
任意字符三位八进制
\xhh
任意字符二位十六进制
printf(“abc\tde\rf\tg\n”);
printf(“h\ti\b\bjk);
”);
printf(“\x4F\x4B\x21\n”);
printf(“\x15\xAB\n”);
执行结果:
fgde
hjk
OK!
½
二、字符变量
1.变量的定义和存储
字符变量的类型关键字为char,占用1字节内存单元。
字符变量用来存储字符常量。
将一个字符常量存储到一个字符变量中,实际上是将该字符的ASCII码值(无符号整数)存储到内存单元中。
charch1,ch2;
/*定义两个字符变量:
ch1,ch2*/
ch1=’a’;
ch2=’b’;
/*给字符变量赋值*
(1)一个字符型数据,既可以字符形式输出,也可以整数形式输出。
(2)允许对字符数据进行算术运算,此时就是对它们的ASCII码值进行算术运算
[例1]
{
charch1,ch2;
ch1='
a'
;
ch2='
b'
printf(“ch1=%c,ch2=%c\n”,ch1,ch2);
printf(“ch1=%d,ch2=%d\n”,ch1,ch2);
ch1=a,ch2=b
ch1=97,ch2=98
[例2]
ch1=‘a’;
ch2=‘B’;
/*字母的大小写转换*/
printf(“ch1=%c,ch2=%c\n”,ch1-32,ch2+32);
ch1=A,ch2=b
4.总结
关于数据存储输出的总结
不同类型数据的存储长度不同,能表示数的有效范围也不同
不同类型数据赋值时应赋有效值
不同类型数据输出时应用相应输出格式符
字符型(char)
S0000000
整型(int)
00000000
实型(float)
[例1]
charc=128;
printf(“%c”,c);
printf(“%d”,c);
c=256;
[例2]
intx=3.5;
inty=0x7fff;
printf(“%d”,x);
printf(“%d”,y);
y=0x8000;
y=0x10000;
y=0x10001;
三、字符串常量
1.字符串常量的概念
字符串常量是指用一对双引号括起来的一串字符。
双引号只起定界作用。
"
China"
,"
Cprogram"
"
YES"
33312-2341"
A"
等。
2.字符串的存储和长度
C语言中,字符串常量在内存中存储时,系统自动在字符串的末尾加一个“串结束标志”,即ASCII码值为0的字符NULL,常用\0表示。
因此在程序中,长度为n个字符的字符串常量,在内存中占有n+1个字节的存储空间。
例如,字符串China有5个字符,作为字符串常量"
存储于内存中时,共占6个字节,系统自动在后面加上NULL字符,其存储形式为:
C
h
i
n
a
\0
要特别注意字符串与字符串常量的区别,除了表示形式不同外,其存储性质也不相同,字符'
A'
只占1个字节,而字符串常量"
A"
占2个字节。
9‘9’"
9"
3.5各类数值型数据见的混合运算
先看下面例子,理解什么是数值数据的混合运算
intx=3;
longy=100
floatz;
z=x+y;
x=y+23;
y=z+x;
printf(“%d,%d,%d”,x,y,z);
不同类型数值数据混合运算时应注意:
简单类型赋值给复杂类型可以,反之则有问题
3.6算术运算符和算术表达式
一、算术运算符和算术表达式
1.基本算术运算符
+3+5a+b
-4-6x-y
*3*53.14*s
/5/25.0/2-5/3
%7%4(整数求余运算)
[例]
intx;
folaty;
x=5/2;
y=5/2;
printf(“%d,%f”,x,y);
x=-5/2;
y=5.0/2;
2.自增、自减运算符
作用是使变量的值增1或减1
++i++++i
--i----i
x=i++相当于x=i;
i=i+1;
x=++i相当于i=i+1;
x=i;
inti=10,j=10;
intx,y;
x=i++;
printf(“%d,%d”,x,i);
x=++j
printf(“%d,%d”,x,j);
y=x--;
printf(“%d,%d”,y,x);
x=100
y=--x;
inti=5,j=10;
i++;
printf(“%d”,i);
printf(“%d”,i++);
printf(“%d”,++i)
printf(“%d,%d”,j++,j++);
不要写有二义性的语句或晦涩语句,应写成多个简单语句。
如x=y+++z
printf(“%d,%d”,j++,j++)
应写为多句,或用括号说明先计算哪部分
3++(错误)
二、算术运算符的优先级和结合性
1.优先级
先乘除余,后加减
3+5%4-2*5
2.结合性
左结合性3*6/2*5
右结合行a=b=3
3.7赋值运算符和赋值表达式
一、赋值运算符和赋值表达式
1.赋值运算符
C中“=”称为赋值运算符,它的作用是将一个表达式的值赋给一个变量。
赋值运算符的一般形式为:
变量=赋值表达式
例如,x=5y=(float)5/2
如果表达式值类型与被赋值变量的类型不一致,系统将会把表达式的值转换成被赋值变量的数据类型,然后再赋值给变量。
2.赋值表达式
由赋值运算符,将一个变量和一个表达式连接起来的表达式,称为赋值表达式。
(1)一般格式
变量=表达式
如:
a=5+2
(2)赋值表达式的值
任何一个表达式都有一个值,赋值表达式也不例外。
被赋值变量的值,就是赋值表达式的值。
例如,z执行“a=5+2”这个赋值表达式时,先把7的值赋给变量a,然后再让整个表达式的值等于a的值
inta,b;
intx,y,z;
a=5;
b=a+2;
x=y=b*10-5;
printf(“%d,%d”,a,b);
printf(“%d,%d”,x,y);
printf(“%d”,z=a+b);
二、复合赋值运算符
C语言还有以下的复合赋值运算符:
+=,-=,*=,/=,%=
它们的具体含义如下:
x+=3等价于x=x+3
y*=x+6等价于y=y*(x+6),而不是y=y*x+6
b+=a;
c-=b+5;
x=10;
y/=2;
z%=y
3.8逗号运算符和逗号表达式
C语言提供一种用逗号运算符“,”连接起来的式子,称为逗号表达式。
逗号运算符又称顺序求值运算符。
1.一般形式
表达式1,表达式2,……,表达式n
2.求解过程
自左至右,依次计算各表达式的值,“表达式n”的值即为整个逗号表达式的值。
例如,逗号表达式“a=3*5,a*4”的值是60:
先求解a=3*5,得a=15;
再求a*4=60,所以逗号表达式的值=60。
又例如,逗号表达式“(a=3*5,a*4),a+5”的值=20:
再求a*4=60;
最后求解a+5=20,所以逗号表达式的值=20。
并不是任何地方出现的逗号,都是逗号运算符。
很多情况下,逗号仅用作分隔符。
a=3*5,a*4;
b=(a+=10,a++)
printf(“%d”,a,4);
printf(“%d”,(a,4));
printf(“%d”,a,b=5);
●格式输出语句
●格式输入语句
第四章顺序结构程序设计
4.1赋值语句
C语言中赋值表达式加上一个分号就是一个赋值语句。
或者说C语言中赋值表达式既完成赋值功能,还本身有一个确定的值。
试理解下面的程序段:
inta,b,t;
b=3
a=b;
if(a>
0)t=a;
...
if((a=b)>
/*if((a=b;
)>
*/
另外注意=和==的区别,一个是赋值运算符,一个是比较运算符
inta,b,c,d;
a=3;
b=4;
c=(a=b);
d=c;
c=(a==b);
d==c;
4.2库函数和头文件
一、库函数
C语言中一个源程序有多个函数组成,程序总是由主函数开始执行,主函数会调用其他函数。
在C语言中系统已经提供了许多已经编写好的函数,可供用户直接调用,无需再自己编写,这些函数叫做C语言的库函数,所有库函数就组成了函数库。
C语言的函数库提供了非常丰富的库函数,这些库函数可以大致分为以下几类:
分类
举例
输入输出函数
scanf()prinft()getch()bioskey()
数学函数
sqrt()sin()abs()pow()
绘图函数
initgraph()line()circle()
文件操作函数
mkdir()rmdir()chdir()getcwd()
字符串函数
strcmp()strcpy()strlen()
其他函数
open()exit()free()
利用C语言丰富的库函数,可以编写出功能强大的程序。
当学完C语言的基础知识后,应当进一步学习C语言库函数,才能真正编写出功能强大的程序。
二、头文件
C语言中要使用库函数,应当用命令include把与该库函数相关的头文件包含进来,格式如下:
include“math.h”或 include<
math.h>
使用不同的库函数,应包括进不同的头文件,如使用绘图函数时,应包括进“graphics.h”,使用标准输入输出函数时,应包括进“stdio.h”等等。
C语言的头文件较多,不用死记,用时只需查查书或帮助即可,用多了,就自然记住了。
4.3字符的输入输出
一、putchar()函数
1.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第01章 C语言概述 01 语言 概述