C语言讲义Word格式文档下载.docx
《C语言讲义Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言讲义Word格式文档下载.docx(143页珍藏版)》请在冰豆网上搜索。
目标文件.exe;
执行内存映像文件。
第一章程序设计基本概念
1.1程序和程序设计
1.1.1C程序
软件:
程序+数据+文档
程序:
连续执行的一条条指令的集合称为“程序”。
(若干有序指令的集合称为程序。
)
指令:
完成特定意义的语句。
语句:
表达式和分号。
(任何语句都是以分号为结尾)
表达式:
若干标识符和功能函数。
标识符:
各种自定义变量和系统保留字;
功能函数:
系统函数和自定义的子程序函数。
对于计算机来说,它不能识别由高级语言编写的程序,它只能接受和处理由0和1代码构成的二进制指令或数据。
由于这种形式的指令是面向机器的,因此也被称为“机器语言”。
所以所有由高级语言编写的程序都要经过编译,编译成二进制代码。
这种具有翻译功能的软件称为编译程序。
(C++)
语言有很多种,我们现在要谈论的就是C语言。
为什么计算机会能进行各种各样的操作,就是由不同的指令来实现的。
而不是只有C语言才可以实现这样的功能。
还有其它很多语言。
但是我们一般说C语言是其它语言的母语。
会了C语言其它语言在学习的过程的过程就会感到轻松一些。
C语言源程序文件名的后缀.c,经过编译后,生成文件的后缀是.obj,经过连接后,生成可执行文件的后缀是.exe。
1.1.2程序设计(选择题)
1.确定数据结构(数据存放与数据之间的关系,)
2.确定算法(可以理解成将原材料进行加工的加工厂,解决问题的方法和思路)
3.编码(写代码,去实现功能)
4.在计算机上调试程序(有错误进行调试)
5.整理并写出文档资料(阑述程序所实现的功能,使用时应注意什么)
1.2算法
定义:
是指为了解决某个特定的问题而采取的确定且有限的步骤。
1.有穷性(有限的时间内能执行完)
2.确定性(每次得到的结果是一样的)
3.可行性(能用)
4.有零个或多个输入
5.有一个或多个输出
否
是
1.3结构化程序设计和模块化结构
结构化程序由三种基本结构组成:
1.顺序结构
2.选择结构
3.循环结构(所有循环都是趋于结束的)
例:
计算机能直接执行的程序是()
A.源程序
B.目标程序
C.汇编程序
D.可执行程序
以下叙述正确的是()
A.程序设计的任务就是编写程序代码并上机调试
B.程序设计的任务就是确定所用数据结构
C.程序设计的任务就是确定所用算法
D.以上三种说法都不完整
第二章C程序设计初步知识
2.1简单C语言程序的构成和格式
#include<
stdio.h>
main()
{
doublea,b,area;
a=1.2;
/*将矩形的两条边长分赋给a和b*/
b=3.6;
area=a*b;
/*计算矩形的面积并存储到变量area中*/
printf("
a=%f,b=%f,area=%f\n"
a,b,area);
}
:
每当写一个程序时,第一条语句永远是这个语句,因为一个程序可以没有输入但必须要有输出,而这个语句就是控制输入输出的。
所以任何一个程序都必须由这个语句开始。
main():
是一个程序的主函数。
一个程序是由多个函数组成,而任何一个程序都要有一个主函数,有且只有一个。
任何程序都是由主函数开始执行的。
{}:
它们两个必须要成对出现,它们中的语句是主函数体。
包括定义部分和执行部分。
它们中的语句,每一条必须由“;
”结束。
“;
”是C语句的一个组成部分而不是结束标识。
/**/:
注释符一事实上要成对出现,不允许嵌套。
两个符号间的语句不被执行。
例1:
inta;
a=5;
/*给a变量赋值5
a+=3;
赋值后再加3*/
%d\n"
a);
看似等于8,其实为5
以下叙述中正确的是()
A.C程序的基本组成单位是语句
B.C程序中的每一行只能写一条语句
C.简单C语句必须以分号结束
D.C语句必须在一行内写完
例:
A.C程序中的注释只能出现在程序的开始位置和语句的后面
B.C程序书写格式严格,要求一行内只能写一个语句
C.C程序书写格式自由,一个语句可以写在多行上
D.用C语言编写的程序只能放在一个程序文件中
改错:
#includestdio.h
main();
/*mainfunction*/
floatr,s;
/*/*risradius*//*sisareaofcircular*/
r=5.0;
s=3.14159*r*r;
%f\n"
s)
2.2标识符、常量和变量
2.2.1标识符
由字母、数字和下划线组成,并且第一个字符必须为字母或下划线的。
这样的组成是标识符。
下列合法的是:
elsewhat#$12334aa34a_ba-bif
注意:
1.在C中大写字母与与小写字母被认为两个不同的字符。
2.对于标识符的长度,标识符的前若干个字符有效,超过的字符将不被识别。
C语言标识符分为以下三类:
关键字:
在C中已经定义好了的,不能用作它用的。
如if double int等。
(附录1)
预定义标识符:
如printf scanf
用户(自定义)标识符:
用户根据自己的需求来定义的。
以下选项中,能用作用户标识符的是()
A.void
B.8_8
C._0_
D.unsigned
以下选项中合法的标识符是()
A.1-1
B.1-1
C._11
D.1—
以下选项中不合法的标识符是()
A、print
B、FOR
C、&
a
D、_00
2.2.2 常量
是指在程序的执行的过程中,其值不会被改变的量。
分类:
整型常量:
没有小数的常量。
如:
391324
实型常量:
有小数点的常量。
3.93.03.
字符常量:
由单个字符组成的量。
如’a’’b’‘3’1.符号
字符串常量:
至少由一个字符组成的量。
如”a”“abc”“beijing”区别2.空间
符号常量:
符号常量的值到底是多少,这是由定义符号常量时来决定的。
P10
以下选项中,能用作数据常量的是()
A.o115
B.0118
C.1.5e1.5
D.115L
以下选项中不能作为C语言合法常量的是()
A.‘cd’
B.0.1e+6
C.“\a”
D.‘\011’
以下选项中不属于字符常量的是()
A.‘c’
B.“c”
C.“\xcc0”
D.‘\072’
2.2.3 整型常量和实型常量
一、整型常量:
整型常量的几种表示方法:
十进制:
0-9
八进制:
以0开头的数字,由0-7组成。
如0234
十六进:
以0x开头,由0-9和A-F组成。
下列合法的八进制数是()
A.0
B.028
C.-077(以0开头的,不能表示负数)
D.01.0
下列不合法的十六进制数是()
A.oxff
B.0xabc
C.0x11
D.0x19
注:
十进制、八进制、十六进制是可以相互转换的。
2710=338=1B16
27=033=0x1B
二、实型常量
实型常量的几种表示方法:
小数形式:
12.3
指数形式:
1.23e2
1.字母e或E之前必须要有数字
2.字母e或E之后的数字必须是整数
3.字母e或E与数字之间不能有空格
下列实型常量合法的是()
2.607E-10.8103E2-77.77456E-20.1e+61.23E1.2
2.2.4 变量
一、定义:
在程序的运行过程中其值可以被改变的量,就叫变量。
二、原则:
变量必须先定义后使用。
变量定义的过程就是给变量开辟存储单元的过程。
三、分类:
1.整型变量
用关键字int来定义。
例:
#include<
a=7;
%d"
Int普通整型:
shortint短整型:
在内存中占2字节,范围-32768--32767
longint长整型:
在内存中占有4个字节,如123L
unsigned无符号如有-2000U这是错误的。
变量的定义:
inta,b;
这是定义了两个整型变量a和b。
2.实型变量
用关键字double和float来定义
float单精度:
在内在中占了4个字节
double双精度:
在内存中占8个字节
在VC6.0中,所有的float类型数据在运算中自动转换成double类型数据。
doublea=7.7,b=8;
%f,%f"
a,b);
2.3算术表达式
一、算术运算符
+、-、*、/、%:
双目运算符(就是操作对象有两个)
除%以外,其它的运算符的运算对象可以是整型也可以是实型,%的操作对象只能是整型。
(可以用于判断是不是偶数等)
10%3=1错误:
10.7%310%4.5
+、-:
可以做为单目运算符
说明:
(1)如果双目运算符两边运算数的类型一致,则所得结果的类型与运算数的类型一致。
如1.0/2.0=0.51/2=0
(2)如果双目运算符两边运算数的类型不一致,则系统会自动进行类型转换,使两边的类型一致后,再进行运算。
(附录5)
如1.0/2=0.5
(3)所有的单精度数据,在运算过程中都以双精度进行运算。
二、优先级
()+-*/%+-
单目 双目
同级 同级 同级
高 低
5+1/2=5
三、算术表达式
用算术运算符和一对圆括号将运算数连接起来的表达式。
(1)算术表达式中,运算对象可以是常量、变量和函数等,如:
2+sqrt(c)*b
(2)在算术表达式中,若包含不同优先级的运算符,则按运算符的优先级由