第 1 页:选择题 |
第 5 页:基本操作题 |
第 6 页:程序改错题 |
第 7 页:程序设计题 |
第 8 页:参考答案 |
一、选择题
1.D。【解析】程序(program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。设计算法时要考虑到数据结构的设计,但是不仅仅是要考虑到数据结构的设计,还要考虑到其他的程序结构的问题。设计算法时不能只考虑结果的正确性和可靠性,还需要考虑到程序的时间冗余度等方面。所以答案选择D。
2.C。【解析】线性链表中各个数据节点的存储空间可以不连续,其存储顺序与逻辑顺序也可以不一致,所以A和B选项错误。线性链表在插入和删除数据时只需要修改指针的指向,即可不需要移动表中的元素。
3.B。【解析】叶子结点和度数为2的结点之间的关系为叶子结点的个数一度数为2的结点个数+1。
4.B。【解析】应用软件(application software)是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,分为应用软件包和用户程序。所以答案选择B。
5.C。【解析】由题可知是要计算结构图的深度,其值为3。
6.D。【解析】程序调试的主要任务是改正程序中的错误,而软件测试是发现错误。
7.A。【解析】在数据库设计时必须在需求分析阶段建立数据字典,确定数据库中所需要的数据。
8.D。【解析】数据库系统三种模式为内模式、外模式和概念模式,所以答案选择D。
9.B。【解析】关系之间的操作分为自然连接、投影、交、并、差等,由图可知此操作为差操作。
10.A。【解析】面向对象程序设计的主要特征就是继承,所以答案选择A。
11.C。【解析】函数是指预先定义功能块,其目的是提高程序的重用性。在C语言中函数的源程序,后缀名可以为C。C语言所编写的函数都可以是一个独立的源文件。一个C语言程序只能有一个主函数。C语言中编写的函数不是每个都可以独立地编译和执行的,因为C语言中程序的开始为主函数,如果程序中没有主函数则无法进行编译和执行。
12.C。【解析】模块化的特征为将程序分解成独立的模块、模块的重用性、自顶向下逐步细化。
13.D。【解析】此题考查的是常量和变量的定义,常量不是经常使用的变量,而是一个确定的数值,所以答案选择D。
14.C。【解析】如果是字符数据和整数运算将先转换成整型再进行运算,当整型和浮点数进行运算,为了提高精度将会转化为双精度类型然后进行运算,所以此题结构的数值类型为double类型。
15.A。【解析】此题考查除法运算,根据先乘除后加减,有括号先算括号的原则,先计算x/y,即l2/8=1,所以z=0.9+1=1.9。
16.C。【解析】在输入时必须遵守scanf函数中的格式才能正确地赋值给相应的变量,由于scanf函数为“%d;%d”,所以在输入时要输入3;5,答案为C。
17.A。【解析】此表达式为逻辑表达式,kl=kl>k2的意义是,如果kl>k2,则kl为真,同理k2=k2>kl,如果k2>kl,则k2为真。所以答案为A。
18.C。【解析】主要考查if(--a),意思为如果--a为真,将会一直进行下列语句,所以答案为C。
19.D。【解析】主要考查if判断语句,A选项if(a),如果a为真,则输出X,否则输出Y。B选项if(a= =0),如果a恒等于0,则输出 Y,否则输出 X。C选项a(!=o),如果a不等于0,则输出X,否则输出y 。 D选项if(a= =0),如果a恒等于0,则输出X,否则输出y。由以上结论可知,输出结果不同的为D选项。
20.A。【解析】此题考查a--和--a之间的区别,当while(a--)为真循环执行,a--是执行再减1,所以答案选择A。
21.B。【解析】在C语言中%d表示输出整型数值,所以答案为B。
22.B。【解析】程序中的*s%10是求余运算,分别是a、b、C的ASCIl码值对10进行求余运算然后输出,所以输出的答案为789。 r
23.C。【解析】double a,*p=&a语句的意思是将a的值存放到指针变量P中,P是指针可以随意指向任何地址,所以答案C错误。
24.A。【解析】此题是一个简单的函数调用,当i=0并且i<30,执行i+=10,并且调用函数f,所以当i=0时,结果为1,当i=10时,结果为101,当i=20时,结果为401,所以a=1+101+401=503。
25.C。【解析】此题考查的是指针的自加,*p+=1,即为*p=*p+1,其中B和D都相等,所以答案选择C。
26.B。【解析】二维数组的定义有3种形式,第一种是分行为两位数组赋值,即int num[]={{12},{3, 4},{5,6}},第二种是按照数组排列顺序进行赋值,即int num[]={1,2,3,4,5,6},第三种为对部分元素赋初值,即int num[]={{1,2}{},{3,4},{5,6}},所以错误的为B。
27.B。【解析】由题可知,fun(&a[3])是将&a[3]作为参数,而fun(int*p)后执行的语句为p[5],由数组a可知输出的为6。
28.B。【解析】此题考查函数的调用以及数组的用法,由函数fun可知,当i=0,i 29.B。【解析】由题中while(*x==*y&&*x!=’\n’)可知此函数是统计x和y所指向的字符串中最前面的联系相同的字符的个数。
30.D。【解析】此题考查strcmp函数,此函数是模糊比较两个字符串的大小,因为Strcmp(sl,s2)!=0,所以需要输出“0K”用puts函数,所以答案为D。
31.A。【解析】由题可知fun的参数为变量,而a[15]为常量,所以答案为A。
32.C。【解析】此题涉及数组,字符串的比较和字符串的复制,因为for循环中控制数组中的i和j,即控制了其中的数组中的元素,而stremp是比较字符串的大小,如果stremp(a[i],a[j])>0,则将字符串进行复制,所以答案为C。
33.A。【解析】由题可知,输出是调用了f函数,其中有f(++n)和f(n++),其中n=0,所以输出的结果为l,2。
34.D。【解析】数组的排序从0开始,此时输出的是ch[1],实际上输出的是第二行的值,所以答案为D。
35.A。【解析】此题是需要将a[]中的数值倒过来进行输出,所以答案为A。
36.A。【解析】此题涉及C语言中的结构体,主要功能为输出b和C中的name、sex、score[0]和score[l]中的值。
37.B。【解析】略。
38.D。【解析】本题考查运算符“<<”,b=a<<2,是左移2位,a=2,即b=2*2*2=8。
39.A。【解析】静态变量不是每调用一次就赋一次初值,而是将需要定义许多相同的具有相同属性的值时,使用静态变量来节省空间,所以A选项错误。
40.C。【解析】此题是考查fprintf和fscanf,其中fprintf是向文件输出,文件为da2.dat文件,fscanf是向文件输入,所以根据程序循环写入和写出.可知答案为C。
编辑推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |