2023年上海市高等学校计算机等级考试试卷二级C语言程序设计B卷.docx
《2023年上海市高等学校计算机等级考试试卷二级C语言程序设计B卷.docx》由会员分享,可在线阅读,更多相关《2023年上海市高等学校计算机等级考试试卷二级C语言程序设计B卷.docx(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023年上海市高等学校计算机等级考试试卷二级 C语言程序设计 ( B 卷)一、单选题 1. 下列C语言的标记符中,不合法的标记符为_ A. starB. 1234C. _a100D. circuit92. 若已定义: int x=10; 则表达式 x=(4*5,x*5,x+25) 的值是 _ 。A. 20B. 45C. 125D. 353. 若x是int类型变量,y是float类型变量,则为了将数据55和55.5分别赋给x和y,则执行语句: scanf(“%d, %f”,&x,&y,); 时,对的的键盘输入是 _ 。 A. 55,55.5B. x=55, y=55.5C. 5555.5D.
2、x=55y=55.54. 若有说明语句:int x=25,y=20,z=30; 则执行语句:if(xy) y=z; z=x; x=y; printf(“%d,%d,%d”,x,y,z); 后,输出是_ A. 25,20,30B. 30,30,25C. 25,30,30D. 25,30,255. 程序段:int num=2; while(num) printf(“%d ,”,num-);的运营结果是_ A. 2,1,B. 2,1C. 2,1,0D. 2,1,0,6. 若有说明:int a34,s;则对数组a的元素引用对的的是_ A. s=0; for(i=0;i=3;i+) for(j=0;j4
3、;j+) s+=aij;B. s=0; for(j=0;j=4;j+) for(i=0;i3;i+) s+=aij;C. s=0; for(i=0;i4;i+) for(j=0;j=3;j+) s+=aji;D. s=0; for(i=0;i3;i+) for(j=0;jname0C. per.name8D. per.id10. 若有以下语句:char x=5,y=9,z; z=(y|x)2; 则z的二进制值是_ A. 00011011B. 00001010C. 00110100D. 00001100二、填空题 1. 设有说明语句:int a=15, b=6; 则a/b的十进制数值为_ 2.
4、设有说明语句:int x=3, y=2; 则计算表达式(x=0)& (y=6*x) 后变量y的值是_ 3. 设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1|b+c/2后,t的值是_ 4. 定义函数时,将其类型定义为void 则表达所定义的函数返回值为_. 5. 下列程序的输出结果是_f(int a) int i=0; while (ai=10) printf(“%d ”, ai); i+;main() int a=8,4,10,11,9,20; f(a);6. 下列程序的输出结果是_ long fib(int g) switch(g) case 0
5、: return(0); case 1: case 2: return(2); return ( fib(g-1) + fib(g-2) ); main() long k; k = fib(5); printf(k=%ldn, k);7. 假定建立了以下链表结构:struct nodeint id ; struct node *next; *head,*p;如图6-11所示:指针p指向一个新结点,将新结点插入到链表中的两条C语言语句是【 】插入P后的链表 p head 7 2 9 2 图6-11 新结点插入到链表三、程序填空题 ( 本大题 3 道小题 ,每空 3 分,共 30 分)。1. 下列
6、程序的功能是:计算机给出10个不大于31的正整数让人猜,并根据猜中的情况记录总得分后输出。具体规则如下:(1) 计算机每给出一个要猜的数最多允许中5次,第一次猜对得10分,第二次猜对得8分,第三次猜对得6分,第四次猜对得4分,最后一次猜对得2分,否则不得分。(2) 若人猜的数太小,计算机给出提醒“too small !”;若人猜的数太大,计算机给出提醒“too large !”;若人猜对这个数,计算机给出提醒“right !”, 并给出下一个数继续让人猜;若一个数已经猜了5次都猜错,计算机给出提醒“out of time !”,也给出下一个数继续让人猜。直至猜完10个数。下面是人猜一个数的过程
7、,有下划线的部分是人猜的数:(假设机器产生的随机数为9)请输入你猜测的数y= 16too large !请输入你猜测的数y= 4too small !请输入你猜测的数y= 9right ! (本题是第三次猜对,得6分)#include #include void main() int i, c, x, y, score, right; 1 ; /* 变量赋初值 */ for (i=1; i=10; i+) x=random(32); /* 随机产生一个不大于31的要猜的数 */ c=0; do c+; printf(n 请输入你猜测的数y= ); scanf(%d, &y); right=(y
8、=x); /* 猜对时right为1,否则为0 */ if (right=1) printf( 2 ); else printf(%sn, ( 3 )? too small ! :too large !); while(right=0& 4 ); if (right) score+= ( 5 ); /* 记录成绩 */ else printf(out of time !n); printf(nTotal score:%dn, score);2. 以下程序输入10行字符串,规定按字典顺序从小到大排序。#include #define N 10int biggerthan( char *str1,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 上海市 高等学校 计算机等级考试 试卷 二级 语言程序设计
限制150内