聪智学校
思维导图1:C语言程序设计知识结构
第 1 页 共 61 页
聪智学校
第一课 C语言程序设计基础
第 2 页 共 61 页
聪智学校
思维导图2:第一课 C语言程序设计基础
本课主要知识点: 1.知识点:C程序基础
?
C语言是一种结构化程序设计语言。三种基本结构:顺序、选择、循环。 例1:(2010-09-11)以下关于结构化程序设计的叙述中正确的是(C) A) 一个结构化程序必须同时由顺序、分支、循环三种结构组成 B) 结构化程序使用goto语句会很便捷
C) 在C语言中,程序的模块化是利用函数实现的
D) 由三种基本结构构成的程序只能解决小规模的问题
例2:(2011-03-26)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是(A) A)C语言程序仅可以编译执行 B)C语言程序仅可以解释执行
C)C语言程序既可以编译执行又可以解释执行 D)以上说法都不对
【解析】计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。 翻译的方式有两种,一个是编译,一个是解释。C语言程序仅可以编译。
? C程序是由函数构成的,一个C程序有且仅有一个main函数。一个函数
由两部分组成:函数的首部和函数体。函数体包括声明部分和执行部分。一个C程序总是从main函数开始执行(即程序的入口),由main函数结束,(即程序的出口)。
例1:(2010-03-12)以下叙述正确的是(B) A) C语言程序是由过程和函数组成的
B) C语言函数可以嵌套调用,例如:fun(fun(x)) C) C语言函数不可以单独编译
D) C语言中除了main函数,其他函数不可作为单独文件形式存在 例2:(2011-09-11)以下叙述中错误的是 (C)
A.C语言编写的函数源程序,其文件名后缀可以是C B.C语言编写的函数都可以作为一个独立的源程序文件 C.C语言编写的每个函数都可以进行独立的编译并执行 D.一个C语言程序只能有一个主函数
3.知识点:标识符
? 命名规则:
①标识符中只能包含字母 (a-z,A-Z),数字(0-9),下划线(_)。 例3:(2011-03-26)以下叙述中错误的是( D)
②第一个字符必须是字母或下划线。 A)C语言的可执行程序是由一系列机器指令构成的
? 分类 B)用C语言编写的源程序不能直接在计算机上运行 类型说明符:int,float,double等 ①关键字(32个) C)通过编译得到的二进制目标程序需要连接才可以运行 都 (有固定含义,不可改变) 语句定义符:if,for,while等 D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件
是【解析】C程序开发过程:编辑—>(.c)编译—>(.obj)链接—>可执行文件(.exe) 小库函数的名字:printf , scanf 等 ②预定义标识符
2.知识点:C语言程序的构成 写 (有特殊含义,可以改变) 编译预处理命令名:include等
第 3 页 共 61 页
聪智学校
③用户自定义的标识符 ⅰ格式合法,ⅱ不能使用关键字,ⅲ见名知意 例1:(2010-03-13)以下C语言用户标识符中,不合法的是(D) A)_1 B)AaBc C)a_b D)a-b
无符号数:整型常数后缀为U或u。例如158u ?
实型常量的形式
小数形式:必须有小数点,小数点前后不能同时没有数字。
指数形式:aEn(其中a表示十进制数,E阶码标志,n阶码)。E前E后必须有数字,E后必为整数,可以带符号。例如2.1E-3、5E8
例1:(2011-09-13)以下选项中关于C语言常量的叙述错误的是:(D) A.所谓常量,是指在程序运行过程中,其值不能被改变的量 B.常量分为整型常量、实型常量、字符常量和字符串常量 C.常量可分为数值型常量和非数值型常量 D.经常被使用的变量可定义成常量
【解析】根据常量的基本概念,则不难判断A、B、C均正确。 例1:(2009-04-13)以下选项中,能用作数据常量的是(D) A)o115 B)0118 C)1.5e1.5 D)115L
4.知识点:数据类型
例1:(2010-03-16)以下关于C语言数据类型使用的叙述中错误的是(D) A)若要准确无误差的表示自然数,应使用整数类型 B)若要保存带有多位小数的数据,应使用双精度类型
C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型 D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型
【解析】结构数据类型是根据已定义的一个或多个数据类型用构造的方法来定义的,一个结构类型的值可以分解成若干个“成员”或“元素”,每个“成员”都是一个基本数据类型或又是一个构造类型,C项正确。C语言没有逻辑类型,故D项错误。
【解析】八进制整常数以0开头,A项错误;八进制整常数的数码味0-7,B项错例2:(2011-03-26)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是
误;实型常量的指数形式E后必为整数,故C项错误;长整型数后缀为L或l,故(B)
A)-369 B)369 C)0.369 D)整数集合{1,2,3,4,5} D项正确。 【解析】无符号整数类型为只有正整数和0,所有选择B。 例2:(2010-03-26)以下选项中可用作C程序合法实数的是( A)
A).1e0 B)3.0e0.2 C)E9 D)9.12E 5.知识点:常量
【解析】实型指数表示方式“E前E后比有数,E后必须是整数”,故选A
? 整型常量
? 字符常量:用单引号‘’括起来的一个字符。包括普通字符常量和转义字符。
十进制整常数:没有前缀,其数码为0-9。例如65535,-568
普通字符常量:如‘a’、‘A’、‘1’。
八进制整常数:以0开头,其数码为0-7。例如015
转义字符:由一对单引号引起来的以\\开头的若干字符的组合。如‘\\n’表示回车
十六进制整常数:以0X或0x开头,其数码为0-9,A-F或a-f。例如0x2A
换行、‘\\\\’表示反斜线符、‘\\?’表示单引号符、‘\\”’表示双引号、‘\\ddd’表示八
长整型数:整型常数后缀为L或l。例如358000L
第 4 页 共 61 页
聪智学校
进制数、‘\\xhh’表示十六进制数。
例3:(2010-09-15)以下选项中能表示合法常量的是(C)
#include
A)整数:1,200 B)实数:1.5E2.0 C)字符斜杠:‘\\\\’ D)字符串:{int s,t,A=100;double B=6; “\\007”
s=sizeof(A); t=sizeof(B);
【解析】表示整常量不能用逗号分隔,A项错误;实型常量的指数形式E后必为printf(“%d,%d\\n”,s,t); 整数,故B项错误;?\\007?是转义字符,只能用单引号括起来,不能用双引号或其}
他括号,故D项错误。例4:(2010-03-26)以下选项中不能用作C程序合法常量在VC6平台上编译运行,程序运行后的输出结果是(C) 的是( B)
A)1,234 B)'\\123' C)123 D)\【解析】A中的‘,’在编译时会出错的,直接写成1234即可,B是一个三位八进制数代表的字符,C是一个数字常量,D是一个字符串,其中\\x7是一个一位十六进制数代表的字符,也即D中的字符串是两个字符,如果sizeof的话是3,如果strlen的话是2。
A)2,4 B)4,4 C)4,8 D)10,6
【解析】在VC6平台上,int型占4个字节,double型占8个字节,故答案是C。 ?
字符变量:一个字符变量只能存放一个字符。字符串不能存放在字符变量中,
只能用字符数组或指针存放字符串。
例1:(2009-09-22)有以下定义语句,编译时会出现编译错误的是(C)
A)char a=?a?; B)char a=‘\\n’; C)char a=‘aa’; D)char a=‘\\x2d’; 【解析】一个字符变量只能存放一个字符,A项字符变量存放的是普通字符常量;B、D项字符变量存放的转义字符;字符常量只能是单个字符,不能是字符串,?aa?
6.知识点:变量
?
整型变量和实型变量
以考试标准Viusal c++6.0为例,说明各类型变量所占的位数。
类型 short int long unsigned short 所占 位数 16 32 32 16 所占 字节数 2 4 4 2 类型 unsigned int unsigned long float double 所占 位数 32 32 32 64 所占 字节数 4 4 4 8 不是单个字符,故C项错误。
7.知识点:ASCII码
? ?
?0?的ASCII码值为48;?A?的ASCII码值为65;?a?的ASCII码值为97。 大写字母与小写字母的ASCII码值相差32。
例1:(2009-09-23)有以下程序 #include
例1:(2010-09-38)有以下程序
第 5 页 共 61 页