2012年9月全国计算机等级考试二级C语言笔试试题和答案(含公共基础题)全解.doc

2012年9月全国计算机等级考试二级C语言笔试试题和答案(含公共基础题)全解.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2012年9月全国计算机等级考试二级C语言笔试试题和答案(含公共基础题)全解

29 1)main() { char a[10]=abcde,b[]=fgh; int i=0; strcpy(a+1,b+2); printf(%s,a); } 请详细解释一下”strcpy(a+1,b+2)”这句语句 2)main() { char s[][10]={a,good,world}; strcat(s[0],s[1]); printf(%s,s[0]); } 请详细解释一下”strcat(s[0],s[1])”这句语句strcpy()是字符串复制函数。连字符串的结束标志‘\0’一同复制。 对于strcpy(a+1,b+2);中的b+2则是数组里的“h\0”的首地址。 a+1则是数组里的“bcde”的首地址。 即此函数的意义是:把“h\0”复制到“bcde”的位置。字符串遇到‘\0’结束 即结果是:ah。 对于strcat(s[0],s[1]);中的二为数组可以看成是多个一维数组组成的。所以 s[0]代表的是“a”的首地址,s[1]代表的是“good”的首地址。这是字符串连接函数。即把good放到了a的后面。 结果是:agood。 二级C语言程序设计答案及详解 一、选择题 (11)B) 【解析】每一个C 语言的文件或函数都可以单独编译,但只有main 函数的才可以执行。 (12)A) 【解析】预定义标识符是C语言中的标识符,在C语言中也有特定的含义,如函数printf、 scanf、sin 等和编译预处理命令名(如define 和include)。预定义标识符可以作为用户标识符使用,只是这样会 失去系统规定的原义。 (13)B) 【解析】0xab 是十六进制表示的常量。 (14)A) 【解析】C语言用函数实现软件的模块化设计。 (15)C) 【解析】C语言中,常常用一个标识符来代表一个常量,称为符号常量。符号常量在使用之前要先定义,定义格式如下: #define符号常量名(常量) 其中,符号常量名)用标识符,习惯上用大写字母,常量可以是数字常量,也可以是字符 (16)f)Tj/F5 1C) 【解析】题目中用scanf 函数以整数的形式输入a,b 的值。选项C)整型数字3 后面有一个空格,当输入空格时,scanf 函数输入就会终止。 (17)C) 【解析】C语言中char 类型数据占字节数为1. (18)B) 【解析】由于3!=4 的结果为1,而12 的结果为假。 (19)D) 【解析】使用switch 语句直接处理多个分支,其一般形式为: switch(表达式) { case 常量表达式1: 语句1;break; case 常量表达式2: 语句2;break; …… case 常量表达式n: 语句n;break; default: 语句n+1;break; } switch 语句的执行流程是:首先计算switch 后面圆括号中表达式的值,然后用此值依次与各个case 的常量表达式比较,若圆括号中表达式的值与某个case 后面的常量表达式的值相等,就执行此case 后面的语句,执行后遇break 语句就退出switch 语句;若圆括号中表达式的值与所有case 后面的常量表达式都不等,则执行default后面的语句n+1,然后退出switch 语句。 (20)D) 【解析】由于a 的初始值等于-2,所以while 循环语言执行两次结束,此时变量a 的值等于1,变量b 的等于2。 (21)C) 【解析】定义指针变量时,必须将指针变量初始化为NULL(为空),否则,如果不赋给它地址,系统会随机给它分配一个地址。 (22)D) 【解析】两个连续的双引号:,是一个字符串常量,称为“空串”。 (23)D) 【解析】由于a 的值为H,符合(a=Aa=Z),所以条件表达式的值等于(a-A+a),即h。 (24)B) 【解析】在函数main()中,第一次执行for 循环时,b 的值等于1,此时输出字母B;第二次执行for 循环时,b 的值等于3,此时输出字母D;第三次执行for 循环时,b 的值等于8,此时输出字母I。 (25)D) 【解析】x[0]可看作是由3 个整型元素组成的一维数组,不可以用语句x[0]=0,为数组所有元素赋初值0。 (26)C) 【解析】给指针变量p 赋NULL 值,NULL 是在stdio.h 头文件中定义的预定义符,其代码值为0,当执行p=NULL;语句后,称p 为空指针。因为NULL 的代码值为0,所以p=NULL;语句等价于p=\0;或p=0;。 (27)A) 【解析】因为指针变量p 的初始值指向数组a,所以执行for 循环语句后,数组a 中的元素的值不变。 (28)B) 【解析】函数fun()的作用是求出二维数组a[][

文档评论(0)

0022515 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档