第一部分C基础部分及顺序结构参考答案及解析
1、【答案】A
【解析】C语言被称为“高级语言”是因为它用接近英语国家的自然语言和数学语言作为表达形式,使人们学习和操作起来感到十分方便,相对于其他的高级语言来说,C语言有它自身的优缺点,但却是用的最广泛的语言。由于它可以直接控制计算机硬件,因此其编写的程序运行效率较高。用C语言编写的程序称作C语言源程序,C源程序不能直接执行。C语言的每条可执行语句最终将被转换成只有0和1的二进制的机器指令。
2、【答案】A
【解析】用C语言编写的程序称作C语言源程序,C源程序不能直接执行。C语言的每条可执行语句必须通过相关编译、链接程序、编译并链接成可执行程序(只有0和1的二进制的机器指令),才能在计算机上执行。故选A。C语言有3种基本结构组成:顺序结构,选择结构,循环结构。这3种结构可以完成任何符合结构化的任务,每个任务设计到1-3种结构不等。C语言算法有5个基本特征之一:有穷性,指的是算法必须在执行有限个步骤之后终止,并未限制具体步数。
3、【答案】D
【解析】k=m*n=1错误,m*n是表达式,=左边只能出现单个变量,不可以为常量或表达式。
k=int(m+n)错误,类型名int出现表达式中表示强制类型转换,须加括号,改为k=(int)(m+n)
k=-m-n错误,C语言语句需以分号结尾。
k=(m==n)合法,先运算m==n关系运算,结果为0或1,再将结果赋值给k
4、【答案】C
【解析】(A)int i=1; do{ i+=2;} while(i!=10);为无限循环,i的初始值为1,累加2多次后i值均为奇数,控制表达式i!=10永远为真。B,int i=5; do{ i+=1;} while(i>0);为无限循环,控制表达式i>0永远为真。D,int i=6; do{ i-=2;} while(i!=1);为无限循环,i值累减之后为偶数,控制表达式i!=1永远为真。C,int i=10; do{ i=i+1;} while(i<0);循环体只执行一次后,i为11<0为假,循环结束。
5、【答案】B
【解析】C语言标识符可以由字母数字下划线3种字符组成,只能以字母或者下划线开头。标识符是表示名字的有效字符序列,出现的位置需符合语法,不可以是随意位置。
6、【答案】B
【解析】题目中出现的均是由赋值表达式连成的逗号表达式,而逗号表达式的执行规则是从左至右依次运算执行。a=b, b=c, c=d, d=1;中由于bcd均没有初始值,无法正常执行a=b, b=c, c=d,而报错。
7、【答案】A
【解析】C语言有3种基本结构组成:顺序结构,选择结构,循环结构。这3种结构可以完成任何符合结构化的任务, C语言的每条可执行语句必须通过相关编译、链接程序、编译并链接成可执行程序(只有0和1的二进制的机器指令),才能在计算机上执行。N-S图包括顺序、选择和循环三种基本结构。N-S图是一种在流程图中完全去掉流程线,全部算法写在一个矩形阵内,在框内还可以包含其他框的流程图形式。即由一些基本的框组成一个大的框。
8、【答案】C
【解析】C语言有3种基本结构组成:顺序结构,选择结构,循环结构。这3种结构可以完成任何符合结构化的任务
9、【答案】
【解析】C程序需经过编译、链接之后才能运行,语法错误会在编译阶段报错。
结构化程序,是以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块。按照结构化程序设计的观点,任何算法功能都可以通过由程序模块组成的三种基本程序结构的组合: 顺序结构、选择结构和循环结构来实现。任何一个C程序有且仅有一个main函数。
10、【答案】A
【解析】(n-n/10*10)*10+n/10中,n/10是将n中十位上数字取出作为个位数,(n-n/10*10)*10是将n中个位数取出变为十位数。
11、【答案】C
【解析】0x9是16进制数字,转换为10进制为9,比字符'A’ASCII码值大9的是字符'J
12、【答案】A
【解析】指数型实数的语法规则为:E前E后必有数,E后必为整数。
13、【答案】D
【解析】标识符只能有三种字符构成,字母、数字、下划线。$、#、@均不属于这三种字符。
14、【答案】B
【解析】a++表达式的值为a自加之前的值2。
15、【答案】A
【解析】题目中程序为3个C语言语句,C语言书写合适自由,语句可以从任意一列开始书写,一行内可以写多个语句。C语言是按照语句出现的顺序逐条执行。将前两个分号改为逗号则是将原来的程序变为逗号表达式语句,逗号表达式是从左至右依次执行的。
16、【答案】D
【解析】模块化程序设计的优点:(1)控制了程序设计的复杂性。(2)提高了代码的重用性。(3)易于维护和功能扩充。(4)有利于团队开发,提高开发效率。将一个较大的程序按照功能分割成一些小模块,各模块相对独立、功能单一、结构清晰、接口简单。程序模块化并不能提高程序的执行速度。
17、【答案】A
【解析】m*100+0.5是将m小数点后第三位小数加0.5,若第三位小数大于等于0.5,则第二位小数加1,若小于0.5,则第二位小数不变。m*100+0.5的值为实性数据,n为整型变量,在赋值的过程系统会自动将实型数据转换为整型,舍去小数部分。之后则是m=n/100.0是将之前扩大100的数字恢复原来大小。B项应该改为m=(int)(m*100+0.5)/100.0。
18、【答案】B
【解析】C语言有3种基本结构组成:顺序结构,选择结构,循环结构。这3种结构可以完成任何符合结构化的任务。三种结构可以根据任务需要进行嵌套使用。
19、【答案】A
【解析】C程序不可以直接执行,需要经过编译链接生成可执行文件才可执行。C语言有3种基本结构组成:顺序结构,选择结构,循环结构。这3种结构可以完成任何符合结构化的任务。三种结构可以根据任务需要进行嵌套使用。C语言算法有5个基本特征之一:有穷性,指的是算法必须在执行有限个步骤之后终止,并未限制具体步数。
20、【答案】A
【解析】(A)'cd'考察字符常量,普通字符常量为单引号里面的单个字符,不能出现两个或多个字符。A错。(B)1.234e04 为指数形式(C)'\a'为字符串。(D)'\011'为八进制转义字符。
21、【答案】D
【解析】模块化程序设计将一个较大的程序按照功能分割成一些小模块,各模块相对独立、功能单一、结构清晰、接口简单。每个c语言函数均可单独放在一个文件中编译,但不可独立运行。
22、【答案】C
【解析】图a是while循环流程图,图b为di-while循环流程图。当表达式1和表达式2均为逻辑真时,两个语句均未执行,两者功能等价,但当表达式1和表达式2均为逻辑假时,图a中语句1不执行,而语句2至少执行一次。
23、【答案】C
【解析】该程序未if选择结构,x
24、【答案】A
【解析】x++;为自加表达式,变量的值会自加1,为2.5。而x++表达式的值为x自加之前的值1.5。
25、【答案】C
【解析】printf('%2d\n',2010),控制输出宽度为2小于实际宽度4,则按实际输出。若控制输出宽度大于实际宽度,则在左边补空格。
26、【答案】A
【解析】模块化程序设计的优点:(1)控制了程序设计的复杂性。(2)提高了代码的重用性。(3)易于维护和功能扩充。(4)有利于团队开发,提高开发效率。将一个较大的程序按照功能分割成一些小模块,各模块相对独立、功能单一、结构清晰、接口简单。程序模块化并不能提高程序的运行效率。
27、【答案】B
【解析】A、3种基本结构组成:顺序结构,选择结构,循环结构。这3种结构可以完成任何符合结构化的任务。三种结构可以根据任务需要进行嵌套使用,并不一定全部涉及。B、模块化程序设计就是将一个较大的程序按照功能分割成一些小模块,各模块相对独立,可以独立开发,利于团队合作。B对。C项,一个C程序可以有含有多个文件,自定义函数可以出现在任意一个文件中,需调用函数的文件可以使用文件包含命令即可调用其他文件中的函数功能。D项,一个C程序中有且只能有一个主函数。
28、【答案】B
【解析】C程序由若干个函数组成,但主函数有且只能有一个。main函数的位置可以在程序开始、中间和结尾,main函数永远是程序运行的起点。
29、【答案】A
【解析】B项C语言算术运算规则,整数除以整数,结果是整数,值为0,D同理。
C项,乘除运算优先级相同,从左至右依次运算。
30、【答案】A
【解析】unsigned in为无符号整型,只能存放正整数。0L数字以L结尾表示为长整型常量。0123数字以0开头表示该短整型变量内存放的数据为八进制整数。0x0表示16进制数字的0
31、【答案】A
【解析】.OBJ文件不可直接执行,.EXE文件是可直接执行的二进制文件。C源程序一般保存在一个扩展名为.c的文本文件中,这个文件能够被程序员理解,但不能被计算机理解。每个c语言函数均可单独放在一个文件,我们需要通过编译程序将源文件编译为目标文件(保存在扩展名为.obj的文件中),再使用链接程序将多个目标文件链接成一个二进制的可执行文件(扩展名为.exe)。
32、【答案】D
【解析】%d为十进制整数格式说明符,032为8进制整数,转换为10进制:2+3*8=26
33、【答案】B
【解析】注释不属于C语言,是写给程序员看的,不影响程序的运行,注释不可以嵌套。
34、【答案】D
【解析】C语言中的常量包括整型常量,实型常量,字符常量、字符串常量。IKB为标识符,若表示字符串,需加双引号。'C++'需改为'C++”才表示字符串常量。\0.0'错误,八进制转义字符必须为整数。9.01为小数。
35、【答案】B
【解析】指数型实数的语法规则为:E前E后必有数,E后必为整数。
36、【答案】D
【解析】k = n++是将n++的式值赋值给k,n++取n自加1之前的值。BC均是将n+1的值赋值给k。A项等价于k=k+(n+1)
37、【答案】C
【解析】考察标识符。case为关键字,不可以用作用户标识符。printf,scanf等是预定义标识符,可以做用户标识符,但会失去原意。
38、【答案】C
【解析】 printf('%3d,%1.3f\n', n, x); %3d输出宽度小于实际宽度,数据原样输出。%1.3表示小数部分保留3位,总宽度1位,小数部分第四位进行四舍五入,总宽度1不符合实际,整数原样输出。
39、【答案】 D
【解析】C源程序由循环、顺序、选择三种结构构成,源程序编写完成必须经过编译链接无系统报错才可执行。Main函数是由编译系统的预定义函数,不可有用户自定义。函数可以出现三种结构的任意合适组合。
顺序结构,选择结构,循环结构。这3种结构可以完成任何符合结构化的任务。
40、【答案】B
【解析】n=i++ 是将i自加之前的值赋值给n,而变量i的值自加1。CD项均将i+1的值赋给n。A项等价于n=n+(i+1)
41、【答案】B
【解析】main函数后()任何情况不得缺省,main函数永远是程序运行的起点。
变量在可执行语句中参与计算之前一定先定义,定义语句和可执行语句顺序不可随意交换。C语言语句的分隔符除了分号,还可以用花括号等。分号是C语言语句结束的标志。
42、【答案】C
【解析】072为8进制数字,转为10进制为2+7*8=58,x+1的值为59。
43、【答案】A
【解析】printf('%lf\n ',(int)(x*1000+0.5)/1000.);先将x*1000+0.5的值强制类型转换为int类型,舍去小数部分,再除以1000.0即将之前扩大的1000倍恢复到原来大小,即将x保留三位小数,对第四位小数四舍五入。%lf要求小数位数6位。
44、【答案】A
【解析】简单程序设计基本步骤:1、分析需求。2、设计算法 3、编写程序4、输入与编辑程序5、编译(Compile)6、生成执行程序7、运行8、调试。不包括安装编译程序。
45、【答案】C
【解析】指数型实数的语法规则为:E前E后必有数,E后必为整数。
46、【答案】D
【解析】C语言中的常量包括整型常量,实型常量,字符常量、字符串常量。
(A)2.0Kb 既不是实型常量,也不是字符串常量
(B)'C++' 若改为'C++”则为合法字符串常量
(C)'\2.0 转义字符常量须为整数。
(D)1.01 合法实型常量
47、【答案】 C
【解析】0x13是16进制整数,换成10进制3+1*16=19,x+1为20,。Printf函数中输出控制项中除格式说明符%d外,其他原样输出。
48、【答案】D
【解析】考察格式说明符的匹配。double型数据输入控制用%lf,float类型输入控制说明符用%f,短整型数据输入控制说明符用%hd
49、【答案】A
【解析】C语言有3种基本结构组成:顺序结构,选择结构,循环结构。这3种结构可以完成任何符合结构化的任务, C语言的每条可执行语句必须通过相关编译、链接程序、编译并链接成可执行程序(只有0和1的二进制的机器指令),才能在计算机上执行。N-S图包括顺序、选择和循环三种基本结构。N-S图是一种在流程图中完全去掉流程线,全部算法写在一个矩形阵内,在框内还可以包含其他框的流程图形式。即由一些基本的框组成一个大的框。
50、【答案】A
【解析】printf函数的输出控制项的内容会原样输出,若在输出控制项中出现连续的%,那么%%就会对应输出一个%,而源代码中的字符d没有可以结合的%,,只能作为普通字符原样输出。
51、【答案】A
【解析】指数型实数的语法规则为:E前E后必有数,E后必为整数。
52、【答案】C
【解析】实现连接程序不一定要使用库函数,库函数所拥有的一些功能用户也可以自己编写A选项错误。只有C语言编译程序才能对C语言进行编译,其他语言编译程序无法对C语言进行编译,B选项错。调试程序必须先编译再运行,D选项错。
53、【答案】C
【解析】考察scanf函数输入控制说明字符,double型数据输入格式说明符为%lf、%le,另外可以在%和字母之间加入整数表示输入数据的总宽度,不可以出现小数。
54、【答案】A
【解析】int printf(const char *format, ...);
函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值。”OK\n”这个字符串一共3个字符,所以选择A。
55、【答案】A
【解析】%c可以结合任意一个合法字符,在输入数据串中的单引号或空格均可以用于变量c的赋值,故选A
56、【答案】D
【解析】C语言的基本数据类型为整型、实型、字符型,结构体是一种构造数据类型,其中的结构体成员可以是任意的基本数据类型。数组的基础类型也可以是整型、实型、字符型。
57、【答案】A
【解析】指数型实数的语法规则为:E前E后必有数,E后必为整数。
58、【答案】C
【解析】考察赋值运算。赋值运算符左边只能是单个变量,不能为常量或表达式。
59、【答案】A
【解析】考察赋值运算。赋值运算符左边只能是单个变量,不能为常量或表达式。
60、【答案】D
【解析】关系运算符的优先级优先于赋值运算符。A项(A)a!=c值为1,c=a!=c表达式的值为1;(B)a=b=c 连续赋值表达式,从右至左,表达式值为1;(C)c==b成立,表达式的值为1
(D)a==c为逻辑假,表达式的值为0。
61、【答案】B
【解析】scanf('%d,%d%d',&a,&b,&c);考察scanf输入原则:按照输入格式控制项原样输入,故第一个与第二个数据之间逗号不可以缺少,而、空格、回车等字符是scanf函数可以识别的数据分隔符,不作为数据读入。
62、【答案】A
【解析】指数型实数的语法规则为:E前E后必有数,E后必为整数。
63、【答案】A
【解析】(B)'A'是字符串常量 (C)092,前导0为8进制整数,出现9不合法。
(D)0xDH 前导0x为16进制整型,用0~9及A~F来表示数据,出现H不合法。
64、【答案】C
【解析】标识符只能由字母、数字、下划线组成。&、#、-不属于这三种字符。
65、【答案】D
【解析】常量即在程序运行过程中其值不会改变的量,变量即在程序运行过程中其值可以发生改变的量。两者是不同的概念,D错。符号常量是一种特殊的常量的表示方式,可以通过宏定义用一个标识符替代一个常量值,如define PI 3.14,即用符号PI代替常量3.14。
66、【答案】A
【解析】pow函数和cos函数都是系统的预定义函数,pow(m,n)返回值为m的n次方值,cos(x)的返回值为弧度为x的余弦值,角度和弧度的换算关系为:360度=2π,所以,1度=π/180≈0.01745弧度,故选A
67、【答案】C
【解析】指数型实数的语法规则为:E前E后必有数,E后必为整数。
68、【答案】C
【解析】注释以/* 和 */作为标志,两个符号中间部分即为注释。注释是写给程序员看的,不是C语言程序的一部分,故注释错误并不会导致编译错误。注释不可嵌套使用。
69、【答案】C
【解析】C错。C语言属于高级语言的一种,运行之前一定经过编译和链接。
各种高级语言均可实现将算法转变为程序,只是语法规则及对应的编译运行系统不同而已。
70、【答案】A
【解析】在C语言中,凡是以“#”开头的行,都是编译预处理命令行,它们并不是C语言本身的组成部分,B错。常用到的#include,#define就是此类命令行。预处理命令行如果一行写不下,可以在行末尾加反斜杠\,然后在第二行接着再写。A正确。一个程序中允许有多个#include命令行,但每个命令行只能包含一个文件。
71、【答案】A
【解析】函数是构成C 语言程序的基本单位,任何函数需要先定义再调用。一个函数是具有独立功能的C语言代码块,在完成特定任务时候不受其他部分代码的影响,可以单独编译。
72、【答案】C
【解析】考察逻辑运算的“短路现象”。当逻辑与运算符左边为假,右边不执行。左边a>b为假,故m=a>b表达式值为0,右边的表达式未执行,n的值不变。
73、【答案】C
【解析】C语言运行过程中e后可以通过输入函数如scanf、gets等函数读取用户从键盘输入的数据。C语言的数据进制只有十进制,八进制及十六进制,不能处理二进制数据,更不能直接读取C语言源程序,只能获取字符、字符串或数值型数据。
74、【答案】B
【解析】函数是C语言的基本单位,可以单独存放在独立的文件中,在编译链接之后参与到程序运行中,A错。C语言程序设计思想是模块化程序设计,就是将将一个较大的程序按照功能分割成一些小模块,各模块相对独立,可以独立开发,利于团队合作。B对。3种基本结构组成:顺序结构,选择结构,循环结构。这3种结构可以完成任意符合结构化的任务。三种结构可以根据任务需要进行嵌套使用,并不一定全部涉及。C错。一个C程序有且只能有一个主函数。D错
75、【答案】A
【解析】C语言能够处理的数据进制只有八进制、十进制、十六进制。不含二进制。
76、【答案】C
【解析】考察scanf输入原则:按照输入格式控制项原样输入,故格式说明符之间逗号不可以缺少,另外double型数据输入控制用%f或%lf,float类型输入控制说明符用%f。
77、【答案】A
【解析】a+b+c*(d+e),+、*都是双目运算符,结合方向从左至右,从左至右两两比较运算符优先级,
1、+与+,优先级相同,从左至右依次进行,先计算a+b得出r1
2、+与*,*优先,先计算c*(d+e),又由于圆括号优先级最高,先计算(d+e)得出r2,才可以进行乘运算,c*r2得出r3
3、最后进行+,r1+r3。选 A
78、【答案】D
【解析】 printf('%f\n', (int)(x*1000+0.5)/(double)1000);先将x*1000+0.5的值强制类型转换为int类型,舍去小数部分,再除以(double)1000即将之前扩大的1000倍恢复到原来大小,同时恢复double的精确度,即将x保留三位小数,对第四位小数四舍五入。%f要求小数位数6位。
79、【答案】A
【解析】函数的基本形式为:函数名{ 函数体 },花括号不可省略,A正确。任何一个C程序有且仅有一个main函数,位置可以在程序的任意合适位置,main函数永远是程序运行的起点。B错。注释不可嵌套,以/*开头,以*/结尾,中间部分全部都是注释部分,一条注释可以占多行。CD错误。
80、【答案】A
【解析】指数型实数的语法规则为:E前E后必有数,E后必为整数。
81、【答案】D
【解析】auto是关键字,不可以用做用户标识符。标识符区分大小写,Float不是关键字,float才是关键字
82、【答案】A
【解析】C语言有3种基本结构组成:顺序结构,选择结构,循环结构。这3种结构可以完成任何符合结构化的任务。A正确。三种结构可以根据任务需要进行嵌套使用,并不一定全部涉及。B错误。C语言的每条可执行语句必须通过相关编译、链接程序、编译并链接成可执行程序,若程序存在语法错误,在编译阶段系统会有错误报告。C错。C语言程序需要包含main函数,函数名唯一确定,须小写。
83、【答案】C
【解析】A项,算术表达式中,运算符两侧类型不同时,会将低类型(数据占用较少的存储字节数)向高类型(数据占用较多的存储空间)的转换规则将两个运算对象的类型变为一致。A正确。B项,乘除运算优先级优于加减运算符,故先乘除后加减。B正确。C项,运算有算术运算、赋值运算、位运算、关系运算、关系运算等等,每种运算均有专有的运算符。C错。括号优先级在所有运算中最高,可以改变运算符的优先级。D正确。
84、【答案】A
【解析】标识符只能由字母数字下划线三种字符组成,~、^、-三种字符不在此范围内。
85、【答案】C
【解析】(b = 3) 是表达式,不可以被赋值。
86、【答案】D
【解析】N-S图是一种在流程图中完全去掉流程线,全部算法写在一个矩形阵内,在框内还可以包含其他框的流程图形式。即由一些基本的框组成一个大的框,而C语言程序设计思想是模块化程序设计,就是将将一个较大的程序按照功能分割成一些小模块,各模块相对独立,所以N-S流程图可以用于描述各种复杂的算法,AC错误。C语言算法的特点之一是:
零个或多个输入,一个或多个输出。即一个程序运行时可以没有输入,但至少会有一个输出。B错误D正确。
87、【答案】C
【解析】A项错误,C语言有3种基本结构组成:顺序结构,选择结构,循环结构。这3种结构可以完成任何符合结构化的任务。A正确。三种结构可以根据任务需要进行嵌套使用,并不一定全部涉及。B项错误,每个C语言函数均可以单独放在一个文件中编译,在编译时生成多个目标文件,再使用链接程序将目标文件链接成一个可执行文件。C项正确,模块化程序设计是将一个较大的程序按照功能分割成一些小模块,各模块相对独立、功能单一、结构清晰、接口简单。D项错误,任何一个C程序有且仅有一个main函数。
88、【答案】D
【解析】AC项错误,C源程序不能直接执行,需要经过编译链接。B项错误,计算机只能处理二进制文件,D项正确。
89、【答案】B
【解析】B项K的值为2,i—表达式的值为i自减之前的值2。A项,--i表达式的值是i自减之后的值1。D项k-=i;等价于k=k-i,值为1。
90、【答案】A
【解析】标识符只能由字母数字下划线三种字符组成,不可以以数字开头。出现的数量不限,
91、【答案】D
【解析】圆括号内是三个自加表达式连成的逗号表达式,表达式从左至右依次运算,取第三个a++的式值,取a自加之前的值,而在此之前a进行两次自加,故逗号表达式的值即变量b的值为5,而整个语句执行完毕后,变量a自加3次,a的值变为6。
92、【答案】D
【解析】用花括号{}把多个语句括起来构成的即复合语句,只要是合法的C语言语句既可以出现在复合语句内,不限定语句个数。
93、【答案】A
【解析】2*3+4+15%3,+、*、%都是双目运算符,结合方向从左至右,从左至右两两比较运算符优先级
1、*和+比较,*优先级高,先计算2*3得6
2、+和+比较,优先级相同,从左至右先算左边+,6+4得10
3、+和%比较,%优先级高,计算15%3得0
4、最后+运算,10+0的10。选A
94、【答案】D
【解析】072是八进制整数,转换为10进制为2+7*8=58,x+1得59,%d为输出格式控制符,结合x+1的值输出59,而双引号内部其他的字符都属于普通字符,原样输出到。
95、【答案】A
【解析】C语言书写格式自由,语句可以从任意一行开始书写,一行内可以写多个语句。但是过于自由的程序书写格式往往使人们很难读懂程序,也会增加编译识别的时间,不会影响运行时间。
96、【答案】A
【解析】(a = b) 、 (b == c)、a + b 均为表达式,不可以被赋值,赋值运算符的左边只能为单个变量
97、【答案】D
【解析】C语言有3种基本结构组成:顺序结构,选择结构,循环结构。这3种结构可以完成任何符合结构化的任务。
98、【答案】A
【解析】xyz均为正数,在C语言中,整数1除以整数结果也为整数,不能精确保留小数。BCD错误。
99、【答案】C
【解析】A错误,main函数是程序运行的起点,至于程序在哪个函数结束,C语言从来没有任何规定。程序可能在main()中结束,也可能在其他函数中结束。C语言标准库中有很多函数都与结束程序有关。B项错误,源文件中包含很多非C语言的部分,如编译预处理命令行、注释等,这些不会被执行。C项正确,C程序的基本结构为顺序结构,语句将按照先后顺序依次执行。D错误,每个C程序有且仅有一个main函数,但一个C程序可以有多个源文件,并不是每个源文件都有main函数。
100、【答案】C
【解析】(A)0Xa是16进制整型常量,(B)0L为长整型常量,(C)-018不合法,八进制整数不会出现8(D)200U是无符号整数常量
101、【答案】B
【解析】关键字不可以用作用户标识符,预定义标识符原则上可以用作用户标识符,不过会失去其原来的意义。鉴于目前的计算机系统都会一直把预定义标识符作为固定的库函数名或编译预处理中的专门命令,为避免误解,建议用户不要把预定义标识符另作他用。
102、【答案】B
【解析】C源程序不能直接运行,我们需要通过编译程序将源文件编译为目标文件(保存在扩展名为.obj的文件中),再使用链接程序将多个目标文件链接成一个二进制的可执行文件(扩展名为.exe)。
103、【答案】B
【解析】rand为随机函数,可以产生随机整数,rand%30的取值范围为0~29,rand%30+1的取值范围为1~30,即0<y≤30。
104、【答案】B
【解析】计算机只能识别运行二进制文件。
105、【答案】A
【解析】(A)(x %= k) - (k %= 5) 等价于(x=x%k)-(k=k%5)得5-2,得3
(B)x %= (k %= 5)等价于 x=x%(k=k%5)得 x=12%2得0
(C)x %= (k - k % 5)等价于 x=x%(k-k%5)得 x=12%5得2
(D)x %= k - k % 5 等价于x=x%(k - k % 5)得2
106、【答案】A
【解析】A项错误,编译链接通过生成的是一个可执行文件,是否可以完成预期的任务需求是不一定的。B项正确,C语言算法的有穷性:算法必须在执行有限个步骤之后停止。C项正确,C语言算法的确定性:每个步骤都必须有明确的定义,不允许有模棱两可的解释,也不允许有多义性。D项正确,C语言程序设计是模块化程序设计是将一个较大的程序按照功能分割成一些小模块,各模块相对独立、功能单一、结构清晰、接口简单,可以有多种方法描述算法。
107、【答案】A
【解析】c=(a/b,a%b),圆括号内是逗号表达式,其值要从左至右运算,取a%b的值作为逗号表达式的值赋给c。11%3得2
108、【答案】A
【解析】C语言中的常量包括整型常量,实型常量,字符常量、字符串常量。
(A)1.234 合法的实型常量。
(B)'C++' 若改为'C++”则为合法字符串常量
(C)'\2.0 转义字符常量须为整数。
(D)2.0Kb 既不是实型常量,也不是字符串常量
109、【答案】A
【解析】求余运算的对象必须为整数。
110、【答案】C
【解析】A错C正确,C语言有3种基本结构组成:顺序结构,选择结构,循环结构。这3种结构可以完成任何符合结构化的任务。BD错误,C源程序不能直接执行,需要经过编译链接生成可执行文件方可运行。
111、【答案】A
【解析】算术表达式中,运算符两侧类型不同时,会将低类型(数据占用较少的存储字节数)向高类型(数据占用较多的存储空间)的转换规则将两个运算对象的类型变为一致。A项中,运算对象为整数,结果也为整数0,其他项运算对象中出现实型数据,结果一定为实型。
112、【答案】B
【解析】printf('%+-6d%+-6d',a,b);在%d中间加整数表示数据输出所占宽度,加+-表示输出含有正负符号的整数。+1234占5个宽度,左边需补一个空格满足6个宽度,后面同理。
113、【答案】D
【解析】double型数据输入控制用%lf,,char类型数据输入控制字符%c
114、【答案】D
【解析】C程序没有子程序的概念。
115、【答案】A
【解析】%d表示输出十进制整数,010是八进制整数,换十进制1*8得8,++x的值为x自加1之后的值,输出9
y—的值为y自减1之前的值,输出10
116、【答案】C
【解析】double型数据输入控制用%lf。
117、【答案】A
【解析】算术表达式中,运算符两侧类型不同时,会将低类型(数据占用较少的存储字节数)向高类型(数据占用较多的存储空间)的转换规则将两个运算对象的类型变为一致。所以/两边运算对象的类型都是整型时,所做运算为整数整除运算
118【答案】D
【解析】函数是构成C 语言程序的基本单位,任何函数需要先定义再调用。一个函数是具有独立功能的C语言代码块,在完成特定任务时候不受其他部分代码的影响,可以单独存放在独立的文件中,单独进行编译,在编译链接之后参与到程序运行中。函数的这些特点决定了C语言程序设计可以模块化。
119、【答案】A
【解析】指数型实数的语法规则为:E前E后必有数,E后必为整数。
120、【答案】B
【解析】flaot数据输出控制符为%f,double数据输出控制符为%lf或%f。
121、【答案】B
【解析】 unsigned是关键字,不可以作为用户标识符。
getch中含有空格,不属于字母数字下划线,不是合法的标识符。
3break以数字开头,非法标识符。
122、【答案】A
【解析】任何C程序都有且只有一个main函数,位置不一定位于起始位置,但永远是程序运行的起点。
123、【答案】B
【解析】(A)'CPP' 是非法字符, 普通字符常量是单引号引起来的单个字符。
(B)21.84 合法小数
(C)'\1.0 非法字符串常量, 字符串常量的双引号是成对出现的
(D)2MB 非法标识符,不属于常量
124、【答案】A
【解析】(A)1.0 合法小数
(B)C++' 标识符
(C)'\0.\0 非法字符串常量, 字符串常量的双引号是成对出现的
(D)2B 非法标识符,不属于常量
125、【答案】C
【解析】A)-32 负整数
(B)25u 无符号整数
(C)12f 非法常量,16进制整型常量需以0x做前导
(D)+20L 有符号长整型
126、【答案】C
【解析】变量pad和变量pAd是不同的变量,在程序执行中,pad没有涉及,值不变。
127、【答案】C
【解析】sizeof('a'),指的是运算字符串“a”所占字节数,字符串在存储时需以\0结尾,所以2个字节
sizeof(a),指的是运算变量a所占字节数,int变量占4个字节
sizeof(3.14) 3,14为实型常量,占8或4个字节。选C
128、【答案】A
【解析】赋值运算是一种运算过程,可执行语句,应当出现在函数的可执行部分。
129、【答案】B
【解析】C语言中不存在子程序的概念。
130、【答案】C
【解析】scanf函数运行,输入格式需和函数中双引号内的输入格式控制项相同,由于
输入数据串中含有逗号,故格式控制项也要原样出现,同时,字符型输入控制符%c,整型输入控制%d。
131、【答案】C
【解析】0
132、【答案】A
【解析】2+3*4+7/3,中出现+、*、/三种运算,均为双目运算,结合方向从左至右,从左至右两两比较优先级,依次运算:
1、+和*,*优先级高,计算3*4得12
2、+和+,优先级相同,先计算左边2+12得14
3、+和/,/优先级高,计算7/3得2
4、14+4得16。选A
133、【答案】A
【解析】用C语言编写的程序成为源程序,并不能直接执行被机器识别,而是需要经过编译链接生成可执行文件。
134、【答案】B
【解析】a+= a-= a*a,连续的复合赋值运算,赋值运算结合从右至左结合,a-= a*a,即a=a-a*a得 -132,变量a的值也变为-132,再运算a+=-132.即a=a+(-132)得-264。
135、【答案】D
【解析】AB项错误,源程序不可以直接运行,需要经过编译链接生成可执行文件。
C错误,N-S图是一种在流程图中完全去掉流程线,全部算法写在一个矩形阵内,在框内还可以包含其他框的流程图形式。即由一些基本的框组成一个大的框,而C语言程序设计思想是模块化程序设计,就是将将一个较大的程序按照功能分割成一些小模块,各模块相对独立,所以N-S流程图可以用于描述各种复杂的算法。D正确,C语言有3种基本结构组成:顺序结构,选择结构,循环结构。这3种结构可以完成任何符合结构化的任务。