1、投影2 省二级C等级考试基础考点精解1基本概念 C语言基础考点精解等级考试最常考的部分3.1 C语言的基本概念最基础和重要的内容:程序的基本结构、常量、变量、基本数据类型、运算符和表达式。3.1.1 C语言概述1C语言的特点 (*)C语言是国际上广泛流行的一种计算机程序设计语言,具有强大的生命力。(1) C语言简洁、紧凑、灵活、书写自由;(2) C语言处理能力强,运算符和数据类型丰富,有位运算;(3) 程序设计结构化、模块化;(4) 生成目标代码质量高;(5) 可移植性好;(6) 可以直接操作硬件, 能实现汇编语言的大部分功能,有人把它称为中级语言。2程序的基本结构 (*)程序的基本结构是很重
2、要的内容,尤其是跟函数有关的内容,基本上每次都会考到一题。1)程序由函数构成 (*)(1) 一个C语言源程序由一个或多个函数组成,但有且只能有一个main函数。(2) main函数也叫主函数,是C语言编译系统提供的特殊函数,可以放在程序中的任何位置,但不能定义在其他函数体内。(3) 一个C程序总是从main函数开始执行,在main函数中结束。(4) main函数可以调用其他任何一个函数,其他函数之间也可以相互调用,但不能调用main函数。(5) 函数可以嵌套调用,也可以递归调用,但不能嵌套定义。嵌套调用:指在一个函数定义的函数体中允许调用另一个函数,另一个函数还可以调用其他的函数;递归调用:指
3、在一个函数定义的函数体中允许调用函数本身。不能嵌套定义是指在定义一个函数时不能再定义另外的函数。有关函数的调用将在第4节详述。2)函数类型 (*)除了main函数外,C程序还有库函数和用户自己定义的函数。(1) main函数是必不可少的函数,在一个C程序中有且只能有一个main函数。(2) 库函数是系统提供的函数,如printf(),sqrt()等,系统已经赋予这些函数具体的功能,用户只要包含在头文件中就可以直接调用,如使用数学函数sqrt(),必须在函数开头写上编译预处理命令#include 。(3) 自定义函数是用户根据需要自己设计的函数,能实现一定的功能,如求最大值函数max()、排序函
4、数sort()。3)函数构成 (*)一个函数由两部分组成:函数首部和函数体。(1) 函数首部包括函数类型(返回值类型)、函数名、函数参数类型和函数参数名,函数名后必须有一对圆括号,有的函数没有参数但圆括号必须有。(2) 函数体放在一对花括号内,包含声明部分和执行部分。声明部分用来定义函数体内需要用到的变量,或者对所调用的函数进行声明。执行部分由若干语句组成。函数的详细内容后面专门一节。4)书写格式 (*)编写C语言程序,要按照一定的格式书写,其格式特点如下:(1) C语言区分大小写,主要用小写字母书写。(2) C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上,可使用空行和空格
5、,C程序没有行号。(3) 每个语句和数据声明的最后必须有一个分号“;”,分号是C语句必不可少的组成部分。复合语句除外。(4) C语言本身没有输入输出语句,输入和输出操作通过调用库函数完成,库函数定义在头文件“stdio.h”中。(5) 可以用/* */对C程序中的任何部分做注释,增加程序可读性。注释不产生编译代码,不能嵌套。(6) 为了让程序具有层次结果,常用锯齿形书写格式。为了使程序易读,我们编写程序的时候要注意以下问题:使用TAB缩进;花括号尽量对齐;有足够的注释;有合适的空行。3.在一个C语言源程序中,必不可少的是_ 。(2009年春填空题第1题)4.以下叙述中正确的是_ 。(2008年
6、秋选择题第21题)A.在编译时可以发现注释中的拼写错误B.C语言程序的每一行只能写一条语句C.main()必须位于程序的开始D.C语言程序可以由一个或多个函数组成5.下列叙述中正确的是_ 。(2008年春选择题第21题)A.main函数必须出现在其他函数之前B.main函数中至少必须有一条语句C.C程序总是从main函数的第一条语句开始执行D.C程序总是在执行完main函数的最后一条语句后结束6.以下关于C语言源程序的叙述中错误的是_。(2007年春选择题第21题)A.一个C源程序由若干个函数定义组成,其中必须有且仅有一个名为main的函数定义B.函数定义由函数头部和函数体两部分组成C.在一个
7、函数定义的函数体中允许定义另一个函数D.在一个函数定义的函数体中允许调用另一个函数或调用函数本身7.下列各选项都是在C语言程序段中增加的注释,其中注释方法错误的是_。 (2006年春选择题第21题)A. void main(/*int argc,char c,*argv*/) B. void main() pri/*remark*/ntf(name);C. void main() int x /*=10*; printf(%d,x); D. void main() int x=10;/*printf(%d,x);*/ 3.1.2 基本数据类型1常量和变量、标识符 (*)1) 常量和变量 (*)
8、程序运行过程中其值不能改变的量称为常量,其值可以改变的量称为变量。常量有整型常量、实型常量、字符常量、字符串常量。变量有整型变量、浮点型变量、字符型变量,没有字符串变量。2) 标识符 (*)标识符是指用来表示符号常量、变量、数组、函数和文件等对象的名称的有效字符系列,它是以字母或下划线开头的字母数字下划线序列。1 标识符可以为数字但不能以数字开头,标识符中不能有空格、标点符号、运算符或其他字符。2 标识符区分大小写。 3) 标识符类型 (*)(1) 关键字关键字是指由系统内部定义的,具有特殊含义和用途的标识符,其代表了固定的含义,程序中不能另做他用,只能由小写字母组成。main是不是关键字?(
9、2) 预定义标识符预定义标识符在C语言中有特定的含义,可以另做它用但不会失去原有含义,如库函数名printf和预编译命令define等。(3) 用户自定义标识符用户自定义标识符是用户根据需要定义的标识符,用来表示变量名、函数名等,在定义标识符时必须遵循其命名规则,最好做到见名知意,不要将l与I, o与0等混淆。2整型数据 (*)以补码的形式存放的。1)整型常量 (*)(1) 符号常量一般用大写字母表示。符号常量在使用前必须先定义#define 标识符 常量其中#define是宏定义预处理命令,不是C语句,后面不能有分号,是一个不带参数的宏定义(2) 直接常量(字面常量)整型常量就是整常数,可以
10、用十进制、八进制或者十六进制表示。1 十进制整数:正负号及0-9 2 八进制整数:数字0开头, 0-7 3 十六进制整数:0x开头, 1-9十个数字和小写字母a-f或者大写字母A-F组成。12L、5U、5UL?2)整型变量 (*)使用变量时必须“先说明,后使用”。凡未被事先定义的,系统不把它作为变量名,这样能保证程序中变量名使用得正确。(1) 整型变量的类型表3.1 整型变量的类型类型类型说明符数的范围分配字节数基本型(整型)int-32768327672长整型long或long int-21474834821474836474短整型short 或short int-32768327672无符
11、号整型unsigned int0655352无符号长整型unsigned long042949672954无符号短整型unsigned short0655352(2) 变量的定义变量定义一般放在函数开头,变量定义的一般格式如下: 数据类型 变量1,变量2,变量n;例如:int a,b,max; long n; unsigned i,j; (3) 变量的初始化(赋初值) 数据类型 变量1=值1,变量2=值2,变量n;例如:int a,b,i=0,p=1; 3实型数据 (*)实型数据也叫浮点数,即我们平时常说的实数,分实型常量和实型变量。1)实型常量 (*)实型常量有两种表示方式,十进制小数形式和
12、指数形式。(1) 十进制小数形式十进制小数由数字和小数点组成,注意必须有小数点,如0.123、123.、.123、0.0都是小数形式,作为实数对待。(2) 指数形式指数形式用字母e或E表示,需要注意e或E前面必须有数字,之后必须是整数。如10-3,应该表示成1e-3。2)实型变量 (*)表3.2 实型变量的类型实型变量标识符占用内存有效位数单精度float4个字节67位双精度double8个字节1516位实型常量的类型默认为double类型,在实型常量后加字母f或F,认为它是float 型。如果整型数据超过了long型的范围,也将其定义成float型或者double型。实型变量的定义形式和初始
13、化方式与整型变量相同。例如:float x,y; double s=0; 4字符型数据 (*)1)字符常量字符常量是用单引号括起来的单个普通字符或转义字符。(1) 普通字符常量 (*)单引号括起来,只能是单个字符,其值为该字符的ASCII码值字符型数据与整型数据通用大写字母的ASCII值比小写字母小32。数字被定义成字符以后其含义与数值不同,数字字符0的ASCII码值为48,若参与算术运算时,是以48为值进行,知道了0的ASCII码值,其他数字字符的ASCII码值都可以推算出来。数字字符和数值之间的转换(2) 转义字符 (*)转义字符用反斜线后面跟一个字符或一个代码值表示。常用转义字符及其作用
14、字 符 形 式含 义ASCII码值n换行(相当于按Enter键)(CR、LF)10r回车不换行(CR)13t水平制表(相当于按Tab键)(HT)9单引号39双引号34反斜杠92ddd用1位、2位或3位八进制数表示的字符xhh用1位或2位十六进制数表示的字符例如:n表示换行,012代表八进制数12,即十进制的10,其功能与n相同。又如:0x41表示十六进制的41,即十进制的65,而ASCII码值为65的是大写字母A,所以转义字符0x41与字符常量A等价。转义字符0与字符常量0的含义不同,前者的ASCII码值为0,表示空操作或者是字符串结束标志,后者是字符0,其ASCII码值为48。2)字符变量 (*)字符变量的取值为字符常量,即单个字符,在内存中占1个字节,其类型说明符号为char。字符变量类型说明的格式与整型变量相同。例如:char c1,c2; char c=x; 整型数据和字符型数据是可以通用的。3)字符串常量 (*
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1