高级语言程序设计 C语言 习题答案及详解

发布 2021-05-01 16:18:28 阅读 4811

1.1 单项选择题。

1.二进制语言是属于( )

①面向机器语言 ②面向问题语言 ③面向过程语言 ④面向汇编语言。

「解」人们研制了许许多多计算机程序设计语言,其中二进制语言直接来自计算机的指令系统,与具体计算机紧密相关,所以是一种面向机器语言。面向问题语言是为了易于描述和求解某类特定领域的问题而专门设计的一种非过程语言。面向过程语言是一种能方便描述算法过程的计算机程序设计语言。

有汇编语言,但没有面向汇编语言。汇编语言也是一种面向机器的语言,与机器语言比较,汇编语言用有助于记忆的符号来代表二进制**。所以解答是①。

2.下列语言中不属于面向过程的语言是( )

①高级语言 ②低级语言 ③c语言 ④pascal语言。

「解」 c语言和 pascal等程序设计语言都是高级语言,它们用于描述复杂加工的处理过程,所以也称它们是面向过程语言。低级语言是指机器语言和汇编语言,低级语言是面向机器的语言,而不是面向问题的语言。所以解答是②。

3.下列字符中属于键盘符号的是( )

①\ n ③ t ④ b

「解」键盘符号是指键盘上有标记,并能在显示器上直接以其标记字样显示的字符。有许多键盘上有标记的符号,它们不是用于直接显示的,键入这种字符用于表示特定的意义,如常用的回车符。为了能让c程序标记这种符号,程序采用转义字符的方式书写这种字符。

如''、't' 、b'都不是键盘字符,在 c语言中,它们都得用转义字符来表达。只有字符\才是键盘字符。所以解答是①。

但在c程序中,反斜杠字符\已特别用作转义字符的引导符,它也得用转义字符的表达形式书写,将它写成‘\\

4.下列字符列中,不是用来表达转义字符是( )

「解」转义字符有三种书写形式:反斜社字符后接上某个规定的字符;反斜杠字符后接上13个八进制数字符;反斜社字符和字符x之后接上1至2个十六进制数字符。后两种分别八进制数和十六进制数直接给出字符的ascll**值。

而074是八进制整数,不是转义字。所以解答是③。

5.不是c语言提供的合法关键字是()

①switch ②begin ③case ④default

「解」因c语言的关键字表中没有begin,它不是c语言的关键字。所以解答是②。

6.下列字符列中,能作为单个标识符是()l

①? a ② a=2 ③a.3 ④ a___3

「解」在c语言中,规定标识符是这样一种字符序列,由英文字母或下线字符开始,后接任1个英文字母、下线字符和数字符组成。所以问题所列的字符列只有a_3是标识符,其余都l是标识符,一个是由字符‘?’开头、一个中间有字符‘=’另一个有字符‘。

’所以解答是④。

7.在c语言中,下列说法中错误的是()

①函数定义可以分为两个部分:函数说明部分和函数体。

②主函数可以调用任何非主函数。

③任何非主函数可以调用其它任何非主函数。

④程序可以从任何函数开始执行。

「解」每个c函数的定义分两部分,函数说明部分和函数体,所以叙述 ①是正确的叙述。c语言中,函数可以递归调用,主函数可以调用程序中的任何函数,当然可以调用任何非主教的其它函数,所以叙述②是一个正确的叙述。同样理由,叙述③也是正确的。

c语言规,c程序只有一个主函数,并总是从主函数开始执行,不能从非主函数开始执行。所以,说程可以从任何函数开始执行是错误的。所以解答是④。

1.2 填充题。

1.汇编语言属于面向___语言,高级语言属于面向___语言。

「解」汇编语言与具体计算机密切有关,是属于面向机器的语言;而高级语言用来描述求解题的算法,所以是面向过程的语言。所以解答是:面向机器和面向过程。

2.用高级语言编写的程序称为___程序,它可以通过___程序翻译一句执一句的方式执行,也可以通过___程序一次翻译产生___程序,然后执行。

「解」用高级语言编写的程序称为源程序,源程序不能在计算机上直接运行,运行源程序有种方式:一种是通过解释程序,对源程序逐句解释执行;另一种是先让编译程序将源程序一翻译产生目标程序(目标程序是计算机可直接执行的机器语言程序,它是一种二进制**程),然后执行目标程序。

3.转义字符是由___符号开始,后接单个字符或若干字符组成。

语言词类主要分为和___等。

「解」语言的基本词汇是指直接由字符序列组成,有确定意义的最基本单位,所以c语言词汇有:字面形式常量。特殊符号(主要是运算符)、保留字和标识符等四类。

而表达式、函数调用等是更高级的语言成分,如表达式中还可分运算分量和运算符等;函数调用也是一种表达式,它有函数名标识符、圆括号和实际参数表等。利用基本词汇,按照给定的c语言的句法规则,就可命名程序对象,描述表达式计算、构造语句、函数,直至整个程序。

语言的语句主要分为___语句、__语句、__语句___语句、__语句和___语句等。

「解」c语言有多种不同功能的语句,有用于定义数据的,有用于各种存储和计算的,有用于程序流程控制的,有多种分类方法。c语言的语句主要有:数据定义语句、表达式语句、流程控制语句、复合语句、空语句和其它语句。

程序中经常使用的赋值表达式语句和函数调用表达式语句都是典型的表达式语句。

程序是由函数构成的。其中有并且只能有___个主函数。c语言程序的执行总是由___函数开始,并且在___函数中结束(如别的函数未调用终止程序执行的库函数)

「解」c程序是由若干函数构成的。其中有并且只能有1个主函数(用main命名)。c程序的执行总是由主函数开始执行,通常在主函数中结束(如没有在别的函数中调用终止程序执行的库函数的话)。

语言程序的注释可以出现在程序中的任何地方,一个注释以双符号作为开始标记,以双符号___作为结束标记。

「解」c语言程序的注释可以出现在程序基本单词之间的任何地方, c语言程序的注释以双符号‘/。非为开始标记,并以双符号’。/作为结束标记。

2.1 单项选择题。

1.下列字符列中,可以作为“字符串常量”的是( )

① abc ② abc“ ③abc’ ④a’

「解」c程序中,一个字符率常量是表示一个字符序列,书写时,用双引号字符前后括住这个字符序列。所以只有“abc”是一个正确的字符率常量,其余都不是。其中,abc可作为标识符,字符列‘abc’不能出现在c程序中,‘a’是一个字符常量。

所以解答是②。

2.在以字节存储字符的系统中,‘ ’在内存占用的字节数是( )

「解」一般来说,一个字符在内存中只占1个字节,‘’是转义字符,其意义是换行符,它作为一个字符存储,在内存也只占五个字节。所以解答是①。

3.字符串“xyz”在内存占用的字节数是( )

「解」字符串中的每个字符占1个字节,但c程序在存储字符串时,要在最后一个有效字符后面接上 1个字符串结束的标记符‘\0’。这样,存储字符串常量“xyz”需要 4个字节。所以解答是②。

4.在以下字符列中,合法的长整型常数是( )

① ol ② 4962710 ③ 0.054838743 ④ 2.1869el0

「解」为表示不同范围的整数,整型数据分短整型、基本型和长整型,并对三种整型内部表示的最高位的不同理解,又分别分成无符号和带符号两种。若要明确指明一个整数是长整型的,必须在整数之后接上字符‘l’。所以ol是一个长整型的整型常量,而4962710是基本整型数据,而对于用2个字节表示一个基本整型数据的系统来说,该整数将因超出范围而是一个错误的整数;0.

054839743和2.1869el0都是double型的实数。所以解答是①。

5.一个char型数据,它的值在内存中存放的是()

①ascll**值 ②bcd**值 ③内码值 ④十进制**值。

「解」计算机存储字符,通常是存储字符的某种**值。有许多种字符编码的方法,最流行的是ascii**。在c语言中,char型数据也用ascii**表示。所以解答是①。

6.设变量 m,n,a,b,c,d均为以执行(m=a==)n=c==d)后,m,n的值是( )

①0,0 ②0,1 ③l,0 ④1,1

「解」计算(m=a==b)||n=c==d)的过程是先计算逻辑或的左运算分量(m=a==b)的值,由于赋位运算符的优先级比关系运算符==的优先级低,又先计算 a==b.因 a,b均为0后,所以比较结果值为1.将1赋给变量m,使变量m的值变为1 .

同时这个赋值运算的结果也是1,这样逻辑运算的左运算分量的值为1.由于逻辑或运算的左运算分量值为1,按照c语言对逻辑或运算优化计算的规定,不再计算逻辑或的右运算分量,而直接得到逻辑或运算的结果为1 .由于逻辑或的右运算分量不曾计算过,所以变量n的值也不为变化。

这样,上述表达式计算后,变量m的情为1,变量n的值为0.所以解答是③。

7.设a为5,执行下列计算后,b的值不为2的是( )

① b=a/2 ② b=6-(—a) ③b=a%2 ④ b=a<3?3:2

「解」因两个整型数据相除,结果是整数,当a的值为5时,计算表达式b=a/2后,使b的值为2.计算表达式b=6-(—a)是先计算子表达式(——a)的,先让a的值减1变成4,并以减1后的a为子表达式的结果,所以子表达式的结果为4,最后使b的值为2.在计算表达式b= a%2时,求余运算a%2的结果为1,最后使变量b的值为1.

计算表达式b=a<3?3:2时,先计算条件表达式a<3?

3:2,以2为结果,最后也使变量b的值为人所以解答是③。

8.执行语句“x=(a=3,b=a—-)后,x,a,b的值依次为( )

「解」计算表达式x=(a=3,b=a——)时,先计算赋值号右端圆括号内的逗号表达式。远号表达式要求各子表达式顺序计算,并以最后予表达式的值为整个逗号表达式的结果。所以该表达式计算时,先让变量a的值为3,a——的值是a当时的值,以该值为结果赋给变量b,并以该值为远号表达式的值赋给变量x,然后a的值被减少1.

所以计算该表达式后,使变量x,a,b的值依次为3,2,3.所以解答是③。

高级C语言程序设计习题

1.单项选择题 1 c 语言是在 b 语言的基础上产生的。a.a b.b c.d d.e 2 在 c 语言中,每个语句必须以 d 结束。a.回车符 b.冒号 c.逗号 d.分号 3 标识符和关键字间,要用 c 隔开。a.回车符 b.冒号 c.空格 d.分号 4 用 c 语言编写的源文件经过编译,若没...

高级语言程序设计C

重庆理工大学考试试卷。学号姓名考试科目 c语言程序设计 a 卷共 8 页。注意 所有答案必须写在答题卷上,否则不能得分。一 单项选择题 共30题,每题1分,共30分。1.结构化程序设计的3种结构是。a 顺序结构 选择结构 循环结构 b 分支结构 等价结构 循环结构。c 多分支结构 赋值结构 等价结构...

高级语言程序设计C

高级语言程序设计 c 模拟题四。一 选择题 本题共20道小题,每题2分,共40分。1 以下有4组用户标识符,其中合法的一组是 a for sub caseb 4d do size c f2 g3 if abcd word void define答案 c 解析 标识符的命名规则 由字母 数字 下划线组...