版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、WORD格式软件开发考试试卷(机密)专业资料整理考试声明本人已经认真阅读考试注意事项, 承诺遵守考试纪律, 自己不作弊、不协助他人作弊;考试后不向其他人泄漏考题内容,维护考试的机密性。特此声明。考生签名:年月日答 题 纸考生信息姓名性别学历考试专业单位身份证号码一、单选题123456789101112131415161718192021222324252627282930二、多选题12345678910三、改错题.5.四编程题注:选择题请将答案填写在答题纸上,填写在其它位置无效。软件开发考核试卷考试说明:1、 本次考试类型为笔试,请考生用蓝色圆珠笔或钢笔答题,不得用铅笔,用铅笔者
2、本试卷作废;2、 本次考试时间为60 分钟,共计100 分;3、 试卷表面必须保持清洁,不得在试卷上作记号,一经发现取消该考生卷面成绩;4、 请将答案写在答题纸上,填写在其他位置无效。一 . 单项选择题(每题2 分,共计 60 分)1. 软件工程研究的内容包括: ()技术和软件工程管理: D A. 软件测试 B. 数据分析 C.动态测试 D.软件开发2. 在 C 语言中(以 16 位 PC机为例),一个 float 型数据在内存中所占的字节数为 4;一个double 型数据在内存中所占的字节数为:CA.32B.6C.8D.163. 下列描述正确的是: AA. C语言程序中各函数之间既允许直接递
3、归调用也允许间接递归调用B. C语言程序中不允许直接递归调用也不允许间接递归调用C. C 语言程序中允许直接递归调用不允许间接递归调用D. C 语言程序中不允许直接递归调用允许间接递归调用4. 下面关于完全二叉树的叙述中,错误的是 :B A. 除了最后一层外,每一层上的结点数均达到最大值B. 可能缺少若干个左右叶子结点C. 完全二叉树一般不是满二叉树D. 具有结点的完全二叉树的深度为 log2n+15. 在软件生命周期中,能准确完成程序的编码的阶段是:CA. 概要设计 B. 详细设计 C. 软件实现 D. 需求分析6. 下面程序的输出结果是: B #include <stdio.h>
4、;sub(x,y,z)int x,y,*z; *z=y x; main( )int a,b,c; sub(10,5,&a);sub(7,a,&b);sub(a,b,&c); printf("%d,%d,%dn",a,b,c);A.5,2,3 B.5,12,7 C. 5,12, 17 D.5,2,77. 程序流程图( PFD)中的箭头代表的是 :B A. 数据流 B. 控制流 C. 调用关系 D. 组成关系8. 下 面程序的输出是 :Cmain ( ) enum em em1=3,em2=1,em3; char * aa ="AA"
5、,"BB","CC","DD" printf("%s%s%sn",aaem1,aaem2,aaem3);A.DCBBCD B.BBDDCC C.DDBBCC D.DBDBCC9. 符合 C 语言语法的赋值语句的是: D A.a=7+b+c=a+7 B.a=a+7 C.a=7+b,b+,a+7; D.a=7+b,c=a+7;10. 若运行时给变量x 输入 12 ,则以下程序的运行结果是:Bmain( )int x,y;scanf( “%d”,&x);y=x>12?x+10:x 12;printf(“%d
6、 n”,y);A.2 B.0C.8D.1011. 在 C 语言中,要求运算数必须是整型的运算符是 :A A.% B./ C.< D.!12. 以下程序语句中y=1;if (x!=0)if(x>0) y=1; else y=0;所表示的数学函数关系是:C 1 (x<0) 1 (x<0) A. y= 0 (x=0)B. y= 1 (x=0) 1 (x>0) 0 (x>0)0 (x<0)1 (x<0)C. y= 1 (x=0)D. y= 1 (x=0)1 (x>0) 0 (x>0)13. 若有以下函数定义: Cmyfun(double a,
7、 int n) 则 myfun 函数值的类型是A. voidB. doubleC. intD. char14. 软件需求分析应确定用户对软件的 :DA. 功能需求 B. 非功能需求 C. 性能需求 D. 功能需求和非功能需求15. C 语言中 main 函数参数的非法表示形式是 :DA.main(char *argv ,int argc)B.main(int a,char*b)C.main(int y,char *x )D.main(int argv,char *argc )16. 以下的 for 循环 :Cfor(x=0,y=0;(y!=123)&&(x<4);x+)A
8、. 是无限循环B. 循环次数不定C. 执行 4次D. 执行 3次17. C 语言规定 , 函数返回值的类型由 :AA. 在定义时所指定的函数类型所决定B. 调用该函数时的主调函数类型所决定C.return语句中的表达式类型所决定D. 调用该函数时系统临时决定18. 下面描述中,不符合结构化程序设计风格的是 :CA. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B. 自顶向下C. 注重提高程序的执行效率D. 限制使用 goto 语句19. 以下程序中main( ) int x=3,y=0,z=0; if(x=y+z)printf("* * * *"); el
9、se printf("#");DA. 有语法错误不能通过编译B.输出* * * *C. 可以通过编译 ,但是不能通过连接 ,因而不能运行D. 输出 #20. 执行下面程序片段的结果是 :B int x=123;do printf("= n",x-); while(!x);A. 打印出 321 B. 打印出 123C. 不打印任何内容D. 陷入死循环21. 下述对 C语言字符数组的描述中错误的是 :C A. 字符数组可以存放字符串B. 字符数组中的字符串可以整体输入、输出C. 可以在赋值语句中通过赋值运算符“ =”对字符数组整体赋值D. 不可以用关系运算符
10、对字符数组中的字符串进行比较22. 已知二叉树后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是 :DA.acbedB.decabC.deabcD.cedba23. C 语言提供的合法的数据类型关键字是 :BA.Double B.float C.integer D.Char24. 以下程序的输出结果正确的是:B#include <stdio.h>sub(int *s,int y) static int t=3;y=st;t ;main( ) int a =1,2,3,4,i, x=0; for(i=0;i<4;i+) sub(a,x);printf(&
11、quot;%d",x); printf("n");A.1234 B.0000 C.4321 D.444425. C 程序中的语句: char *func(int x, int y);它是 :CA. 对函数 func 的定义B. 对函数 func 的调用C对函数 func 的原型说明D. 不合法的26. 下列程序的运行结果是: A main( ) union EXAMPLE struct int x; int y; in; int a;int b;e;e.a=1;e.b=2;e.in.x=e.a*e.b;e.in.y=e.a+e.b;printf("%d,
12、%dn",e.in.x,e.in.y);A. 4,8 B.2 ,6C.8,16D.12 ,1627. 下列选项中可用于 C语言用户标识符的是 :B A.voiddefinewordB.a3_b3_123Car C.For-abcIFCase D.2aDOsizeof28. 对下述程序,描述正确的是 :Amain () int a, b; scanf("%d,%d",&a,&b); if(a>b)a=b;b=a;else a+;b+; printf("%d,%d",a,b);A. 有语法错误不能通过编译B. 若输入 4,5
13、则输出 5,6C. 若输入 5,4 则输出 4,5D. 若输入 5,4 则输出 5,529. 下面程序的输出是 :B main( )int arr10,i,k=0; for(i=0;i<10;i+) arri=i; for(i=1;i<4;i+) k+=arri+i; printf("%dn",k);A.8 B.6 C.4D.1230. 若有以下定义,则不移动指针 p,且通过指针 p 引用值为 98 的数组元素的表达式是 :BDint w10 = 23,54,10,33,47,98,72,80,61,*p = w; A.(p+5)* B.*(p+5) C. p%
14、5 D.p5%二 . 多项选择题 ( 每题 2 分, 共计 20 分) 1. 下列有关函数的说法中正确的是 :ABCA. C 语言中的函数只具有static和 extern 两种类型B. C 语言中允许函数的递归调用C. 调用函数时 ,C 语言要求实参与形参的个数 , 类型完全一致D. C 语言函数的缺省数据类型是空类型 (void 型)2. 下面的变量说明中 () 是错误的 :ABDA.char : a, b, c;B.char a; b; c;C.char a, b, c;D.char a, b, c3. 假如有以下调用语句,则正确的 fun 函数的首部是 :ABC main() int
15、a50 ,n;fun ( n, &a 9);A.void fun(int m, int x)B.void fun(int s, int h41)C.void fun(int p, int *s)D.void fun(int n, int a)4. 下列常量中哪些是合法的 :BCD A2e32.6B. 0.2e-5C. “basic ”D. 0x4b005. 关于 if 后一对圆括号中的表达式,以下叙述中错误的是 :ABC A. 只能用逻辑表达式B. 只能用关系表达式C. 既可用逻辑表达式也可用关系表达式D. 可用任意表达式6. 下列叙述中错误的是 :BCDA. 线性表是线性结构B. 栈
16、与队列是非线性结构C. 线性链表是非线性结构D. 二叉树是线性结构7. 若有以下程序#includevoid f( int n);main() void f (int n ); f (5);void f( int n) printf("%dn",n ); 则以下叙述中正确的是 :ABDA. 若只在主函数中对函数f 进行说明,则只能在主函数中正确调用函数fB. 若在主函数前对函数f 进行说明,则在主函数和其后的其他函数中都可以正确调用函数 fC. 对于以上程序,编译时系统会提示出错信息:提示对f 函数重复说明D. 函数 f 无返回值,所以可用void 将其类型定义为无返回值型
17、8. 根据 C语言的语法规则,下列 () 是合法标识符 :BCD A.do B. Name C. R5 D. _exam9. 下列关于复合语句和空语句的说法正确的是: ABD A. 复合语句是由“ ”开头,由“ ”结尾的B. 复合语句在语法上视为一条语句C. 复合语句内,可以有执行语句,不可以有定义语句部分D.C 程序中的所有语句都必须由一个分号作为结束10. 下列说法中错误的是 :ACDA. 全局变量的作用域一定比局部变量的作用域大B. 静态 (static) 类型变量的生存期贯穿于整个程序的运行期间C. 函数的形参都属于全局变量D. 未在定义语句中赋初值的 auto 变量和 static
18、变量的初值都是随机值三.改错题 ( 每题 2分,共计 10 分)将下列程序中不正确的语句改正。1. main( ) int k ; k=35555 ;printf (“ %d “, k) ; 答案 :long int k ; printf (“%ld“, k) ;2. main() int n ; float s=1.0; for(n=10;n>1;n- -) s=s+1/n;printf( “%6.1f n”,s); 答案 :s=s+1.0/n3. main( ) int sum , k ; sum=0 ;k= 1 ;while (k < =100 ) sum = sum+k ;
19、 k + + ;p rintf ( “ sum=%dn” , sum) ; 答案 :while (k < =100 ) sum = sum+k ; k + + ; 4. main( ) int k , a( 8 ) ;for( k=0; k<10 ; k+)scanf( “ %d”, &a(k);. 答案 :int k , a8 ;scanf( “ %d”, &ak);5. main( ) int a;scanf( “%d”, a);if (a = 1) printf(“One n”) ; 答案 :printf("%d,",&a); if
20、 (a=1)四. 编程题 ( 共计 10 分)编写一个函数 int fun(int *s, int t,int *k),用来求出数组的最小元素在数组中的下标并存放在k 所指的存储单元中。如,输入如下整数:234 345753 134 436 458 100 321 135 760则输出结果为 6,100。注:部分源程序给出如下。请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入所编写的若干语句。试题程序:#include <conio.h>#include <stdio.h>int fun(int *s,int t,int *k)main()
21、 int a10=234,345,753,134,436,458,100,321,135,760,k; clrscr();fun(a, 10, &k);printf("%d, %dn ", k, ak);答案int fun(int *s,int t,int *k) int i;*k=0; /*k所指的数是数组的下标值*/for(i=0;i<t;i+)if(s*k>si)*k=i; /*找到数组的最小元素,把该元素的下标赋给k 所指的数 */return s*k; /*返回数组的最小元素 */模拟题 :一.单项选择题 (每题 2分,共计 60 分)1. 根
22、据 C 语言的语法规则,下列()个是不合法标识符: A A.WhileB. Name C. Rern5D. _exam2. 属于 C 语言的数据类型是 :CA. 复数型 B. 逻辑型 C. 双精度型 D. 集合型3. 假设变量 a,i 已正确定义 , 且 i 已正确赋值,合法的语句是 :B A.a=1B.+i ;C.a=a+=5;D.a=int (i );4. 设有以下定义和语句,则 *(*(p+2)+1) 的值为: D int32= 10,20,30,40,50,60,(*p)2;p=a;A.16B.32 C.64D.605. int a10=1,2,3,4,5,6,7,8,9,10,*p=
23、a;则值为 6的表达式是 :CA.*p+6 B.*(p+6) C.*p+=5 D.p+56. 有以下程序#includemain() FILE *fp; int i=20,j=30,k,n; fp=fopen ("d1.dat","w" );fprintf(fp,"%d n",i );fprintf(fp,"%d n",j);fclose ( fp );fp=fopen ("d1.dat","r");fscanf ( fp,"%d%d", &k,&
24、amp;n); printf("%d %dn",k,n );fclose ( fp );程序运行后的输出结果是:AA.20 30B.20 50C.30 50D.30 207. 以下说法中正确的是 :AA. C语言程序总是从main( )函数开始执行B. 在 C 语言程序中,要调用函数必须在main( )函数中定义C. C 语言程序总是从第一个函数开始执行D.C 语言程序中的 main( )函数必须放在程序的开始部分8. Break 语句的正确的用法是 :BA. 无论在任何情况下,都中断程序的执行,退出到系统下一层B. 在多重循环中,只能退出最靠近的那一层循环语句C. 跳出多
25、重循环D. 只能修改控制变量9. 在下列程序中,没有构成死循环的是 :D A.int i=100;while (1) i=i0+1;if (i>100 ) break;B.for (; ) ;C.int k=10000;do k+; while(k>10000);D.int s=36;while (s)-s;10. 设有定义: long x=-123456L;则以下能够正确输出变量x 值的语句是 :BA.printf(“x=%d n”,x)B.printf(“x=%ld n”,x)C.printf(“x=ln ”,x)D.printf(“x=%Dn”,x);11. C 语言中各种基
26、本数据类型的存储空间长度排列为 :C A.char long int float doubleB.double float long int char C.char int long float doubleD.floatint long char double12. 以下选项中,定义 s 为合法的结构体变量的是 :B A. typedef struct abc double a; char b10;s;B. struct double a; char b10; s;C. struct ABC double a; char b10;ABC s;D. typedef ABC double a;
27、char b10;ABC s;13. 下面程序的运行结果是 :A# include “stdio.h ”main( ) int a=8,2,9,4,1, *p; p=a;*(p+2)+=2;printf( “%d, %d ”, *p, *(p+2); A.8,11 B.9,16 C.2,11 D.8,1014. 字符串指针变量中存入的是 :A A. 字符串的首地址。B. 字符串C. 第一个字符D. 字符串变量。15. C 语言中以只读方式打开一个文件应选择 () 参数 :A A. “r ”B. “w”C.“rb ”D.“a”16. 以下能正确表示 x 在 -5 到 -1 或 5 到 1 范围
28、( 含 5 和 1) 内,值为“真”的表达式是 :AA.(x>=-5)|(x<=-1)&&(x<=5)&&(x>=1) B.!(x>=-5|x<=-1&&x<=5|x>=1) C.x<-5&&x>-1|x<1&&x>5 D.(x<-5)|(x>-1&&x<1)|(x>5)17. 设有数组定义: char array= ” China ”; 则数组所占的存贮空间为: CA.4 个字节B. 5 个字节C. 6
29、 个字节D. 7 个字节18. 已知函数的调用形式: fread (buf,size,count,fp), 参数 buf 的含义是 :CA. 一个整型变量,代表要读入的数据项总数B. 一个文件指针,指向要读的文件C. 一个指针,指向要读入数据的存放地址D. 一个存储区,存放要读的数据项19. 为了避免嵌套的条件分支语句 if else 的二义性, C 语言规定: C 程序中的 else 总是与 () 组成配对关系 :CA. 缩排位置相同的 if B. 在其之前未配对的 ifC. 在其之前未配对的最近的 if D. 同一行上的 if20. 在 C语言中, int,char和 short三种类型数
30、据在内存中所占用的字节数:DA. 由用户自己定义B. 均为 2 个字节C. 是任意的D. 由所用机器的机器字长决定21. 能正确表示a 和 b 同时为正或同时为负的逻辑表达式是:DA.a>=0|b>=0)&&(a<0 |b<0)B.(a>=0 && b>=0)&&(a<0 && b<0)C.(a+b>0) &&(a+b<=0)D. a*b>022. 假设整型变量 a,b,c的值均为 5,则表达式 a+b+c+的值为 :CA.17B.16C.15D.1
31、423. 设整型变量 a 为 5,使 b 不为 2 的表达式是 :c A. b=a/2B. b=6-(-a) C. b=a%2 D.b=a>3?2:124. 表达式“ 1?(0?3 :2) :(10?1 :0) ”的值为: BA.3 B. 2 C. 1 D. 025. 定义一个数组 a 是一个具有 3 个元素的指针数组,它的定义语句格式是 :c A. < 类型标识符 > (*a)3B. < 类型标识符 > *a2 C. < 类型标识符 > *a3 D. 以上写法都不对。26. 表达式 y=(13>12?15:6>7?8:9) 的值为 :CA
32、.9B.8C.15D. 127. 以下定义中,标识符prt int(*prt )3:DA. 定义不含法B. 是一个指针数组名,每个元素都是一个指向整数变量的指针C. 是一个指针,它指向一个具有三个元素的一维数组D. 是一个指向整型变量的指针28. 若 fp是指向某文件的指针,且已读到此文件的末尾,则函数feof(fp)的返回值是 :CA.EOF B.0 C. 非零值 D.NULL29. c 语言中 int 型数 -8 在内存中的存储形式为 :a A.1111111111111000B. 1000000000001000 C. 0000000000001000 D. 11111111111101
33、1130. 表示关系 xyz,应使用 C语言表达式: A A.(x>=y)&&(y>=z)B. (x>=y) AND (y>=z) C.(x>=y>=z)D. (x>=z)&(y>=z)二 .多项选择题 (每题 2分,共计 20 分) 1. 下面叙述错误的是 :ACDA. 函数调用不可以出现在表达式中B. 函数调用可以作为一个函数的实参C. 函数调用可以作为一个函数的形参D. 函数不可以直接调用其本身2. 假设以下说明语句struct stu int a; float b; stutype;则下面的叙述正确的是 :ABDA
34、.struct是结构体类型的关键字B.struct stu是用户定义的结构体类型C.stutype是用户定义的结构体类型名D.a 和 b 都是结构体成员名3. 下列关于字符串的说法中正确的是 :ACDA. 在 C 语言中,字符串是借助于字符型一维数组来存放的,并规定以字符 0作为字符串结束标志B. 0作为标志占用存储空间,计入串的实际长度C. 在表示字符串常量的时候不需要人为在其末尾加入 0D. 在 C 语言中,字符串常量隐含处理成以 0结尾4. 下列对数组操作正确的语句是 :abc A. int a5;B.char b =h, e, l , l , o;C. int a =2,3,4,5;D
35、. char b3 =1,2,3,4,5,6;5. 以下选项中能使指针正确指向字符串的是 :BCDA. char *ch;*ch=“hello ”B.char *ch=“hello ”C.char *ch=“hello ”;ch= “bye”D. char *ch”;ch= “hello ”6. 下列标识符正确的是 :ABDA. x1yB._123C. 2abD. _ab7.若 有 以 下 定 义 和 赋 值double*q,a=5.5;int*p,i=1;double*q,a=5.5;int *p,i=1; p=&i; q=&a;以下对赋值语句叙述正确的是:ACDA.*p=*
36、q变 i 中的值。B.p=oxffd0;将改变 p 的值 , 使 p 指向地址为 ffd0的存储单元。C.*q=*p; 等同于 a=i;D.*p=*q; 是取 q 所指变量的值放在p 所指的存储单元8. 下面的说法正确的是: BCDA. 不论在主函数还是自定义函数中,只要说明了变量,就可为其分配存贮单元。B. 在定义函数时,必须指定形参的类型。C. 形参和实参之间可以是值传递。D. 数组名可以作为参数进行传递。9. 设 A, B 均为整型变量,下列表达式中是赋值表达式的是 :ACD A. A=b+3,b+5,-bB. A=4*5 ;C. A=+A-B D.a=b=510. C 语言中下列叙述错误的是 :ABC A. 不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024人力资源服务产业园项目人力资源外包服务合同2篇
- 返租商铺担保合同范例
- 2024版农家乐租赁合同范本11篇
- 2024年事业单位聘用合同编制与事业编人员待遇保障协议2篇
- 2024事业单位合同管理制度与员工保密合同范本汇编3篇
- 2024年度高校与企事业单位联合研发实习生培养合同3篇
- 2024年度城市供水管网扩建与改造施工承包合同
- 门诊雇工合同模板
- 2024年新能源产业技术研发合作协议范本3篇
- 2024年度生态园林树木补种与养护管理合同3篇
- 内河港口行业分析
- 新公共管理理论述评
- 家政学概论理论考核试题及答案
- 内部招投标合同履约考核指标
- 自动化生产线安装与调试(岗课赛证一体化教程)课件 项目5 旋转工作单元的安装与调试
- 2024年(医学)形态学专项考试试题及答案
- 钢结构报价单清单
- 《混凝土结构设计原理》期末考试试卷
- 2023年英语四级听力真题(第一套)题目-原文与答案
- 2023年船厂租赁合同正规范本(通用版)
- 行政人资总监绩效考核表
评论
0/150
提交评论