2017年二级c语言选择题及答案试卷(1)

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

已有定义:char a[]="xyzt",b[]={'x','y','z'};,下列叙述中正确的是(  )。

  • A.数组a和b的长度相同
  • B.a数组长度小于b数组长度
  • C.a数组长度大于b数组长度
  • D.上述说法都不对
3

下面结构体的定义语句中,错误的是(  )。

  • A.struct ord{int x;int Y;int Z;};struet ord a;
  • B.struct ord{int x;int y;int Z;}struct ord a;   
  • C.struct ord{int X;int Y;int Z;}a;
  • D.struct{int X;int y;int Z;}a;
4

已知字母A的ASCII码值是65,字母a的ASCII码值是97,以下程序______。  main()  { char a='A';   int b=20;   printf("%d,%0",(a=a+a,a+b,b) ,a+'a'-'A',b);  }

  • A.表达式非法,输出零或不确定值
  • B.因输出项过多,无输出或输出不确定值
  • C.输出结果为20,141
  • D.输出结果为20,141,20
6

下述关于数据库系统的叙述中正确的是 ______。

  • A.数据库系统减少了数据冗余
  • B.数据库系统避免了一切冗余
  • C.数据库系统中数据的一致性是指数据类型一致
  • D.数据库系统比文件系统能管理更多的数据
7

下列程序的运行结果是______。

  • A.a=%2,b=%5
  • B.a=2,b=5
  • C.a=d,b=d
  • D.a=%d,b=%d main() { int a=2,c=5; pfintf("a=%d,b=%d\n”,a,c); }
8

以下选项中,值为1的表达式是______。

  • A.&nbsp;&nbsp;&nbsp;&nbsp;<img src="//img1.yqda.net/question-name/3e/a101f2fad5d4877fbae6a7becfd93b.png" width="42" height="26"/>
  • B.&nbsp;&nbsp;&nbsp;&nbsp;<img src="//img1.yqda.net/question-name/c0/f2298ac556fa7be01127f9e495e3ce.png" width="60" height="21"/>
  • C.&nbsp;&nbsp;&nbsp;&nbsp;<img src="//img1.yqda.net/question-name/f9/a68ca075766b4201d5636bc63b66bc.png" width="45" height="22"/>
  • D.&nbsp;&nbsp;&nbsp;&nbsp;<img src="//img1.yqda.net/question-name/a2/e0459adec2256cca145575ce94e3ef.png" width="52" height="22"/>
10

设有下列二叉树:

对此二叉树先序遍历的结果为

  • A.ABCDEF
  • B.BDAECF
  • C.ABDCEF
  • D.DBEFCA
11

以下对C语言函数的有关描述中,正确的是______。

  • A.调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
  • B.函数既可以嵌套定义,又可以递归调用
  • C.函数必须有返回值,否则不能使用函数
  • D.有调用关系的所有函数必须放在同一个源程序文件中
12

以下四组用户自定义标识符中,全部合法的一组是(  )。

  • A._main enclude sin
  • B.If - max turbo
  • C.txt REAL 3COM
  • D.int k_2 _001
13

下列选项中不属于结构化程序设计方法的是

  • A.自顶向下
  • B.逐步求精
  • C.模块化
  • D.可复用
14

下列叙述中正确的是______。

  • A.线性表是线性结构
  • B.栈与队列是非线性结构
  • C.线性链表是非线性结构
  • D.二叉树是线性结构
15

下列关于标识符的说法中错误的是

  • A.合法的标识符是由字母、数字和下划线组成
  • B.C语言的标识符中,大写字母和小写字母被认为是两个不同的字符
  • C.C语言的标识符可以分为三类,即关键字、预定义标识符和用户标识符
  • D.用户标识符与关键字不同时,程序在执行时将给出出错信息
17

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

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

下列正确的实型常量是(  )。

  • A.E3.4
  • B.-12345
  • C.2.2e0.8
  • D.4
22

以下选项中叙述错误的是

  • A.C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值
  • B.在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内
  • C.C程序函数中定义的自动变量,系统不自动赋确定的初值
  • D.C程序函数的形参不可以说明为static型变量
25

下列4条叙述中,正确的一条是______。

  • A.计算机语言中,只有机器语言属于低级语言
  • B.高级语言源程序可以被计算机直接执行
  • C.C语言属于高级语言
  • D.机器语言是与所用机器无关的
26

若a是float型变量,b是unsigned型变量,以下输入语句合法的是 ( )

  • A.scanf("%6.2f%d", &a,&b);
  • B.scanf("%f%n",&a,&b);
  • C.scanf("%f%30",&a,&b);
  • D.scanf ("%f%d",&a,&b);
28

以下选项中非法的表达式是

  • A.0<=x<100
  • B.i=i==0
  • C.(char)(65+3)
  • D.x+1=x+1
29

下列程序段中,不能正确赋值的是(  )。

  • A.char*p,ch; p=&ch; scanf ("%c",&p);
  • B.char*p; p=(char*)malloc(1); scabf("%c",p);
  • C.char*p; *p=getchar();
  • D.char*p,ch; p=&ch; *p=getchar();
30

在以下语句中存在语法错误的是______。

  • A.char ss[6][20]; ss[1]="right?";
  • B.char ss[][20]={"fight?"};
  • C.char *ss[6]; ss[1]="right?";
  • D.char *ss[]={"right?"};
31

已知函数的调用形式:fread(buf,size,count,fp),参数buf的含义是

  • A.一个整型变量,代表要读入的数据项总数
  • B.一个文件指针,指向要读的文件
  • C.一个指针,指向要读入数据的存放地址
  • D.一个存储区,存放要读的数据项
33

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

main() { int k=17; printf("%d,%o,%x\n",k,k,k): }

  • A.17,021,0x11
  • B.17, 17, 17
  • C.17,0x11,021
  • D.17,21, 11
34

以下叙述正确的是(  )。

  • A.只能在循环体内和switch语句体内使用break语句
  • B.contiune语句的作用是结束整个循环的执行
  • C.在循环体内使用break语句或continue语句的作用相同
  • D.从多层循环嵌套中退出时,只能使用goto语句
38

已知函数ffead的调用形式为fread(buffer,size,count,fp);,其中buffer代表的是(  )。

  • A.存放读入数据项的存储区
  • B.一个指向所读文件的文件指针
  • C.一个指针,是指向输入数据存放在内存中的起始地址
  • D.一个整型变量,代表要读入的数据项总数
39

已定义以下函数:  fun(char*p2,char*p1)  { while((*p2=*p1)!='\0'){p1++;p2++}}  函数的功能是 ______。

  • A.将p1所指字符串复制到p2所指内存空间
  • B.将p1所指字符串的地址赋给指针p2
  • C.对p1和p2两个指针所指字符串进行比较
  • D.检查p1和p2两个指针所指字符串中是否有'\0'