【计算机类职业资格】二级C语言-266 (1)及答案解析.doc

上传人:Iclinic170 文档编号:1325098 上传时间:2019-10-17 格式:DOC 页数:14 大小:74.50KB
下载 相关 举报
【计算机类职业资格】二级C语言-266 (1)及答案解析.doc_第1页
第1页 / 共14页
【计算机类职业资格】二级C语言-266 (1)及答案解析.doc_第2页
第2页 / 共14页
【计算机类职业资格】二级C语言-266 (1)及答案解析.doc_第3页
第3页 / 共14页
【计算机类职业资格】二级C语言-266 (1)及答案解析.doc_第4页
第4页 / 共14页
【计算机类职业资格】二级C语言-266 (1)及答案解析.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、二级 C 语言-266 (1)及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:45,分数:100.00)1.以下叙述中错误的是_。(分数:2.00)A.使用三种基本结构构成的程序只能解决简单问题B.结构化程序由顺序、分支、循环三种基本结构组成C.C 语言是一种结构化程序设计语言D.结构化程序设计提倡模块化的设计方法2.以下关于结构化程序设计的叙述中正确的是_。(分数:2.00)A.结构化程序使用 goto 语句会很便捷B.在 C 语言中,程序的模块化是利用函数实现的C.一个结构化程序必须同时由顺序、分支、循环三种结构组成D.由三种基本结构构成的程序只能解决小规模的问题

2、3.计算机能直接执行的程序是_。(分数:2.00)A.源程序B.目标程序C.汇编程序D.可执行程序4.以下选项中关于程序模块化的叙述错误的是_。(分数:2.00)A.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序B.把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块C.把程序分成若干相对独立的模块,可便于编码和调试D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序5.关于算法,以下叙述中错误的是_。(分数:2.00)A.某个算法可能会没有输入B.同一个算法对于相同的输入必能得出相同的结果C.一个算法对于某个输入的循环次数是可以事先估计出来的D

3、.任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕6.C 语言程序的模块化通过以下哪个选项来实现_。(分数:2.00)A.变量B.函数C.程序行D.语句7.以下不能用于描述算法的是_。(分数:2.00)A.文字叙述B.程序语句C.伪代码和流程图D.E-R 图8.以下叙述中错误的是_。(分数:2.00)A.C 语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B.C 程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C.用 C 语言编写的程序称为源程序,它以 ASCII 代码形式存放在一个文本文件中D.C 语言源程序经编译后生成后缀为.obj 的目

4、标程序9.下列叙述中错误的是_。(分数:2.00)A.C 程序可以由多个程序文件组成B.一个 C 语言程序只能实现一种算法C.C 程序可以由一个或多个函数组成D.一个 C 函数可以单独作为一个 C 程序文件存在10.以下四个程序中,完全正确的是_。(分数:2.00)A.#include stdio.hmain ( );/ * / programming / * /printf(“programming! /n“);B.#include stdio.hmain( )/ * programming * /printf(“programming! /n“);C.#include stdio.hmai

5、n( )/ * / * programming * / * /printf(“programming! /n“);D.include stdio.hmain( )/ * programming * /printf(“programming! /n“);11.以下选项中不合法的标识符是_。(分数:2.00)A.B.double int_;C.char For;D.float US$;15.以下选项中,不合法的 C 语言用户标识符是_。(分数:2.00)A.a_bB.AaBcC.a-bD._116.阅读以下程序: #include stdio.h main( ) int case; float p

6、rintF; printf(“请输入 2 个数:“); scanf(“%d %f“, printf(“%d %f/n“, case, printF); 该程序在编译时产生错误,其出错原因是_。(分数:2.00)A.定义语句出错,case 是关键字,不能用作用户自定义标识符B.定义语句出错,printF 不能用作用户自定义标识符C.定义语句无错,scanf 不能作为输入函数使用D.定义语句无错,printf 不能输出 case 的值17.以下选项中合法的标识符是_。(分数:2.00)A.1_ _B.1-1C.1_1D._1118.以下选项中不属于 C 语言标识符的是_。(分数:2.00)A.常量

7、B.用户标识符C.关键字D.预定义标识符19.以下叙述中正确的是_。(分数:2.00)A.语言中的关键字不能作变量名,但可以作为函数名B.标识符的长度不能任意长,最多只能包含 16 个字符C.标识符总是由字母、数字和下画线组成,且第一个字符不得为数字D.用户自定义的标识符必须”见名知义”,如果随意定义,则会出编译错误20.以下选项中能表示合法常量的是_。(分数:2.00)A.1,200B.1.5E20C.“/“D.“/007“21.以下选项中不能作为 C 语言合法常量的是_。(分数:2.00)A.0.1e+6B.“cd“C.“/a“D.“/011“22.以下选项中关于 C 语言常量的叙述错误的

8、是_。(分数:2.00)A.经常被使用的变量可以定义成常量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.所谓常量,是指在程序运行过程中,其值不能被改变的量23.以下不合法的数值常量是_。(分数:2.00)A.8.0E0.5B.1e1C.011D.0xabcd24.以下选项中不能用做 C 程序合法常量的是_。(分数:2.00)A.123B.“/123“C.1,234D.“/x7D“25.以下选项中,值为 1 的表达式是_。(分数:2.00)A.1-“0“B.1-“/0“C.“1“-0D.“/0“-“0“26.以下选项中,合法的一组 C 语言数值常量

9、是_。(分数:2.00)A.12. 0Xa23 4.5e0B.028 .5e-3 -0xfC177 4e1.5 0abcD.0x8A 10,000 3.e527.以下选项中,能用做数据常量的是_。(分数:2.00)A.115LB.0118C.1.5e1.5D.o11528.C 源程序中不能表示的数制是_。(分数:2.00)A.十六进制B.八进制C.十进制D.二进制29.以下选项中可用做 C 程序合法实数的是_。(分数:2.00)A.3.0e0.2B1e0CE9D.9.12E30.以下选项中合法的实型常量是_。(分数:2.00)A.0B.3.13e-2.1C914D.2.0*1031.表达式:(

10、int)(double)9/2)-9%2 的值是_。(分数:2.00)A.0B.3C.4D.532.若有定义 int x,y:并已正确给变量赋值,则以下选项中与表达式(x-y)?(x+ +):(y+ +)中的条件表达式(x-y)等价的是_。(分数:2.00)A.(x-y0|x-y0)B.(x-y0)C.(x-y0)D.(x-y= =0)33.若变量已正确定义,在 if(W) printf(“%d/n“,k); 中,以下不可替代 W 的是_。(分数:2.00)A.a b+cB.ch=getchar()C.a= =b+cD.a+ +34.以下选项中不属于 C 语言程序运算符的是_。(分数:2.00

11、)A.sizeofB. C.()D. ,以下表达式中,值不为 6 的是_。(分数:2.00)A.2*x,x+ =2B.x+ +,2*xC.x* =(1+x)D.x* =x+138.若有以下程序: #include stdio.h main( ) int a=0,b=0,c=0; e=(a- = + + a),(a + =b,b+ =4); printf(“%d,%d,%d/n“,a,b,c); 则程序的输出结果是_。(分数:2.00)A.0,4,0B.0,4,4C.1,4,1D.1,4,439.若有以下程序: #include stdio.h main( ) int a=0,b=0,c=0,d

12、; c= (a+ =b, b+ =a); /*第 4 行*/ d=c; /*第 5 行*/ ; /*第 6 行*/ ;printf(“%d,%d,%d/n“ ,a,b,c); /*第 7 行*/ 编译时出现错误,你认为出错的是_。(分数:2.00)A.第 4 行B.第 5 行C.第 6 行D.第 7 行40.若有以下程序: #include stdio.h main( ) int a=0,b=0,c=0 c= (a+ = + +b, b+ =4); printf(“%d,%d,% d/n“,a,b,c); 则程序的输出结果是_。(分数:2.00)A.1,5,1B.1,5,5C.-1,4,4D.

13、-1,4,-141.若有定义语句: int x=12, y=8, z; 在其后执行语句 z=0.9+x/y; 则 z 的值为_。(分数:4.00)A.1B.1.9C.2D.2.442.6-5/2+1.2+5%2 的值是_。(分数:4.00)A.4.3B.4.8C.3.3D.3.843.有以下定义: int a; long b; double x, y; 则以下选项中正确的表达式是_。(分数:4.00)A.a=x yB.a%(int)(x-y)C.(a*y)%bD.y=x+y=x44.设变量已正确定义并赋值,以下正确的表达式是_。(分数:4.00)A.x=y+z+5, + +yB.int(15.

14、8%5)C.x=y*5=x+zD.x=25%5.045.有以下程序: #include stdio.h main( ) int x, y, z; x=y=1; z=x+ +,y+ +,+ +y; printf(“%d,%d,%d/n“,x,y,z); 程序运行后的输出结果是_。(分数:4.00)A.2,3,3B.2,3,2C.2,3,1D.2,2,1二级 C 语言-266 (1)答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:45,分数:100.00)1.以下叙述中错误的是_。(分数:2.00)A.使用三种基本结构构成的程序只能解决简单问题 B.结构化程序由顺序、分支、

15、循环三种基本结构组成C.C 语言是一种结构化程序设计语言D.结构化程序设计提倡模块化的设计方法解析:解析 使用顺序,选择(分支),循环三种基本结构构成的程序可以解决所有问题,而不只是解决简单问题,所以 A 选项错误。2.以下关于结构化程序设计的叙述中正确的是_。(分数:2.00)A.结构化程序使用 goto 语句会很便捷B.在 C 语言中,程序的模块化是利用函数实现的 C.一个结构化程序必须同时由顺序、分支、循环三种结构组成D.由三种基本结构构成的程序只能解决小规模的问题解析:解析 滥用 goto 语句将使程序的流程毫无规律,可读性差,对于初学者来说尽量不要使用,所以A 错误。一个结构化程序可

16、以包含顺序、分支、循环结构中的一种或多种,所以 C 错误。由三种基本结构构成的程序可以解决任何复杂的问题,所以 D 错误。3.计算机能直接执行的程序是_。(分数:2.00)A.源程序B.目标程序C.汇编程序D.可执行程序 解析:解析 计算机能直接执行的程序是二进制的可执行程序,扩展名为.exe。所以选择 D 选项。4.以下选项中关于程序模块化的叙述错误的是_。(分数:2.00)A.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序 B.把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块C.把程序分成若干相对独立的模块,可便于编码和调试D.可采用自顶向下、逐步细化的设

17、计方法把若干独立模块组装成所要求的程序解析:解析 程序模块化思想中,可以采用自顶向下、逐步细化的方法。所以选项 A 中“自底向上”的说法是锗误的。5.关于算法,以下叙述中错误的是_。(分数:2.00)A.某个算法可能会没有输入B.同一个算法对于相同的输入必能得出相同的结果C.一个算法对于某个输入的循环次数是可以事先估计出来的D.任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕 解析:解析 一个算法有零个或者多个输入,零个输入就是算法本身确定了初始条件,所以 A 正确。算法中的每一步都有确切的含义,同一个算法、相同的输入,必能得出相同的结果,所以 B 正确。算法中的操作能够用已经实

18、现的基本运算执行有限次来实现,所以 C 正确。故选择 D 选项。6.C 语言程序的模块化通过以下哪个选项来实现_。(分数:2.00)A.变量B.函数 C.程序行D.语句解析:解析 C 语言程序的模块化通过函数来体现,所以选择 B。7.以下不能用于描述算法的是_。(分数:2.00)A.文字叙述B.程序语句C.伪代码和流程图D.E-R 图 解析:解析 算法的描述有伪代码、流程图、N-S 结构图等。E-R 是实体联系模型。所以选择 D 选项。8.以下叙述中错误的是_。(分数:2.00)A.C 语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 B.C 程序经过编译、连接步骤之后才能形

19、成一个真正可执行的二进制机器指令文件C.用 C 语言编写的程序称为源程序,它以 ASCII 代码形式存放在一个文本文件中D.C 语言源程序经编译后生成后缀为.obj 的目标程序解析:解析 C 语言中的非执行语句不会被编译,不会生成二进制的机器指令,所以 A 错误。由 C 语言构成的指令序列称为 C 源程序,C 源程序经过 C 语言编译程序编译之后生成一个后缀为.obj 的二进制文件(称为目标文件);最后要由“连接程序”把此.obj 文件与 C 语言提供的各种库函数连接起来生成一个后缀为.EXE 的可执行文件。9.下列叙述中错误的是_。(分数:2.00)A.C 程序可以由多个程序文件组成B.一个

20、 C 语言程序只能实现一种算法 C.C 程序可以由一个或多个函数组成D.一个 C 函数可以单独作为一个 C 程序文件存在解析:解析 在一个 C 语言程序中可以进行多种算法的实现,对算法的个数没有规定,所以 B 错误。10.以下四个程序中,完全正确的是_。(分数:2.00)A.#include stdio.hmain ( );/ * / programming / * /printf(“programming! /n“);B.#include stdio.hmain( )/ * programming * /printf(“programming! /n“); C.#include stdio.

21、hmain( )/ * / * programming * / * /printf(“programming! /n“);D.include stdio.hmain( )/ * programming * /printf(“programming! /n“);解析:解析 C 语言中注释语句的注释方法是:/*注释内容*/或/注释一行。所以 A 与 C 错误,D 选项中预编译命令 include stdio.h前丢掉了“#”号。所以选择 B。11.以下选项中不合法的标识符是_。(分数:2.00)A.B.double int_;C.char For;D.float US$; 解析:解析 C 语言规定

22、,变量命名必须符合标识符的命名规则。D 选项中包含了非法字符“$”,所以错误。标识符由字母、数字或下画线组成,且第一个字符必须是大小写英文字母或者下画线,而不能数字。大写字符与小写字符被认为是两个不同的字符,所以 For 不是关键字 for。15.以下选项中,不合法的 C 语言用户标识符是_。(分数:2.00)A.a_bB.AaBcC.a-b D._1解析:解析 C 语言规定,变量命名必须符合标识符的命名规则,C 选项中包含了非法字符“-”,可以作为标识符。而 case 是 C 语言由字母、数字或下面线组成,且第一个字符必须是大小写英文字母或者下画线,而不能县数字。16.阅读以下程序: #in

23、clude stdio.h main( ) int case; float printF; printf(“请输入 2 个数:“); scanf(“%d %f“, printf(“%d %f/n“, case, printF); 该程序在编译时产生错误,其出错原因是_。(分数:2.00)A.定义语句出错,case 是关键字,不能用作用户自定义标识符 B.定义语句出错,printF 不能用作用户自定义标识符C.定义语句无错,scanf 不能作为输入函数使用D.定义语句无错,printf 不能输出 case 的值解析:解析 C 语言中标识符的定义中区分大小写,所以 printF 与 printf

24、不一样,可以作为标识符。而 case 是 C 语言中的关键字,不能作为变量名。scanf 是标准的输入函数,printf 是标准的输出函数,所以选择 A 选项。17.以下选项中合法的标识符是_。(分数:2.00)A.1_ _B.1-1C.1_1D._11 解析:解析 C 语言中的标识符由下画线、字母和数字组成,且必须以下画线或字母开始,所以只有 D选项正确。18.以下选项中不属于 C 语言标识符的是_。(分数:2.00)A.常量 B.用户标识符C.关键字D.预定义标识符解析:解析 常量是指在程序运行过程中其值不能被改变的量,如 5、1.0、字符“a”等。C 语言的标识符分为 3 类:关键字、预

25、定义标识符和用户标识符。常量不属于标识符,所以选择 A。19.以下叙述中正确的是_。(分数:2.00)A.语言中的关键字不能作变量名,但可以作为函数名B.标识符的长度不能任意长,最多只能包含 16 个字符C.标识符总是由字母、数字和下画线组成,且第一个字符不得为数字 D.用户自定义的标识符必须”见名知义”,如果随意定义,则会出编译错误解析:解析 C 语言中的关键字即不能做变量名也不能做用户函数名,所以 A 错误。标识符的命名规则,即由下画线字母和数字组成,且必须以下画线和字母开始,也不能和关键字一致。不同 C 语言规定标识符的有效长度可能会不同,但没有限制最大长度,所以 B 错误。用户定义的标

26、识符只要满足标识符命名规则没有特殊要求,不必一定“见名知义”,所以 D 错误。20.以下选项中能表示合法常量的是_。(分数:2.00)A.1,200B.1.5E20C.“/“D.“/007“ 解析:解析 A 选项中整型常量应表示为 1200,不能包含“,”。B 选项中 E 后面的指数必须为整数。C选项中转义字符以“/”开始,若要表示字符“/”,应写为“/”。21.以下选项中不能作为 C 语言合法常量的是_。(分数:2.00)A.0.1e+6B.“cd“ C.“/a“D.“/011“解析:解析 要想表示字符申常量应该用双引号表示,即“cd”,单引号号用于表示宁符常量,所以 B选项中的表示方法错误

27、。22.以下选项中关于 C 语言常量的叙述错误的是_。(分数:2.00)A.经常被使用的变量可以定义成常量 B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.所谓常量,是指在程序运行过程中,其值不能被改变的量解析:解析 C 语言中,常量是指在程序运行过程中其值不能被改变的量,变量是指运行过程中其值可以改变的量,二者不能混淆,所以 A 选项错误。23.以下不合法的数值常量是_。(分数:2.00)A.8.0E0.5 B.1e1C.011D.0xabcd解析:解析 A 选项中 E 后面的指数必须为整型数据,所以 A 错误。C 选项中 011 表示的是八进制

28、常量,D 选项的 0xabcd 表示的是十六进制常量。24.以下选项中不能用做 C 程序合法常量的是_。(分数:2.00)A.123B.“/123“C.1,234 D.“/x7D“解析:解析 C 选项中不能含有逗号,所以“1,234”不能用做 C 程序的合法常量。B 选项中表示的是八进制的常量,D 选项中表示的是十六进制的常量。25.以下选项中,值为 1 的表达式是_。(分数:2.00)A.1-“0“B.1-“/0“ C.“1“-0D.“/0“-“0“解析:解析 “/0“即空值,其 ASCII 码值为 0,所以 B 选项的值为 1。字符“0”的 ASCII 码值为 048,所以 A、C、D 选

29、项的值均不为 1。26.以下选项中,合法的一组 C 语言数值常量是_。(分数:2.00)A.12. 0Xa23 4.5e0 B.028 .5e-3 -0xfC177 4e1.5 0abcD.0x8A 10,000 3.e5解析:解析 C 语言中八进制整型常量的开头是数字 0,十六进制整型常量的开头数字是 0x。C 语言中的实型常量有两种表示形式:小数形式。小数形式表示的实型常量必须要有小数点;指数形式,以“e”或“E”后跟一个整数来表示以 10 为底数的幂数,且规定字母 e 或 E 之前必须要有数字,且 e 或 E后面的指数必须为整数。B 选项中 028 错误,八进制中没有数字 8。C 选项中

30、 4e1.5 中 e 后面的指数不是整数。D 选项中 3.e5 小数点后面缺少数字。27.以下选项中,能用做数据常量的是_。(分数:2.00)A.115L B.0118C.1.5e1.5D.o115解析:解析 A 选项中 115L 表示 115 是长整型数据,合法。B 选项是八进制常量的表示方法,但是在八进制中不能含有数字 8,所以 B 错误。C 选项中 e 后面应该是整数不能是小数 1.5,所以 C 错误。D 选项中八进制常量应该是数字“0”开始,而不是字母“o”开始。28.C 源程序中不能表示的数制是_。(分数:2.00)A.十六进制B.八进制C.十进制D.二进制 解析:解析 在 C 语言

31、中整型常量可以用十进制、八进制和十六进制等形式表示,但不包括二进制,所以选择 D。29.以下选项中可用做 C 程序合法实数的是_。(分数:2.00)A.3.0e0.2B1e0 CE9D.9.12E解析:解析 A 选项中 E 后面的指数必须为整数。C 语言规定,E 之前必须要有数字,所以 C 选项错误。E 后面必须要有数字,且必须为整数,所以 D 选项错误。30.以下选项中合法的实型常量是_。(分数:2.00)A.0B.3.13e-2.1C914 D.2.0*10解析:解析 A 选项为整型数据。B 选项中 e 后面必须为整数。D 选项是表达式,不是常量,所以选择C。31.表达式:(int)(do

32、uble)9/2)-9%2 的值是_。(分数:2.00)A.0B.3 C.4D.5解析:解析 先将整型数据 9 强制转换成 double 型,然后除以 2 得到的结果与 double 型保持一致,即为 4.5,再将 4.5 强制转换成整型数据 4,然后计算 9%2 的值为 1,最后计算 4-1 的值为 3,所以选择 B 选项。32.若有定义 int x,y:并已正确给变量赋值,则以下选项中与表达式(x-y)?(x+ +):(y+ +)中的条件表达式(x-y)等价的是_。(分数:2.00)A.(x-y0|x-y0) B.(x-y0)C.(x-y0)D.(x-y= =0)解析:解析 条件表达式:x

33、=表达式 1?表达式 2:表达式 3 的含义是:先求解表达式 1,若为非 0(真),则求解表达式 2,将表达式 2 的值赋给 x。若表达式 1 的值为 0(假),则求解表达式 3,将表达式 3 的值赋给 x。在本题中与表达式 1:(x-y)等价的是(x-y0|x-y0)。33.若变量已正确定义,在 if(W) printf(“%d/n“,k); 中,以下不可替代 W 的是_。(分数:2.00)A.a b+c B.ch=getchar()C.a= =b+cD.a+ +解析:解析 选项 A 是非法的表达式,C 语言中没有运算符。34.以下选项中不属于 C 语言程序运算符的是_。(分数:2.00)A

34、.sizeofB. C.()D. ,以下表达式中,值不为 6 的是_。(分数:2.00)A.2*x,x+ =2 B.x+ +,2*xC.x* =(1+x)D.x* =x+1解析:解析 A 选项中逗号表达式先计算第一表达式 2*x,然后计算表达式 x+=2 的值,即 x=x+2,即 4,整个逗号表达式为第二个表达式的值 4,所以选择 A。B 选项中,首先计算逗号表达式中第一表达式 x+,此时 x 为 3,再执行第二表达式 2*x=2*3=6,所以逗号表达式为第二个表达式的值 6。C 选项的赋值表达式可以表示为 x=x*(1+x)=2*(1+2)=6。D 选项中的表达式可以表示为 x=x*(x+1

35、)=2*3=6。38.若有以下程序: #include stdio.h main( ) int a=0,b=0,c=0; e=(a- = + + a),(a + =b,b+ =4); printf(“%d,%d,%d/n“,a,b,c); 则程序的输出结果是_。(分数:2.00)A.0,4,0 B.0,4,4C.1,4,1D.1,4,4解析:解析 逗号运算符的结合性从左到右,因此逗号表达式将从左到右进行计算,且逗号运算符的优先级最低,所以先计算 c=(a-=+a)这部分。其中,赋值运算符从右往左计算,先执行+a,a 自增 1 后再赋值,所以 a 的值为 1,执行 a=a-1,即 a=1-1,a

36、 的值为 0,并将 0 赋给变量 c。第二部分(a+=b,b+=4),先执行 a=a+b,a=0+0,即 a 的值为 0,然后执行 b+=4,b=0+4,即 b 的值为 4。所以打印结果为0,4,0,选择 A 选项。39.若有以下程序: #include stdio.h main( ) int a=0,b=0,c=0,d; c= (a+ =b, b+ =a); /*第 4 行*/ d=c; /*第 5 行*/ ; /*第 6 行*/ ;printf(“%d,%d,%d/n“ ,a,b,c); /*第 7 行*/ 编译时出现错误,你认为出错的是_。(分数:2.00)A.第 4 行 B.第 5 行

37、C.第 6 行D.第 7 行解析:解析 第 4 行逗号表达式中间的第二个表达式为空,是不合法的,可以去掉写成 a+=b,b+=a,也可以在里面补一个表达式,如 a+=b,a,b+=a。所以选择 A 选项。40.若有以下程序: #include stdio.h main( ) int a=0,b=0,c=0 c= (a+ = + +b, b+ =4); printf(“%d,%d,% d/n“,a,b,c); 则程序的输出结果是_。(分数:2.00)A.1,5,1B.1,5,5 C.-1,4,4D.-1,4,-1解析:解析 逗号运算符的结合性从左到右,因此逗号表达式将从左到右进行计算。且逗号运算

38、符的优先级最低。先计算 a+=+b,结果 a 为 1,b 为 1,然后计算 b+=4,b 的值为 5。逗号表达式的值为其中最后一个表达式的值,所以将 5 赋给变量 c,即 a 为 1,b 为 5,c 为 5。所以选择 B。41.若有定义语句: int x=12, y=8, z; 在其后执行语句 z=0.9+x/y; 则 z 的值为_。(分数:4.00)A.1 B.1.9C.2D.2.4解析:解析 先计算 x/y,结果为 1,然后计算 0.9+1,结果为 1.9,但由于变量 z 为整型,所以取值1,所以 z 的值为 1。42.6-5/2+1.2+5%2 的值是_。(分数:4.00)A.4.3B.

39、4.8C.3.3D.3.8 解析:解析 计算 5/2,结果取整数值 2。计算 3.6-2,结果与高精度数据保持一致,即为 1.6。计算1.6+1.2,结果为 2.8。计算 5%2,结果为 1。计算 2.8+1 结果为 3.8。所以选择 D 选项。43.有以下定义: int a; long b; double x, y; 则以下选项中正确的表达式是_。(分数:4.00)A.a=x yB.a%(int)(x-y) C.(a*y)%bD.y=x+y=x解析:解析 C 语言中没有“”运算符,所以 A 选项错误。“%”运算符的两个操作值必须为整型数据,所以 B 选项正确。a*y 的结果为 double

40、型,所以 C 选项错误。不能将值赋给像 x+y 这样的表达式,所以 D 选项错误。44.设变量已正确定义并赋值,以下正确的表达式是_。(分数:4.00)A.x=y+z+5, + +y B.int(15.8%5)C.x=y*5=x+zD.x=25%5.0解析:解析 B 与 D 选项中取模运算符%的左右两个操作数均应为整数,所以 B、D 错误。C 选项中不能将x+y 的值赋给表达式 y*5,所以 C 错误。45.有以下程序: #include stdio.h main( ) int x, y, z; x=y=1; z=x+ +,y+ +,+ +y; printf(“%d,%d,%d/n“,x,y,z); 程序运行后的输出结果是_。(分数:4.00)A.2,3,3B.2,3,2C.2,3,1 D.2,2,1解析:解析 z=x+,y+,+y;因为赋值运算符的优先级高于逗号运算符的优先级,所以可以将上式表示成(z=x+),(y+),(+y),然后从左向右先计算表达式 z=x+,因为 x+先使用后自增 1,所以 z 的值为 1,x 的值为 2。再计算逗号表达式的第二个表达式 y+,此时 y 的值为 2,最后计算第三个表达式+y,y 的值为 3。

展开阅读全文
相关资源
猜你喜欢
  • ASTM D7518-2009 752 Standard Specification for 1 3 Propanediol (PDO) Base Engine Coolant for Automobile and Light-Duty Service.pdf ASTM D7518-2009 752 Standard Specification for 1 3 Propanediol (PDO) Base Engine Coolant for Automobile and Light-Duty Service.pdf
  • ASTM D7518-2010 0625 Standard Specification for 1 3 Propanediol (PDO) Base Engine Coolant for Automobile and Light-Duty Service《汽车和轻型设备用1 3丙二醇基发动机冷却剂标准规范》.pdf ASTM D7518-2010 0625 Standard Specification for 1 3 Propanediol (PDO) Base Engine Coolant for Automobile and Light-Duty Service《汽车和轻型设备用1 3丙二醇基发动机冷却剂标准规范》.pdf
  • ASTM D7518-2010(2015)e1 2772 Standard Specification for 1 3 Propanediol (PDO) Base Engine Coolant for Automobile and Light-Duty Service《机动车及轻型设备用1 3丙二醇 (PDO) 基发动机冷却剂的标准规格》.pdf ASTM D7518-2010(2015)e1 2772 Standard Specification for 1 3 Propanediol (PDO) Base Engine Coolant for Automobile and Light-Duty Service《机动车及轻型设备用1 3丙二醇 (PDO) 基发动机冷却剂的标准规格》.pdf
  • ASTM D7519-2011 6250 Standard Test Method for Internal Bond Strength and Thickness Swell of Cellulosic-Based Fiber and Particle Panels After Repeated Wetting《反复浸湿后的纤维板和颗粒板的内部粘结强度和厚.pdf ASTM D7519-2011 6250 Standard Test Method for Internal Bond Strength and Thickness Swell of Cellulosic-Based Fiber and Particle Panels After Repeated Wetting《反复浸湿后的纤维板和颗粒板的内部粘结强度和厚.pdf
  • ASTM D7520-2009 7500 Standard Test Method for Determining the Opacity of a Plume in the Outdoor Ambient Atmosphere《在室外环境大气中测定羽烟不透明度的标准试验方法》.pdf ASTM D7520-2009 7500 Standard Test Method for Determining the Opacity of a Plume in the Outdoor Ambient Atmosphere《在室外环境大气中测定羽烟不透明度的标准试验方法》.pdf
  • ASTM D7520-2013 red 5210 Standard Test Method for Determining the Opacity of a Plume in the Outdoor Ambient Atmosphere《测定室外环境气压下烟羽不透明度的标准试验方法》.pdf ASTM D7520-2013 red 5210 Standard Test Method for Determining the Opacity of a Plume in the Outdoor Ambient Atmosphere《测定室外环境气压下烟羽不透明度的标准试验方法》.pdf
  • ASTM D7520-2016 red 3546 Standard Test Method for Determining the Opacity of a Plume in the Outdoor Ambient Atmosphere《测定室外环境大气中烟羽不透明度的标准试验方法》.pdf ASTM D7520-2016 red 3546 Standard Test Method for Determining the Opacity of a Plume in the Outdoor Ambient Atmosphere《测定室外环境大气中烟羽不透明度的标准试验方法》.pdf
  • ASTM D7521-2013 4428 Standard Test Method for Determination of Asbestos in Soil《测定土壤中石棉的标准试验方法》.pdf ASTM D7521-2013 4428 Standard Test Method for Determination of Asbestos in Soil《测定土壤中石棉的标准试验方法》.pdf
  • ASTM D7521-2016 6725 Standard Test Method for Determination of Asbestos in Soil《测定土壤中石棉的标准试验方法》.pdf ASTM D7521-2016 6725 Standard Test Method for Determination of Asbestos in Soil《测定土壤中石棉的标准试验方法》.pdf
  • 相关搜索

    当前位置:首页 > 考试资料 > 职业资格

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1