c语言enum用法定义HINT32_T,秋江苏省高校计算机等C语言笔试试卷答案.doc

本文分析了2011年秋季江苏省高校C语言二级考试的笔试试卷,指出了试卷中存在的错误和不足,如选择题第25题、填空题第5题等,并给出了改进建议。同时,对部分题目进行了详细解答,涉及选择题、填空题和程序完善等题型。此外,提到了试卷难度与全国C语言考试的比较,并提供了在线资源供考生复习和练习。

253b171540df25e1b84436cbe50dfc72.gif秋江苏省高校计算机等C语言笔试试卷答案.doc

2011年10月15日江苏省高校C语言二级考试笔试试卷_答案及剖析【本试卷的欠妥处】经过对2011秋江苏省C语言试卷仔细阅读和上机调试,本试卷卷面错误比2011春有较大改进。但还存在如下三处不足之处或命题欠妥处,有待改进1、选择题第25题,命题不正确,详见下面试卷剖析(底色黄);2、填空第5题,命题不正确,详见下面试卷剖析(底色黄);3、完善程序第14题命题的中文语法不严谨,“14.下列程序的功能是判断一个n阶对称方阵是否双对称矩阵”建议改为“14.下列程序的功能是判断一个n阶对称方阵是否为双对称矩阵”为妥。【本试卷的网上答案与点评人答案差别建议读者自己进行调试,判断那个答案更合适。】1、 知识选择题第19题;2、填空题第1、4、5、17、21、30题;【试卷点评】与以往的江苏省高校计算机等级考试C语言笔试题相比,本次笔试试卷难度下降了5-10。这也是广大考生所盼望的,但难度高于全国C试卷15-20。建议对链表题下降难度,采用下面建议15题,采用完整格式(底色黄),以便于考生完整理解和答题。在搜集了近年的全国和江苏省高校计算机等级考试C语言笔试题基础上,通过解析,已将解析后的的试卷发布在网上。在此网上用“张柏雄”搜索或在百度网上用同样方式搜索也可,可获得近年来评者的全国和江苏省高校计算机等级考试C语言笔试题解、上机题解的word版。1、 模拟江苏省和全国考试的上机环境其上机题原始素材存储在“”网站上,可用Ctrl点击“点击这里查看该用户更多公开文件.”,读者可免费上网下载有关文件进行练习。网站发布的2011年秋江苏省高校计算机二级C考试参考答案一、选择题1B 2B 3B 4A 5D 6B 7A 8B 9D 10C 11C12D 13A 14D 15B 16D 17C 18D 19 A 20C21.D 22.C 23.A 24.D 25.B 26.A 27.C 28.A 29.D 30.C二、填空题1 B. define P3.14C. define P 3.14; D. define P 3.1422、下列四个选项中,属于C语言关键字的是22_。A. Float B. singleC. double D. real第22题注释清华大学出版社“C程序设计”P365附录B规定只有32个小写的关键字,除此以外均不是关键字包括附录B的大写字等等。本题附合要求的只有答案C23、已知某编译系统中signed int 类型数据长度是16位,该类型数据的最大值是_23。A. 32767 B. 32768 C. 127 D. 65535第23题注释 此题signed int 类型数据长度是16位,意指TC3.0环境,在VC6.0数据长度是32位。所以最大值215-132767清华大学出版社“C程序设计”P43表3-124、以下关于if语句和switch语句的叙述中错误的是24_。A. if语句和switch语句都可以实现算法的选择结构B. if语句和switch语句都能实现多路(两路以上)选择C. if语句可以嵌套使用D. switch语句不能嵌套使用第24题注释清华大学出版社“C程序设计”P104说明。switch语句多路功能都能用if语句实现嵌套处理,但程序冗长。switch语句无法实现嵌套嵌套使用。25、已知声明“char *s1China,s210,*s3Nanjing,*s4;”,以下字符串赋值语句在执行时可能出现错误的是25。A. strcpys3,s1; B. strcpys4,s1; C. strcpys2,s1; D. strcpys2,s3;第25题注释清华大学出版社“C程序设计”P374和P251。字符串数组变量在定义和初始化时,s210形式可以在初始化不赋值;但*s4形式初始化不赋值,在采用strcpys4,s1;时在编译时会产生“local variable s4 used without having been initialized”警告,无法得出结果;而非编译错误。建议该题正确命题是已知声明“char *s1China,s210,*s3Nanjing,*s4;”,以下字符串赋值语句在执行时可能不能获得显示结果的是25。26. 已有声明“int x0,*p”,以下语句中有语法错误的是_26_。A. printfd,*x; B. printfd, C. printfd,*p; D. printfd,x;第26题注释清华大学出版社“C程序设计”P221。变量x的值可以有如下形式输出x *p ;”,则执行printfd,t5,t;时输出的结果是_28。A. 1 B. 6 C. 2 D. 7第28题注释清华大学出版社“C程序设计”P65逗号表达式;P57自增、自减运算符29. 已有声明“static char *pApple;”,则执行putsp2;时输出结果是_29。A. Apple B. Cpple C. pple D. ple30 以下选区项均欲声明变量p,其中错误的是_30。A. typedef struct Person B. struct Person char name20; char name20; int age; int age; Per; ; Per p; struct Person p;C. struct D. struct char name20; char name20; int age; int age; Per; p; Per p; 第30题注释清华大学出版社“C程序设计”P282和P315。按照结构体定义规定C.定义中Per是结构体变量,不是结构体变量类型,不准对其他变量定义二、填空题(请将答案填写在答题纸的相应答题号内,每个答案只占一行,共30分)l 基本概念1、 C语言源程序中用十六进制表示整型常数必须以1_开头。 0 x第1题注释清华大学出版社“C程序设计”P48表3-3。记住字符常量六种表示形式,可以推论所有结果以A为例,一种存储格式;六种赋值格式;三种输出格式。存储在计算机存储器形式0100 0001用d输出65 用x输出41 用c输出A用十六进制形式赋值char x0 x41; 或 char x x41 ;用八进制形式赋值char x0101; 或 char x 101 ;用十进制形式赋值char x65; 或 char x A;由此推论本题答案为0 x2、 如果一个循环结构体至少要执行一遍,则最适合描述该循环结构的语句是_2_语句。(do while)第2题注释在三种循环语句(do while;,while,for)中后两种都要判别条件是否满足才能开始循环;而第一种循环,先做第一次循环体,后根据条件来判别跳出,还是继续做循环。3、若要声明一个无符号整型变量x,则正确的声明形式是“_3_int x;”。(unsined)第3题注释清华大学出版社“C程序设计”P43表3-1。4、已有声明“int n12;double an/5;”后,a的值为_4_。2.000000第4题注释清华大学出版社“C程序设计”P56。要理解C语言运算的“左结合性”,还是“右结合性”。符合右结合性的有赋值运算符、自加或自减运算符。这里等于,先运算nn/2;后n赋为2,后来以2赋给双精度变量a,所以其值为2.0000005、若有数据类型定义如下union Afloat a1;float a2则表达式sizeofunion A的值是_5_。(4)第4题注释清华大学出版社“C程序设计”P308。union为共同体,它有三种标准定义union Afloat a1;float a2; a,b,c;union Afloat a1;float a2; ; union A a,b,c;union float a1;float a2; a,b,c;共同体所占内存容量是它的成员最长字节数,所以答案是4。sizeof的功能能测试变量、表达式、类型说明符在内存中所占的空间(单位字节)printfdn,sizeofint; 对于TC30显示为2;对于VC则为4printfdn,sizeoffloat;其显示值为4printfdn,sizeofdouble;其显示值为8第5题命题欠妥处A是共同体名,不是变量,而sizeof测试要求是变量、表达式、类型说明符,否则出现编译错误此题建议改为若有数据类型定义如下union Afloat a1;float a2;B;则表达式sizeofB的值是_4_。调试程序include stdio.hvoid main union Afloat a1;float a2; B; printfdn,sizeofB; 显示为4见下面在VC环境下调试结果l 阅读程序(13分)6、以下程序运行时,输出到屏幕的结果为_6_。include stdio.henum colorBLACK,YELLOW,BLUE3,GREEN,WHITE;void main char *colornameBlack,Yellow,Blue,Green,White ; enum color c1GREEN,c2BLUE;printfs,colornamec1-c2;(答案6 Yellow)7. 以下程序运行时,输出到屏幕的结果是_7_。 include stdio.hvoid main int a0,b1,d10; ifa ifb d20; else d30; printfdn,d;(答案7 10)8 以下程序运行时,输出到屏幕的结果中第一行是_8_,第二行是_9_。 include stdio.hvoid funint a,int *b a;*b;void main int a21,1; funa0, printfdnd , a0,a1;(答8 1 9 2)第8、9填空注释函数调用时形参与实参的结合原则只有共用地址才能返回变量值。a0无法返回;而a1采用实参 fori1;i100;i aii1 ; printf4d4d4dn, a0,a1,a2; forj1;j100;j ifaj 0 forkj1 ;k100 ;k ifakaj0 ak0 ; fork1,i0 ;k100 ;k ifak 0 printf4d , ak; i; ifi30 printfn ; 答案为10_0 2 3 11 2 3 5 12 7 11 13第10、11、12填空注释首先给数组a赋初值 0 2 3 4 5 6 7 8 9 10,第一行显示为0 2 3。进而对值为非素数,一律置0。最后输出非0的素数。2 3 5 7 11 13。10. 以下程序运行时,输出到屏幕的结果是第一行是13_,第二行是_14_。include stdio.hinclude math.hint funint a,int b int n; whileab nabsa-b; aabba; bn; return a;void main printfdndn , fun9,15,fun9,5; (答案13 3 14 1 。)第13、14填空注释此题看起来容易,理解起来较难,最好办法用列表法一步一步写下来见上图所示函数fun第一次调用,为获得ab,经历了3次才满足ab,即n、a、b均为3时返回;第二次调用函数fun,经历了5次才满足ab,即n、a、b均为1时返回。11以下程序运行时,输出到屏幕的结果中第一行是15_,第二行是_16。include stdio.hint fun1int p, int n int i,s0; fori0;in;i spi; return s;int fun2int *s, int n ifn1return *s; else return *sfun2s1,n-1;void main int a1,2,3,4,5; printfdnd ,fun1a,3,fun2a,3;(答案第一行15 6 第二行为16 6 第15、16填空注释此题函数fun1调用比较简单;函数fun2是较复杂的递归调用,但本题理解起来不难。函数递归调用时要记住每一步调用时的实参值,返回时逐步脱出,用表达式运算获得。12. 以下程序运行时,输出到屏幕的结果中第一行是17_,第二行是18_。include stdio.hinclude string.hint funchar str int i,j,len; lenstrlenstr; fori0,j0;stri;i ifstri A stri Z stri a stri z strjstri; strj 0; return len-j;void main char ss80 It23is; int n; nfunss; printfdnsn,n,ss;(答案第一行是17 2 第二行是18 Itis )第17、18填空注释此题函数fun1调用的字符串处理比较简单。l 完善程序12分13 以下程序中judge函数的功能是判断x指向的int类型数组(长度为n)中各元素之间的逻辑关系。若n个元素的值均相等则输出“all elements are same”;若n个元素的值无序则输出“no order”;若n个元素的值按升序排列则输出“ascend”;若若n个元素的值按降序排列则输出“descend”。include stdio.hvoid judge19_, int n int f,i0; whilein-1xixi1 i; ifi20_ printfnall elements are same ; return; ifxixi1 f1; else f0; for;in-1;i iffxixi1f21_ printfn no order; return; if22_ printfn ascend; else printfn descend;void main int a51,2,3,4,5,b55,4,3,2,1,c51,4,2,3,5,d52,2,2,2,2; judgea,5; judgeb,5; judgec,5; judged,5;(答案 19是 int x 20是 in-1 21是 xixi1 22是 f1 ) 第19、20填空注释此题程序长,但比较简单,右图是调试程序和运行显示结果此题难填的是20和2221要理解全部元素都相等判断后,最后出循环时的i值。(22)只要看条件判断ifxixi1 f

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值