2012试卷-二级C语言-B卷-24B.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2012年上海市高等学校计算机等级考试试卷 二级 C语言程序设计??? ( B? 卷) (本试卷考试时间? 120 ?分钟) 一、单选题 ( 本大题 10 道小题 ,每小题 1.5 分,共 15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。 1.设有下述链表操作程序段及其注释,函数func的功能是(??? )。 ??? struct node??????????? /* 链表的节点定义 */ ??? { ??????? int num; ??????? float score; ??????? struct node *next; /* next成员指向下一个结点 */ ??? }; ??? struct node *func(struct node *head) ??? {?? /* head为链表的头指针 */ ??????? struct node *p; ??????? p=(struct node *)malloc(sizeof(struct node));/* 申请新节点的内存空间 */ ??????? p->next = head; ??????? head=p; ??????? return head; ??? }? 答案:A A.在链表头插入一个结点 B.在链表尾插入一个结点 C.删除链表第一个结点 D.删除链表最后一个结点 ? 2.设有以下结构体定义及初始化,表达式p->data的结果是(??? )。 ??????? struct node ??????? { ?????????? int num; ?????????? float data; ??????? } stu[2]={101,901.5,102,902.5},*p=stu+1; ?答案:B A.101 B.902.5 C.102 D.901.5 ? 3.以下选项中正确的C语言常量是(??? )。? 答案:C A.0xEfGh B.'XYZ' C.12.34e5 D.'\5A' ? 4.设int? n; 对应“n为三位数(100至999)”的判断表达式是(??????? )。? 答案:B A.100<=n<=999 B.100<=n && n<=999 C.100<=n || n<=999 D.100<=n, n<=999 ? 5.设有定义char c;且c表示一个小写字母,结果为对应大写字母的表达式是(??????? )。? 答案:C A.c - a + A B.c - A + a C.c - 'a' + 'A' D.c - 'A' + 'a' ? 6.在C语言中,根据一个表达式的值转向多个分支的语句是(??????????? )。 ? 答案:B A.if-else语句 B.switch语句 C.case语句 D.return语句 ? 7.已知一个字符串的长度为8,要使用字符数组str存放该字符串,以下(?????? )定义是正确的。? 答案:A A.char str[9]; B.char str[8]; C.char str; D.char str(9); ? 8.设有定义char a[]="abcDEF",*p=a+3;则puts(p)的输出结果是(????????? )。 ?答案:D A.abcDEF B.bcDEF C.cDEF D.DEF ? 9.设有定义int? m, n, *p;与语句“m = n;”等价的语句序列是(??????????? )。 ? 答案:A A.p=&n; m=*p; B.p=&m; n=*p; C.p=*n; m=*p; D.p=*m; n=*p; ? 10.设有变量定义:int a[ ]={5, 6, 1, 3, 7, 9, 0, 6}, c, i; 当执行完语句: for(i=c=0; i<5; i++)? { ????? if? (a[i]%3==0)? continue; ????? c++; } ?之后,c的值是(???? )。 ? ? 答案:C A.1 B.2 C.3 D.4 ? ? ? ? ? 二、程序填空题 ( 本大题 2 道小题 ,每空 2.5 分,共 20 分)。 1. 输出100到1000之间的各位数字之和能被9整除的所有数,输出时每5个一行。 #include <stdio.h> void main() { ? int m,n,k,i=0; ? for(m=100;m<=1000;m++) ? { ???? n=m; ??????? 【1】?????? ; ???? do ???? { ??????? k=k+??????? 【2】?????? ; ??????? n=n/10; ????? } while(???? 【3】???? ) ;? ???

文档评论(0)

151****2147 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档