- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)