没有合适的资源?快使用搜索试试~ 我知道了~
全国计算机等级考试二级C语言考前复习资料真的非常全的笔试资料.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 180 浏览量
2022-07-02
23:04:57
上传
评论 1
收藏 1.42MB DOC 举报
温馨提示
试读
50页
全国计算机等级考试二级C语言考前复习资料真的非常全的笔试资料
资源推荐
资源详情
资源评论
全国计算机等级考试
二级 C 语言考前复习资料(笔试)
第 1 页 共 50 页
思维导图 1:C 语言程序设计知识结构
第一课 C 语言程序设计基础
第 2 页 共 50 页
思维导图 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 语言程序仅可以编译。
例 3:( 2011-03-26)以下叙述中错误的是( D)
A)C 语言的可执行程序是由一系列机器指令构成的
B)用 C 语言编写的源程序不能直接在计算机上运行
C)通过编译得到的二进制目标程序需要连接才可以运行
D)在没有安装 C 语言集成开发环境的机器上不能运行 C 源程序生成的.exe 文件
【解析】C 程序开发过程:编辑—>(.c)编译—>(.obj)链接—>可执行文件
(.exe)
2.知识点: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),下划线(_)。
②第一个字符必须是字母或下划线。
分类
①关键字(32 个)
(有固定含义,不可改变)
②预定义标识符
(有特殊含义,可以改变)
③用户自定义的标识符 ⅰ格式合法,ⅱ不能使用关键字,ⅲ见名知意
例 1:( 2010-03-13)以下 C 语言用户标识符中,不合法的是(D)
A)_1 B)AaBc C)a_b D)a-b
4.知识点:数据类型
例 1:( 2010-03-16)以下关于 C 语言数据类型使用的叙述中错误的是(D)
A)若要准确无误差的表示自然数,应使用整数类型
B)若要保存带有多位小数的数据,应使用双精度类型
C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型
【解析】结构数据类型是根据已定义的一个或多个数据类型用构造的方法来定义
第 3 页 共 50 页
类型说明符:int,oat,double 等
语句定义符:if,for,while 等
库函数的名字:printf , scanf 等
编译预处理命令名:include 等
都
是
小
写
的,一个结构类型的值可以分解成若干个“成员”或“元素”,每个“成员”都是一个基
本数据类型或又是一个构造类型,C 项正确。C 语言没有逻辑类型,故 D 项错误。
例 2:( 2011-03-26)定义无符号整数类为 UInt,下面可以作为类 UInt 实例化值
的是(B)
A)-369 B)369 C)0.369 D)整数集合{1,2,3,4,5}
【解析】无符号整数类型为只有正整数和 0,所有选择 B。
5.知识点:常量
整型常量
十进制整常数:没有前缀,其数码为 0-9。例如 65535,-568
八进制整常数:以 0 开头,其数码为 0-7。例如 015
十六进制整常数:以 0X 或 0x 开头,其数码为 0-9,A-F 或 a-f。例如 0x2A
长整型数:整型常数后缀为 L 或 l。例如 358000L
无符号数:整型常数后缀为 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
【解析】八进制整常数以 0 开头,A 项错误;八进制整常数的数码味 0-7,B 项错
误;实型常量的指数形式 E 后必为整数,故 C 项错误;长整型数后缀为 L 或 l,
故 D 项正确。
例 2:(2010-03-26)以下选项中可用作 C 程序合法实数的是( A)
A).1e0 B)3.0e0.2 C)E9 D)9.12E
【解析】实型指数表示方式“E 前 E 后比有数,E 后必须是整数”,故选 A
字符常量:用单引号‘’括起来的一个字符。包括普通字符常量和转义字符。
普通字符常量:如‘a’、‘ A’、‘ 1’。
转义字符:由一对单引号引起来的以\开头的若干字符的组合。如‘\n’表示回车换
行、‘\\’表示反斜线符、‘\’’表示单引号符、‘\”’表示双引号、‘\ddd’表示八进制数、‘\
xhh’表示十六进制数。
例 3:( 2010-09-15)以下选项中能表示合法常量的是(C)
A)整数:1,200 B)实数:1.5E2.0 C)字符斜杠:‘\\’ D)字符串:“\007”
【解析】表示整常量不能用逗号分隔,A 项错误;实型常量的指数形式 E 后必为
整数,故 B 项错误;’\007’是转义字符,只能用单引号括起来,不能用双引号或其
他括号,故 D 项错误。例 4:(2010-03-26)以下选项中不能用作 C 程序合法常量
的是( B)
A)1,234 B)'\123' C)123 D)"\x7G"
【解析】A 中的‘,’在编译时会出错的,直接写成 1234 即可,B 是一个三位八进
制数代表的字符,C 是一个数字常量,D 是一个字符串,其中\x7 是一个一位十六
进制数代表的字符,也即 D 中的字符串是两个字符,如果 sizeof 的话是 3,如果
strlen 的话是 2。
6.知识点:变量
整型变量和实型变量
以考试标准 Viusal c++6.0 为例,说明各类型变量所占的位数。
类型
所占
位数
所占
字节数
类型
所占
位数
所占
字节数
short 16 2 unsigned int 32 4
int 32 4 unsigned long 32 4
long 32 4 float 32 4
unsigned short 16 2 double 64 8
例 1:( 2010-09-38)有以下程序
#include <stdio.h>
main(0)
第 4 页 共 50 页
{int s,t,A=100;double B=6;
s=sizeof(A); t=sizeof(B);
printf(“%d,%d\n”,s,t);
}
在 VC6 平台上编译运行,程序运行后的输出结果是(C)
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’
不是单个字符,故 C 项错误。
7.知识点:ASCII 码
‘0’的 ASCII 码值为 48;‘A’的 ASCII 码值为 65;‘a’的 ASCII 码值为 97。
大写字母与小写字母的 ASCII 码值相差 32。
例 1:( 2009-09-23)有以下程序
#include <stdio.h>
main()
{char c1,c2;
c1=’A’+’8’-‘4’;
c2=’A’+’8’-‘5’;
printf(“%c,%d\n”,c1,c2);
}
已知字母 A 的 ASCII 码为 65,程序运行后的输出结果是(A)
A)E,68 B)D,69 C)E,D D)输出无定值
【 解 析 】’ A’ 的 ASCII 码 值 为 65 ,’8’ 的 ASCII 码 值 为 56 ,’ 4’ 的 ASCII 码 值 为
52,65+56-52=69,对应于字符’E’。’5’的 ASCII 码值为 53,65+56-53=68,对应于字
符’D’。字符变量 c1 以%c 格式输出,即’E’。字符变量 c2 以%d 格式输出,即 68。
故答案是 A。
8.知识点:进制转换
十 进 制 转 换 成 二 进 制 、 八 进 制 、 十 六 进 制 : 将 十 进 制 的 数 字 除 以
2(8、16),得到的商数继续除以 2,直到商为 0,然后将各次相除所得的余数
从后往前排列。
二进制、八进制、十六进制转换成十进制:将二(八、十六)进制数的每一
位数从高位到低位乘以 2 的 n-1 次幂,n 为该位所在的位数。
二进制与八进制之间的转换:每个八进制数字转换成 3 位二进制数字。
二进制与十六进制之间的转换:每个十六进制数字转换成 4 位二进制数字。
例 1:( 2010-09)以下程序运行后的输出结果是 2008 。
#include <stdio.h>
main()
{int a=200,b=010;
printf(“ %d%d\n”,a,b);
}
【解析】八进制数 010 转换成十进制数为 8,按“%d%d”格式分别输出 a、b,即
2008。
9.知识点:运算符的优先级
级别由大到小:(逻辑)非 >算(术运算符) >关(系运算符) >(逻辑)与 >(逻辑)
或 >条(件运算符) >赋(值运算符)
10.知识点:强制类型转换运算符
一般形式:(类型说明符)(表达式)
功能:把表达式的运算结果强制转换成类型说明符所表示的类型
例 1:( 2009-04-06)表达式(int)((double)(5/2)+2.5)的值是 4。
【 解 析 】 (int)((double)(5/2)+2.5)→(int)((double)2)+2.5 ) → (int)
(2.000000+2.5)→(int)(4.500000) →4。
例 2:以下程序运行后的输出结果是 () 。
main()
{ int a;
a=(int)((double)(3/2)+0.5+(int)1.99*2);
第 5 页 共 50 页
剩余49页未读,继续阅读
资源评论
oligaga
- 粉丝: 52
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功