2017年计算机二级c语言题库及答案(1)

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
4

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

  • A.switch(x)
  • B.switch((int)x); {case 1.0:printf("*\n"); {case 1:printf("*\n"); case 2.0:printf("**\n");} case 2:printf("**\n");}
  • C.switch(a+B)
  • D.switch(a+B){case 1;printf("*\n"); {case 1:printf("*\n"); case 2+1:printf("**\n");} case c:printf("**\n");)
8

设有以下说明语句 struct num { int a; float b; }numl;则下面的叙述不正确的是______。

  • A.struct是结构体类型的关键字
  • B.struct num是用户定义的结构体类型
  • C.numl是用户定义的结构体类型名
  • D.a和b都是结构体成员名
10

下列不属于软件调试技术的是______。

  • A.强行排错法
  • B.集成测试法
  • C.回溯法
  • D.原因排除法
14

以下说法不正确的是

  • A.C程序中必须有一个main()函数,C程序是从main()函数的第1条语句开始执行的。
  • B.非主函数都是在执行主函数时,通过函数调用或嵌套调用而得以执行的。
  • C.C程序中的main()函数必须放在程序的开始位置。
  • D.C程序中的main()函数位置可以任意指定。
16

有以下程序段  char ch;int k;  ch='a';k=12;  printf("%c,%d,",ch,ch,k);  printf("k=%d\n",k);  已知字符a的ASCII十进制代码为97,则执行上述程序段后输出结果是(  )。

  • A.因变量类型与格式描述符的类型不匹配输出无定值
  • B.输出项与格式描述符个数不符,输出为零值或不定值
  • C.a,97,12k=12
  • D.a,97,k=12
19

当调用函数时,实参是一个数组名,则向函数传送的是______。

  • A.数组的长度
  • B.数组的首地址
  • C.数组每一个元素的地址
  • D.数组每个元素中的值
20

以下叙述中正确的是

  • A.语句int a[8]={0};是合法的
  • B.语句inta[]={0};是不合法的,遗漏了数组的大小
  • C.语句char a[2]={ "A","BII};是合法的,定义了一个包含两个字符的数组
  • D.语句char a[3];a="AB";是合法的,因为数组有三个字符空间的容量,可以保存两个字符
21

关系R和关系S的并运算是______。

  • A.由关系R和关系S的所有元组合并组成的集合,再删去重复的元组
  • B.由属于R而不属于S的所有元组组成的集合
  • C.由既属于R又属于S的元组组成的集合
  • D.由R和S的元组连接组成的集合
22

若有说明语句:double*p,a;则通过scanf语句正确给输入项读人数据的程序段是(   )。

  • A.*p=&a;scanf("%1f”,p);
  • B.*p=&a;scanf("%f",p);
  • C.p=&a;scanf("%",*p);
  • D.p=&a;scanf("%1f",p);
24

若有以下定义:float x;int a,b,c=2;,则正确的switch语句是(  )

  • A.switch(x) { case 1.0:printf("*\n"); case 2.0:printf("**\n"); }
  • B.switch(int(x)) { case 1:printf("*\n"); case 2:printf("**\n"); }
  • C.switch(a+b) { case 1:printf("*\n"); case 1+2:printf("**\n"); }
  • D.switch(a+B){ case 1:printf("*\n"); case c:printf("**\n"); }
29

以下程序的输出结果是______。

  • A.54321
  • B.12345
  • C.1 2 3 4 5
  • D.5 4 3 2 1 0 main() { int w=5;fun(w);printf("\n");} fun (int k) { if(k>0) fun(k-1); printf("%d"",k);}
30

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

  • A.一个逻辑数据结构只能有一种存储结构
  • B.逻辑结构属于线性结构,存储结构属于非线性结构
  • C.一个逻辑数据结构可以有多种存储结构,且各种存诸结构不影响数据处理的效率
  • D.一个逻辑数据结构可以有多种存储结构,且各种存诸结构影响数据处理的效率
31

相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和

  • A.可重用性差
  • B.安全性差
  • C.非持久性
  • D.冗余性
33

有以下函数  char *fun(char*p)  { return p; }  该函数的返回值是_____。

  • A.无确切的值
  • B.形参p中存放的地址值
  • C.一个临时存储单元的地址
  • D.形参p自身的地址值
34

用树形结构来表示实体之间联系的模型称为

  • A.关系模型
  • B.层次模型
  • C.网状模型
  • D.数据模型
37

下列选项中非法的字符常量是(  )。

  • A.'\t'
  • B.'\039'
  • C.','
  • D.'\n'
39

在一个 C 语言源程序文件中所定义的全局变量,其作用域为:

  • A. 所在文件的全部范围
  • B. 所在程序的全部范围
  • C. 所在函数的全部范围
  • D. 由具体定义位置和 extern 说明来决定范围
40

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

  • A.线性表是由n个元素组成的一个有限序列
  • B.线性表是一种线性结构
  • C.线性表的所有结点有且仅有一个前件和后件
  • D.线性表可以是空表
41

有以下程序#include<stdio. h>main(){  char c1='1',c2='2';  c1=getchar();  c2=getchar();  putchar(c1);  putchar(c2);}  当运行时输入:a<回车> 后,以下叙述正确的是

  • A.变量c1被赋予字符a,c2被赋予回车符
  • B.程序将等待用户输入第2个字符
  • C.变量c1被赋予字符a,c2中仍是原有字符2
  • D.变量c1被赋予字符a,c2中将无确定值
42

栈通常采用的两种存储结构是()

  • A.顺序存储结构和链式存储结构  
  • B.散列方式和索引方式
  • C.链表存储结构和数组
  • D.线性存储结构和非线性存储结构