江苏省计算机二级c语言题库及答案(请在【答题】菜单上选择【选择题】命令,启动选择题测试程序,一、选择题
一、选择题(请在【答题】菜单上选择【选择题】命令,启动选择题测试程序,按照题目上的内容进行答题。作答选择题时键盘被封锁,使用键盘无效,考生须使用鼠标答题。选择题部分只能进入一次,退出后不能再次进入。选择题部分不单独计时。)
1、在数据库中,数据模型包括数据结构、数据操作和( )。
A.数据约束
B.数据类型
C.关系运算
D.查询
【答案】
A
【解析】
在数据库系统中的数据模型有三个要素:数据结构、数据操作和数据的约束条件。答案选择A选项。
2、若有定义:
int a,b,c;
以下选项中的赋值语句正确的是( )。
A. a = (b == c) = 1;
B. (a = b) = c = 1;
C. a = (b = c) + 1;
D. a + b = c;
【答案】
C
【解析】
赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量,且左右两边数据类型相同才能实现赋值。C项中,将c赋值给b,然后将b加1赋值给a,是正确的赋值语句,正确。A项中赋值运算(b==c)=1左值为逻辑表达式,不是变量不能被赋值,错误。B项中,将1赋值给c,赋值运算(a=b)=c中左值为表达式,不是变量不能被赋值,错误。D项左值a+b为表达式,不是变量不能被赋值,D项错误。答案选择C选项。
3、设有定义:
int x=0, *p;
紧接着的赋值语句正确的是( )。
A. *p=x;
B. *p=NULL;
C. p=x;
D. p=NULL;
【答案】
D
【解析】
指针赋值的正确写法:①p=&x,表示p指向x的存储单元;②p=NULL,表示p是空指针。③*p=x,表示将p指向的内容赋值为x,但前提是p已进行了初始化。答案选择D选项。
4、下列叙述中错误的是( )。
A. C程序可以由一个或多个函数组成
B. C程序可以由多个程序文件组成
C.一个C语言程序只能实现一种算法
D.一个C函数可以单独作为一个C程序文件存在
【答案】
C
【解析】
一个C程序可以有一个或多个程序文件,也可以有一个或多个函数,所以一个C语言程序可以实现多种算法,答案选择C选项。
5、在一个C源程序文件中所定义的全局变量,其作用域为( )。
A.所在文件的全部范围
B.所在程序的全部范围
C.所在函数的全部范围
D.由具体定义位置和extern说明来决定范围
【答案】
D
【解析】
全局变量是在函数外部任意位置上定义的变量,它的作用域是从变量定义的位置开始,到整个源文件结束止。答案选择D选项。
6、以下能正确表述算式 sin(2πr+30°)的C语言表达式是( )。
A. sin(2*π*r+30)
B. sin(2*3.14*r+30)
C. sin(2*3.14*r+3.14*30/180.0)
D. sin(2*3.14*r+30*3.14/360.0)
【答案】
C
【解析】
C项正确。sin是库函数,其参数中的角度要求用弧度制表示。C语言中π不是已定义的常量,需要用户自定义或者直接使用3.14代替π。A项未替换π也没有将30度换算成弧度,错误。B项没有将30度换算
成弧度,错误。D项弧度换算错误,π对应于180°,应该除以180.0而不是360.0。答案选择C选项。
7、有以下程序
#include <stdio.h>
main()
{
int a=2,c=5;
printf("a=%%d,b=%%d\n",a,c);
}
程序运行后的输出结果是( )。
A. a=%d,b=%d
B. a=%2,b=%5
C. a=%%d,b=%%d
D. a=2,b=5
【答案】
A
【解析】
%在C语言中有两个作用,一是用作取余数运算符,另一个用作转义符。%%d相当于将第二个%转义了,所以输出为%d。故答案选择A选项。
8、设有定义:double x=2.12;,以下不能完整输出变量x值的语句是( )。
A. printf("x=%5.0f\n",x);
B. printf("x=%f\n",x);
C. printf("x=%lf\n",x);
D. printf("x=%0.5f\n",x);
【答案】
A
【解析】
printf函数控制字符%f输出float类型,%lf输出double类型。格式控制%m.nf,表示数据输出总的宽度为m位,其中小数部分占n位。当数据的小数位多于指定宽度n时,截去右边多余的小数,并对截去的第一位小数做四舍五入处理;而当数据的小数位少于指定宽度n时,在小数的右边补零;当m小于有效位数时,整数部分输出所有有效数字并且自动对齐,小数部分按照n 指定位数输出。A项按照float格式输出数据,宽度为5位,保留小数0位,输出为2,不能完整输出x。B项按照float格式输出数据,输出为2.120000。C项按照double格式输出数据,输出为2.120000。D项按照float格式输出数据,保留小数位数为5,输出为2.12000。答案选择A选项。
9、以下语句中存在语法错误的是( )。
A. char ss[6][20];ss[1]="right?";
B. char ss[][20]={"right?"};
C. char*ss[6];ss[1]="right?";
D. char *ss[]={"right?"};
【答案】
A
【解析】
A项错误,数组定义后,不能对数组整体赋值,ss是二维数组,ss[1]是一维字符数组,即字符串,字符串赋值可以使用strcpy(ss[1],"right");的形式,但不能使用赋值的形式。BD两项正确,在定义时对数组同时进行初始化;C项正确,将常量字符串在内存中的首地址赋给指针数组的一个元素。答案选择A选项。
10、以下选项中合法的标识符是( )。
A. _11
B. 1-1
C. 1_1
D. 1__
【答案】
A
【解析】
C语言的标识符命名规则为:①只能由字母、数字和下划线3种字符组成;②标识符首位必须是字母或下划线;③不能与C语言中的关键字或保留字相同。CD两项,标识符首位不能为数字;B项,标识符首位不能为数字且“-”为不合法的字符。答案选择A选项。
11、在数据库中,数据模型包括数据结构、数据操作和( )。
A.数据约束
B.数据类型
C.关系运算
D.查询
【答案】
A
【解析】
在数据库系统中的数据模型有三个要素:数据结构、数据操作和数据的约束条件。答案选择A选项。
12、设某二叉树的后序序列为CBA,中序序列为ABC,则该二叉树的前序序列为( )。
A. BCA
B. CBA
C. ABC
D. CAB
【答案】
C
【解析】
令数组全部的值为0后序序列为CBA,中序序列为ABC,则说明,A为根结点,并且B和C均在A的右子树上;结点B和C中,后序序列为CB,中序序列为BC,则说明结点C在结点B的右子树上,根据分析可得,该二叉树的前序序列为ABC,答案选择C选项。
13、有两个关系R和T如下:
则由关系R得到关系T的操作是( )。
A.投影
B.交
C.选择
D.并
【答案】
A
【解析】
关系T是由关系R的第1、3列的元组组成,这是对关系R进行投影运算的结果。可以简单理解为:选择运算是对行(元组)的操作,投影运算是对列的操作。投影运算是对列的操作。投影是从表中选出指定的属性值组成新表,是单目运算,答案选择A选项。
14、以下叙述中错误的是( )。
A. C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件
B. C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
D.C语言源程序经编译后生成后缀为.obj的目标程序
【答案】
B
【解析】
B项错误,注释语句不会被翻译成二进制的机器指令。C源程序经过C编译程序编译之后生成后缀为.obj的二进制文件(称为目标文件),然后由“链接程序”(Link)的软件把.obj文件与各种库函数连接起来生成一个后缀为.exe的可执行文件。答案选择B选项。
15、软件生命周期是指( )。
A.软件产品从提出、实现、使用维护到停止使用退役的过程
B.软件从需求分析、设计、实现到测试完成的过程
C.软件的开发过程
D.软件的运行维护过程
【答案】
A
【解析】
软件生命周期是指软件产品从提出、实现、使用、维护到停止使用、退役的过程。答案选择A选项。
16、关于C语言标识符,以下叙述错误的是( )。
A.标识符可全部由数字组成
B.标识符可全部由下划线组成
C.标识符可全部由小写字母组成
D.标识符可全部由大写字母组成
【答案】
A
【解析】
C语言标识符只能由字母、数字、下划线构成,且只能以字母、下划线开头,故答案选择A选项。
17、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。
A.外模式
B.内模式
C.概念模式
D.逻辑模式
【答案】
B
【解析】
数据库管理系统的三级模式包括:①外模式,也称子模式、用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图;②模式,也称逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和;
③内模式,也称存储模式、物理模式,是指数据在数据库系统内的存储介质上的表示,是对数据的物理结构和存取方式的描述。答案选择B选项。
18、一个运动队有多个队员,一个队员仅属于一个运动队,一个队一般都有一个教练,则实体运动队和队员的联系是( )。
A.一对多
B.一对一
C.多对一
D.多对多
【答案】
A
【解析】
一个运动队有多个队员,表明在运动队表中的每个队与队员表中的一个或多个队员相关;一个队员仅
属于一个运动队,表明队员表中的每个队员只可以与运动队表中的一个队相关,为一对多关系。答案选择A选项。
19、有以下程序
#include <stdio.h>
main()
{
int i,array[6] = {1,5,0,4};
for(i=0; i<5; i++)
printf("%d,",array[i]&4);
printf("\n");
}
程序运行后的输出结果是( )。
A. 0,4,0,4,0,
B. 1,5,0,4,0,
C. 1,5,5,4,0,
D. 1,2,1,2,0
【答案】
A
【解析】
本函数的功能是将数组中所有元素与4进行与运算,首先将元素转换为二进制,然后和二进制数100(十进制4)进行与运算,第一个元素为001&100即为000。也就是0,同理可得答案分别为0、4、0、4、0,注意第五位按照0进行运算。答案选择A选项。
20、在关系模型中,每一个二维表称为一个( )。
A.关系
B.属性
C.元组
D.主码(键)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论