全国计算机等级考试考点分析题解与模拟20.docx

上传人:b****9 文档编号:25729280 上传时间:2023-06-12 格式:DOCX 页数:19 大小:26.89KB
下载 相关 举报
全国计算机等级考试考点分析题解与模拟20.docx_第1页
第1页 / 共19页
全国计算机等级考试考点分析题解与模拟20.docx_第2页
第2页 / 共19页
全国计算机等级考试考点分析题解与模拟20.docx_第3页
第3页 / 共19页
全国计算机等级考试考点分析题解与模拟20.docx_第4页
第4页 / 共19页
全国计算机等级考试考点分析题解与模拟20.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

全国计算机等级考试考点分析题解与模拟20.docx

《全国计算机等级考试考点分析题解与模拟20.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试考点分析题解与模拟20.docx(19页珍藏版)》请在冰豆网上搜索。

全国计算机等级考试考点分析题解与模拟20.docx

全国计算机等级考试考点分析题解与模拟20

全国计算机等级考试考点分析、题解与模拟20

C语言概述C语言概述

考核知识点

程序的组成、main()函数和其他函数

头文件、数据说明、函数的开始和结束标志

源程序的书写格式

C语言的风格

C语言的数据类型及其定义方法

不同类型数据间的转换与运算重要考点提示

根据对历年的试卷分析可知,本章考核内容约为50%。

主要考核以下几个方面:

C程序的源文件、目标文件和可执行文件的生成过程

标识符的命名规则

数据类型的转换及取值范围

1.1C语言基础知识

考点1C语言概述

C语言是一种结构紧凑、使用方便、程序执行效率高的编程语言,它有9种控制语句、32个关键字(见表11)和34种运算符。

C语言的数据结构也非常丰富,它的多种数据类型可以实现如链表、树、栈等复杂的运算,并且用结构化控制语句(if…else,for语句等)来实现函数的模块化。

C语言的语法不太严格,程序设计自由度大,它可以直接访问物理地址,还可以直接对硬件操作。

C语言也是一种移植性比较好的语言。

表11C语言关键字

auto

break

case

char

constcont

inuede

fault

double

else

enum

extern

float

for

goto

int

long

register

return

short

signed

size

of

do

if

staticstructswitchtypedefunionunsignedvoidvolatile

while考点2C语言程序的构成

(1)C语言的源程序是由函数构成的,每一个函数完成相对独立的功能,其中至少包括一个主函数(main()函数)。

(2)C程序总是从main()函数开始执行。

(3)C语言规定每个语句以分号(;)结束,分号是语句组成不可缺少的部分,它在每条语句的最后出现。

(4)程序的注释部分应括在“/*”与“*/”之间,“/”和“*”之间不能有空格,注释部分允许出现在程序的任何位置。

【例1】显示“Howareyou!

”的C语言程序。

#include

main()/*主函数*/

{

printf("Howareyou!

\n");/*调用库函数printf()显示字符串*/

}

运行结果是在屏幕上显示一行英文:

“Howareyou!

”。

例题说明:

(1)本程序是由一个main()函数构成的。

main是函数名,函数名后面圆括号内是填写参数的,由于本程序主函数没有参数,所以是空的,但括号不能省略。

main()后面有一对花括号,花括号内是由语句组成的函数体,本程序只有一个语句。

(2)printf()函数是C语言的库函数,它的功能是在屏幕上输出指定的内容,“\n”是转义字符,它代表回车换行。

(3)关于转义字符见表12。

关于库函数请参阅附录E。

表12C语言的转义字符及功能

字符形式功能\n换行\t横向跳格(代表【Tab】键)\v竖向跳格\b退格符(代表【Backspace】键)

\r回车符号\f走纸换页符\\反斜杠字符“\”\′单引号(撇号)字符\ddd1~3位八进制数所代表的一个ASCII字符

\xhh1~2位十六进制数所代表的一个ASCII字符\0空值\"双引号(撇号)字符

考点3C程序的生成过程

C程序是先由源文件经编译生成目标文件,然后经过连接生成可执行文件,如图11所示。

图11编译过程

源程序的扩展名为.c,目标程序的扩展名为.obj,可执行程序的扩展名为.exe。

1.2常量、变量和数据类型

C语言提供的数据结构是以数据类型的形式出现的,且有常量与变量之分,如图12所示。

图12数据类型

考点4标识符

在编写程序时,必须为函数、变量等命名,这个名字称为标识符。

标识符可以是一个或多个字符,标识符的第一个字符必须是字母或下划线,随后的字符只能是字母、数字或下划线。

要区分字母的大小写,例如,t和T是两个不同的变量。

下面的标识符是合法的:

a5,Data,_str

以下都是非法的标识符:

#sum,8m,str3:

2,i-j

标识符不能与程序中具有特殊意义的关键字相同,不能与用户编制的函数名、C语言库函数相同,在程序中各种标识符尽量不要重复,以便区分。

选择变量名和其他标识符时,应注意做到“见名知义”。

考点5常量

在程序运行中,其值不能被改变的量称为常量。

常量有5种类型:

整型常量、实型常量、字符常量、字符串常量和符号常量。

1整型常量

整型常量有3种形式:

十进制整型常量、八进制整型常量和十六进制整型常量。

下面举例说明几种常量的书写方式。

十进制整型常量:

564,0,-23,85L等,基本数字范围为0~9。

八进制整型常量:

061,037L,-026,0773等,基本数字范围为0~7。

十六进制整型常量:

0x66,0x1101,0x,0x5AC0,-0xFF,基本数字范围为0~9,从10~15写为A~F或a~f。

其中L为长整型。

2实型常量

实型常量有两种表示形式:

小数形式和指数形式。

小数形式:

4530000744-6230

指数形式:

453e0453e-3-453e2

[2]453e10453e-2-453e0

[2]4530e-1453e-5-0453e3

(1)小数部分为0的实型常量,可以写为4530或依照人们日常习惯写为453。

(2)用小数表示时,小数点的两边必须有数,不能写成“453”和“453”,而应该写成“0453”和“4530”。

(3)用指数写法时,e前必须有数字,e后面的指数必须为整数。

3字符常量

一个字符常量代表ASCII码字符集里的一个字符,在程序中用单撇号括起来,以便区分。

如′a′,′p′,′w′。

注意:

′a′和′A′是两个不同的字符常量。

除了形式上的字符常量外,C语言还有特殊的字符常量,如转义字符常量′\n′。

其中“\”是转义的意思,后面跟不同的字符表示不同的意思,具体请参阅表12。

4字符串常量

字符串常量是用双撇号括起来的一个或一串字符。

注意其与字符常量的区别。

书写形式如"china","Howareyou","","@shou","342mono"。

5符号常量

符号常量是由宏定义“#define”定义的常量,在C程序中可用标识符代表一个常量。

【例2】定义一个常量并输出。

#include

#definePI314159

main()

{

floata;

a=PI;/*PI表示314159*/

printf("%f",a);

}

运行结果是在屏幕上显示:

3141590。

例题说明:

#define是宏定义,有关宏定义在以后的章节中详细说明,此程序中所有出现PI的地方都代表314159,同时PI称为符号常量。

习惯上我们用大写字母来表示符号常量,小写字母表示变量,这样比较容易区别。

考点6变量

变量就是其值可以改变的量。

变量要有变量名,在内存中占据一定的存储单元,存储单元里存放的是该变量的值。

不同类型的变量其存储单元的大小不同,变量在使用前必须定义。

1整型变量

整型变量分为4种:

基本型(int)、短整型(shortint或short)、长整型(longint或long)和无符号型(unsignedint,unsignedshort,unsignedlong)。

C标准没有具体规定各类数据所占内存的字节数,如基本型变量(int)在IBMPC机上占16位,在IBM370机型上占32位,而在Honeywell机上则占36位。

现以IBMPC为例,说明各类整型变量所占的位数及可表达的数的范围,见表13。

表13各类整型变量所表示数的范围

类型所占位数数的范围说明[signed]int16-32768~32767整型[signed]short[int]16-32768~32767短整型[signed]longint32-2147483648~2147483647长整型unsigned[int]160~65535无符号整型unsignedshort[int]160~65535无符号短整型unsignedlong[int]320~4294967295无符号长整型2实型变量

实型变量分为单精度类型(float)和双精度类型(double)两种。

如:

floata,b;

doublem;

在一般的系统中,float型数据在内存中占4个字节(32位),double型数据占8个字节。

单精度实数提供7位有效数字,双精度实数提供15~16位有效数字。

实型常量不分float型和double型,一个实型常量可以赋给一个float型或double型变量,但变量根据其类型截取实型常量中相应的有效数字。

3字符变量

字符变量用来存放字符常量,字符变量用关键字char说明,每个字符变量中只能存放一个字符。

定义形式:

charcr1,cr2;

赋值:

cr1=′m′,cr2=′n′;

将一个字符赋给一个字符变量时,并不是将该字符本身存储到内存中,而是将该字符对应的ASCII码存储到内存单元中。

例如,字符′A′的ASCII码为65,在内存中的存放形式如下:

01000001

由于在内存中字符以ASCII码存放,它的存储形式和整数的存储形式类似,所以C语言中字符型数据与整型数据之间可以通用,一个字符能用字符的形式输出,也能用整数的形式输出,字符数据也能进行算术运算,此时相当于对它们的ASCII码进行运算(ASCII码具体值详见附录B)。

考点7类型的自动转换和强制转换

当同一表达式中各数据的类型不同时,编译程序会自动把它们转变成同一类型后再进行计算。

转换优先级为:

char即左边级别“低”的类型向右边转换。

具体地说,若在表达式中优先级最高的数据是double型,则此表达式中的其他数据均被转换成double型,且计算结果也是double型;若在表达式中优先级最高的数据是float型,则此表达式中的其他数据均被转换成float型,且计算结果也是float型。

在做赋值运算时,若赋值号左右两边的类型不同,则赋值号右边的类型向左边的类型转换;当右边的类型高于左边的类型时,则在转换时对右边的数据进行截取。

除自动转换外,还有强制转换,表示形式是:

(类型)(表达式);

有关表达式及赋值知识将在下章做详细介绍。

1.3经典题解

一、选择题

1C语言程序的基本单位是()。

A)函数B)过程C)子程序D)子例程

答案:

A)

解析:

在C语言中任何程序都是由一个或多个函数构成的。

而过程、子程序和子例程都不是C语言中的概念。

2下列各选项中,合法的C语言关键字是()。

A)integerB)sinC)stringD)void

答案:

D)

解析:

参考表11,选项A)是在其他语言中的关键字,C语言为了简化语法,则使用了“int”。

选项B)虽然是一个被库函数使用的特殊标识符,但并不是C语言的关键字。

选项C)不是C语言的关键字。

选项D)是表示一个“空”的C语言关键字。

3下列选项中,是C语言提供的合法的关键字的是()。

A)swicthB)cherC)defaultD)Case

答案:

C)

解析:

选项A)和选项B)为拼写错误,选项D)中出现了大写字母。

4C语言的程序一行写不下时,应该()。

A)用回车符换行B)在任意一个空格处换行

C)用分号换行D)用逗号换行

答案:

B)

解析:

C语言可以在任何一个分隔符或空格处换行。

5下列叙述不正确的是()。

A)在C程序中,%是只能用于整数运算的运算符

B)在C程序中,无论是整数还是实数,都能正确无误地表示

C)若a是实型变量,C程序中a=20是正确的,因此实型变量允许被整型数赋值

D)在C程序中,语句之间必须要用分号“;”分隔

答案:

B)

解析:

选项B)只对了一半,整数可以无误地表示,而实数并不都是正确无误的。

6以下选项中正确的整型常量是()。

A)34.1B)-80C)2,000D)1 2 3

答案:

B)

解析:

本题是考查C语言的十进制整型常量。

选项A)后边有小数点,所以不对。

选项C)和选项D)在数字间有逗号和空格,也显然不对。

7在C程序中,可以作为用户标识符的一组标识符是()。

A)voiddefineWORDB)as_b3_224Else

C)Switch-wercaseD) 4bDOSIG

答案:

B)

解析:

选项A)中的void是C语言的关键字。

选项C)中的-wer前边有一个字符是减号,而case是关键字。

选项D)中的4b是以数字开头。

8TURBOC中,int类型变量所占字节数是()。

A)1B)2C)3D)4

答案:

B)

解析:

TURBOC中int类型变量占两个字节,数值范围是-32768~+32767。

9下列不合法的十六进制数是()。

A)oxffB)0XcdeC)0x11D)0x23

答案:

A)

解析:

十六进制的基本数字范围是0~9,a~f或A~F。

十六进制中代表数字的字母也可以用大写字母。

但开头必须以数字0和字母x或大写X开头。

选项A)则是以字母o开头,所以是错误的。

10在C语言中,下列合法的字符常量是()。

A)′\039′B)′\x76′C)′ab′D)′\o′

答案:

B)

解析:

因选项C)和选项D)是字符串的形式,所以较易排除,关键是选项A)和选项B)的取舍,由于选项A)后既不是八进制数,也不是十六进制数,所以可以排除。

验证一下选项B)的形式,可知其属于“\”后加十六进制数的形式,正确。

11C语言中定义了一个变量,该变量代表内存中的一个()。

A)区域B)单元C)地址D)容量

答案:

C)

解析:

C语言中定义的一个变量代表内存中的一个地址,也就是在内存中分配给这个变量一个单元,用来存放变量的值,这个内存单元的大小根据变量的类型不同而不同。

12若int类型数据占两个字节,则下列语句的输出结果为()。

int k=-1;

printf("%d,%u\n",k,k);

A)-1,-1B)-1,32767C)-1,32768D)-1,65535

答案:

D)

解析:

此题是考查C语言对有符号和无符号整型数据的处理,区别在于对数据最高位的解释上。

对于一个有符号整数,C编译程序将把该值(二进制代码)的最高位作为符号标志位(符号标志位是0,表示正数;若为1,则表示负数);而对于一个无符号整数,该数的最高位将被作为数值位处理。

设int型数据占两个字符,则-1在内存中应以16位全1来表示,因此当把k值按%d格式输出(即按有符号整数处理)时,仍为-1;而按%u格式输出(即按无符号整数处理)时,为65535(2的16次方减1)。

13已知字母a的ASCII码为97,则执行下列语句后输出为()。

chara=′a′;

a--;

printf("%d,%c",a+′2′-′0′,a+′3′-′0′);

A)a,c

B)a--运算不合法,故有语法错误

C)98,c

D)格式描述和输出项不匹配,输出无定值

答案:

C)

解析:

C语言规定,所有的字符常量都可以作为整型常量来处理,因而字符常量也可参与算术运算。

本例中字符变量a的初值为字符′a′,其对应的整数值就是它的ASCII码97,经过自减运算a--后,变量a所对应的整数值为96;虽然题中没有给出字符′2′和′0′的ASCII码值,但我们应该知道′2′-′0′是将字符2转换成整数2的表达式,所以a+′2′-′0′的值是98。

同理可以推知a+′3′-′0′的值是99,按照格式描述符的输出应该是c。

14若ch为char型变量,k为int型变量(已知字符a的ASCII码是97),则执行下列语句后的输出为()。

ch=′a′;

k=12;

printf("%x,%o,",ch,ch,k);

printf("k=%%d\n",k);

A)因变量类型与格式描述符的类型不匹配,输出无定值

B)输出项与格式描述符个数不符,输出为0或不定值

C)61,141,k=%d

D)61,141,k=%12

答案:

C)

解析:

在C语言中,字符数据既可以用字符形式输出,也可以用整数形式输出。

本题的第一个printf语句的格式说明输出应当是61,141,多余的输出项k将不予输出;第二个printf语句,由于格式说明符中包含两个连续的%字符,根据C语言的规定,两个%将不再作为格式描述符使用,而是处理成字符“%”原样输出,因此在这里输出项k没有对应的格式描述符,将不予输出。

15以下说法正确的是()。

A)C语言程序是从第一个定义的函数开始执行

B)在C语言程序中,要调用的函数必须在main()函数中定义

C)C语言程序是从main()函数开始执行

D)C语言程序中的main()函数必须放在程序的开始部分

答案:

C)

解析:

C语言程序总是从程序的main()函数开始执行。

main()函数可以放在C程序的任何位置,包括最前面和最后面。

C程序中的函数可以任意地相互调用,它们之间的关系是平等的。

16sizeof(double)是()。

A)一种函数调用B)一个整型表达式

C)一个双精度表达式D)一个不合法的表达式

答案:

B)

解析:

在C语言中,一个函数的调用格式是:

函数名(参数列表)。

虽然“sizeof(double)”与函数调用有相同的格式,但sizeof是一个C语言关键字,因此,它不是一个函数调用。

sizeof在C语言中表示求一个变量或数据类型所占用的内存字节数的运算符,所以“sizeof(double)”表示求双精度浮点数据类型的内存占用字节数。

显然,该表达式返回的是一个整数,而不是一个双精度数。

17以下叙述中不正确的是()。

A)在C程序中所有的变量必须先定义后使用

B)在程序中,APH和aph是两个不同的变量

C)若a和b类型相同,在执行了赋值语句a=b后,b中的值将放入a中,b中的值不变

D)当输入数值时,对于整型变量只能输入整型值;对于实型变量只能输入实型值

答案:

D)

解析:

C语言是一种类型要求严格的语言,所以所有变量在使用之前都必须定义或说明,以便让编译程序知道该变量的类型。

先定义变量还有一个用途,即让编译程序能够为该变量分配一定的存储空间。

C语言对于语言中所有标识符都区分大小写,并且规定一定的长度。

C语言中的数值型变量具有一定的自动匹配功能,即如果一个变量是实型的,也可以赋予它整型变量。

二、填空题

1一个C语言编写的程序是从开始执行。

答案:

main()函数

解析:

C语言程序由函数组成,一个C程序可以包含一个或多个函数,但其中必须有一个名叫“main”的函数。

该函数是该C程序的开始运行点,是一个程序的主函数。

2结构化程序所规定的3种基本控制结构是、、。

答案:

顺序结构选择结构循环结构

解析:

有理论证明,在一个结构化的程序中,只要有3种基本控制结构就可以完成想要完成的全部功能。

它们是顺序结构、选择结构和循环结构。

顺序结构表示一个程序按照从上到下的顺序,逐条语句执行。

选择结构表示程序可以根据一定的条件选择不同的程序段执行。

而循环结构可以让程序在一定的条件下重复执行一定的程序段。

3C语言中的标识符可分为、和预定义标识符3类。

答案:

关键字用户标识符

解析:

C语言中的标识符可分为关键字(程序专用)、用户标识符和预定义标识符3类。

4在C语言程序中,用关键字定义基本整型变量,用关键字定义单精度实型变量,用关键字定义双精度实型变量。

答案:

intfloatdouble

解析:

在C语言程序中,用关键字int定义基本整型变量,用关键字float定义单精度实型变量,用关键字double定义双精度实型变量。

5计算机中内存储器的最小存储单位称,其中能容纳的数是。

答案:

位0或1

6通常一个字节包含个二进制位。

在一个字节中能存放的最大(十进制)整数是,最小(十进制)整数是,它的二进制数的形式是。

答案:

8127-12810000000

解析:

一个字节包含8个二进制位。

一个字节中能存放的最大(十进制)整数是127。

它的二进制数的形式是01111111。

一个字节中能存放的最小(十进制)整数是-128。

它的二进制数的形式是10000000。

用最高位上的数表示符号位,是0时表示正数;1表示负数。

7在C语言中,整数可用进制、进制和进制3种数制表示。

答案:

十八十六

解析:

在C语言中,整数可用十进制、八进制和十六进制3种数制表示。

用以表示八进制数的数字是0~7,八进制数一定要用0开头;用以表示十六进制数的数字是0~9和字母a~f(可用大写字母),十六进制数要用0x或0X开头(第一个字符是数字“0”)。

8在C语言中,十进制数30的八进制数表示形式是,十六进制数表示形式是,在内存中它的二进制数表示形式是。

答案:

0360x1e0000000000011110

解析:

相关内容请参考教程。

9一个C语言程序的开发过程包括:

编辑、、连接和运行4个步骤。

答案:

编译

解析:

C语言是一种编译型的高级语言,必须经过编译连接成为一个可以被机器CPU执行的机器代码后,方能执行。

而不像其他一些解释型语言,可以在该语言的解释系统上直接执行该语言的源程序。

因此,一个完整的C语言开发过程必须包括编辑、编译、连接和运行4个步骤。

1.4同步练习

一、选择题

1以下选项中合法的用户标识符是()。

A)intB)a#C)5memD)_243

2C语言中的简单数据类型有()。

A)整型、实型、逻辑型B)整型、字符型、逻辑型

C)整型、实型、字符型D)整型、实型、字符型、逻辑型

3以下选项中正确的整型常量是()。

A)-37B)32,758C)326D)6

4以下选项中合法的C语言字符常量是()。

A)′\t′B)"A"C)67D)A

5以下选项中不正确的实型常量是()。

A)123B)1e4C

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 电大

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1