无纸化第一套选择题 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)<=(i+k); B) i=a%11; C) a=a++,i++ D) i=!a; 16.有以下程序: #include <stdio.h> 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.有以下程序 <stdio.h> char a,b,c,d: scanf("c%c"&a &b)t =getchar0: d=getchar(): printf("%c%c%c%cln",a,b,c,d) 当执行程序时,按下列方式输入数据(从第1列开始,<C心代表回车,注意:回车也是一个字符) 则出结果是(D)。 18.下关于逻辑运算符两侧运算对象的叙述中正确的是(A). A)可以是任意合法的表达式 B)只能是整数0或非0整数 C)可以是结构体类型的数据 D)只能是繁藏0或1 19.有以下程序 <stdio.h> {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 <stdio.h> 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 <stdio.h> 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列开始,<CR>代表回车,注意:回车也是一个字符) 12<CR> 34<CR> 则输出结果是( D )。 A) 1234 B) 12 C) 1234 D) 123 18.下关于逻辑运算符两侧运算对象的叙述中正确的是( A )。 A) 可以是任意合法的表达式 B) 只能是整数0或非0整数 C) 可以是结构体类型的数据 D) 只能是整数0或1 19.有以下程序: #include <stdio.h> 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<4; i++,i++ ) for( k=1; k<3; k++ ); printf("*" ); 程序段的输出结果是( C )。 A) ** B) **** C) * D) ******** 22.有以下程序段: #include <stdio.h> 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 <stdio.h> 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 <stdio.h> 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 <stdio.h> #include <string.h>
#include <stdio.h> 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 <stdio.h> void fun( int a[], int n) { int i, t; for(i=0; i<n/2; i++) { t=a[i]; a[i]=a[n-1-i]; a[n-1-i]=t; } } main() { int k[10]={ 1,2,3,4,5,6,7,8,9,10},i; fun(k,5); for(i=2; i<8; i++) printf("%d",k[i]); printf("\n"); } 程序的运行结果是( A )。 A) 321678 B) 876543 C) 1098765 D) 345678 28.有以下程序: #include <stdio.h> #define N 4 void fun(int a[][N], int b[]) { int i; for (i=0; i<N; i++) b[i] = a[i][i] - a[i][N-1-i]; } main() { int x[N][N]={{1, 2, 3, 4}, {5, 6, 7, 8}, {9,10,11,12}, {13,14,15,16}}, y[N], i; fun (x, y); for (i=0; i<N; i++) printf("%d,", y[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.设有定义:char s[81]; int i=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语 句组是( C )。 A) gets(s); B) while((s[i++]=getchar())!='\n');s[i]='\0'; C) scanf("%s",s); D) do{ scanf("%c",&s[i]); }while(s[i++]!='\n'); s[i]='\0'; 30.设有定义:char p[]={'1', '2', '3'},*q=p; ,以下不能计算出一个char型数据所占字节数的表达式是( A )。 A) sizeof(p) B) sizeof(char) C) sizeof(*q) D) sizeof(p[0]) 31.有以下程序: #include <stdio.h> #include <string.h>
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 <stdio.h> main( s="012y08s34f4w2 i面s>=0&s<=9++: printR"%dn",n片 下号分 3 C7 fun(int x,int y) {static int m=0,i=2; i+=m+1: m=i十x十y: return m; (int j=1,m=1,k k=fun(i,m): printf("%d,"k); k=fun(j,m); printf("%d\n",k): 执行后的输出结果是(A A) R) c)11,11D)1l,5 34.在C语言中,只有在使用时才占用内存单元的变量,其存储类型是(C)。 A)auto和static B)extern和i ster C)auto和register D)static和register 35.下面结构体的定义语句中,错误的是(A)~ struet ord fimt i y:intstruct ord a: struet ord fint x:int y:intz struct ord a: struct ord ft int y:int4}a 36.有以下程序 int x:int y:int)a include <stdio.h> 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 <stdio.h> main() { char s[]="012xy\08s34f4w2"; int i, n=0; for ( i=0; s[i]!=0; i++ ) if(s[i] >= '0' && s[i] <= '9') n++; printf("%d\n",n); } 程序运行后的输出结果是( B )。 A) 0 B) 3 C) 7 D) 8 33.有以下程序: #include <stdio.h> 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 <stdio.h> 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 <stdio.h>必须放在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 <stdio.h> 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 <stdio.h> #include <stdlib.h> 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 <stdio.h> 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 )