百度
360搜索
搜狗搜索

计算机二级c语言题库及答案2022,9月计算机二级《C语言》上机试题及答案详细介绍

本文目录一览: 2022年计算机二级考试真题及答案

  2022年5月全国计算机等级考试就要开始了,需要报考的小伙伴们要抓紧时间进行备考了!下面是由我为大家整理的“2022年计算机二级考试真题及答案”,仅供参考,欢迎大家阅读本文。
  2022年5月全国计算机等级考试时间::5月28日至29日;
  2022年5月全国计算机等级考试成绩查询时间:预计考试结束后2个月内。
  2022年计算机二级考试真题及答案   1.[单选题] 程序调试的任务是( ).
  A.设计测试用例
  B.验证程序的正确性
  C.发现程序中的错误
  D.诊断和改正程序中的错误
  2[单选题] 计算机指令由两部分组成,它们是( )。
  A.运算符和运算数B.操作数和结果C.操作码和操作数D.数据和字符
  3[单选题] 公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员问的联系是( )。
  A.1:1联系B.m:1联系C.1:m联系D.m:n联系
  4[单选题] 下列关于ASCⅡ编码的叙述中,正确的是( ).
  A.一个字符的标准ASCⅡ码占一个字节,其最高二进制位总为1
  B.所有大写英文字母的ASCⅡ码值都小于小写英文字母‘a’的ASCⅡ码值
  C.所有大写英文字母的ASCⅡ码值都大于小写英文字母‘a’的ASCⅡ码值
  D.标准ASCⅡ码表有256个不同的字符编码
  5[单选题] 在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。
  A.O(n)B.O(n2)C.O(1og2n)D.O(n1og2n)
  6[单选题] 以下关于编译程序的说法正确的是( ).
  A.编译程序属于计算机应用软件,所有用户都需要编译程序
  B.编译程序不会生成目标程序,而是直接执行源程序
  C.编译程序完成高级语言程序到低级语言程序的等价翻译
  D.编译程序构造比较复杂,一般不进行出错处理
  7[单选题] 数据字典(DD)所定义的对象都包含于( )。
  A.数据流图(DFD图)B.程序流程图C.软件结构图D.方框图
  8[单选题] ( )拓扑结构是将网络的各个节点通过中继器连接成一个闭合环路.
  A.星型B.树型C.总线型D.环型
  9[单选题] 在CD光盘上标记有“CD-RW”字样,“RW”标记表明该光盘足
  A.只能写入一次,可以反复读出的一次性写入光盘
  B.可多次擦除型光盘
  C.只能读出,不能写入的只读光盘
  D.其驱动器单倍速为1350KB/S的高街度呵读写光柱
  10[单选题]根据域名代码规定,表示政府部门网站的域名代码是( )。
  A..netB..comC..govD..org
  参考答案:C
  11[单选题] 数据库设计中反映用户对数据要求的模式是( )。
  A.内模式B.概念模式C.外模式D.设计模式
  12[单选题]设计中模块划分应遵循的准则是( )。
  A.低内聚低耦合B.高耦合高内聚C.高内聚低耦合D.以上说法均错误
  13[单选题] 计算机软件包括( ).
  A.算法和数据B.程序和数据C.程序和文档D.程序、数据及相关文档
  14[单选题] 数据库应用系统中的核心问题是( )。
  A.数据库设计B.数据库系统设计C.数据库维护D.数据库管理员培训
  15[单选题] 运算器的完整功能是进行( )。
  A.逻辑运算B.算术运算和逻辑运算C.算术运算D.逻辑运算和微积分运算
  16[单选题] CPU中,除了内部总线和必要的寄存器外,主要的两大部件分别是运算器和
  A.控制器B.存储器C.CacheD.我器
  17[单选题] 下列与队列结构有关联的是( )。
  A.函数的递归调用B.数组元素的引用C.多重循环的执行D.先到先服务的作业调度
  18[单选题] 在一个非零无符号二进制整数之后添加一个0,则此数的值为原数的( )。
  A.4倍B.2倍C.1/2倍D.1/4倍
  19[单选题] 上网需要在计算机上安装
  A.数据库管理软件B.视频播放软件C.浏览器软件D.网络游戏软件
  20[单选题] 十进制数18转换成二进制数是( )。
  A.010101B.101000C.010010D.001010
  参考答案:C
  21[单选题] 在CD光盘上标记有“CD-RW”字样,“RW”标记表明该光盘是( )。
  A.只能写入一次,可以反复读出的一次性写入光盘
  B.可多次擦除型光盘
  C.只能读出,不能写入的只读光盘
  D.其驱动器单倍速为1350KB/S的高密度可读写光盘
  22[单选题] 算法的有穷性是指( ).
  A.算法程序的运行时间是有限的
  B.算法程序所处理的数据量是有限的
  C.算法程序的长度是有限的
  D.算法只能被有限的用户使用
  23[单选题] 某系统结构图如下图所示
  该系统结构图中最大扇入是( ).
  A.0B.1C.2 D.3
  24[单选题] 有三个关系R、S和T如下:
  其中关系T由关系R和S通过某种操作得到,该操作为( ).
  A.选择B.投影C.交D.并
  25[单选题] 在微机中,西文字符所采用的编码是( ).
  A.EBCDIC码B.ASCⅡ码C.国标码D.BCD码
  计算机二级考试真题答案解析
  1.参考答案:D参考解析:程序调试的任务是诊断和改正程序中的错误。
  2.参考答案:C参考解析:计算机指令通常由操作码和操作数两部分组成。
  3.参考答案:C参考解析:两个实体集间的联系实际上是实体集间的函数关系,主要有一对一联系1:1.、一对多联系1:m.、多对一联系m:1.、多对多联系m:n.。对于每一个实体部门,都有多名职员,则其对应的联系为一对多联系1:m.,答案选C。
  4.参考答案:B参考解析:国际通用的ASCIl码为7位,且最高位不总为l;所有大写字母的ASCIl码都小于小写字母a的ASCIl码;标准ASCIl码表有128个不同的字符编码。
  5.参考答案:C参考解析:当有序线性表为顺序存储时才能用二分法查找。可以证明的是对于长度为n的有序线性表,在最坏情况下,二分法查找只需要比较1og2n次,而顺序查找需要比较n次。
  6.参考答案:C参考解析:编译程序就是把高级语言变成计算机可以识别的二进制语言,即编译程序完成高级语言程序到低级语言程序的等价翻译。
  7.参考答案:A参考解析:在数据流图中,对所有元素都进行了命名,所有名字的定义集中起来就构成了数据字典。因此选A,而B,C,D都不符合。
  8.参考答案:D参考解析:环型拓扑结构是使用中继器组成一个封闭的环,各节点直接连到环上,信息沿着环按一定方向从一个节点传送到另一个节点的拓扑结构.
  9.参考答案:B参考解析:CD-RW是可擦写型光盘,用户可以以多次对其进行读写。CD-RW的全称是CD-ReWritab1e。
  10.参考答案:C参考解析:略
  11.参考答案:C参考解析:数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,所以选择C。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法。
  12.参考答案:C参考解析:根据软件设计原理提出如下优化准则:①划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性,并以此原则优化初始的软件结构。②一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。③软件结构的深度、宽度、扇入、扇出应适当。④模块的大小要适中。C正确。
  13.参考答案:D参考解析:计算机软件由两部分组成:一是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档.故D选项正确.
  14.参考答案:A参考解析:数据库应用系统中的核心问题是数据库的设计。
  15.参考答案:B参考解析:运算器是计算机处理数据形成信息的加工厂,它的主要功能是对二进制数码进行算术运算或逻辑运算。
  16.参考答案:A参考解析:CPU主要包括运算器和控制器。
  17.参考答案:D参考解析:队列的修改是依先进先出的原则进行的,D正确。
  18.参考答案:B参考解析:最后位加0等于前面所有位都乘以2再相加,所以是2倍。
  19.参考答案:C参考解析:略
  20.参考答案:C参考解析:用2整除18,可以得到一个商和余数;再用2去除商,又会得到一个商和余数。如此进行,直到商为0时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来,即得010010。
  21.参考答案:B参考解析:CD—RW是可擦写型光盘,用户可以多次对其进行读/写。CD-RW的全称是CD-ReWritab1e。
  22.参考答案:A参考解析:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。
  23.参考答案:C参考解析:扇人指的是调用一个给定模块的模块个数。题干系统中,第2层模块扇入均为1,第3层中功能模块3.1扇人为2,其余为1,故最大扇入为2,C选项正确。
  24.参考答案:D参考解析:关系T中包含了关系R与s中的所有元组,所以进行的是并的运算。
  25.参考答案:B参考解析:略

国家计算机二级C语言考试题

一 、选择题
(1)下列数据结构中,按先进后出原则组织数据的是
A)线性链表
B)栈
C)循环链表
D)顺序表
正确答案: B
(2)具有3个结点的二叉树有
A)2种形态
B)4种形态
C)7种形态
D)5种形态
正确答案: D
(3)设有下列二叉树:
对此二叉树前序遍历的结果为
A)ZBTYCPXA
B)ATBZXCYP
C)ZBTACYXP
D)ATBZXCPY
正确答案: B
(4)结构化程序设计主要强调的是
A)程序的规模
B)程序的效率
C)程序设计语言的先进性
D)程序易读性
正确答案: D
(5)程序的3种基本控制结构是
A)过程、子过程和分程序
B)顺序、选择和重复
C)递归、堆栈和队列
D)调用、返回和转移
正确答案: B
(6)下列叙述中,不属于测试的特征的是
A)测试的挑剔性
B)完全测试的不可能性
C)测试的可靠性
D)测试的经济性
正确答案: C
(7)需求分析中开发人员要从用户那里了解
A)软件做什么
B)用户使用界面
C)输入的信息
D)软件的规模
正确答案: A
(8)下列关系模型中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是
A)选择
B)连接
C)投影
D)并
正确答案: B
(9)下列叙述中,正确的是
A)用E-R图能够表示实体集间一对一的联系、一对多的联系和多对多的联系
B)用E-R图只能表示实体集之间一对一的联系
C)用E-R图只能表示实体集之间一对多的联系
D)用E-R图表示的概念数据模型只能转换为关系数据模型
正确答案: C
(10)"年龄在18~25之间"这种约束是属于数据库当中的
A)原子性措施
B)一致性措施
C)完整性措施
D)安全性措施
正确答案: C
11)以下说法错误的是
A)高级语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式
B)计算机只能处理由0和1的代码构成的二进制指令或数据
C)C语言源程序经过C语言编译程序编译之后生成一个后缀为.EXE的二进制文件
D)每一种高级语言都有它对应的编译程序
正确答案: C
(12)算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性的是
A)有零个输入或多个输入
B)高效性
C)有穷性
D)确定性
正确答案: B
(13)已知int a=6; 则执行a+=a-=a*a;语句后,a的值为
A)36
B)0
C)-24
D)-60
正确答案: D
(14)下面各选项中,均是C语言标识符的选项组是
A)forchinato
B)long_123short56_do
C)voidunion_342
D)text.txt _023_3ew
正确答案: B
(15)下列表达式中,结果为5的是
A)6*5%6
B)5*-2+15
C)5+75%10
D)6+-2/3
正确答案: B
(16)下列常量中,为不合法的实型常量表示的是
A).0032
B)0.0
C)0.3242E8
D).E3
正确答案: D
(17)关于C语言的主函数描述正确的是
A)C程序可以有多个main函数
B)C程序必有一个而且只能有一个main函数
C)C程序可以没有main函数
D)C程序的执行不一定在main函数开始执行
正确答案: B
(18)已知int a=1,b=-1;则语句printf("%d\n",(a--,++b));的输出结果是
A)-1
B)0
C)1
D)语句错误
正确答案: B
(19)已知int a,b;double c;则以下语句中错误的函数调用是
A)scanf("%d,%x,%lf",&a,&b,&c);
B)scanf("%d,%d,%le",&a,&b,&c);
C)scanf("%o,%x,%o",&a,&b);
D)scanf("%d,%o,%e",&a,&b,&c);
正确答案: D
(20)已知x,y,z均为整型变量,且值均为1,则执行语句++x||++y&&++z;后,表达式x+y的值为
A)1
B)2
C)3
D)4
正确答案: C

下半年计算机二级c语言基础试题

下半年计算机二级c语言基础试题
  任何设计活动都是在各种约束条件和相互矛盾的需求之间寻求一种平衡,程序设计也不例外。下面是我收集的关于计算机二级c语言基础试题,希望大家认真阅读!

  下半年计算机二级c语言基础试题1   一、选择:
  1.给出以下定义:
  char acX[ ]= "abcdefg";
  char acY[ ]= {'a','b','c','d','e','f','g'};
  则正确的叙述为( )
  A) 数组acX和数组acY等价 B) 数组acX和数组acY的长度相同
  C) 数组acX的长度大于数组acY的长度 D) 数组acX的长度小于数组acY的长度
  答案:C
  2.
  void example(char acHello[])
  {
  printf("%d", sizeof(acHello));
  return;
  }
  void main()
  {
  char acHello[] = "hello";
  example(acHello);//数组名称作参数,传的是地址,一个地址占四个字节
  return;
  }
  的输出是
  A 4 B 5 C 6 D不确定
  答案:A
  3. 有以下程序段
  char acArr[]= "ABCDE";
  char *pcPtr;
  for(pcPtr = acArr; pcPtr < acArr + 5; pcPtr++)
  {
  printf("%s/n", pcPtr);
  }
  return;
  输出结果是( )
  A) ABCD B) A C) E D) ABCDE
  B D BCDE
  C C CDE
  D B DE
  E A E
  答案:D
  4.在中断中,不能同步获取信号量,但是可以释放信号量。
  A.正确 B.错误
  答案:A
  5.以下叙述中不正确的是( )
  A) 在不同的函数中可以使用相同名字的变量
  B) 函数中的形式参数是局部变量
  C) 在一个函数内定义的变量只在本函数范围内有效
  D) 在一个函数内的复合语句中定义的变量在本函数范围内有效(复合语句指函数中的成对括号构成的代码)
  答案:D
  6.设有如下定义:
  unsigned long pulArray[] = {6, 7, 8, 9, 10};
  unsigned long *pulPtr;
  则下列程序段的输出结果为( )
  pulPtr = pulArray;
  *(pulPtr + 2) += 2;
  printf ("%d,%d/n", *pulPtr, *(pulPtr + 2));
  A)8,10 B)6,8 C)7,9 D)6,10
  答案:D
  7. 定义结构体时有下面几种说法,请指出正确的(多选):______
  A、结构体中的每个部分,最好进行四字节对齐;
  B、结构体的总长度最好是四字节对齐;
  C、结构中成员的存放不用考虑字节对齐情况;
  答案:A、B
  8.void example()
  {
  int i;
  char acNew[20];
  for(i = 0; i < 10; i++)
  {
  acNew[i] = '0';
  }
  printf("%d/n", strlen(acNew));
  return;
  }
  的输出为( )
  A 0 B 10 C 11 D不确定
  答案:D
  9.switch(c)中的c的数据类型可以是char、long、float、unsigned、bool. ( )
  A. 正确 B. 错误
  答案:B
  10. 网络上传输的字节序默认是大字节的,如果主机是小字节序,在网络通信时则须进行字节序转换;如果主机是
  大字节序,为了程序的一致性及可移植性,最好也在程序中加上字节序转换的操作(空操作)。
  A. 正确 B.错误
  答案:A
  二、 填空题
  1、 C语言函数返回类型的默认定义类型是
  2、 函数的实参传递到形参有两种方式: 和
  3、在一个函数内部调用另一个函数的调用方式称为 。在一个函数内部直接或间接调用该函数成为函数 的调用方式
  4、C语言变量按其作用域分为 和
  5、凡在函数中未指定存储类别的局部变量,其默认的存储类别为
  三、 看程序写结果
  1、#include
  Int abc(int u,int v);
  Void main()
  {int a=24,b=16,c;
  c=abc(a,b);
  printf(“value=%d”,c);
  }
  Int abc(int u, int v)
  {int w;
  While(v)
  {w=u%v;
  u=v;
  v=w;
  }
  Return u;
  }
  2、#include
  int x1=30,x2=40;
  main()
  {int x3=10,x4=20;
  sub(x3,x4);
  sub(x2,x1);
  printf(“%d,%d,%d,%d ”,x3,x4,x1,x2);
  }
  sub(int x,int y)
  {x1=x;x=y;y=x1;}
  3、#include
  Main()
  {int i=5;
  Printf(“%d ”,sub(i));
  }
  sub(int n)
  {int a;
  If(n==1) return 1;
  a=n+sub(n-1);
  return (a);
  }
  4、#include
  Void fun()
  {static int m;
  m+=2;
  printf(“%d ”,m);
  }
  Main()
  {int a;
  For(a=1;a<=4;a++) fun();
  Printf(“ ”);
  }
  四、 编程题
  1、 编写一个函数,判断任一整数是否为素数,用main()函数调用并测试之。
  2、 用递归方法求n!
  3、 有一个一维数组,内放10个学生成绩,写一个函数,求出平均分,最高分和最低分
  下半年计算机二级c语言基础试题2   1.下列叙述中正确的是( )。
  A. 所有数据结构必须有根结点
  B. 所有数据结构必须有终端结点(即叶子结点)
  C. 只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构
  D. 没有根结点或没有叶子结点的数据结构一定是非线性结构
  【答案】D
  【解析】D项正确,线性结构的特点是:
  ①集合中必存在“第一个元素"且惟一;
  ②集合中必存在“最后一个元素”且惟一;
  ③除最后一个元素外,其他数据元素均有惟一的“后继;
  ④除第一个元素外,其他数据元素均有惟一的“前驱”。所以没有根结点或没有叶子结点的数据结构一定是非线性结构。AB两项错误,不是所有数据结构都必须有根结点和叶子结点;C项错误,数据结构中若有中间结点不满足只有一个前件或者后件的条件,就不是线性结构。答案选择D选项。
  2. 以下叙述中错误的是( )。
  A. C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
  B. C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件
  C. 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
  D. C语言源程序经编译后生成后缀为.obj的目标程序
  【答案】A
  【解析】A项错误,注释语句不会被翻译成二进制的'机器指令。C源程序经过C编译程序编译之后生成后缀为.obj的二进制文件(称为目标文件),然后由“链接程序”(Link)的软件把.obj文件与各种库函数连接起来生成一个后缀为.exe的可执行文件。答案选择A选项。
  3. C语言主要是借助以下( )功能来实现程序模块化的。
  A. 定义函数
  B. 定义常量和外部变量
  C. 三种基本结构语句
  D. 丰富的数据类型
  【答案】A
  【解析】C程序的模块化主要通过函数来实现。C语言允许对函数单独进行编译,从而可以实现模块化。答案选择A选项。
  4. 有以下程序段:
  char ch;
  int k;
  ch='a';
  k=12;
  print("%c,%d,",h,ch,k);
  printf("k=%d ",k);
  已知字符a的ASCII码十进制值为97,则执行上述程序段后输出的结果是( )。
  A. 因变量类型与格式描述符的类型不匹配输出无定值
  B. 输出项与格式描述符个数不符,输出为零值或不定值
  C.a,97,12k=12
  D. a,97,k=12
  【答案】D
  【解析】字符变量的值是该字符的ASCII码值,可以参与整型变量所允许的任何运算。"ch='a",%c表示以字符格式输出ch的值,所以输出为a;%d表示以十进制代码的形式输出ch的值,为97;k没有对应的输出格式,不输出。在第二个语句中,首先输出"k=",然后以十进制代码输出k的值,为12。答案选择D选项。
  5. 下列叙述中正确的是( )。
  A. 栈是“先进先出”的线性表
  B. 队列是“先进后出"的线性表
  C. 循环队列是非线性结构
  D. 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
  【答案】D
  【解析】有序的线性表既可采用顺序存储结构,也可以采用链式存储结构。A项错误,栈是“先进后出"的线性表B项错误,队列是“先进先出"的线性表;C项错误,循环队列是线性结构的,有序的线性表既可采用顺序存储结构,也可采用链式存储结构。
  答案选择D选项。
  6. 某二叉树的中序序列为DCBAEFG,后序序列为DCBGFEA,则该二叉树的深度(根结点在第1层)为( )。
  A. 5
  B. 40
  C.3
  D. 2
  【答案】B
  【解析】二叉树的后序序列为DCBGFEA,则A为根结点。中序序列为DCBAEFG,则DCB为左子树结点,EFG为右子树结点。同理B为C父结点,C为D父结点。根据分析,可画出左子树,同理E为F父结点,F为G父结点。根据分析,可画出右子树,故二叉树深度为4层。答案选择B选项。
  7. 设有定义:struct{intn;floatx;}s[2],m[2]={{10,2.8},{0,0.0}};,则以下赋值语句中正确的是( )。
  A. s[0]=m[1];
  B. s=m;
  C.s.n=m.n;
  D. s[2].x=m[2].x;
  【答案】A
  【解析】定义了结构体类型数组s,长度为2,结构体类型数组m,长度为2,并对数组m进行了初始化。同类型的结构体可以直接用变量名实现赋值,A项正确;数组名为数组首地址,地址常量之间不可以相互赋值,B项错误;数组名为地址常量不是结构体变量,不能引用成员,C项错误;s[2]与m[2]数组越界,D项错误。答案选择A选项。
  8. 关于C语言标识符,以下叙述错误的是( )。
  A. 标识符可全部由数字组成
  B. 标识符可全部由下划线组成
  C. 标识符可全部由小写字母组成
  D. 标识符可全部由大写字母组成
  【答案】A
  【解析】C语言标识符只能由字母、数字、下划线构成,且只能以字母、下划线开头,故答案选择A选项。
  9. 以下程序段中的变量已定义为int类型,则
  sum=pAd=5;
  pAd=sum++,++pAd,pAd++;
  printf("%d ",pAd);
  程序段的输出结果是( )。
  A. 6
  B. 4
  C. 5
  D. 7
  【答案】D
  【解析】自增和自减运算符的两种用法:前置运算,运算符放在变量之前,规则是先使变量的值增(或减)1,然后以变化后表达式的值参与其他运算;后置运算,运算符放在变量之后,规则是变量先参与其他运算,然后再使变量的值增(或减)1。执行pAd=sum++,sum++是后置自增,执行完后,pAd=5,sum=6。++pAd和pAd++语句中没有其他运算,即效果相同,pAd分别加1,两句执行完后,pAd7。答案选择D选项。
;

阅读更多 >>>  信考软件为什么没分

计算机二级C语言选择题及答案(2)

  }
  printf("%d\n",num);
  }
  程序执行后的输m结果是(  )。
  A.35
  B.37
  C.39
  D.3975
  32.以下程序的'输出结果是(  )。
  main()
  {char st[20]="hello\0\t\\\";
  printf("%d%d\n",strlen(st).sizeof(st));
  }
  A.9 9
  B.5 20
  C.13 20
  D.20 20
  33.若有以下的定义:‘int t[3][2];”,能正确表示t数组元素地址的表达式是(  )。
  A.&t[3][2]
  B.t[3]
  C.t[l]
  D.t[2][2]
  34.函数fseek(pf,OL,SEEK END)中的SEEK ENE 代表的起始点是(  )。
  A.文件开始
  B.文件末尾
  C.文件当前位置
  D.以上都不对
  35.下述程序的输出结果是(  )。
  #include
  main()
  { int i;
  for(i=l;i<=10;i++)
  {if(i*i>=20)&&(i*i<=100))
  break;
  }
  printf("%d\n",i*i);
  }
  A.49
  B.36
  C.25
  D.64
  36.若有定义“int b[8],*p=b;”,则p+6表示(  )。
  A.数组元素b[6]的值
  B.数组元素b[6]的地址
  C.数组元素b[7]的地址
  D.数组元素b[o]的值加上6
  37.设变量已正确定义,则以下能正确计算f=n!的程序是(  )。
  A.f=0:
  for(i=1;i<=n;i++)f*=i:
  B.F=1:
  for(i=l;i<2n;i++)f*=i:
  C.f=l:
  for(i=n;i>1;i++)f*=i:
  D.f=1;
  for(i=n;i>=2;i--)f*=i:
  38.下述程序执行的输出结果是(  )。
  #include
  main()
  { char a[2][4];
  strcpy(a,"are");strcpy(a[1],"you");
  a[0][3]=’&’;
  printf("%s\n",a):
  }
  A.are&you
  B.you
  C.are
  D.&
  39.设x=011050,则x=x&01252的值是(  )。
  A.0000001000101000
  B.1111110100011001
  C.0000001011100010
  D.1100000000101000
  40.在“文件包含”预处理语句的使用形式中,当#include后面的文件名用(双引号)括起时,寻找被包含文件的方式是(  )。
  A.直接按系统设定的标准方式搜索目录
  B.先在源程序所在的目录搜索,如没找到,再按系统设定的标准方式搜索
  C.仅仅搜索源程序所在目录
  D.仅仅搜索当前目录
  【答案与解析】
  1.D。【解析】算法的空间复杂度,是指执行这个算法所需的存储空间。算法所占用的存储空间包括算法程序所占用的空间、输入的初始数据所占用的存储空间、算法执行过程中所需要的额外空间。
  2.D。【解析】数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式,一种数据结构可以根据需要采用不同的存储结构,用的存储结构有顺序和链式结构。用不同的存储结构,其处理的效率是不同的。
  3.D。【解析】所谓的交换排序方法是指借助数据元素之间的互相交换进行排序的一种方法,包括冒泡排序和快速排序,冒泡排序通过相邻元素的交换,逐步将线性表变成有序是一种最简单的交换排序方法。
  4.C。【解析】结构化程序设计的原则和方法之一是限制使用GOT0语句,但不是绝对不允许使用GOT0语句。其他三项为结构化程序设计的原则。
  5.D。【解析】文件系统所管理的数据文件基本上是分散、相互独立的。相对于数据库系统,以此为基础的数据处理存在3个缺点:数据冗余大、数据的不一致性、程序与数据的依赖性强。
  6.C。【解析】面对象的设计方法的基本原理是:使用现实世界的概念抽象地思考问题从而自然地解决问题。它虽强调模拟现实世界中的概念而不强调算法,但是它鼓励开发者在软件开发的过程中从应用领域的概念角度去思考。
  7.D。【解析】所谓的后序遍历是指,首先遍历左子树,然后遍历右子树,最后访问根结点,并且在遍历左、右树时,仍然先遍历左子树,然后遍历右子树,最后访问根点。因此,后序遍历二叉树的过程也是一个递归过程。
  8.B。【解析】软件的过程设计是指系统结构部件转换成软件的过程描述。
  9.A。【解析】①对软,牛开发的进度和费用估计不准确:②用户对已完成的软件系统不满意的现象时常发生;③软件产品的质量往往靠不住;④软件常常是不可维护的;⑤软件通常没有适当的文档;⑥软件成本在计算机系统总成本中所占的比例逐年上升;⑦软件开发生产率提高的速度远远跟不上计算机应用迅速普能及深入的趋势。
  10.C。【解析】对象的封装性是指从外面看只能看到对象的外部特性,而对象的内部,其处理能力的实行和内部状态对外是不可见的,是隐蔽的。
  11.C。【解析】数据库系统由如下5个部分组成:数据库(DB)、数据库管理系统fDBMS)、数据库管理员(人员)、系统平台之一——硬件平台(硬件)、系统平台之二——软件平台(软件)。其中 DB(DataBase)即数据库,是统一管理的相关数据的集合;DBMS即数据库管理系统,是位于用户与操作系统之间的一层数据管理软件,为用户或应用完程序提供访问DB的方法。由以上可知,选C为正确答案。
  12.A。【解析】标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或者下划线。B选项int不是表达变量类型的标识符,它不能再用做变量名和函数名。C 选项do是C语言的一个关键字。D选项标识符只能以字母或下划线开始。
  13.D。【解析】本题考查逻辑运算符的使用。当“&&”的两个运算对象都是逻辑1时,表达式返回值才是1;“||” 的两个运算对象至少有一个是逻辑1时,表达式返回值也是1,x  14.C。【解析】第1个printf函数,格式说明的个数是2,而输出项的个数是3,所以对于多余的输出项k不予输出;第2个printf函数,有两个%说明,第1个%后面的字符要原样输出。本题考查printf函数的格式。①“%x”和“%0”分别表示以十六进制和八进制无符合型输出整型数据(不带前导ox或0);②printf函数中格式说明符之前插入的任何字符都原样输出;③格式说明与输出项的个数,也要相等,如果格式说明的个数少于输出项的个数,则对于多余的输出项不予输出。
  15.C。【解析】函数fun(int x,int y)的功能是返回x+y的值。在主函数中,变量a,b,c的初始值分别为1,2,3。因此,逗号表达式“a++,b++,aq b”的值等于5,表达式c++的值为3,调用于函数的表达式为“fun(5,3);”,其返回值等于8。
  16.D。【解析】在x=2,y=x+3/2中,3/2=1。2+1= 3,因此表达式的值为3,因为x,y为double型变量,故选择D选项。
  17.A。【解析】当x为1时,执行case 1,a自加等于1,因为case 1后没有break,接着执行case 2,此时a的值为2,b自加为1,故选择A选项。
  18.D。【解析】本题考梦自增运算符“++”、逻辑与运算符“&&”和逻辑或运算符“||”。自增运算符“++”出现在变量之前,表示先使用变量的值加l,再使用变量的值进行运算;出现在变量之后,表示先使用变量的值进行运算,再使用变量的值加l。当逻辑与运算符“&&’’两边的运算对象都为真时,逻辑表达式的值才为真;当逻辑或运算符“||”只要一个值为1,值就为1。根据运算符的优先级,题中应先计算内层括号中的值。++j是先自加后运算,因此运算时j的值等于3,所以表达式++j=3成立,即表达式的值为1;1与任何数都为进行或(||)运算,结果都为1,因此k=3的表达式i++是先运算后自加,因此运算时i为1,所以i++=1成立,自加1后i=2。if语句的条件为真即“1”,所以输出i、j、k的值分别是2,3,3。
  19.A。【解析】本题考查switch语句。当i一1时,执行case 1,因为没有遇到break语句,所以依次往下运行,“a=a+ 2=2,a=a+3=5”;当i=2时,执行case 2,因为没有遇到break语句,所以依次往下执行,“a=a+2=7,a=a+3= 10”;当i=3时,执行case 3,a=a+1=11,因为没有遇到break语句,所以依次往下运行,a—a+2—13,a—a+3一l6:当i=4时,执行default,a=a+3=19,结束循环。
  20.C。【解析】只有当3个if条件同时成立,即能够同时被2、3、7整除时,才输出i的值,而从0到50能够同时被2、3、7整除的数只有42,故选择C选项。
  21.A。【解析】循环的作用是求行下标从1到2列下标从0到i的元素之和,即s=a[1][0]+a[1][1]+a[2][0]+a [2][1]+a[2][2]=3+4+5+6+0=18。
  22.A。【解析】在程序语句中,k的初始值为5,进行第l次while循环后,k自减1为4,非0,执行循环体里的printf语句,输出k,此时k的值变为1。程序执行第2次循环时,k 自减1变为0,为假,退出while循环语句。所以程序的最后结果为1。
  23.A。【解析】通过地址来引用数组元素的方法有下列5种:
  (1)a[i][j];(2)*(a[i]+j);(3)*(*(a+j)+i);(4)* (a[i][j]);(5)(&aE0][0]q-3*i+j)。故A正确。
  24.C。【解析】选项A、B的空间不够;字符串存储要有结束符’\0’,且要占用一个空间,printf用来输出字符,不能输入字符串。
  25.D。【解析】由题目ee线性链表的定义可知,要将q 和r所指的结点交换前后位置,只要使q指向r的后一个结点,p指向r结点,r指向q结点即可。而在选项D由,r-> next=q,这时r指向的节点为q;p->next r,这时p指向的节点为r;q->next=r->next,因为r节点已经指向q,所以执行这个语句后q又指向q,所以选项D不正确。
  26.B。【解析】在第1次外层for循环中,首先x++得到x=1。进入到内层for循环,只有循环j的值为奇数时,变量x的值才自加1,所以在内层for循环执行过程中,变量x的值自加两次,当退出内层for循环时,x=3,然后执行x++,得到x=4。在进入执行第2次外层for循环中,首先x++得到x=5。进入到内层for循环,只有循环变量j的值为奇数时,变量x的值才自加1,所以在内层for循环执行过程中,变量X的值自加1两次,当退出内层for循环时,x=7,然后执行x++,得到x=8,所以打印输出变量x的值为8。
  27.C。【解析】子函数fun1(double a)的功能是返回a的平方值的整数部分。子函数fun2(double x,double y)的功能是返回X的平方值的整数部分与Y的平方值的整数部分的和。又因为题中变量w的定义为double型,函数fun(2) 的定义为int型,按照各类数值型数据间的混合运算,整型数据被转换为实型数据。所以双精度型变量w的值为5.O。
  28.C。【解析】在for循环语句中自变量i从0开始,每次自加2,执行s+=*(t+i)语句,因为C语言规定数组名做表达式相当于数组的首地址,也就是第一个元素的地址。因此,*(t+i)代表数组的第i+1个元素。所以程序运行的结果是1+3+5+7+9=25,即变量S的值等于25。
  29.A。【解析】本题在函数int fun(int n)的定义中又出现了对函数fun的调用,所以函数fun是递归函数。因而在主函数中调用x=fun(x)时,当输入10赋给变量x时,递归调用的过程为
  fun(10)=10…fun(9)=104-94-fun(8)=104-9+84- fun(7)
  =10+9++8++7++fun(6)=10+9++8+7+6+fun (6)
  =10+9++8+7+6+5+fun(4)
  =10+9++8+7+6+5+4+fun(3)
  =10+9++8+7+6+5+4+3+fun(2)
  =10+9++8+7+6+5+4+3+2+fun(1)
  =10+9++8+7+6+5+4+3+2=55

9月计算机二级《C语言》上机考题及答案

  1、以下选项中属于C语言的数据类型是( )。
  A. 复合型
  B. 双精度型
  C. 逻辑型
  D. 集合型
  2、以下说法中正确的是( )。
  A. C语言程序总是从第一个的函数开始执行
  B. 在C语言程序中,要调用的函数必须在main()函数中定义
  C. C语言程序总是从main()函数开始执行
  D. C语言程序中的main()函数必须放在程序的开始部分
  3、选出下列标识符中不是合法的标识符的是( )。
  A. hot_do
  B. cat1
  C. _pri
  D. 2ab
  4、下列描述中不正确的是( )。
  A、字符型数组中可能存放字符串。
  B、可以对字符型数组进行整体输入、输出。
  C、可以对整型数组进行整体输入、输出。
  D、 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。
  5、若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为( )。
  A. p+1
  B. a+1
  C. a++
  D. ++p
  6、设有如下定义: int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是( )。
  A. 1
  B. 0
  C. 4
  D. 3
  7、定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的输出结果是( )
  A. 1 5 9
  B. 1 4 7
  C. 3 5 7
  D. 3 6 9
  8、读出以下语句的输出结果是( )。
  int x=10,y=10;
  printf(“%d %d\n”,x--,--y);
  A. 10 10
  B. 9 9
  C. 9 10
  D. 10 9
  9、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是( )。
  if(x++>5) printf("%d",x);
  else printf("%d\n",x - -);
  A. 7和5
  B. 6和3
  C. 7和4
  D. 6和4
  10、设有如下定义:char *aa[2]={"abcd","ABCD"};则以下说法中正确的是( )。
  A)aa数组成元素的值分别是"abcd"和ABCD"
  B)aa是指针变量,它指向含有两个数组元素的字符型一维数组
  C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的`首地址
  D)aa数组的两个元素中各自存放了字符’a’和’A’的地址
  11、以下语句的输出结果是( )。
  int a=-1,b=4,k;
  k=(+ +a<0)&&!(b - -<=0);
  printf("%d,%d,%d\n",k,a,b);
  A. 1,0,4
  B. 1,0,3
  C. 0,0,3
  D. 0,0,4
  12、下列程序的输出结果是( )。
  char *p1="abcd", *p2="ABCD", str[50]="xyz";
  strcpy(str+2,strcat(p1+2,p2+1));
  printf("%s",str);
  A. xyabcAB
  B. abcABz
  C. ABabcz
  D. xycdBCD
  13、执行下面的程序后,a的值是( )。
  #define SQR(X) X*X
  main( )
  { int a=10,k=2,m=1;
  a/=SQR(k+m)/SQR(k+m);
  printf("%d\n",a); }
  A. 10
  B. 1
  C. 9
  D. 0
  14、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( )。
  A.P+i*2
  B. P+(i-1)*2
  C. P+(i-1)
  D. P+i
  15、下列程序执行后输出的结果是( )。
  int d=1;
  fun (int p)
  { int d=5;
  d + =p + +;
  printf("%d,",d); }
  main( )
  { int a=3;
  fun(a);
  d + = a + +;
  printf("%d\n",d); }
  A. 8, 4
  B. 9, 6
  C. 9, 4
  D. 8, 5
  16、表达式:10!=9的值是( )。
  A. true
  B. 非零值
  C. 0
  D. 1
  17、若有说明: int i,j=7, *p=&i;, 则与i=j; 等价的语句是( )。
  A. i= *p;
  B. *p=*&j;
  C. i=&j;
  D. i=* *p;
  18、不能把字符串:Hello!赋给数组b的语句是( )。
  A. char b[10]={’H’,’e’,’l’,’l’,’o’,’!’};
  B. char b[10]; b="Hello!";
  C. char b[10]; strcpy(b,"Hello!");
  D.char b[10]="Hello!";
  19、在C程序中有如下语句:char *func(int x,int y); 它是( )。
  A. 对函数func的定义。
  B. 对函数func的调用。
  C.对函数func的原型说明。
  D. 不合法的。
  20、以下程序的输出结果是( )。
  char str[15]=”hello!”;
  printf(“%d\n”,strlen(str));
  A. 15
  B. 14
  C. 7
  D. 6
  参考答案:
  1、B 2、C 3、D 4、C 5、C 6、D 7、C 8、D 9、C 10、D
  11、D 12、D 13、B 14、B 15、A 16、D 17、B 18、B 19、C 20、D

9月计算机二级《C语言》上机试题及答案

  (1)一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、c、D、E依次入栈,然后再依次出栈,则元素出棱的顺序是(   )。

  A.12345ABCDE

  B.EDCBA54321

  C.ABCDEl2345

  D.54321EDCBA

阅读更多 >>>  win10的本地连接在哪里

  (2)下列叙述中正确的是(   )。

  A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

  B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

  C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

  D.循环队列中元素的个数是由队头指针和队尾指针共同决定的

  (3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是(   )。

  A.0(n)

  B.D(n2)

  C.O(1092n)

  D.0(nl092n)

  (4)下列叙述中正确的是(   )。

  A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的

  B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构

  C.顺序存储结构能存储有序表,链式存储结构不能存储有序表

  D.链式存储结构比顺序存储结构节省存储空间

  (5)数据流图中带有箭头的线段表示的是(   )。

  A.控制流

  B.事件驱动

  C.模块调用

  D.数据流

  (6)在软件开发中,需求分析阶段可以使用的工具是(   )。

  A.N—s图

  B.DFD图

  C.PAD图

  D.程序流程图

  (7)在面向对象方法中,不属于“对象”基本特点的是(   )。

  A.一致性

  B.分类性

  C.多态性

  D.标识唯一性

  (8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是(   )。

  A.一对一

  B.一对多

  C.多对一

  D.多对多

  (9)在数据管理技术发展的三个阶段中,数据共享最好的是(   )。

  A.人工管理阶段

  B.文件系统阶段

  C.数据库系统阶段

  D.三个阶段相同

  (10)有三个关系R、S和T如下:

  由关系R和S通过运算得到关系T,则所使用的运算为(   )。

  A.笛卡尔积

  B.交

  C.并

  D.自然连接

  (11)下列叙述中错误的是(   )。

  A.C程序可以由多个程序文件组成

  B.一个c语言程序只能实现一种算法

  C.c程序可以由一个或多个函数组成,

  D.一个C函数可以单独作为一个C程序文件存在(12)以下选项中,能用作数据常量的是(   )。

  A.115L

  B.0118

  C.1.5el.5

  D.0115

  (13)按照c语言规定的用户标识符命名规则,不能出现在标识符中的是(   )。

  A.大写字母

  B.下划线

  C.数字字符

  D.连接符

  (14)设变量已正确定义并赋值,以下正确的表达式是(   )。

  A.X=Y+z+5,++Y

  B.int(15.8%5)

  C.X=Y*5=X+Z

  D.X=25%5.0

  (15)设有定义:int X=2;,以下表达式中,值不为6的是(   )。

  A.2*x.x+=2

  B.x++,2*x

  C.x*=(1+x)

  D.x*!x+1

  (16)有以下程序:

  程序运行后的输出结果是(   )。

  A.2,3,3

  B.2,3,2

  C.2,3,1

  D.2,2,1

  (17)有以下程序:

  已知字母A的ASCIl码为65,程序运行后的输出结果是(   )。

  A)E.68B.

  B)D,69

  C.E,D

  D.输出无定值

  (18)若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x—y)?(x++):(y++)中的条件表达式(x—Y)等价的是(   )。

  A.(x—Y<01Ix—Y>O)

  B.(x—y<0)

  C.(x—Y>0)

  D.(x—Y==0)

  (19)有以下程序:

  程序运行后的输出结果是(   )。

  A.3

  B.2

  C.1

  D.0

  (20)若有定义:float x=1.5;int a=1,b=3,c=2;则正确的switch语句是(   )。

计算机二级考试C语言选择题(2)

  { char x=0xFFFF;printf("%d\n",x--);}

  A.-32767

  B.FFFE

  C.1

  D.32768

  22.下面的函数调用语句中func函数的实参个数是( )。

  func((f2v1,v2),(v3,v4,v5),(v6,max(v7,v8)))

  A.3

  B.4

  C.5

  D.8

  23.语句“printf("akbre"\’hi\’y\\\bou\n")”;的输出结果是( )。

  A.akbre\’hi\’y ’\\\bou

  B.a\bre\’hi\\y\bou

  C.re ’hi’you

  D.abre’hi’y\bou

  24.下面程序输出的是( )。

  main()

  { int t=l;fun(fun(t));}

  fun(int h)

  { static int a[3]={1.2.3};

  int k;

  for(k=0;k<3;k++)a[k]+=a[k]-h;

  for(k=0;k<3;k++)printf("%d",a[k]);

  printf("\n");

  return(a[h]);}

  A.1,2,3,

  1,5,9,

  B.1,3,5,

  1,3,j,

  C.1,3,5,

  0,4,8,

  D.1,3。5,

  -1,3,7,

  25.以下叙述中正确的是( )。

  A.预处理命令行必须位于C源程序的起始位置

  B.在C语言中,预处理命令行都以“#”开头

  c.每个C程序必须在开头包含预处理命令行:#include

  D.C语言的预处理不能实现宏定义和条件编译的功能

  26.为了避免在嵌套的条件语句if else中产生二义性,C语言规定,else子句总是与( )配对。

  A.缩排位置相同if

  B.其前面最近的if

  C.其后面最近的if

  D.同一行上的if

  27.设有下列程序段:

  char str[]="HelloWorld":

  char* plr;

  ptr=str:

  执行上面的程序段后,*(ptr+10)的'值为( )。

  A.’\0 ’

  B.’0’

  C.不确定的值

  D.’0’的地址

  28.有以下程序:

  void swap(char*x,char*y)

  { char t;

  t=*x;*x=*y;*y=t;

  }

  main()

  { char*s1="abe",*s2="123":

  swap(s1,s2);

  printf("%s,%s\n",s1,s2);

  }

  程序执行后的输出结果是( )。

  A.123,abe

  B.abc.123

  C.1bc,a23

  D.321,cba

  29.下列程序的运行结果是( )。

  #include

  main()

  { static char a[]="Languagef",b[]="programe":

  char*p1,*p2;int k;

  p1=a;p2=b;

  for(k=0;k<=8;k++)

  if(*(p1+k)==*(p2+k))

  printf("%c",*(p1+k)):

  }

  A.gae

  B.ang

  C.program

  D.有语法错

  30.下列程序的运行结果为( )。

  #define MAX(x,y)(x)>(y)?(x):(y)

  main()

  { int a=2,b=3,C=1,d=3,t:

  printf("%d\n",(MAX(a+h,c+d))*100):

  }

  A.500

  B.5

  C.4

  D.400

  31.设int x=7,则~x的值是(  )。

  A.-8

  B.7

  C.-1

  D.1

  32.有以下程序:

  void fun(char*a,char*b)

  {a=b; (*a)++; }

  main(  )

  {char c1=’A ’,c2=’a’,*p1,*p2;

  p1=&c1;p2=*c2;fun(p1,p2);

  printf("%C%c\n",c1,c2);

  }

  程序运行后的输出结果是(  )。

  A.Ab

  B.aa

  C.Aa

  D.Bb

  33.有以下程序:

  int fun(int n)

  {if(n==l)return l;

  else return(n+fun(n一1)):

  }

  main(  )

  {int x;

  scanf("%d",&x);x=fun(x);printf("%d\n",

  x):

  }

  执行程序时,给变量X输入10,程序的输出结果是(  )。

  A.55

  B.54

  C.65

  D.45

  34.有以下程序:

  void f(int x,int y)

  {int t;

  if(x  }

  main(  )

  {int a=4,b=3,c=5;

  f(a,b);f(a,c);f(b,c);

  printf("%d,%d,%d\n",a,b,c);

  }

  执行后输出结果是(  )。

  A.3,4,5

  B.5,3,4

  C.5,4,3

  D.4,3,5

  35.以下程序的输出结果是(  )。

  main(  )

  {char*s="12134211";

  int v[4]=(0,0,0,0),k,i;

  for(k=0;s[k];k++)

  {switch(s[k])

  {case’1’:i=0;

  case’2’:i=1;

  case’3’:i=2;

c语言计算机二级考试选择题如图?

去百度文库,查看完整内容>
内容来自用户:夜宿山寺2020年全国计算机等级考试二级c语言上机精选题库(共70套)
第1套
(填空题)给定程序中,函数fun的功能是:将行参指针所指结构体数组中的三个元素按num成员进行升序排列。请勿改动主函数main和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。#include typedef struct
{
int num;
char name[10];
} PERSON;
void fun(PERSON ___1___)
{
___2___ temp;
if (std[0].num > std[1].num)
{
temp = std[0];
std[0] = std[1];
std[1] = temp;
}
if (std[0].num > std[2].num)
{
temp = std[0];
std[0] = std[2];
std[2] = temp;
}
if (std[1].num > std[2].num)
{
temp = std[1];
std[1] = std[2];
std[2] = temp;
}
}
main()
{
PERSON std[] = {5, "Zhanghu", 2, "WangLi", 6, "LinMin"};
int i;
fun(___3___);
printf("\nThe result is :\n");
for (i=0; i<3; i++)
printf("%d,%s\n", std[i].num, std[i].name);
}
(改错题)下列给定程序中,函数fun的功能是:求k!(k〈13〉,所求阶乘的值作为函数值返回。例如:若k=10,则应输出3628800。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
long fun(int k)
{<
有40个单选题跟三道操作题,其中1-10题为二级公共基础知识,11-40题是c语言的内容,操作题包括程序填空,改错跟编程题各一题。
有40个单选题跟三道操作题,其中1-10题为二级公共基础知识,11-40题是c语言的内容,操作题包括程序填空,改错跟编程题各一题。
有40个单选题跟三道操作题,其中1-10题为二级公共基础知识,11-40题是c语言的内容,操作题包括程序填空,改错跟编程题各一题。
全国计算机二级考试试题题库(附答案)
下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题
卡相应位置上涂黑,答在试卷上不得分。
(1) 应用软件是指
A) 所有能够使用的软件 B) 能被各应用单位共同使用的某种软件
C) 所有微机上都应使用的基本软件 D) 专门为某一应用目的而编制的软件
(2) 下列述叙中错误的是
A) 计算机要经常使用不要长期闲置不用
B) 为了延长计算机的寿命,应避免频繁开关计算机
C) 在计算机附近应避免磁场干扰
D) 计算机用几小时后,应关机一会儿再用
(3) 下列字符中,ASCII码值最小的是
A) A B) a C) Z D) x
(4) 用晶体管作为电子器件制成的计算机属于
A) 第一代 B) 第二代 C) 第三代 D) 第四代
(5) 下列各不同进制的四个无符号数中,最小的数是
A) ()2 B) (37)8 C) (75)10 D) (2A)16
(6) 二进制数转换成十六进制数是
A) B) C) D)
(7) 下列各无符号十进制数中,能用八位二进制表示的是
A) 296 B) 333 C) 256 D) 199
(8) 计算机的软件系统可分类为
A) 程序与数据 B) 系统软件与应用软件
D) 操作系统与语言处理程序 D) 程序、数据与文档
(9) 486机中的CPU同时能处理的二进制位数为
A) 8 B) 16 C) 32 D) 64
(10) 在使用计算机的过程中,需要重新启动DOS,则要
A) 按Ctrl+Break键 B) 按^C键 C) 按Ctrl+Alt+Del键 D) 按^H键
(11) 现要从软盘启动DOS(软盘中已存有DOS系统),设有如下一些操作:①打开计算机
电源;②将该软盘插入A驱动器;③关好A驱动器门。则冷启动的操作顺序应为
A) ①→②→③ B) ③→②→① C) ②→①→③ D) ②→③→①
(12) 设当前盘中某一文件路径为\A\C\B\,当前目录为\A。下列命令中错误的是
A) CD.. B) RD \A\C\B
C) TYPE \A\C\B\ D) TYPE C\B\
(13) 设当前盘中的根目录下有一子目录AB,在子目录AB下有一文件。现要查看文件
的内容,应使用命令
A) TYPE \AB B) TYPE \AB\
C) TYPE \ D) DIR \AB\
(14) 自动批处理文件必须放在
A) C盘根目录中 B) A盘根目录中
C) 启动盘的任一个目录中 D) 启动盘的根目录中
(15) 设当前盘当前目录为C:\USER\XY\P,且当前盘当前目录为空,则下列命令中能正
确执行的是
A) RD C:\USER\XY\P B) RD USER\XY\P
C) MD \USER\XY\P\USER D) MD \USER\XY\P\X\Y
(16) 下列DOS命令中,合法的是
A) DISKCOMP B) TYPE >>
C) COMP A: B: D) COMP A: A:
(17) 设当前盘为C盘,所用的所有软盘已格式化,且容量相同,则下列DOS命令中错
误的是
A) DISKCOPY A: A: B) COPY A:*.* C) COPY *.* D) COPY A:*.* C:
(18) 下列DOS命令中错误的是
A) TYPE >PRN B) TYPE PRN
C) COPY *.TXT PRN D) COPY CON PRN
(19) 下列四组DOS命令中,互相等价的一组是
A) COPY A:*.* B:与DISKCOPY A: B:
B) COPY +与TYPE >>
C) COPY + 与COPY +
D) TYPE *.FOR>CON与COPY *.FOR CON
(20) 设C盘目录结构如下:
且C盘根目录下文件的内容为
CD FORTRAN
CD \TC
如果在A驱动器中插入一张根目录中只有扩展名为.C的若干文件(即A盘中无DOS系统
文件)的软盘片,则由C盘启动DOS系统后,第一次键入下列命令中,正确的是
A) COPY A:\*.C B) COPY A:\*.C TC
C) COPY A:\*.C FORTRAN D) CD USER
(21) C语言提供的合法的数据类型关键字是
A) Double B) short C) integer D) Char
(22) 在C语言中,合法的长整型常数是
A) 0L B) 4962710 C) D)
(23) 表达式:10!=9的值是
A) true B) 非零值 C) 0 D) 1
(24) 合法的C语言中,合法的长整型常数是
A) '\t' B) "A" C) 65 D) A
(25) 若有说明和语句:
int a=5;
a++;
此处表达式a++的值是
A) 7 B) 6 C) 5 D) 4
(26) 在下列选项中,不正确的赋值语句是
A) ++t; B) n1=(n2=(n3=0)); C) k=i==j; D) a=b+c=1;
(27) 若有说明:int i,j=7, *p=&i;,则与i=j;等价的语句是
A) I= *P; B) *P=*&J; C) i=&j; D) i=* *p;
(28) 不能把字符串:Hello!赋给数组b的语句是
A) char b[10]={'H','e','l','l','o','!'};
B) char b[10];b="Hello!";
C) char b[10];strcpy(b,"Hello!");
D) char b[10]="Hello!";
(29) 若有以下说明:
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};
char c='a',d,g;
则数值为4的表达式是
A)a[g-c] B)a[4] C)a['d'-'c'] D)a['d'-c]
(30) 若有以下说明:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则数值为6的表达式是
A) *p+6 B) *(p+6) C) *p+=5 D) p+5
(31) 若有以下说明:
int w[3][4]o={{0,1},{2,4},{5,8}};
int(*p)[4]=w;
则数值为4的表达式是
A) *w[1]+1 B) p++,*(p+1) C) w[2][2] D) p[1][1]
(32) 若程序中有下面的说明和定义
struct abc
{int x;char y;}
struct abc s1,s2;
则会发生的情况是
A) 编译进错 B) 程序将顺利编译`连接`执行
C) 能顺利通过编译`连接`但不能执行 D) 能顺利通过编译`但连接出错
(33) 能正确表示a≥10或a≤0的关系表达式是
A)a>=10 or a<=0 B)a>=10│a<=0
C)a>=10││a<=0 D)a>=10 ││a<=0
(34) 下面程序的输出是
main()
{ int x=3,y=6,a=0;
while(x++!=(y+=o1))
{ a+o=1;
if(y
#include
main()
{ char ss[10]="12345";
strcat(ss,"6789");
gets(ss);printf("%s\n",ss);
}
A) ABC B) ABC9 C) 123456ABC D) ABC456789
(35) 下面程序的输出是
main()
{ char *a="";
int v1=0,v2=0,v3=0,v4=0,k;
for(k=0;s[k];k++)
switch(s[k])
{ default:v4++;
case '1': v1++;
case '3': v3++;
case '2': v2++; }
printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4); }
A) v1=4,v2=2,v3=1,v4=1 B) v1=4,v2=9,v3=3,v4=1
C) v1=5,v2=8,v3=6,v4=1 D) v1=8,v2=8,v3=8,v4=8
(36) 下面程序的输出是
main()
{int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}
A)k=11,k=12,k=11 B)k=11,k=13,k=13 C)k=11,k=013,k=0xb D)k=11,k=13,k=b
(37) 若有以下程序段,w和k都是整型变量:

w=k;
LB: if(w==0) go to LE;
w--;
printf("*");
goto LB;
LE: ┆
则不能与上面程序段等价的循环语句是
A)for(w=k;w!=0;w--) printf("*"); B)for(w=k;w;--w)printf("*");
C)w=k; D)w=k;
while(w--!=0)printf("*");w++; do{ w--;printf("*");}while(w!=0);
(38) 若有说明,double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是
A)*p=&a; scanf("%lf",p); B)p=(double *)malloc(8);scanf("%f",p);
C) p=&a;scanf("%lf",a); D)p=&a; scanf("%le",p);
(39) 当执行下面程序且输入:ABC时,输出的结果是
#include
#include
main()
{ char ss[10]="12345";
gets(ss);printf("%s\n",ss); }
A) ABC B) ABC9 C) 123456ABC D) ABC456789
(40) 若有以下的说明和语句:
main()
{int t[3][2], *pt[3],k;
fpr(k=o; k<3;k++)pt[k]=t[k];
}
则以一选项中能正确表示t数组元素地址的表达式是
A) &t[3][2] B) *pt[0] C) *(pt+1) D) &pt[2]
(41) 下面程序输出数组中的最大值,由s指针指向该元素.
main()
{ int a[10]={6,7,2,9,1,10,5,8,4,3,},*p,*s;
flr(p=a, s=a; p-a<10; p++)
if(---?---)s=p;
printf("The max:%d",*s):
}
则在if语句中的判断表达式应该是
A) p>s B) *p>*s C) a[p]>a[s] D) p-a>p-s
(42) 下面程序的输出是
#include
main()
{ char*a="abcdefgh";
fun(a);puts(a); }
fun (char * s)
{ int x=0,y;char c;
for(y=strlen(s)-1;x
A)abcdefgh B)hgfdecba C)dcbahgfe D)hgfedcba
(43) 若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句
中实参的个数是
A)3 B)4 C)5 D)6
(44) 下面程序的输出是
main()
{ int t=1; fun(fun(t));}
fun(int h)
{ static int a[3]={1,2,3};
int k;
for(k=0;k<3;k++) a[k]+=a[k]-h;
for(k=1;k<3;k++) printf("%d",a[k]);
printf("\n"); return(a[h]);}
A)1,2,3, B)1,3,5, C) 1,3,5, D) 1,3,5,
1,5,9, 1,3,5, 0,4,8, -1,3,7,
(45) C语言中,函数的隐含存储类别是
A)auto B)static C)extern D)无存储类别
(46) 下面程序的输出是
int w=3;
main()
{ int w=10; printf("%d\n",fun(5)*w); }

阅读更多 >>>  微型计算机的运算器控制器及内存储器统称为

计算机二级c语言题库及答案

计算接二级c语言题库我建议大家去百度搜索:原创力文档
原创力文档大概收纳了100套计算机二级c语言试题,这100套题基本上涵盖了计算机二级c语言所有的题目和知识点。一共480多页pdf,这么多试题我们应该如何使用呢?
1,首先我们做题要有针对性地做,做的时候多加思考,为什么要操作这一步?为什么要输入这个代码?然后根据我们不明白不理解的地方对着答案多加练习。
2,然后我们要善于反思,善于总结。我们要学会归类,这一类题目怎么做?这一类题目用哪个函数?然后对于我们不理解的题目或者是错题要及时整理下来,随时翻阅查看。
3,我们一定要多加练习,熟悉各种公式,看到一个题目能马上在脑海中想到用什么公式,如何用,这就需要我们多加练习,而且要认真地练习。
4,第四点就是在考前一周左右,我们就要停止做题,开始回顾知识点,查看自己整理的错题,总结做题方法。然后要注意对于题库我们是不可能全做完的,100套题我们时间和精力是不允许的。我们要选择历年考的比较多的题目去做去练习。
总结一下:计算机二级c语言题库和答案,原创力文档整理的还算比较齐全的。

计算机二级C语言问题

19题应该是B,i++是先取i值做判断,之后执行+,所以不会是死循环;
20题答案貌似有问题;
38题是因为while(*t!=0)t++;将指针移到了最后一位,然后又接受了*s中的值;
41题 for循环里的a只被执行了一次,第二次循环时的a是全局变量a;
19题 while 语句一直成立 所以无限循环。
24题 i=3的时候 j=3 m被赋值为1 然后j=4 m被赋值为1
19题同上;
24题是B.我运行过。答案错
34题是D,fun(c+4,6);//排的是后面的6个
38题错误太多
19题:中while(i++);i++是先运算后,再自加一;++i是先自加
一,再运算!
所以,先判断while(i++)是否成立,此时i依然为0,不成
立,跳出循环,然后,i加一,所以,答案是:B。
24题:在for(i=1;i<=3;i++) for(j=3;j<=i;j++) m=m%j;的二重循环
中,当i为1,2时,j<=i不成立,所以m=m%j未执行。直到i==3
时,条件j<=i成立,执行m=m%j也就是m=55%3,所以,m==1。
选:B。
34题:首先读主函数,再读子函数!
数组名是该数组的首地址,所以c+4,是将指针移四个位
位置,此时c+4也就是c[4]的地址,换句话说,*(c+4)等于
c[4]。
fun(c+4,6):形参为c+4,也就是给自c[4]以后的元素从大
到小排序,而c[0],c[1],c[2],c[3]未被调用,没有参与排
续,所以答案为:1,2,3,4,9,8,7,6,5,0, 选D。
38题:首先读主函数,再读子函数!
while(*t!=0)t++;中*t!=0相当于*t!='\0'。这个循环的作
是将指针移到数组元素的末端,第一个'\0'处,也就是相
当于ss[3]的位置。
while((*t++=*s++)!=0);相当于库函数strcat(t,s)的作
用。(*t++=*s++)!=0相当于(*t++=*s++)!='\0',指针描述
过于抽象,我将其转化一下,意思相当于:
int i;
for(i=0;i
<strlen(aa);i++)
ss[3+i]=aa[i];

所以,运行后ss[10]为accbbxxyy,而aa未变。

选:D。

41题:首先读主函数,再读子函数!

第一次循环:k==6;

第二次循环:k==13;

最后:k+=a相当于k=k+a;k=13+1;k=14。

注意:全局变量int a=1;在子函数中被static int a=2;

屏蔽了,所以子函数中a的初始值为2,因为static 定义

静态变量,所以,循环后a又变为3。

同样,在for(i=0;i<2;i++){int a=3;k+=f(a);}中,

f(a)里的a为3。全局变量int a=1;再次被int a=3;

屏蔽。

只有最后一个k+=a;中的a为1,没有被屏蔽!

所以,选A。

45题:是动态链表,很简单的,你看一下书就行了!在结构那一

章。

选:D。

46题:结构题,简单的结构赋值运算,STU f(STU a)的作用是将

b={"Zhao",'m',85.0,90.0}的值赋给c={"Qian",'f',95.0,92.0},

所以运算结果为:Zhao,m,85,90

选:C。
</strlen(aa);i++)

网站数据信息

"计算机二级c语言题库及答案2022,9月计算机二级《C语言》上机试题及答案"浏览人数已经达到19次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:计算机二级c语言题库及答案2022,9月计算机二级《C语言》上机试题及答案的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!