




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2考试简介选择题分值分布:选择题选择题选择题数据结构数据结构1 12 2C语语言言公公共共知知识识程序设计程序设计1 12 2软件工程软件工程2 23 3数数 据据 库库3 34 43010第十二套第十二套4选择题1.31.(2007-4-1)1.31.(2007-4-1)下列叙述中正确的是下列叙述中正确的是A)A)算法的效率只与问题的规模有关算法的效率只与问题的规模有关, ,而与数据的而与数据的存储结构无关存储结构无关B)B)算法的时间复杂度是指执行算法所需要的计算算法的时间复杂度是指执行算法所需要的计算工作量工作量C)C)数据逻辑结构与存储结构是一一对应的数据逻辑结构与存储结构是一一对应的
2、D)D)算法时间复杂度与空间复杂度一定相关算法时间复杂度与空间复杂度一定相关解析解析:B:B算法的效率与问题的规模和数据的存储结构都有关,算法的效率与问题的规模和数据的存储结构都有关,A A错误。算法的时间复杂度,是指执行算法所需要的计算工作错误。算法的时间复杂度,是指执行算法所需要的计算工作量,量,B B正确。由于数据元素在计算机存储空间中的位置关系可正确。由于数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,因此数据的逻辑结构和存储结构不是一能与逻辑关系不同,因此数据的逻辑结构和存储结构不是一一对应的,一对应的,C C错误。算法的时间复杂度和空间复杂度没有直接错误。算法的时间复杂度和
3、空间复杂度没有直接的联系,的联系,D D错误。错误。5选择题2.32.(2010-9-12.32.(2010-9-1类似类似) )下列叙述中正确的是下列叙述中正确的是A)A)线性表的链式存储结构所需要的存储空间一般线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构要少于顺序存储结构B)B)线性表的链式存储结构与顺序存储结构所需要线性表的链式存储结构与顺序存储结构所需要的存储空间都是连续的的存储空间都是连续的C)C)线性表的链式存储结构的存储空间可以是连续线性表的链式存储结构的存储空间可以是连续的也可以是不连续的的也可以是不连续的D)D)以上说法都不对以上说法都不对解析解析:C:C线性表
4、的顺序存储结构具备如下两个基本特征:(线性表的顺序存储结构具备如下两个基本特征:(1 1)线性表中的所有元素所占的存储空间是连续的;(线性表中的所有元素所占的存储空间是连续的;(2 2)线性表)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。用一中各数据元素在存储空间中是按逻辑顺序依次存放的。用一组任意的存储单元来依次存放线性表的结点,这组存储单元组任意的存储单元来依次存放线性表的结点,这组存储单元既可以是连续的,也可以是不连续的,甚至是零散分布在内既可以是连续的,也可以是不连续的,甚至是零散分布在内存中的任意位置上的。因此存中的任意位置上的。因此C C正确正确。 6选择题3.33.3.
5、33.某二叉树共有某二叉树共有1212个结点个结点, ,其中叶子结点只有其中叶子结点只有1 1个个, ,则该二叉树的深度为则该二叉树的深度为( (根结点在第根结点在第1 1层层) )A)3 B)6 C)8 D)12A)3 B)6 C)8 D)12解析解析:D:D二叉树中,度为二叉树中,度为0 0的节点数等于度为的节点数等于度为2 2的节点数加的节点数加1 1,即,即n2=n0-1n2=n0-1,叶子节点即度为,叶子节点即度为0 0,n0=1n0=1,则,则n2=0n2=0,总节点数为,总节点数为12=n0+n1+n2=1+n1+012=n0+n1+n2=1+n1+0,则度为,则度为1 1的节点
6、数的节点数n1=11n1=11,故深度为,故深度为1212,选,选D D。 7选择题4.34.4.34.对长度为对长度为n n的线性表作快速排序的线性表作快速排序, ,在最坏情在最坏情况下比较次数为况下比较次数为A)n B)n-1 C) n(n-1) D) n(n-1)/2A)n B)n-1 C) n(n-1) D) n(n-1)/2解析解析:D:D快速排序最坏情况就是每次选的基准数都和其他快速排序最坏情况就是每次选的基准数都和其他数做过比较数做过比较,共需比较,共需比较(n-1)+(n-2)+(n-1)+(n-2)+1=n(n-+1=n(n-1)/21)/2,选,选D D。 8选择题5.35
7、.5.35.结构化程序设计中结构化程序设计中, ,下面对下面对gotogoto语句使用描语句使用描述正确的是述正确的是A)A)禁止使用禁止使用gotogoto语句语句B)B)使用使用gotogoto语句程序效率高语句程序效率高C)C)应避免滥用应避免滥用gotogoto语句语句D)D)以上说法都不对以上说法都不对解析解析:C:C结构化程序设计中,要注意尽量避免结构化程序设计中,要注意尽量避免gotogoto语句的语句的使用,故选使用,故选C C。9选择题6.36.6.36.下面不属于软件测试实施步骤是下面不属于软件测试实施步骤是A)A)集成测试集成测试B)B)回归测试回归测试 C)C)确认测试
8、确认测试 D)D)单元测试单元测试解析解析:B:B软件测试主要包括单元测试、集成测试、确认测软件测试主要包括单元测试、集成测试、确认测试和系统测试。试和系统测试。10选择题7.37.7.37.不属于软件需求分析阶段主要工作不属于软件需求分析阶段主要工作A)A)需求变更申请需求变更申请B)B)需求分析需求分析C)C)需求评审需求评审D)D)需求获取需求获取解析解析:A:A需求分析阶段的工作可概括为个方面:需求分析阶段的工作可概括为个方面:需求获取。需求获取。需求分析。需求分析。编写需求规格说明书。编写需求规格说明书。需求审评。需求审评。11选择题8.38.8.38.当对关系当对关系R R和和S
9、S进行自然连接时进行自然连接时, ,要求要求R R和和S S含含有一个或者多个共有的有一个或者多个共有的A)A)记录记录 B)B)行行C)C)属性属性 D)D)元组元组解析解析:C:C自然连接是一种特殊的等值连接,它满足下面的自然连接是一种特殊的等值连接,它满足下面的条件:条件:两关系间有公共域;两关系间有公共域;通过公共域的等通过公共域的等值进行连接,选值进行连接,选C C。 12选择题9.399.39有三个关系有三个关系R,S,R,S,和和T T如下如下: : 则由关系则由关系R R和和S S得到关系得到关系T T的操作是的操作是A)A)选择选择 B)B)差差 C)C)交交 D)D)并并R
10、STA B CA B CA B Ca 1 2d 3 2a 12b 2 1c 3 1b 21c 3 1解析解析:B :B 关系关系T T是关系是关系R R的一部分,并且是关系的一部分,并且是关系R R去去掉掉R R和和S S相同的元素,符合差操作。相同的元素,符合差操作。13选择题10.40.10.40.有表示公司和职员及工作的三张表有表示公司和职员及工作的三张表, ,职员职员可在多家公司兼职。其中公司可在多家公司兼职。其中公司C(C(公司号公司号, ,公司名公司名, ,地址地址, ,注册资本注册资本, ,法人代表法人代表, ,员工数员工数),),职员职员S(S(职员职员号号, ,姓名姓名, ,
11、性别性别, ,年龄年龄, ,学历学历),),工作工作W(W(公司号公司号, ,职员职员号号, ,工资工资),),则表则表W W的键的键( (码码) )为为A)A)公司号公司号, ,职员号职员号B)B)职员号职员号, ,工资工资C)C)职员号职员号 D)D)公司号公司号, ,职员号职员号, ,工资工资解析解析:A:A由于职员可以再多加公司兼职,表由于职员可以再多加公司兼职,表W W的键(码)的键(码)应为公司关系和职员关系的主码,即公司号和职应为公司关系和职员关系的主码,即公司号和职员号。员号。14选择题11.49.11.49.5757、关于算法,以下叙述中错误的是关于算法,以下叙述中错误的是A
12、)A)某个算法可能会没有输入某个算法可能会没有输入B)B)某个算法可能会没有输入某个算法可能会没有输入C)C)一个算法对于某个输入的循环次数是可以事先一个算法对于某个输入的循环次数是可以事先估计出来的估计出来的D)D)任何算法都能转换成计算机高级语言的程序,任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕并在有限时间内运行完毕解析解析:D:D算法的特征算法的特征: :有穷性有穷性 一个算法一个算法( (对任何合法的输入对任何合法的输入) )在执行有穷步后能在执行有穷步后能够结束够结束, ,并且在有限的时间内完成并且在有限的时间内完成 确定性确定性 算法中的每一步都有确切算法中的每
13、一步都有确切的含义的含义 可行性可行性 算法中的操作能够用已经实现的基本运算执行有限算法中的操作能够用已经实现的基本运算执行有限次来实现次来实现 输入输入: :一个算法有零个或者多个输入一个算法有零个或者多个输入, ,零个输入就是算法本零个输入就是算法本身确定了初始条件身确定了初始条件 输出输出: :一个算法有一个或者多个输出一个算法有一个或者多个输出, ,以反映出数以反映出数据加工的结果据加工的结果 所以选择所以选择D D选项选项 15选择题12.50.12.50.5858、关于、关于C C语言的变量语言的变量, ,叙述中错误的是叙述中错误的是A)A)变量所占存储单元地址可以随时改变变量所占
14、存储单元地址可以随时改变B)B)所谓变量是指在程序运行过程中其值可以被改所谓变量是指在程序运行过程中其值可以被改变的量变的量 C)C)程序中用到的所有变量都必须先定义后才能用程序中用到的所有变量都必须先定义后才能用 D)D)由三条下划线构成的符号名是合法的变量名由三条下划线构成的符号名是合法的变量名解析解析:A:A一个变量实质上是代表了内存中的某个存储单元一个变量实质上是代表了内存中的某个存储单元, ,必须先定义后使用必须先定义后使用, ,且在定义时为之分配存储单且在定义时为之分配存储单元元, ,不能随时改变不能随时改变, ,所以选择所以选择A A选项选项 16选择题13.51.13.51.关
15、于关于 do do 循环体循环体 while (while (条件表达式条件表达式););以下叙述中正确的是以下叙述中正确的是A) A) 条件表达式的执行次数总是比循环体的执行条件表达式的执行次数总是比循环体的执行次数多一次次数多一次B) B) 循环体的执行次数总是比条件表达式的执行循环体的执行次数总是比条件表达式的执行次数多一次次数多一次C) C) 条件表达式的执行次数与循环体的执行次数条件表达式的执行次数与循环体的执行次数一样一样D) D) 条件表达式的执行次数与循环体的执行次数条件表达式的执行次数与循环体的执行次数无关无关解析解析:C :C dodowhilewhile循环的执行过程是先
16、执行一遍循环体后循环的执行过程是先执行一遍循环体后再执行条件表达式判断条件再执行条件表达式判断条件, ,直到条件不成立跳出循环直到条件不成立跳出循环, ,所以所以循环体和条件表达式的执行次数是一致的循环体和条件表达式的执行次数是一致的 17选择题14.52.5914.52.59、若有以下程序若有以下程序#include #include main()main() int a=-11, b=10; int a=-11, b=10; a /= b /= -4; a /= b /= -4; printf(%d %dn, a, b); printf(%d %dn, a, b); 则程序的输出结果是则程
17、序的输出结果是A) 4 -3A) 4 -3B) -1 -2B) -1 -2C) 5 -2C) 5 -2D) 5 -3D) 5 -3解析解析:C:C先执行先执行b/=-4,b/=-4,即即b=b/-4,b=b/-4,结果为结果为-2,-2,然后执然后执行行a/=-2,a/=-2,即即a=a/-2,a=a/-2,结果为结果为5 5 所以选择所以选择C C 18选择题15.15.53.6053.60与与47.5547.55对比对比 若有以下程序若有以下程序#include #include main()main() int a=0,b=0,c=0 int a=0,b=0,c=0 c=(a+=+b,b
18、+=4);c=(a+=+b,b+=4); printf(%d,%d,%dn,a,b,c); printf(%d,%d,%dn,a,b,c); 则程序的输出结果是则程序的输出结果是A)1,5,1 B)1,5,5 C)-1,4,4 D)-1,4,-1A)1,5,1 B)1,5,5 C)-1,4,4 D)-1,4,-1解析解析:B :B 逗号运算符的结合性从左到右逗号运算符的结合性从左到右, , 因此逗号表达式将因此逗号表达式将从左到右进行计算从左到右进行计算 且逗号运算符的优先级最低且逗号运算符的优先级最低 先计算先计算a+=+b,a+=+b,结果结果a a为为1,b1,b为为1,1,然后计算然后
19、计算b+=4,bb+=4,b的值为的值为5 5 逗号表达逗号表达式的值为其中最后一个表达式的值式的值为其中最后一个表达式的值, , 所以将所以将5 5赋给变量赋给变量c,c, 即即a a为为1,b1,b为为5,c5,c为为5 5 所以选择所以选择B B 19选择题16.16.54.9354.93若有定义若有定义 int a; float b; double c;int a; float b; double c;程序运行时输入:程序运行时输入:3 4 53 4 5 能把值能把值3 3输入给变量输入给变量a a、4 4输入给变量输入给变量b b、5 5输入给输入给变量变量c c的语句是的语句是A)
20、scanf(%d%f%lf,&a,&b,&c);A)scanf(%d%f%lf,&a,&b,&c);B)scanf(%d%lf%lf,&a,&b,&c);B)scanf(%d%lf%lf,&a,&b,&c);C)scanf(%d%f%f,&a,&b,&c);C)scanf(%d%f%f,&a,&b,&c);D)scanf(%lf%lf%lf,&a,&b,&c);D)scanf(%lf%lf%lf,&a,&b,&a
21、mp;c);解析解析:A scanf():A scanf()函数的格式串中函数的格式串中, ,必须含有与输必须含有与输入项一一对应的格式转换说明符入项一一对应的格式转换说明符, ,整型数据、整型数据、floatfloat型数据、型数据、doubledouble型数据对应的格式转换说型数据对应的格式转换说明符分别为明符分别为%d%d、%f%f、%lf%lf 所以选择所以选择A A 20选择题17.#include 17.#include main()main() int a=1,b=2,c=3,d=4; int a=1,b=2,c=3,d=4; if(a=2)&(b=1) c=2; if
22、(a=2)&(b=1) c=2; if(c=3)|(d=-1) a=5; if(c=3)|(d=-1) a=5; printf(%d,%d,%d,%dn, a,b,c,d); printf(%d,%d,%d,%dn, a,b,c,d); 则程序的输出结果是则程序的输出结果是A)2,2,2,4 B)2,1,2,-1 A)2,2,2,4 B)2,1,2,-1 C)C)5,1,2,-1 D)1,2,3,45,1,2,-1 D)1,2,3,4解析解析:C :C 第第1 1个个ifif语句的判断条件中是逻辑与表达式语句的判断条件中是逻辑与表达式, ,只有运算对象均非零结只有运算对象均非零结果才为
23、真果才为真, ,执行第一个执行第一个ifif判断条件判断条件, ,均为赋值表达式均为赋值表达式, ,第第1 1个运算对象个运算对象a=2a=2非零非零, ,判断第判断第2 2个表达式个表达式b=1b=1也非零也非零, ,所以条件成立执行所以条件成立执行c=2c=2的赋值操作的赋值操作 执行第执行第2 2个个ifif判断条件中的逻辑或表达式判断条件中的逻辑或表达式, ,只要有一个对象非零结果就是真只要有一个对象非零结果就是真, ,本条件本条件中中c=3c=3运算对象为假运算对象为假, ,所以需要判断第所以需要判断第2 2个运算对象个运算对象d=-1,d=-1,结果为结果为-1-1非零非零, ,所
24、所以条件成立以条件成立, ,执行执行a=5,a=5,的操作的操作, ,所以所以a a值为值为5,b5,b值为值为1,c1,c值为值为2,d2,d值为值为-1-1 21选择题18.#include18.#includemain()main() int a=1,b=2,c=3,d=4, r=0; int a=1,b=2,c=3,d=4, r=0; if(a!=1); else r=1; if(a!=1); else r=1; if(b=2) r+=2; if(b=2) r+=2; if(c!=3); r+=3;if(c!=3); r+=3; if(d=4) r+=4; if(d=4) r+=4;
25、printf(%dn, r); printf(%dn, r); 则程序的输出结果是则程序的输出结果是A)3 B)7 C)6 D)10A)3 B)7 C)6 D)10解析解析:D:D第一个第一个ifif语句语句a!=1a!=1条件为假条件为假, ,所以执行所以执行elseelse后的语句后的语句r=1r=1 第二个第二个ifif语句语句b=2b=2条件成立条件成立, ,执行执行r+=2,rr+=2,r的值变为的值变为3,3,第三个第三个ifif语句语句c!=3c!=3条件为假条件为假, ,所以不做任何操作所以不做任何操作 执行下面的执行下面的r+=3r+=3操作操作,r,r的值变为的值变为6 6
26、 判断第四个判断第四个ifif条条件件,d=4,d=4条件成立条件成立, ,执行执行r+=4r+=4操作操作, ,结果为结果为1010 22选择题19.#include 19.#include main()main() int s=0,n; int s=0,n; for(n=0;n4;n+) for(n=0;n4;n+) switch(n) switch(n) default: s+=4; default: s+=4; case 1: s+=1; break; case 1: s+=1; break; case 2: s+=2; break; case 2: s+=2; break; case
27、 3: s+=3; case 3: s+=3; printf(%dn, s); printf(%dn, s); 则程序的输出结果是则程序的输出结果是A)10 B)11 C)13 D)15A)10 B)11 C)13 D)1523选择题1919解析解析:B :B breakbreak语句的作用是终止正在执行的语句的作用是终止正在执行的switchswitch流程流程, ,跳出跳出switchswitch结构或者强制终止当前循环结构或者强制终止当前循环, ,从当前执行的循环从当前执行的循环中跳出中跳出 题干中第一次循环题干中第一次循环n n值为值为0,0,执行执行defaultdefault语句后
28、语句后的的s+=4,ss+=4,s的值变为的值变为4,4,执行执行case1case1语句后的语句后的s+=1,ss+=1,s的值变的值变为为5,5,遇到遇到breakbreak语句跳出语句跳出switchswitch语句语句, ,进入第二次循环进入第二次循环 第二次循环时第二次循环时n n的值为的值为1,1,执行执行case1case1后的后的s+=1,ss+=1,s的值变为的值变为6,6,遇到遇到breakbreak语句跳出语句跳出switchswitch语句语句, ,进入第三次循环进入第三次循环 第三次循环时第三次循环时n n的值为的值为2,2,执行执行case2case2后的后的s+=
29、2,ss+=2,s的值变为的值变为8,8,遇到遇到breakbreak语句跳出语句跳出switchswitch语句语句, ,进入第四次循环进入第四次循环 第四次循环时第四次循环时n n的值为的值为3,3,执行执行case3case3后的后的s+=3,ss+=3,s的值变为的值变为1111 再判断循环条件为假再判断循环条件为假, ,退出循环打印退出循环打印s s的值的值1111 24选择题20.52.46.20.52.46.与与4646对比对比 若有以下程序若有以下程序#include#includemain()main() int a=-2,b=0; int a=-2,b=0; do +b ;
30、 while(a+);do +b ; while(a+); printf(%d,%dn,a,b); printf(%d,%dn,a,b); 则程序的输出结果是则程序的输出结果是A)1,3A)1,3B)0,2B)0,2C)1,2C)1,2D)2,3D)2,3解析解析:A :A 本题重点考察本题重点考察do-whiledo-while语句及语句及do-while do-while 的循环语句的循环语句保证会执行一次保证会执行一次( (表达式的真值在每次循环结束后检查表达式的真值在每次循环结束后检查),+b),+b即变量即变量b b自增自增1 1后再参与运算后再参与运算, ,而而a+a+则表示则表示
31、a a参与运算后参与运算后, ,再自再自增增1 1 所以第一次循环结束后所以第一次循环结束后,b=1,a=-1,b=1,a=-1 第二次循环后第二次循环后, ,b=2,a=0b=2,a=0 第三次循环后第三次循环后,b=3,a=1,b=3,a=1 因此因此A A选项正确选项正确 25选择题21.53.4721.53.47若有以下程序若有以下程序#include #include main()main() int a=6,b=0,c=0; int a=6,b=0,c=0; for( ;a&(b=0); ) for( ;a&(b=0); ) b+=a; a-=c+; b+=a; a
32、-=c+; printf(%d,%d,%dn,a,b,c); printf(%d,%d,%dn,a,b,c); 则程序的输出结果是则程序的输出结果是A)5,6,0A)5,6,0B)6,0,0B)6,0,0C)6,6,1C)6,6,1D)5,6,1D)5,6,1解析解析:C :C for( ;a&(b=0); )b+=a;a-=c+;for( ;a&(b=0); )b+=a;a-=c+;相当相当于于whilewhile(a&(b=0)a&(b=0)) b+=a;a-=c+; b+=a;a-=c+;。26选择题22.22.以下选项中非法的以下选项中非法的C C语言字
33、符常量是语言字符常量是A)x9dA)x9d B)9 B)9 C)x09C)x09 D)09D)09解析解析: :本题考察字符常量,字符常量是用单引号本题考察字符常量,字符常量是用单引号括起来的一个字符。例如:括起来的一个字符。例如:aa、=、+等。等。转义字符是一种特殊的字符常量。转义字符以反转义字符是一种特殊的字符常量。转义字符以反斜线斜线开头,后跟一个或几个字符。开头,后跟一个或几个字符。D D选项中选项中0909,00表示后面的字符是八进制数。又出现表示后面的字符是八进制数。又出现9 9所以是非法的,故所以是非法的,故D D选项正确。选项正确。27选择题22.54.22.54.以下选项中
34、非法的以下选项中非法的C C语言字符常量是语言字符常量是A)x9dA)x9d B)9 B)9 C)x09C)x09 D)09D)09解析解析: :本题考察字符常量,字符常量是用单引号本题考察字符常量,字符常量是用单引号括起来的一个字符。例如:括起来的一个字符。例如:aa、=、+等。等。转义字符是一种特殊的字符常量。转义字符以反转义字符是一种特殊的字符常量。转义字符以反斜线斜线开头,后跟一个或几个字符。开头,后跟一个或几个字符。D D选项中选项中0909,00表示后面的字符是八进制数。又出现表示后面的字符是八进制数。又出现9 9所以是非法的,故所以是非法的,故D D选项正确。选项正确。28选择题
35、23.49.43.23.49.43.若有以下程序若有以下程序#include #include char f(char x) return xchar f(char x) return x* *x%10+0;x%10+0;main()main() char a; int b=0; char a; int b=0; for(a=0;a5;a+=1) for(a=0;a5;a+=1) b = f(a); putchar(b); b = f(a); putchar(b); 则程序的输出结果是则程序的输出结果是A)014916 B)01234 A)014916 B)01234 C)C)01496 D)
36、0000001496 D)00000解析解析:C :C 该题目中该题目中x x* *x%10 x%10即即x x和和x x相乘后,结果再对相乘后,结果再对1010求余操作。主函数中通求余操作。主函数中通过过forfor语句使变量语句使变量a a从从0 0到到4 4进行取值;当进行取值;当a=0a=0时,调用函数时,调用函数f f后,返回值为后,返回值为0 0赋赋给给b b,并且进行字符输出;当,并且进行字符输出;当a=1a=1时,返回值为时,返回值为1 1赋给赋给b b,并且进行字符输出;,并且进行字符输出;当当a=2a=2时,返回值为时,返回值为4 4赋给赋给b b,并且进行字符输出;当,并
37、且进行字符输出;当a=3a=3时,返回值为时,返回值为9 9赋给赋给b b,并且进行字符输出;当并且进行字符输出;当a=4a=4时,返回值为时,返回值为6 6赋给赋给b b,并且进行字符输出。,并且进行字符输出。29选择题24.50.44.24.50.44.若有以下程序若有以下程序#include #include void sp(int void sp(int * *a)a) int b=2; int b=2; * *a=a=* *a a* *2; printf(%d, 2; printf(%d, * *a); a); a=&b; a=&b; * *a=a=* *a a* *
38、2; printf(%d,2; printf(%d,* *a); a); main()main() int k=3; int k=3; sp(&k); printf(%dn,k); sp(&k); printf(%dn,k); 则程序的输出结果是则程序的输出结果是A)6,12,12 B)6,4,3 C)6,4,6 D)9,4,9A)6,12,12 B)6,4,3 C)6,4,6 D)9,4,9解析解析:C :C 首先在主函数中给整型变量首先在主函数中给整型变量k k赋值为赋值为3 3,调用,调用spsp函数,将变量函数,将变量k k的地址的地址作为实参传递给形参指针变量作为实参
39、传递给形参指针变量a a;在;在spsp函数中,函数中,* *a = a = * *a a * * 2; 2;即结果为即结果为6 6,通,通过过printf()printf()函数输出。整型变量函数输出。整型变量b b的地址赋给指针变量的地址赋给指针变量a a,再执行,再执行* *a = a = * *a a * * 2;2;,即结果为,即结果为4 4,通过,通过printf()printf()函数输出。返回主函数,输出函数输出。返回主函数,输出k k的值的值6 6。30选择题25.51.45.25.51.45.若有以下程序若有以下程序#include #include int k=7,m=5
40、;int k=7,m=5;void f(int void f(int * * *s)s) int int * *t=&k;t=&k; s=&t; s=&t;* *s=&m;printf(%d,%d,%d,k,s=&m;printf(%d,%d,%d,k,* *t,t,* * *s);s);main()main() int i=3, int i=3,* *p=&i, p=&i, * * *r = &p; r = &p; f(r); printf(%d,%d,%dn,i, f(r); printf(%d,%d,%dn,
41、i,* *p,p,* * *r); r); 则程序的输出结果是则程序的输出结果是A)7,5,7,3,5,7, B)7,5,7,3,3,3,A)7,5,7,3,5,7, B)7,5,7,3,3,3,C)7,5,5,3,3,3, D)7,7,5,3,3,3,C)7,5,5,3,3,3, D)7,7,5,3,3,3,解析解析:C :C 在主函数中首先初始化整型变量在主函数中首先初始化整型变量i,i,将将i i的地址赋给指针变量的地址赋给指针变量p,p,再将指再将指针变量针变量p p的地址赋给指向指针的指针变量的地址赋给指向指针的指针变量r;r;调用调用f f函数函数, ,将变量将变量r r的值传递给
42、变的值传递给变量量s;s;由于由于k k和和m m分别赋值分别赋值7 7和和5,printf(%d,%d,%d, k, 5,printf(%d,%d,%d, k, * *t, t, * * *s);,s);,即结果为即结果为7,5,5;7,5,5;返回主函数返回主函数,printf(%d,%d,%dn, i, ,printf(%d,%d,%dn, i, * *p, p, * * *r);,r);,即结果为即结果为3,3,33,3,3 31选择题26.52.28626.52.286、若有以下程序、若有以下程序#include #include int int * *f(int f(int * *
43、s, int s, int * *t)t) int k; int k; if( if(* *ss* *t) k=t) k=* *s;s;* *s=s=* *t;t;* *t=k;t=k; return s; return s; main()main() int i=3, j=5, int i=3, j=5, * *p=&i, p=&i, * *q=&j, q=&j, * *r; r; r=f(p,q);r=f(p,q); printf(%d,%d,%d,%d,%dn,i,j, printf(%d,%d,%d,%d,%dn,i,j,* *p,p,* *q,q,*
44、*r);r); 则程序的输出结果是则程序的输出结果是A)5,3,3,5,5 B)3,5,5,3,5A)5,3,3,5,5 B)3,5,5,3,5C)3,5,3,5,5 D)5,3,5,3,5C)3,5,3,5,5 D)5,3,5,3,5解析解析:D :D 在主函数中分别给整型变量在主函数中分别给整型变量i i、j j和指针型变量和指针型变量p p、q q赋初值,并声明赋初值,并声明指针变量指针变量r r;调用;调用f f函数,并将实参变量函数,并将实参变量p p和和q q的值传递给形参变量的值传递给形参变量s s和和t t,并且,并且f f函数是指针型函数,即函数的返回值将是一个地址。在函数是
45、指针型函数,即函数的返回值将是一个地址。在f f函数中,如果条件函数中,如果条件成立,则将指针变量成立,则将指针变量s s和和t t的值互换,并且将指针的值互换,并且将指针s s的地址返回主函数。最后的地址返回主函数。最后输出输出i, j, i, j, * *p, p, * *q, q, * *r r的值,即的值,即5,3,5,3,55,3,5,3,5。因此。因此D D选项正确。选项正确。32选择题27.27.47.281-247.281-2 #include #include #define N 4#define N 4void fun( int aN, int b, int flag )v
46、oid fun( int aN, int b, int flag )int i,j;int i,j; for( i=0; iN; i+ ) for( i=0; iN; i+ ) bi = a0i; bi = a0i; for( j=1; jN; j+ ) for( j=1; jaji):(biaji):(biaji)bi=ajimain()main() int xNN=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, int xNN=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, yN,i; yN,i; fun(x,y,1);fun
47、(x,y,1); for (i=0;iN; i+) printf(%d,yi); for (i=0;iN; i+) printf(%d,yi); fun(x,y,0); fun(x,y,0); for (i=0;iN; i+) printf(%d,yi); printf(n); for (i=0;iaij):(biaij):(biaij)(biaij)作为条件表达式作为条件表达式的值,否则以的值,否则以(biaij)(biaij)作为条件表达式的值,作为条件表达式的值,funfun函数功能是给一维数组赋值。函数功能是给一维数组赋值。fun(x,y,1); fun(x,y,1); 该该函数调用后
48、,即当函数调用后,即当flagflag为真时,使一维数组获得二为真时,使一维数组获得二维数组第维数组第1 1行的数值;行的数值;fun(x,y,0); fun(x,y,0); 该函数调用后,即当该函数调用后,即当flagflag为假时,使为假时,使一维数组获得二维数组第一维数组获得二维数组第4 4行的数值;因此行的数值;因此B B选项正选项正确。确。34选择题47.28147.281若有以下程序若有以下程序 修改修改#define N 4#define N 4void fun(int aN,int b,int flag)void fun(int aN,int b,int flag)int i,
49、j;int i,j; for(i=0;iN;i+) for(i=0;iN;i+) bi=ai0; bi=ai0; for(j=1;jN;j+) for(j=1;jaij:biaij:biaij)bi=aij; main()main() int xNN=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,yN,iint xNN=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,yN,i; ;f(x,y,1); f(x,y,1); for(i=0;iN;i+) printf(“%d,”,yi); for(i=0;iN;i+) printf(“%
50、d,”,yi); f(x,y,0); f(x,y,0);for(i=0;iN;i+) printf(“%d,”,yi);printf(“n”);for(i=0;iN;i+) printf(“%d,”,yi);printf(“n”); 则程序输出结果是则程序输出结果是A) 1,2,3,4,13,14,15,16, B) 13,14,15,16,1,2,3,4,A) 1,2,3,4,13,14,15,16, B) 13,14,15,16,1,2,3,4,C)C) 1,5,9,13,4,8,12,16, D) 4,8,12,16,1,5,9,13, 1,5,9,13,4,8,12,16, D) 4,
51、8,12,16,1,5,9,13,35选择题28. 28. 54. 28854. 288、若有以下程序若有以下程序#include #include void fun(int a , int n)void fun(int a , int n) int t, i, j; int t, i, j; for ( i=0; in; i+=2 ) for ( i=0; in; i+=2 ) for ( j=i+2; jn; j+=2 ) for ( j=i+2; j aj ) if ( ai aj ) t=ai; ai=aj; aj=t; t=ai; ai=aj; aj=t; main()main()
52、int c10=10,9,8,7,6,5,4,3,2,1,i; int c10=10,9,8,7,6,5,4,3,2,1,i; fun(c, 10); fun(c, 10); for ( i=0; i10; i+ ) printf(%d, ci); for ( i=0; i10; i+ ) printf(%d, ci); printf(n); printf(n); 则程序的输出结果是则程序的输出结果是A) 1,10,3,8,5,6,7,4,9,2, B) 10,9,8,7,6,5,4,3,2,1,A) 1,10,3,8,5,6,7,4,9,2, B) 10,9,8,7,6,5,4,3,2,1,
53、C) 10,1,8,3,6,5,4,7,2,9, D) 2,9,4,7,6,5,8,3,10,1,C) 10,1,8,3,6,5,4,7,2,9, D) 2,9,4,7,6,5,8,3,10,1,36选择题解析解析:D :D 该题首先对一维数组进行初始化该题首先对一维数组进行初始化,c0,c0到到c9c9依次赋值为依次赋值为1010到到1; fun(c,10);1; fun(c,10);语句调用语句调用funfun函数函数,fun,fun函数的功能是将一维数组奇数位元函数的功能是将一维数组奇数位元素的数值由小到大排序素的数值由小到大排序; ; 最后将排好序的新最后将排好序的新的一维数组进行输出
54、的一维数组进行输出 因此因此D D选项正确选项正确 37选择题29. 29. #include #include 4-49.3914-49.391main()main() int i, j=0; int i, j=0; char a=How are you!, b10; char a=How are you!, b10; for ( i=0; ai; i+ ) for ( i=0; ai; i+ ) if (ai = ) bj+=ai+1; if (ai = ) bj+=ai+1; bj=0;bj=0; printf(%sn,b); printf(%sn,b); 则程序的输出结果是则程序的输出
55、结果是A)Howareyou! B)Howareyou C)Hay! D)ayA)Howareyou! B)Howareyou C)Hay! D)ay解析解析:D :D 程序首先初始化字符数组程序首先初始化字符数组aa为为How are you!How are you!语句语句if(ai= )bj+=ai+1;if(ai= )bj+=ai+1;条件是判断字符数条件是判断字符数组组aa中是否是空格字符,如果是空格的话,将空格后中是否是空格字符,如果是空格的话,将空格后的字符赋给数组的字符赋给数组b b。并将。并将b b输出。因此输出。因此D D选项正确。选项正确。38选择题30.30. #inc
56、lude #include 4-50.3924-50.392 char char * *a=you, b =welcome#you#to#China!;a=you, b =welcome#you#to#China!;main()main() int i,j=0; char int i,j=0; char * *p;p; for ( i=0; bi!=0; i+ ) for ( i=0; bi!=0; i+ ) if ( if (* *a = bi)a = bi) p=&bi; p=&bi; for (j=0; aj!=0; j+) for (j=0; aj!=0; j+) if
57、 (aj != if (aj != * *p) break;p) break; p+; p+; if (aj=0) break; if (aj=0) break; printf(%sn, p); printf(%sn, p); 则程序的输出结果是则程序的输出结果是A) #to#China!A) #to#China!B) #you#to#China!B) #you#to#China!C) me#you#to#China!C) me#you#to#China!D) #China!D) #China!解析解析:A :A 该程序首先定义该程序首先定义* *a a和和b b ,并进行初始化。主函数中通过
58、,并进行初始化。主函数中通过外层外层forfor循环语句,遍历字符数组循环语句,遍历字符数组b b ,并且将符合,并且将符合ifif条件语句的条件语句的字符赋给数组字符赋给数组p p;forfor内层循环语句,遍历字符数组内层循环语句,遍历字符数组a a 。再将符。再将符合合ifif条件语句的结果输出。因此条件语句的结果输出。因此A A选项正确。选项正确。39选择题31.31.51.39351.393 #include #include main()main() char a20, b =The sky is blue.; int i; char a20, b =The sky is blue
59、.; int i; for (i=0; i10; i+) scanf(%c, &ai); for (i=0; i10; i+) scanf(%c, &ai); ai=0; ai=0; gets(b); gets(b); printf(%s%sn, a,b); printf(%s%sn, a,b); 执行时若输入:执行时若输入:Fig flower is red. Fig flower is red. 则输出结果是则输出结果是A) Fig flower is red.is blue.B) Fig flower is red.A) Fig flower is red.is blue
60、.B) Fig flower is red.C) Fig floweris red. D) Fig flowerisC) Fig floweris red. D) Fig floweris解析解析:B :B 本题考查字符数组的赋值以及字符串的处理函数本题考查字符数组的赋值以及字符串的处理函数, ,本题本题中输入字符串中输入字符串Fig flower is redFig flower is red时时, ,首先是将前首先是将前1010个字符赋值个字符赋值给字符数组给字符数组a,a,然后执行然后执行gets(b)gets(b)后后, ,将后续字符存放到将后续字符存放到b b中中, ,当输当输出时出时, ,首先输出字符数组首先输出字符数组a,a,然后输出字符串然后输出字符串b,b,所以结果为所以结果为B B选项选项 40选择题32.32.#include #include 4-52.3944-52.394main()main() int i, j, k;char w20=dogs, int i, j, k;char w20=dogs, char a510=abcdef,ghijkl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度员工借用合同范本
- 北京市通州区2024-2025学年八年级下学期期中考试语文考题及答案
- 2025年遗传学常染色体遗传疾病遗传机制模拟考试答案及解析
- 新能源企业2025年国际化市场布局与技术领先性分析报告
- 光伏农业大棚2025年智能化管理系统研究报告
- 2025年农村新能源产业投资前景与政策支持研究报告
- 含氟烷烃生产工数字化技能考核试卷及答案
- 桩工机械装配调试工岗前考核试卷及答案
- 2025年强化学习环境模型不确定性(含答案与解析)
- 硝酸铵中和工应急处置考核试卷及答案
- 针刺伤处理流程课件
- 高校工会管理制度
- 桥梁基本知识-桥梁养护课件
- 外科学-腹外疝
- 华为供应链管理(6版)
- 幼儿园秋季传染病预防知识课件
- 化工原理-传热课件
- 劳务派遣劳务外包服务方案(技术方案)
- 第09章资本市场有效性理论及其实证分析
- 《商务分析方法与工具》课程教学大纲
- 模块化硬件设计方案
评论
0/150
提交评论