
无纸化第一套选择题 1。序国中者斗的线段老示的是(C) A)图元关系8)数据流C)控制流D)调用关系 2.结构化程序设计的基本原则不包括(A)。 A)多态性 B)自顶向下 C)模块化D)逐步求精 3.软件设计中模块划分应遵循的准则是(B)。 A)低内聚低潮合B)高内豪低潮 C)低内豪高合 D)高内聚高漏合 4在件开发中,求分析阶 生的主要文档是(B): )教件求规格说明书 C)概要设计说明书 D)集成测试计划 的运行时间是有限的B)算法程序所处理的数据量是有限的 C)算法程序的长度是有限的 D)算法只能被有限的用户使用 6.对长度为加的线性表排序,在最杯情况下,比较次数不是(a一1)2的排序方法是(D)。 A)快速排序B)冒泡排序C)直接插入排胖D)堆排序 7.下列关于栈的叙述正确的是(B A)找按先进先出”组织数据 B)栈按”先进后出”组织数据 只能在底靠 入数据 D)不能除数据 9.有三个关系R、 由关系R和S通过运算得到关系T,则所使用的运算为(D)。 BC D BCD 0kI f32 a0kl 40k1 并 自特 9 笛卡尔积 性,年,身份马课程C课号,课名选课C学号。 A)课号, B)学号,成绩 C)学号,课号D)学号,姓名,成绩 11.以下叙述中错误的是(A) )C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机馨指令文件 C)用C语言编写的程序称为源程序,它以SCⅡ代码形式存放在一个文本文件中 C语言源程序经编译后生成后为, 0的目标程序 合法 一组C言双和 是(A)· 13.以下选项中不合法的标识符是(A)。 A)&a B)FOR c)print D)00 4若有代数式+(其中仅代表自松对数的底数,不是变量,则以下能够正确表示该代式的C语直表达式是(。 n十ep月 、sqrt(fa (pow(n,X 16.若有定义 -e"x)) L- 个1 规发 的 a%11 c) 16.有以下程序: A=10:
无纸化第一套选择题 1.程序流程图中带有箭头的线段表示的是( C )。 A) 图元关系 B)数据流 C)控制流 D)调用关系 2.结构化程序设计的基本原则不包括( A )。 A)多态性 B)自顶向下 C)模块化 D)逐步求精 3.软件设计中模块划分应遵循的准则是( B )。 A) 低内聚低耦合 B)高内聚低耦合 C)低内聚高耦合 D)高内聚高耦合 4.在软件开发中,需求分析阶段产生的主要文档是( B )。 A)可行性分析报告 B)软件需求规格说明书 C)概要设计说明书 D)集成测试计划 5.算法的有穷性是指( A )。 A)算法程序的运行时间是有限的 B)算法程序所处理的数据量是有限的 C)算法程序的长度是有限的 D)算法只能被有限的用户使用 6.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( D )。 A) 快速排序 B) 冒泡排序 C) 直接插入排序 D) 堆排序 7.下列关于栈的叙述正确的是( B ) A)栈按"先进先出"组织数据 B)栈按"先进后出"组织数据 C)只能在栈底插入数据 D)不能删除数据 8.在数据库设计中,将E-R图转换成关系数据模型的过程属于( C )。 A) 需求分析阶段 B) 概念设计阶段 C) 逻辑设计阶段 D) 物理设计阶段 9.有三个关系R、S和T如下: 由关系R和S通过运算得到关系T,则所使用的运算为( D )。 A) 并 B) 自然连接 C) 笛卡尔积 D) 交 10.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号, 课号,成绩),则表SC的关键字(键或码)为( C )。 A) 课号,成绩 B) 学号,成绩 C) 学号,课号 D) 学号,姓名,成绩 11.以下叙述中错误的是( A )。 A) C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 B) C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件 C) 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中 D) C语言源程序经编译后生成后缀为.obj的目标程序 12. 以下选项中,合法的一组C语言数值常量是( A )。 A) 12. 0Xa23 4.5e0 B) 028 .5e-3 -0xf C) .177 4e1.5 0abc D) 0x8A 10,000 3.e5 13. 以下选项中不合法的标识符是( A )。 A) &a B) FOR C) print D) 00 14.若有代数式 (其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是(A)。 A) sqrt(fabs(pow(n,x)+exp(x))) B) sqrt(fabs(pow(n,x)+pow(x,e))) C) sqrt(abs(n^x+e^x)) D) sqrt(fabs(pow(x,n)+exp(x))) 15.若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是( B ) A) i=(a+k) main() { int s,t,A=10; double B=6; s=sizeof(A); t=sizeof(B);

printf"%d,%dn",s,t): 在VC6.0平台上编译运行,程序运行后的输出结果是(D)。 A)10,6B)4,4C)2,4D)4.8 17.有以下程序 char a,b,c,d: scanf("c%c"&a &b)t =getchar0: d=getchar(): printf("%c%c%c%cln",a,b,c,d) 当执行程序时,按下列方式输入数据(从第1列开始, {imta=0,b=0,c=0,d=0: ifa=1)b=1;c=2: ekse d=3: printf("%d,%d,%d,%din",a,b,c,d) 程序输出()。 A1130 B)0.0,0,3C)编译有错D)0,1,20 20.程序的运行结果是(B)。 A)a=2,b=2B)4=2,b=1C)a=1,b=1D)a=1,b=0 21.以下程序段中的变量已正确定义 i++) 来段的信出结日: A)* B》安★响 D)安★★安*★* 22.有以下程序段: #include switch(m) case 1: case 3:printf("%d n",n):break; case Z: case 4: printf("%dn",m):continue; case 0: exit(0); printf("%dn",n): 产生的随机最为和2时不做任何操作 23.有以下程序:
printf("%d,%d\n",s,t); } 在VC6.0平台上编译运行,程序运行后的输出结果是( D )。 A) 10,6 B) 4,4 C) 2,4 D) 4,8 17.有以下程序: #include main() { char a,b,c,d; scanf("%c%c",&a, &b); c=getchar(); d=getchar(); printf("%c%c%c%c\n",a,b,c,d); } 当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符) 12 34 则输出结果是( D )。 A) 1234 B) 12 C) 1234 D) 123 18.下关于逻辑运算符两侧运算对象的叙述中正确的是( A )。 A) 可以是任意合法的表达式 B) 只能是整数0或非0整数 C) 可以是结构体类型的数据 D) 只能是整数0或1 19.有以下程序: #include main() { int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; else d=3; printf("%d,%d,%d,%d\n",a,b,c,d); } 程序输出( )。 A) 1,1,2,0 B) 0,0,0,3 C) 编译有错 D) 0,1,2,0 20.程序的运行结果是( B )。 A) a=2,b=2 B) a=2,b=1 C) a=1,b=1 D) a=1,b=0 21.以下程序段中的变量已正确定义: for( i=0; i int i, n; for( i=0; i<8; i++ ) { n = rand() % 5; switch (n) { case 1: case 3: printf("%d \n", n); break; case 2: case 4: printf("%d \n", n); continue; case 0: exit(0); } printf("%d \n",n); } 以下关于程序段执行情况的叙述,正确的是( D )。 A) for循环语句固定执行8次 B) 当产生的随机数n为4时结束循环操作 C) 当产生的随机数n为1和2时不做任何操作 D) 当产生的随机数n为0时结束程序运行 23.有以下程序:

#include int f(int x): intn=1.m m=ffa:prit"%dn",m 程序运行后的输出结果是(A A》R 8)2 C4 D)1 24.以下叙述中错误的是(A), )可以给指针变量赋一个整数作为地址值 B)函数可以返回地址值 政变函数形参的值,不会改变对应实参的 当在程序的开头包含头文件sdi 25 h时,可以给指针变量赋NUL山 设已有定义1则以下对指针变印进 行定义且赋初值的语句中 26》以干组定义中错的是D “p=&:C ap=kxD】oat B)int xIl31=0 27.有以下程序: #include void fun(intal,int n) in2i++){t=a: -i-i=t:} i8:i计+)printf("%d",k: 程序的运行结果是(A): 321678 B)876543 C)1098765D)345678 28.有以下得序dn #define N 4 void fun(int all[N],int bll) {int ig fori=0iN;i计+)b=a-aN-1-i: {int xIN][N]={H1,2,3,4号,5,6,7,8,{9,10,11,12,{13,1415,16,yN,i: printf("n"): 程序运行后的输出结果是(A)。 A)-3,-1,1,3,B)-12,-3.0,0,C)0,1,2,3, D)-3,-3,-3,-3, 29.设有定义:chas到81:nti=0:,以下不能将一行不超过80个字符带有空格的字符串正确读入的语句或语 句组是(C)。 )gets(s) %s",s B)while(si+十l=getchar0)!=n':s=0' 2, p: A ) 31.有以下程序: #include #include
#include int f(int x); main() { int n=1,m; m=f(f(f(n))); printf("%d\n",m); } int f(int x) { return x*2; } 程序运行后的输出结果是( A )。 A) 8 B) 2 C) 4 D) 1 24.以下叙述中错误的是( A )。 A) 可以给指针变量赋一个整数作为地址值 B) 函数可以返回地址值 C) 改变函数形参的值,不会改变对应实参的值 D) 当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL 25.设已有定义:float x;,则以下对指针变量p进行定义且赋初值的语句中正确的是( B )。 A) int *p=(float)x; B) float *p=&x; C) float p=&x; D) float *p=1024; 26.以下数组定义中错误的是( D )。 A) int x[2][3]={1,2,3,4,5,6}; B) int x[][3]={0}; C) int x[][3]={{1,2,3},{4,5,6}}; D) int x[2][3]={{1,2},{3,4},{5,6}}; 27.有以下程序: #include void fun( int a[], int n) { int i, t; for(i=0; i #define N 4 void fun(int a[][N], int b[]) { int i; for (i=0; i #include

mainO char strl20]={"One*World","One*Dream!"),*p=strl: printf"%d,",strlen(p)) printf("%sn",p): 4 32.有以下程序: One*Dream C)9,One*World D)10,One*World #include main( s="012y08s34f4w2 i面s>=0&s typedef struct {int b,p:A; void f(A)庐注意:c是结构变量名 (int is (25 printf("%d,%dn",a.b,ap): 程序运行后的输出结果是(B)。 A)2,4 B)1.2 C)1,4D)2,3 37.以下叙述中正确的是(A): 》在C中,黄处◆行都以开头 B) 预处理命令行必须位于C源程序的起始位置 38有下年,血,多须放在程序的开头DC语直的预处建不能实现定义和条件译前能
main() { char str[][20]={"One*World","One*Dream!"},*p=str[1]; printf("%d,",strlen(p)); printf("%s\n",p); } 程序运行后的输出结果是( A )。 A) 10,One*Dream!B) 9,One*Dream C) 9,One*World D) 10,One*World 32.有以下程序: #include main() { char s[]="012xy\08s34f4w2"; int i, n=0; for ( i=0; s[i]!=0; i++ ) if(s[i] >= '0' && s[i] fun(int x, int y) { static int m=0, i=2; i+=m+1; m=i+x+y; return m; } main() { int j=1, m=1, k; k=fun(j,m); printf("%d,",k); k=fun(j,m); printf("%d\n",k); } 执行后的输出结果是( A )。 A) 5, 11 B) 5, 5 C) 11, 11 D) 11, 5 34.在C语言中,只有在使用时才占用内存单元的变量,其存储类型是( C )。 A) auto和static B) extern和register C) auto和register D) static和register 35.下面结构体的定义语句中,错误的是( A )。 A) struct ord {int x;int y;int z;} struct 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; 36.有以下程序: # include typedef struct { int b, p; } A; void f(A c) /* 注意:c是结构变量名 */ { int j; c.b += 1; c.p+=2; } main() { int i; A a={1,2}; f(a); printf("%d,%d\n", a.b, a.p); } 程序运行后的输出结果是( B )。 A) 2,4 B) 1,2 C) 1,4 D) 2,3 37.以下叙述中正确的是( A )。 A) 在C语言中,预处理命令行都以"#"开头 B) 预处理命令行必须位于C源程序的起始位置 C) #include 必须放在C程序的开头 D) C语言的预处理不能实现宏定义和条件编译的功能 38.有以下程序:

int fun(int n) imt*p p=(int)malloc(sizeof(int)) *p三ng return *p: maino {inta时 a=fun(10): printf("%din",a++fun(10)): 39.有以下程序: #include mai unsigned char a=8,er 程序运行后的输出结果是(B,), 16 B) 732 D)0 件的 调用形式为:frca 指向特读取的文件D)一个内存块的首 ,代表读入数据存放的地址 无纸化第二套选择题 个栈的初始状态为空。现将元素1、245A、BC、DE依次入栈,然后再依次出栈,则元素出栈的顺 ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA 2.下列叙述中正确 的是D 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 在循环队列中,只需要队尾指针就能反映孔列中元素的动态变化情况 D)循环队列中元素的个数是由队头指针和队尾指针共同决定 3.在长度为的有序线性表中进行二分查找,最坏情况下需要比较的次数是(C), A)O) B) C)(logan) D)0(nlog:n) 4.下列叙述中正确的是(A) 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构 顺序存储结构能存储有序表,链式存储结构不能存储有序表 链式存储结构比顺序存储结构节省存储空间 5. 据流图中 带有箭头的线段表示的是(D】 公来粉价地用的工A乃 A)N- S图B)DFD图 C)PAD D) 程序流程国 7,在面向对象方法中,不属于“对象“基本特点的是(A), 数性 B)分类性 多态性 D) 标识唯 8 间宿可住多个学生则实体宿舍和学生之间的联系是日人 对来阶段中,聚据共率泰好的
#include #include int fun(int n) { int *p; p = (int*)malloc(sizeof(int)); *p=n; return *p; } main() { int a; a = fun(10); printf("%d\n",a+fun(10)); } 程序的运行结果是( C )。 A) 0 B) 10 C) 20 D) 出错 39.有以下程序: # include main() { unsigned char a=8, c; c = a>>3; printf("%d\n", c); } 程序运行后的输出结果是( B )。 A) 16 B) 1 C) 32 D) 0 40.读取二进制文件的函数调用形式为:fread(buffer,size,count,fp);,其中buffer代表的是( D )。 A) 一个内存块的字节数 B) 一个整型变量,代表待读取的数据的字节数 C) 一个文件指针,指向待读取的文件 D) 一个内存块的首地址,代表读入数据存放的地址 无纸化第二套选择题 1.一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺 序是( B )。 A) 12345ABCDE B) EDCBA54321 C) ABCDE12345 D) 54321EDCBA 2.下列叙述中正确的是( D )。 A) 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构 B) 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 C) 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 D) 循环队列中元素的个数是由队头指针和队尾指针共同决定 3.在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( C )。 A) O(n) B) O(n 2 ) C) D) 4.下列叙述中正确的是( A )。 A) 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 B) 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构 C) 顺序存储结构能存储有序表,链式存储结构不能存储有序表 D) 链式存储结构比顺序存储结构节省存储空间 5.数据流图中带有箭头的线段表示的是( D )。 A) 控制流 B) 事件驱动 C) 模块调用 D) 数据流 6.在软件开发中,需求分析阶段可以使用的工具是( B )。 A) N-S图 B) DFD图 C) PAD图 D) 程序流程图 7.在面向对象方法中,不属于"对象"基本特点的是( A )。 A) 一致性 B) 分类性 C) 多态性 D) 标识唯一性 8.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( B )。 A) 一对一 B) 一对多 C) 多对一 D) 多对多 9.在数据管理技术发展的三个阶段中,数据共享最好的是( C )

”有工险昆®》文件系线阶受9》鑫志系统阶爱D三个阶受相同 由关系R和S通过运算得到关系T,则所使用的运算为州D)。 AB BC AB C m I 13 m13 2 35 A)笛卡尔积B)交C)并D)自然连接 11.下列叙述中错误的是(B)。 A)C程序可以由多个程序文件组成、B)一个C语言程序只能实现一种算法 C程序可以由一 个或多个西数组成D) 一个C函数可以单独作为一个C程序文件存在 12.以下选项中,能用作数据常量的是(A)· B0118 示识符命名规则,不能出现在标识符中的是(D): R) c 数字字符 D)连接符 14.设变量已正确定义并赋值,以下正确的表达式是()。 A)x=y+z+5,++y B)int15.8%5)C)x=y*5=x十zD)x=25%5.0 15.设有定义:intx=2:,以下表达式中,值不为6的是(A). 2*,x2B)x十十,2*xC)x*=(1十x) D)x*=x十1 16有以不得字 main( int x,y,z 程序运行后的输出结果是(C)· A0233B)232C)23.1D)2,21 17.有以下程序: char el,c2 cl=A+8-4: c2=A+8-: printf("%c,%d\n",cl,c2): 已知字母A的ASCI码为65,程序运行后的输出结果是(A): A)E.68B)D.69 C)E,DD)输出无定值 18若有定义tx,:并已正确给变量赋值,则以下进项中与表达式(x一y)?(《十十):心十十中的条件表达式(: 一)等价的是(A)。 0(-P0) B)(K-y main( int x=1,y=0; if()yi
A) 人工管理阶段 B) 文件系统阶段 C) 数据库系统阶段 D) 三个阶段相同 10.有三个关系R、S和T如下: 由关系R和S通过运算得到关系T,则所使用的运算为( D )。 A) 笛卡尔积 B) 交 C) 并 D) 自然连接 11.下列叙述中错误的是( B )。 A) C程序可以由多个程序文件组成 B) 一个C语言程序只能实现一种算法 C) C程序可以由一个或多个函数组成 D) 一个C函数可以单独作为一个C程序文件存在 12.以下选项中,能用作数据常量的是( A )。 A) 115L B) 0118 C) 1.5e1.5 D) o115 13.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( D )。 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 )。 A) 2*x,x+=2 B) x++,2*x C) x*=(1+x) D) x*=x+1 16.有以下程序: #include main() { int x, y, z; x=y=1; z=x++,y++,++y; printf("%d,%d,%d\n",x,y,z); } 程序运行后的输出结果是( C )。 A) 2,3,3 B) 2,3,2 C) 2,3,1 D) 2,2,1 17.有以下程序: #include main() { char c1,c2; c1='A'+'8'-'4'; c2='A'+'8'-'5'; printf( "%c,%d\n",c1,c2); } 已知字母A的ASCII码为65,程序运行后的输出结果是( A )。 A) E,68 B) D,69 C) E,D D) 输出无定值 18.若有定义int x,y; 并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++) : (y++)中的条件表达式(x -y) 等价的是( A )。 A) (x-y0) B) (x-y0) D) (x-y==0) 19.有以下程序: #include main() { int x=1, y=0; if (!x) y++; else if (x==0) if (x) y+=2; else y+=3;

printf"%dn",y): 写为 20.若有定义 =15 A) switch(a+b I case l printf"*n"): case 2+1:printf(".*"):} B)switch((int): {case 1:printf(""n"): c20 " D)) n) case 1:printf("*n") case c:printf("**n"):} 21.有以下程序: int y=9 for(y>0:y-) ify%3==0)printf"%ad",一一y: 强座的运有结是(741D)87542 A)852 22.有以下程序: #include for(j=3: >0: m*=: printf("m=%dn",m): 程序运行后的输出结果是(C): 面2 c)m=6 D)m=5 int fun(int x,int y) if(x!=y)return ((x+y)2): else return (x): {inta=4,b=5,c=6: printf("%dn",fun(2*a,fun(b,c))) B)3 c)8 D)12 int add(int a,int b)f return(a+b):) {intk,(*00,a=5,b=10:
printf("%d\n", y); } 程序运行后的输出结果是( D )。 A) 3 B) 2 C) 1 D) 0 20.若有定义:float x=1.5; int a=1,b=3,c=2; 则正确的switch语句是( A )。 A) switch(a+b) { case 1: printf("*\n"); case 2+1: printf("**\n"); } B) switch((int)x); { case 1: printf("*\n"); case 2: printf("**\n"); } C) switch(x) { case 1.0: printf("*\n"); case 2.0: printf("**\n"); } D) switch(a+b) { case 1: printf("*\n"); case c: printf("**\n"); } 21.有以下程序: #include main() { int y=9; for( ; y>0; y--) if(y%3==0) printf("%d", --y); } 程序的运行结果是( A )。 A) 852 B) 963 C) 741 D) 875421 22.有以下程序: #include main() { int i,j,m=1; for(i=1;i0;j-- ) { if(i*j>3) break; m*=i*j; } } printf("m=%d\n",m); } 程序运行后的输出结果是( C )。 A) m=4 B) m=2 C) m=6 D) m=5 23.有以下程序:( A ) #include int fun (int x, int y ) { if (x!=y) return ( (x+y) /2 ); else return ( x ); } main() { int a=4, b=5, c=6; printf( "%d\n" , fun(2*a,fun(b,c))); } A) 6 B) 3 C) 8 D) 12 24.有以下程序: #include int add( int a,int b){ return (a+b); } main() { int k, (*f)(), a=5,b=10;

f=addr 则以下函数调用语句错误的是(D), 2 k=f(a,b);B)k=add(a,b):C)k=(*1)(a,b);D)k=*f(a,b); int n,*p=NULL: "p=n printf价"Inputn:")i scanf("%d",&p); printf("outputn:")printf("%dn",p): 该程序试图通过指针p为变量读入数据并输出,但程序有多处错误,以下语句正确的是A) A)int n,"p=NULL:B)"p=&n C)scanf("%d",&p)D)printf("%din",p)t 26.下列定义数组的语句中,正确的是(A), A)#define N 10 int xIN]: B)int N=10: n 0.10] 27.有以下程序 #include =2354, {case0:switch(ali]%2) case 0::break: case 1:a[i-; for(i=0:i4:)printf("%d",aliD):printf("\n"): 28.有以下程: B)205 3344 D)3040 #include main( int b[3][3] 0,12.01,201,24,6=1 for(1 j++)t+=bb printf"%dn",) 程序运行后的输出结果是(B。 3 D9 char 20 ?" 30,以下不能将所指字符事正确复制到所指存储空闻的[A0-{ A)++:while("s): B)for(i=0:til=sil:i) C)while(*t=*s)t++;s++) D)fori=0,j=0:ti++1=s++:)片 31.有以下程序: dio.h-
f=add; . } 则以下函数调用语句错误的是( D )。 A) k=f(a,b); B) k=add(a,b); C) k=(*f)(a,b); D) k= *f(a,b); 25.有以下程序: #include main() { int n,*p=NULL; *p=&n; printf("Input n:"); scanf("%d",&p); printf("output n:"); printf("%d\n",p); } 该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是( A ) A) int n,*p=NULL; B) *p=&n ; C) scanf("%d",&p) D) printf("%d\n",p); 26.下列定义数组的语句中,正确的是( A )。 A) #define N 10 int x[N]; B) int N=10; int x[N]; C) int x[0.10]; D) int x[ ]; 27.有以下程序: #include main() { int a[]={2,3,5,4},i; for(i=0;i main() { int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0; i void swap(char *x, char *y)

{char t: =x;*x=y:y=好 char *sl="abe","s2="123" swap(s1,s2):printf("%s,%sln",s1,s2)t B) D)Ibe,a23 32.有以下函数: int fun(char *x,char y) int n=0: while(红==*y)&&xl=0)x十十;y+十;n十十;} return n x所指存储空间B)查找x和y所指字符串中是否有0 C)统计和所指字符串中最前面连续相同的字符个数 D)统计和所指字符申中相同的字符个数 33.有以下程序: static int x= x*=2: return x: int i,s=1t for(= i=3:i++) s*=funo printf("%dn",s): 程序运行后的出结果是, D)64 34.在 个C源程序文件中所定义的全 局变量,其作用城为 A)由具体定义位置和 “说明来决定范围B)所在程序的全部范围 C)所在函数的全部范围 D)所在文件的全部范围 35.以下叙述中错误的是(A). A)可以通过ypedet增加新的类型 B)可以用ypedef将已存在的类型用一个新的名字来代表 用ypedef定义新的类型名后,原有类型名仍有效 用yp 可以为各种类型起别名,但不能为变量起别名 struct S mmao printf"%din", F(p.a))t 程序运行后的输出结果是(D): B)11C)20D)21 #define PT 3.5 #define S)PT*红*红, int a=1,b=2; printf("%4.1fn",S(a+b)):)
{ char t; t=*x; *x=*y; *y=t; } main() { char *s1="abc", *s2="123"; swap(s1,s2); printf("%s,%s\n",s1,s2); } 程序执行后的输出结果是( D )。 A) 321,cba B) abc,123 C) 123,abc D) 1bc,a23 32.有以下函数: int fun(char *x, char *y) { int n=0; while ( (*x==*y) && *x!='\0' ) {x++; y++; n++;} return n ; } 函数的功能是( C )。 A) 将y所指字符串赋给x所指存储空间 B) 查找x和y所指字符串中是否有'\0' C) 统计x和y所指字符串中最前面连续相同的字符个数 D) 统计x和y所指字符串中相同的字符个数 33.有以下程序: #include int fun() { static int x=1; x*=2; return x; } main() { int i, s=1; for( i=1; i struct S { int a, b; } data[2]={10,100,20,200}; main() { struct S p=data[1]; printf("%d\n", ++(p.a) ); } 程序运行后的输出结果是( D )。 A) 10 B) 11 C) 20 D) 21 37.有以下程序: #include #define PT 3.5 ; #define S(x) PT*x*x ; main() { int a=1, b=2; printf("%4.1f\n" , S(a+b)); }

程序运行后的输出结果是(C 31.5 C卷序有无出果D)140 38.有以下程序: #include main( (u d char a printf"%n",d): 39.有以下程序: {int"a,*b,*c: a=b=c=(int*)malloc(sizeof(int)): a=1:b=2,*c=3; 3-D printf"d,%d %dn",a.") 程序运行后的输出结果是(D)。 A)1,13 B)2.2.3 C)1.2.3D)333 40.以下叙述中正确的是(A: 日器 当对文件的读写)操作完成之后,必须将它关闭,否则可能导数最据丢失 文件进作后 实释然后再打开,才能到第1个数据 必定被覆 C语言中的文件是流式文件,因此只能顺序存取籍 无纸化第三套选择题 循环队列是非线性结构 B)队列是先进后出的线性表 D) 有序线性表既可以采用顺序存储结构,也可以采用赞式存储结构 2.支持子程序调用的数据结构是(A)。 A)找 B) C)队列D)二叉树 3.某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是(C)· B)8 C)6 D)4 下列排序方法 青况下 最少的是 下面属于应用软件的是(C) A) 编译程序 B)操作系统 C)教务管系统 D)汇编程 6.下面叙述中错误的是A A)件测试的目的是发现情误并改正错误 B) 对被调试的程序进行“铺误定位”是程序调试的必要步骤 c 程序调试通常也称为Debug】 D)软件测试应严格执行测试计划,排除测试的随意性 下列叙述中正确的是(B)。 姓是指 调此结合的紧密程度 D) 内聚性是指棋块间互相连接的紧密程度 8.数据序应用系统中的核心问题是 )数据库设计B)数据库系统设计C)数据库维护D)数据库管理员培训 9.有两个关系R,S如下: 由关系R通过运算得到关系S,则所使用的运算为州B)
程序运行后的输出结果是( C )。 A) 7.5 B) 31.5 C) 程序有错无输出结果 D) 14.0 38.有以下程序: # include main() { unsigned char a=2, b=4, c=5, d; d = a | b; d &= c; printf("%d\n", d); } 程序运行后的输出结果是( B )。 A) 3 B) 4 C) 5 D) 6 39.有以下程序: #include #include main() { int *a,*b,*c; a=b=c=(int *)malloc(sizeof(int)); *a=1;*b=2,*c=3; a=b; printf("%d,%d,%d\n",*a,*b,*c); } 程序运行后的输出结果是( D )。 A) 1,1,3 B) 2,2,3 C) 1,2,3 D) 3,3,3 40.以下叙述中正确的是( A )。 A) 当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失 B) 打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖 C) 在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据 D) C语言中的文件是流式文件,因此只能顺序存取数据 无纸化第三套选择题 1.下列叙述中正确的是( D )。 A) 栈是"先进先出"的线性表 B) 队列是"先进后出"的线性表 C) 循环队列是非线性结构 D) 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构 2.支持子程序调用的数据结构是( A )。 A) 栈 B) 树 C) 队列 D) 二叉树 3.某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是( C )。 A) 10 B) 8 C) 6 D) 4 4.下列排序方法中,最坏情况下比较次数最少的是( D )。 A) 冒泡排序 B) 简单选择排序 C) 直接插入排序 D) 堆排序 5.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( C )。 A) 编译程序 B) 操作系统 C) 教务管理系统 D) 汇编程序 6.下面叙述中错误的是( A ) A) 软件测试的目的是发现错误并改正错误 B) 对被调试的程序进行"错误定位"是程序调试的必要步骤 C) 程序调试通常也称为Debug D) 软件测试应严格执行测试计划,排除测试的随意性 7.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( B )。 A) 提高耦合性降低内聚性有利于提高模块的独立性 B) 降低耦合性提高内聚性有利于提高模块的独立性 C) 耦合性是指一个模块内部各个元素间彼此结合的紧密程度 D) 内聚性是指模块间互相连接的紧密程度 8.数据库应用系统中的核心问题是( A )。 A) 数据库设计 B) 数据库系统设计 C) 数据库维护 D) 数据库管理员培训 9.有两个关系R,S如下: 由关系R通过运算得到关系S,则所使用的运算为( B )