计算机二级C语言章节练习题与答案(一)

合集下载

C语言全国计算机二级等级考试教程第一二章(章节带习题)

C语言全国计算机二级等级考试教程第一二章(章节带习题)
10
2.2 标识符、常量和变量
2.2.3 符号常量
在C语言中,可以用一个符号名来代表一个常量,称为符号常
量。但是这个符号名必须在程序中用(#define)进行特别的“
指定"。 例2.2 计算圆面积和周长,此程序中将如何教大家使用符号常量。
#include “stdio.h” /*包含头文件*/
#define PI 3.14159 /*定义符号常量,符号常量名为PI,用PI来代表3.14159*/
main()
/*主函数,程序的入口*/
{double r,s,l;
/*声明部分,定义了3实型个变量*/
r
r=5.0;
/*给变量r赋值*/
函 s=PI*r*r;
数 体
l=2*PI*r;
/*计算圆的面积*/ /*计算圆的周长*/
s
printf(“s=%f,l=%f\n”,s,l/)*;分别圆的面积和周长*/
/*给变量b赋值*/
数 体
area=a*b;
/*将a*b的结果赋值给变量area*/
printf(“a=%f,b=%f,area=%f\n”,a,b,area/)*;分别输出矩形的两条边长和面积*/
1.2
}
3.6
a=1.200000,b=3.600000,area=4.320000
4.32
注意:
1. C程序由函数组成,一个程序必须有一个且只能有一个主函数(main),C程
a
b
1.5000002.500000 2.5000003.500000
a b
内存空间
2.在程序中,声明变量就是在计算机内存中申请了某个内存单元。对变量 进行赋值,实质上就是把数据存入该变量所代表的存储单元中。

计算机二级c语言试题及答案详解

计算机二级c语言试题及答案详解

计算机二级c语言试题及答案详解一、基础知识部分1. 下列关于C语言的描述中,错误的是:A) C语言是一种高级语言B) C语言是一种编译型语言C) C语言是一种面向对象语言D) C语言是一种结构化语言答案:C) C语言是一种面向对象语言解析:C语言是一种过程式语言,不是面向对象语言。

2. 下列关于C语言标识符的说法中,错误的是:A) 标识符由字母、数字和下划线组成B) 标识符可以以字母或下划线开头C) 标识符区分大小写D) 标识符不能与C语言的关键字相同答案:C) 标识符区分大小写解析:C语言标识符是不区分大小写的。

3. 以下哪项不是C语言关键字?A) ifB) whileC) varD) for答案:C) var解析:C语言中没有关键字var,正确的关键字是int。

4. 下列代码中,哪个选项是合法的C语言注释?A) /* This is a comment */B) // This is a commentC) # This is a commentD) <!-- This is a comment -->答案:A) /* This is a comment */解析:C语言的注释格式是/* ... */。

二、程序设计部分请写一段C语言程序,实现将两个数相加并输出结果的功能。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两数之和为:%d\n", sum);return 0;}```解析:以上代码实现了从用户输入两个整数,然后将其相加并输出结果的功能。

三、综合应用部分下列代码中,输出的结果是多少?```c#include <stdio.h>int main() {int a = 5, b = 2;float result;result = a / b;printf("结果为:%f\n", result);return 0;}```答案:结果为2.000000解析:由于a和b都是整数类型,除法运算得到的结果也是整数类型。

计算机二级c语言试题及答案解析

计算机二级c语言试题及答案解析

计算机二级c语言试题及答案解析一、选择题1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A解析:关键字`struct`用于定义一个结构体,它允许将多个不同类型的数据项组合成一个单一的数据结构。

2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ::D. ||答案:C解析:`%`是取模运算符,`&&`是逻辑与运算符,`||`是逻辑或运算符,而`::`不是C语言中的运算符。

二、填空题1. 在C语言中,`________`关键字用于声明一个函数。

答案:int解析:在C语言中,`int`是用于声明一个函数的返回类型,表示该函数返回一个整数值。

2. 以下代码片段中,`________`用于定义一个名为`data`的数组,包含10个整数。

```cint data[10];```答案:int data[10];解析:`int data[10];`定义了一个名为`data`的数组,它包含10个整数。

三、编程题1. 编写一个C语言函数,计算并返回两个整数的和。

```cint add(int a, int b) {return a + b;}```答案:```cint add(int a, int b) {return a + b;}```解析:该函数接受两个整数参数`a`和`b`,计算它们的和,并返回结果。

2. 编写一个C语言程序,实现将一个字符串反转。

```c#include <stdio.h>#include <string.h>void reverse(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) { char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverse(str);printf("Reversed string: %s\n", str); return 0;}```答案:```c#include <stdio.h>#include <string.h>void reverse(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) { char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverse(str);printf("Reversed string: %s\n", str);return 0;}```解析:该程序定义了一个`reverse`函数,它接受一个字符串作为参数,并通过交换字符的方式将字符串反转。

全国计算机二级考试《C语言》真题练习及答案

全国计算机二级考试《C语言》真题练习及答案

全国计算机二级考试《C语言》真题练习及答案全国计算机二级考试《C语言》真题练习及答案一、选择题(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3B)4C)6D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。

则实体教师和课程间的联系是A)1:1联系B)1:m联系C)m:1联系D)m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是A)-369B)369C)0.369D)整数集合{1,2,3,4,5}(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对(12)以下叙述中错误的是A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件(13)以下选项中不能用作C程序合法常量的是A)1,234B)'\123'C)123D)"\x7G"(14)以下选项中可用作C程序合法实数的是A).1e0B)3.0e0.2C)E9D)9.12E(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3;B)a=b=c+1;C)a=(b=4)+c;D)a=1+(b=c=4);(16)有以下程序段char name[20];int num;scanf("name=%snum=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为A)LiliB)name=LiliC)Lilinum=D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A)必须是逻辑值B)必须是整数值C)必须是正数D)可以是任意合法的数值(18)有以下程序#includemain(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是A)12B)11C)10D)9(19)有以下程序#includemain(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case 1:printf("%d",s+5);case 2:printf("%d",s+4);break;case 3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入1 2 34 5 0<回车>,则输出结果是A)6566456B)66656C)66666D)6666656(20)有以下程序段int i,n;for(i=0;i<8;i++){n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n);continue;case 0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是A)for循环语句固定执行8次B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行。

计算机二级c语言考试习题及答案汇总一篇

计算机二级c语言考试习题及答案汇总一篇

计算机二级c语言考试习题及答案汇总一篇计算机二级c语言考试习题及答案 11). 下列叙述中正确的是( )。

A.调用printf( )函数时,必须要有输出项B.使用put )函数时,必须在之前包含头文件stdio.hC.在C语言中,整数可以以二进制、八进制或十六进制的形式输出D.调节get )函数读入字符时,可以从键盘上输入字符所对应的ASCII码正确答案:B答案解析:选项A,若printf函数没有输出项,且格式字符串中不含格式信息,则输出的是格式字符串本身,若格式字符串含有格式信息,运行时则出现错误提示;选项C,在C语言中,整数可以十进制、八进制或十六进制的形式输出;选项D,getchar 函数是从标准输入设备读取一个字符。

2). 以下结构体类型说明和变量定义中正确的是( )A.typedef struct { int n; char c; } REC; REC t1,t2;B.struct REC ; { int n; char c; }; REC t1,t2;C.typedef struct REC; { int n=0; char c=′A′; } t1,t2;D.struct { int n; char c; } REC; REC t1,t2;正确答案:A答案解析:定义结构体类型的一般形式为:struct 结构体名{成员列表};struct 结构体名后不能加″;″号,所以选项B、C)错误,选项D中定义无名称的结构体类型同时定义结构体变量形式应为struct t1,t2;选项A为用户自定义类型,其为正确的定义形式。

3). 若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是( )A.一对一B.一对多C.多对一D.多对多正确答案:B答案解析:由于B和C有一一对应的联系,而A和B只间有一对多的联系,则通过关系之间的传递,则A和C之间也是一对多的联系。

4). 待排序的关键码序列为(15,20,9,30,67.65,45,90),要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码15被放到第( )个位置。

全国计算机二级《C语言》考试题库与答案

全国计算机二级《C语言》考试题库与答案

全国计算机二级《C语言》考试题库与答案全国计算机二级《C语言》考试题库与答案在学习、工作中,我们都离不开试题,借助试题可以检验考试者是否已经具备获得某种资格的基本能力。

什么样的试题才能有效帮助到我们呢?以下是店铺为大家收集的全国计算机二级《C语言》考试题库与答案,欢迎大家分享。

全国计算机二级《C语言》考试题库与答案篇1(1)下列关于栈叙述正确的是( )。

A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先被删除(2)下列叙述中正确的是( )。

A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.以上说法都不正确某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第1层)( )。

A.3B.4C.6D.7软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是( ):A.学生成绩管理系统B.c语言编译程序C.UNIX操作系统D.数据库管理系统(5)结构化程序所要求的基本结构不包括( )。

A.顺序结构B.GOT0跳转C.选择(分支)结构D.重复(循环)结构(6)下面描述中错误的是( )。

A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是( )。

A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言一个教师可讲授多门课程,一门课程可由多个教师讲授。

则实体教师和课程间的联系是( )。

A.1:1联系B.1:m联系C.m:1联系D.m:n联系(9)已知大写字母A的ASCIl码值是65,小写字母a的ASCIl码值是97。

以下不能将变量C中的大写字母转换为对应小写字母的语句是( )。

计算机二级C语言章节练习题及答案

计算机二级C语言章节练习题及答案

1.2算法1[填空题]一颗二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为【2】O参考解析:[2】DEBFCA【解析】根据二叉树的中序遍历原则可知D为二叉树的最左边的叶子结点,根据二叉树的前序遍历原则可知A是二叉树的根结点,就可以确定二叉树的结构,所以二叉树的后序遍历结果为:DEBFCA02[填空题]队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。

允许删除的一端称作。

参考解析:队头【解析】队列是只允许在一端删除,在另一端插入的顺序表,在队列中。

允许插入的一端叫做“队尾”,允许删除的一端叫做“队头”。

3[填空题]在最坏情况下,堆排序需要比较的次数为。

参考解析:0(nlog2n)【解析】在最坏情况下,冒泡排序所需要的比较次数为n(nr1)/2;简单插入排序所需要的比较次数为n(n-1)/2;希尔排序所需要的比较次数为0(nl.5);堆排序所需要的比较次数为0(nlog2n)。

4[单选题]算法的有穷性是指()。

Λ,算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用参考答案:A参考解析:算法具有5个特性:①有穷性:一个算法必须(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有限时间内完成,即运行时间是有限的;②确定性:算法中每一条指令必须有确切的含义,读者理解时不会产生歧义。

③可行性:一个算法是可行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现。

,④输入:一个算法有零个或多个输入,这些输入取自于某个特定的对象的集合。

⑤输出:一个算法有一个或多个输出。

5[单选题]下列叙述中正确的是()。

A.数据的逻辑结构与存储结构是一一对应的B.算法的时间复杂度与空间复杂度一定相关C.算法的效率只与问题的规模有关,而与数据的存储结构无关D.算法的时间复杂度是指执行算法所需要的计算工作量参考答案:D参考解析:根据时间复杂度和空间复杂度的定义可知,算法的时间复杂度与空间复杂度并不相关。

全国计算机等级考试二级c语言模拟试题及答案一

全国计算机等级考试二级c语言模拟试题及答案一

全国计算机等级考试二级C语言模拟试题及答案(一)一、选择题(1)栈和队列的共同特点是A)都是先进先出B)都是先进后出C)只允许在端点处插入和删除元素?D)没有共同点正确答案:? C(2)已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是A)acbedB)decabC)deabcD)cedba正确答案:? D(3)链表不具有的特点是A)不必事先估计存储空间B)可随机访问任一元素C)插入删除不需要移动元素?D)所需空间与线性表长度成正比正确答案:? B(4)结构化程序设计的3种结构是A)顺序结构、选择结构、转移结构B)分支结构、等价结构、循环结构C)多分支结构、赋值结构、等价结构D)顺序结构、选择结构、循环结构正确答案:? D(5)为了提高测试的效率,应该A)随机选取测试数据B)取一切可能的输入数据作为测试数据C)在完成编码以后制定软件的测试计划D)集中对付那些错误群集的程序正确答案:? D(6)算法的时间复杂度是指A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数正确答案:? C(7)软件生命周期中所花费用最多的阶段是A)详细设计B)软件编码C)软件测试D)软件维护正确答案:? D(8)数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为A)CB)BasicC)DDLD)DML正确答案:? C(9)下列有关数据库的描述,正确的是A)数据库是一个DBF文件B)数据库是一个关系C)数据库是一个结构化的数据集合D)数据库是一组文件正确答案:? C(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字正确答案:? D(11)以下叙述中正确的是A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点正确答案:? C(12)C语言中用于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构B)if,switch,breakC)for,while,do-whileD)if,for,continue正确答案:? A(13)C语言中最简单的数据类型包括A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型正确答案:? B(14)若变量已正确定义并赋值,以下符合C语言语法的表达式是A)a:=b+1B)a=b=c+2C)int %3D)a=a+7=c+b正确答案:? B(15)下列可用于C语言用户标识符的一组是A)void, define, WORDB)a3_b3, _123,CarC)For, -abc, IF CaseD)2a, DO, sizeof正确答案:? B(16)C语言中运算对象必须是整型的运算符是A)%=B)/C)=D)<=正确答案:? A(17)若变量a,i已正确定义,且i已正确赋值,合法的语句是A)a= =1B)++i;C)a=a++=5;D)a=int(i);正确答案:? B(18)已知int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对正确答案:? B(19)若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予,b赋予,c赋予,下列不正确的输入形式是A)10<回车>22<回车>33<回车>B),,<回车>C)<回车>22.033.0<回车>D)10? 22<回车>33<回车>正确答案:? B(20)有如下程序:main(){int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);} 该程序的输出结果是A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2正确答案:? A(21)有以下程序main(){int i=1,j=1,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k); }执行后输出结果是A)1,1,2B)2,2,1C)2,2,2D)2,2,3正确答案:? C(22)有如下程序main(){float x=,y;if(x<)y=;else if(x<)y=x;else y=;printf("%f\n",y);}该程序的输出结果是A)B)0.250000C)D)正确答案:? C(23)有如下程序:main(){int n=9;while(n>6){n--; printf("%d",n);} }该程序的输出结果是A)987B)876C)8765D)9876正确答案:? B(24)在下列选项中,没有构成死循环的是A)int i=100;while(1){i=i%100+1;if(i>100)break;}B)for(;;);C)int k=10000;do{k++;}while(k>10000);D)int s=36;while(s)--s;正确答案:? D(25)设int x=1,y=1;表达式(!x||y--)的值是A)0B)1C)2D)-1正确答案:? B(26)若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是A)函数调用可以作为独立的语句存在B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式中D)函数调用可以作为一个函数的形参正确答案:? D(27)有以下程序float fun(int x,int y){return(x+y);}main(){int a=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是A)编译出错B)9C)21D)正确答案:? B(28)若有以下调用语句,则不正确的fun函数的首部是main(){ …int a[50],n;…fun(n, &a[9]);…}A)void fun(int m, int x[])B)void fun(int s, int h[41])C)void fun(int p, int *s)D)void fun(int n, int a)正确答案:? D(29)fseek函数的正确调用形式是A)fseek(文件指针,起始点,位移量)B)fseek(文件指针,位移量,起始点)C)fseek(位移量,起始点,文件指针)D)fseek(起始点,位移量,文件指针)正确答案:? B(30)若fp是指向某文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是A)EOFB)-1C)1正确答案:? C(31)若有说明语句:char c='\72';则变量cA)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定正确答案:? A(32)若有说明int a[3][4];则a数组元素的非法引用是A)a[0][2*1]B)a[1][3]C)a[4-2][0]D)a[0][4]正确答案:? D(33)设有以下说明语句{int a;float b;} stutype;则下面的叙述不正确的是A)struct是结构体类型的关键字B)struct stu是用户定义的结构体类型C)stutype是用户定义的结构体类型名D)a和b都是结构体成员名正确答案:? C(34)在C语言中,引用数组元素时,其数组下标的数据类型允许是A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式正确答案:? C(35)若运行时给变量x输入12,则以下程序的运行结果是main(){int x,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);}A)0B)22C)12D)10正确答案:? A(36)以下说法正确的是A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分正确答案:? C(37)表达式0x13^0x17的值是A)0x04B)0x13C)0xE8D)0x17正确答案:? A(38)有以下程序#define F(X,Y)(X)*(Y)main(){int a=3, b=4;printf("%d\n", F(a++, b++));}程序运行后的输出结果是A)12B)15C)16D)20正确答案:? A(39)下列程序执行后的输出结果是void func(int *a,int b[]){ b[0]=*a+6; }main(){int a,b[5];a=0; b[0]=3;func(&a,b); printf("%d\n",b[0]); }A)6B)7C)8D)9正确答案:? A(40)若有下面的程序段:char s[]="china";char *p; p=s;则下列叙述正确的是A)s和p完全相同B)数组s中的内容和指针变量p中的内容相等C)s数组长度和p所指向的字符串长度相等D)*p与s[0]相等正确答案:? D(41)以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序void sort(int a[],int n){int i,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;} }main(){int aa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序运行后的输出结果是A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,8,7,6,5,4,9,10,D)1,2,10,9,8,7,6,5,4,3,正确答案:? C?(42)以下程序的运行结果是#include ""main(){struct date{int year,month,day;}today;printf("%d\n",sizeof(struct date));}A)6B)8C)10D)12正确答案:? A(43)若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是A)a,point,*&aB)&*a,&a,*pointC)*&point,*point,&aD)&a,&*point,point正确答案:? D(44)在调用函数时,如果实参是简单的变量,它与对应形参之间的数据传递方式是A)地址传递B)单向值传递C)由实参传形参,再由形参传实参D)传递方式由用户指定正确答案:? B(45)已定义以下函数fun(char *p2, char *p1){while((*p2=*p1)!='\0'){p1++;p2++;}}函数的功能是A)将p1所指字符串复制到p2所指内存空间B)将p1所指字符串的地址赋给指针p2C)对p1和p2两个指针所指字符串进行比较D)检查p1和p2两个指针所指字符串中是否有'\0'正确答案:? A(46)若执行下述程序时,若从键盘输入6和8时,结果为main(){int a,b,s;scanf("%d%d",&a,&b);s=aif(a<b)s=b;s*=s;printf("%d",s);}A)36B)64C)48D)以上都不对正确答案:? B(47)fscanf函数的正确调用形式是A)fscanf(fp,格式字符串,输出表列);B)fscanf(格式字符串,输出表列,fp);C)fscanf(格式字符串,文件指针,输出表列);D)fscanf(文件指针,格式字符串,输入表列);正确答案:? D(48)下列关于C语言数据文件的叙述中正确的是A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件正确答案:? D(49)有以下程序void ss(char *s,char t){while(*s){if(*s= =t)*s=t-'a'+'A';s++;}}main(){char str1[100]="abcddfefdbd",c='d'; ss(str1,c); printf("%s\n",str1); }程序运行后的输出结果是A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd正确答案:? B(50)若以下定义:struct link{int data;struct link *next;} a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:?指针p指向变量a,q指向变量c。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.1 程序和程序设计1[单选题] 数据库概念设计的过程中,以下各项中不属于视图设计设计次序的是( )。

A.自顶向下B.由整体到个体C.由向外D.由底向上参考答案:B参考解析:数据库概念设计的过程中,视图设计一般有三种设计次序,它们是:自顶向下。

这种方法是先从抽象级别高且普遍性强的对象开始逐步细化、具体化与特殊化。

由底向上。

这种设计方法是先从具体的对象开始,逐步抽象,普遍化与一般化,最后形成一个完整的视图设计。

由向外。

这种设计方法是先从最基本与最明显的对象着手逐步扩充至非基本、不明显的其他对象。

2[单选题] 关系数据库管理系统能实现的专门关系运算包括( )。

A.选择、投影、连接B.排序、查找、统计C.关联、更新、排序D.显示、打印、制表参考答案:A参考解析:关系数据库管理系统能实现的专门关系运算,包括选择运算、投影运算、连接运算。

3[单选题] 关系表中的每一横行称为一个( )。

A.字段B.元组C.行D.码参考答案:B参考解析:在关系数据库中,关系模型采用二维表来表示,简称“表”。

二维表由表框架及表元组组成。

在表框架中,按行可以存放数据,每行数据称为元组。

本题答案是B)。

4[单选题] 下列叙述中正确的是( )。

A.数据库不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库是存储在计算机存储设备中的、结构化的相关数据的集合D.数据库系统中,数据的物理结构必须与逻辑结构一致参考答案:C参考解析:数据库是存储在计算机存储设备中的、结构化的相关数据的集合。

数据库中的数据不只是面向某一项特定的应用,而是面向多种应用,可以被多个用户、多个应用程序共享,不具有独立的系统。

设计数据库的目的实质上是设计出满足实际应用需求的实际关系模型。

数据库技术的主要目的是有效地管理和存取大量的数据资源,包括:提高数据的共享性,使多个用户能够同时访问数据库中的数据;减小数据的冗余,以提高数据的一致性和完整性;提供数据与应用程序的独立性,从而减少应用程序的开发和维护代价。

本题答案为c)。

5[单选题] 数据流图由一些特定的图符构成。

下列图符名标识的图符不属于数据流图合法图符的是( )。

A.加工B.控制流C.数据存储D.数据流参考答案:B参考解析:数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。

数据流图中的主要图形元素有:加工(转换)、数据流、存储文件(数据源)等。

本题答案为B)。

6[单选题] 软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是( )。

A.概要设计B.软件设计C.可行性研究和计划制定D.需求分析参考答案:D参考解析:通常,将软件产品从提出、实现、使用维护到停止使用、退役的过程称为软件生命周期。

也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。

软件生命周期的主要活动阶段为:可行性研究和计划制定。

确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成开发任务的实施计划。

需求分析。

对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。

编写软件规格说明书及初步的用户手册,提交评审。

软件设计。

系统设计人员和程序设计人员应该在反复理解软件需求的基础上,给出软件的结构、模块的划分、功能的分配以及处理流程。

软件实现。

把软件设计转换成计算机可以接受的程序代码。

即完成源程序的编码,编写用户手册、操作手册等面向用户的文档,编写单元测试计划。

软件测试。

在设计测试用例的基础上,检验软件的各个组成部分。

编写测试分析报告。

运行和维护。

将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。

7[单选题] 下面描述中,符合结构化程序设计风格的是( )。

A.使用顺序、选择和重复(循环.三种基本控制结构表示程序的控制逻辑B.模块只有一个入口,可以有多个出口C.注重提高程序的执行效率D.不使用goto语句参考答案:A参考解析:结构化程序设计方法的四条原则是:自顶向下。

程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标逐步求精。

对复杂问题,应设计一些子目标,作过渡,逐步细节化、模块化。

一个复杂问题,肯定是由若干稍简单的问题构成;解决这个复杂问题的程序,也应对应若干稍简单的问题,分解成若干稍小的部分。

限制使用goto语句。

9[单选题] 下列关于栈的叙述中正确的是( )。

A.在栈中只能插入数据,不能删除数据B.在栈中只能删除数据,不能插入数据C.栈是先进后出(FILO)的线性表D.栈是先进先出(FIFO)的线性表参考答案:C参考解析:栈是限定在一端进行插入与删除的线性表。

栈是按照“先进后出”的或后进先出的原则组织数据的,因此,栈也被称为“先进后出”表或“后进先出”表。

10[单选题] 在下列选项中,哪个不是一个算法一般应该具有的基本特征( )。

A.无穷性B.可行性C.确定性D.有穷性参考答案:A参考解析:作为一个算法,一般应具有以下几个基本特征:可行性、确定性、有穷性、拥有足够的情报。

本题答案为A)。

12[单选题] 下列叙述中错误的是( )。

A.数据库管理系统是数据库的核心B.数据库系统由数据库、数据库管理系统、数据库管理员三部分组成C.数据共享最好的是数据库系统阶段D.数据库中的数据独立于应用程序而不依赖于应用程序参考答案:B参考解析:数据库管理系统是数据库系统的核心,它位于用户和操作系统之间,属于系统软件。

数据库系统由数据库、数据库管理系统、数据库管理员、硬件平台和软件平台五部分组成。

数据库技术的发展经历了3个阶段,人工管理、文件系统和数据库系统,数据共享最好的是数据库系统阶段,数据库中的数据独立于应用程序而不依赖于应用程序。

13[单选题] 下列不属于过程设计工具中图形工具的是( )。

A.N—SB.PADC.程序流程图D.DFD参考答案:D参考解析:常用的过程设计工具有图形工具(程序流程图、N-S图、PAD图、HIPO)、表格工具(判定表)、语言工具(PDL)。

14[单选题] 软件设计中衡量模块独立性的度量标准是( )。

A.抽象和信息隐蔽B.局部化和封装化C.聚性和耦合性D.激活机制和控制方法参考答案:C参考解析:耦合性与聚性是模块独立性的两个定性标准,耦合与聚是相互关联的。

在程序结构中,各模块的聚性越强,则耦合性越弱。

一般较优秀的软件设计,应尽量做到高聚,低耦合,即减弱模块之间的耦合性和提高模块的聚性,有利于提高模块的独立性。

15[单选题] 下列选项中属于软件生命周期开发阶段任务的是( )。

A.可行性研究B.需求分析C.详细设计D.软件维护参考答案:C参考解析:软件生命周期可分为软件定义、软件开发和软件运行维护3个阶段。

软件开发期包括概要设计、详细设计、实现和测试4个阶段。

16[单选题] 下面概念中,不属于面向对象方法的是( )。

A.对象B.继承C.类D.过程调用参考答案:D参考解析:类是指具有共同属性、共同方法的对象的集合,所以类是对象的抽象,对象是对应类的一个实例。

继承是指能够直接获得已有的性质和特征,而不必重复定义它们。

所以选项A、B、C属于面向对象方法,选项D属于面向过程方法。

17[单选题] 下列叙述中正确的是( )。

A.顺序存储结构的存储一定是连续的,链式存储结构的存储空问不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间参考答案:A参考解析:顺序存储方式是把逻辑上相邻的结点存储在物理上相邻的存储单元里,结点之间的关系由存储单元的邻接关系来体现。

其优点是占用最少的存储空间,所以选项D)错误。

顺序存储结构可以存储如二叉树这样的非线性结构,所以选项B)错误。

链式存储结构也可以存储线性表,所以选项c)错误。

18[单选题] 4个元素A、B、C、D依次入栈,入栈过程中允许栈顶元素出栈,假设某一时刻栈的状态是C(栈顶)、B、A(栈底),则不可能的出栈顺序是( )。

A.D、C、B、AB.C、B、D、AC.C、A、D、BD.C、D、B、A参考答案:C参考解析:栈的特点是先进后出,所以后入栈的最先出栈。

在栈的状态是c(栈顶)、B、A(栈底)时,D未入栈,栈顶元素可以出栈,但A不可能比B先出栈,所以c选项错误。

19[单选题] 下列数据结构中属于非线性结构的是( )。

A.队列B.线性表C.二叉树D.栈参考答案:C参考解析:线性结构满足两个条件:有且只有一个根结点;每个结点最多只有一个前件,也最多只有一个后件。

栈、队列、线性表都属于线性结构,二叉树是一种非线性结构,因为除叶子结点外,每个结点都有两个后件,不满足线性结构的条件。

20[单选题] 下列描述中正确的是( )。

A.算法是指对解题方案的准确而完整的描述B.算法的有穷性是指算法程序的长度是有限的C.算法是否有效与拥有的情报无关D.算法的基本特征有可行性、确定性和有穷性参考答案:A参考解析:算法是指对解题方案的准确而完整的描述。

算法具有4个特征:可行性、确定性、有穷性和拥有足够的情报。

有穷性指算法必需在有限时间做完,即算法必需能在执行有限个步骤之后终止。

当算法拥有足够的情报时,此算法才是有效的;而当提供的情报不够时,算法可能无效。

1.3 结构化程序设计和模块化结构1[填空题]数据结构分为线性结构与非线性结构,带链的栈属于。

参考解析:线性结构【解析】一般将数据结构分为线性结构与非线性结构两大类。

如果一个非空的数据结构满足以下两个条件:①有且只有一个根结点;②每一个结点最多有一个前件,也最多有一个后件。

则称该数据结构为线性结构,所以带链栈为线性结构。

2[填空题]对软件设计的最小单位(模块或程序单元)进行的测试通常称为测试。

参考解析:单元解析:对软件的模板进行的测试通常称为单元测试。

3[填空题]符合结构化原则的三种基本控制结构是顺序结构、__________和循环结构。

参考解析:选择结构【解析】程序设计语言仅仅使用顺序、选择和重复(循环)三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。

遵循程序结构化的设计原则,按结构化程序设计方法设计出的程序易于理解、使用和维护;可以提高编程工作的效率,降低软件的开发成本。

4[填空题]在面向对象方法中,_________描述的是具有相似属性与操作的一组对象。

参考解析:类【解析】在面向对象方法中,把具有相同属性和方法的对象称为类,类是对象的抽象,对象是类的实例。

5[填空题]符合结构化原则的三种基本控制结构为:顺序结构,选择结构和。

参考解析:循环结构7[单选题] 结构化分析可以使用的工具是( )。

相关文档
最新文档