二级C语言笔试338
(总分100, 做题时间90分钟)
一、选择题
   下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
1. 
下列程序执行后输出的结果是 ______。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,12
B 9,13
C 8,4
D 9,5
2. 
下述函数功能是 ______。int funr(char*x){  char*y=x;    while(*y++);    return y-x-1;}
A 求字符串的长度
B 求字符串存放的位置
C 比较两个字符串的大小
D 将字符串x连接字符串y后面
3. 
下列程序的输出结果是 ______。main()    {int i=3;      switch(i)      { case 1:      casc 2: printf(("%d",i);      case 3:      case 4: break;      defanlt:printf("OK");      }    }
A 0
B 3
C OK
D 没有任何输出
4. 
模块本身的内聚是模块独立性的重要性度量因素之一。在7类内聚中,具有最强内聚的—类是______。
A 顺序性内聚
B 过程性内聚
C 逻辑性内聚
D 功能性内聚
5. 
在软件开发过程中,软件结构设计是描述 ______。
A 数据存储结构
B 软件体系结构
C 软件结构测试
D 软件控制过程
6. 
排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的力法,称为 ______。
A 希尔排序
B 冒泡排序
C 插入排序
D 选择排序
7. 
若进栈序列为1,2,3,4,进栈过程中可以出栈,则下列不可能的一个出栈序列是 ______。
A 1,4,3,2
B 2,3,4,1
C 3,1,4,2
D 3,4,2,1
8. 
下面是对宏定义的描述,不正确的是 ______。
A 宏不存在类型问题,宏名无类型,它的参数也无类型
B 宏替换不占用运行时间
C 宏替换时先求出实参表达式的值,然后代入形参运算求值
D 宏替换只不过是字符替代而已
9. 
以下程序(程序左边的数字为附加的行号)______。1#include<str.h>2#include<stdio.h>3main()4{  char s[]="string";5puts(s);6strcpy(s,"hello");7printf("%3s\n"s);}
A 没有错
B 第1行有错
C 第6行有错
D 第7行有错
10. 
已知下面的程序段,正确的判断是 ______。#define A 3#define B(A) ((A+1)*A) ……int a=3;
X=3*(A+B(7));
A 程序错误,不允许嵌套定义
B X=93
C X=81
D 程序错误,宏定义不允许有参数
11. 
在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查关键码值11,所需的关键码比铰次数为 ______。
A 2
B 3
C 4
D 5
12. 
是构成C语言程序的基本单位。
怎么用printf输出bool函数值
A 函数
B 过程
C 子程序
D 子例程
13. 
已知字母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
14. 
数据的完整性是指数据的正确性、有效性和 ______。
A 可维护性
B 独立性
C 安全性
D 相容性
15. 
数据存储和数据流都是 ______,仅仅是所处的状态不同。
A 分析结果
B 事件
C 动作
D 数据
16. 
下列程序的执行结果是 ______。#include<stdio.h>union un{  int i;    char c[2];};void main(){  union un x;    x.c[0]=10;    x.c[1]==1;    printf("\n%d",x.i);}
A 266
B 11
C 265
D 138
17. 
关系代数运算是以 ______为基础的运算。
A 关系运算
B 谓词运算
C 集合运算
D 代数运算
18. 
能将高级语言程序转换成目标语言程序的是 ______。
A 调试程序
B 解释程序
C 编译程序
D 编辑程序
19. 
出下列程序执行后的输出结果是 ______。mare(){int m[][3]={1,4,7,2,5,8,3,6,9};    int i,k=2;    for(i]0;i<3;i++)    {printf(("%d",m[k][i]);}}
A 456
B 258
C 369
D 789
20. 
设有以下语句:    char str1 []="string"mstr2 [8],*str3,*str4=="string";    则 ______不是对库函数的正确调用。
A strcpy(str1,"HELLO1");
B strcpy(str2,"HELLO2");
C strcpy(str3,"HELLO3");
D strcpy(str 4,"HELLO4");
21. 
若有以下结构体定义,则是正确的引用或定义。struct example{  int x;    int y;}v1;
A examplx=10
B examplev2.x=10
C struct v2;v2.x=10
D struct example v2={10};
22.