”有工险昆®》文件系线阶受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有以不得字 <stdio.h> main( int x,y,z 程序运行后的输出结果是(C)· A0233B)232C)23.1D)2,21 17.有以下程序: <stdio.h> 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<0) D)(k-y==0) #include <stdio.h> 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 <stdio.h> 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 <stdio.h> 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-y<0||x-y>0) B) (x-y<0) C) (x-y>0) D) (x-y==0) 19.有以下程序: #include <stdio.h> 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.有以下程序: <stdio.h> int y=9 for(y>0:y-) ify%3==0)printf"%ad",一一y: 强座的运有结是(741D)87542 A)852 22.有以下程序: #include <stdio.h> 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 <stdio.h> 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 <stdio.h> 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 <stdio.h> main() { int i,j,m=1; for(i=1;i<3;i++) { for(j=3;j>0;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 <stdio.h> 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 <stdio.h> 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); <stdio.h> 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 <stdio.h> =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<stdio.h> 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 <stdio.h> 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 <stdio.h> main() { int a[]={2,3,5,4},i; for(i=0;i<4;i++) switch(i%2) { case 0: switch(a[i]%2) { case 0:a[i]++;break; case 1:a[i]--; } break; case 1:a[i]=0; } for(i=0;i<4;i++) printf("%d ",a[i]); printf("\n"); } 程序运行后的输出结果是( D )。 A) 0 3 0 4 B) 2 0 5 0 C) 3 3 4 4 D) 3 0 4 0 28.有以下程序: #include <stdio.h> main() { int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0; i<3; i++) for(j=i;j<=i;j++) t+=b[i][b[j][i]]; printf("%d\n",t); } 程序运行后的输出结果是( B )。 A) 3 B) 4 C) 1 D) 9 29.以下语句中存在语法错误的是( A )。 A) char ss[6][20]; ss[1]= "right?"; B) char ss()[20]={ "right?"}; C) char *ss[6]; ss[1]= "right?"; D) char *ss()={ "right?"}; 30.以下不能将s所指字符串正确复制到t所指存储空间的是( A ) A) do{*t++=*s++;}while(*s ); B) for(i=0;t[i]=s[i];i++); C) while(*t=*s){t++;s++} D) for(i=0,j=0;t[i++]=s[j++]; ); 31.有以下程序: #include <stdio.h> 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.有以下程序: <stdio.h> 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 <stdio.h> #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 <stdio.h> int fun() { static int x=1; x*=2; return x; } main() { int i, s=1; for( i=1; i<=3; i++ ) s*=fun(); printf("%d\n", s); } 程序运行后的输出结果是( B )。 A) 10 B) 30 C) 0 D) 64 34.在一个C源程序文件中所定义的全局变量,其作用域为( A )。 A) 由具体定义位置和extern说明来决定范围 B) 所在程序的全部范围 C) 所在函数的全部范围 D) 所在文件的全部范围 35.以下叙述中错误的是( A )。 A) 可以通过typedef增加新的类型 B)可以用typedef将已存在的类型用一个新的名字来代表 C) 用typedef定义新的类型名后,原有类型名仍有效 D) 用typedef可以为各种类型起别名,但不能为变量起别名 36.有以下程序: #include <stdio.h> 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 <stdio.h> #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 <stdio.h> 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 <stdio.h> 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 <stdio.h> #include <stdlib.h> 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 )