2010年上海市高等学校计算机等级考试试卷二级C语言程序设计
2010年计算机2级C语言笔试题
2010年3月计算机等级考试二级C笔试试题(文字版)
一、选择题
(1)下列叙述中正确的是
A)对长度为n的有序链表进行查找,最坏清况下需要的比较次数为n
B)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)
C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)
D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)
(2)算法的时间复杂度是指
A)算法的执行时间
B)算法所处理的数据量
C)算法程序中的语司或指令条数
D)算法在执行过程中所需要的基本运算次数
(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是
A)编辑软件
B)操作系统
C)教务管理系统
D)浏览器
(4)软件(程序)调试的任务是
A)诊断和改正程序中的错误
B)尽可能多地发现程序中的错误
C)发现并改正程序中的所有错误
D)确定程序中错误的性质
(5)数据流程图(DFD图)是
A)软件概要设计的工具
B)软件详细设计的工具
C)结构化方法的需求分析工具
D)面向对象方法的需求分析工具
(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于
A)定义阶段
B)开发阶段
C)维护阶段
D)上述三个阶段
(7)数据库管理系统中负责数据模式定义的语言是
A)数据定义语言
B)数据管理语言
C)数据操纵语言
D)数据控制语言
(8)在学生管理的关系数据库中,存取一个学生信息的数据单位
是
A)文件
B)数据库
C)字段
D)记录
(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的
2010年上海市高等学校计算机等级考试试卷二级C语言程序设计
2010年上海市高等学校计算机等级考试试卷
二级 C语言程序设计( C 卷)
(本试卷考试时间 120 分钟)
一、单选题
1. C程序是由_______组成的。
A. 子程序
B. 过程
C. 子函数
D. 主函数和子函数
2. 若有定义语句:char c='\n'; 则变量c _______。
A. 包含4个字符
B. 包含2个字符
C. 包含1个字符
D. 说明不合法,c的值不确定
3. 设有float x=1.25; int n=x; 则语句printf("%.2f,%d\n",x,n);的输出是:_______ 。
A. 1.25,1.25
B. 1,1
C. 1,1.25
D. 1.25,1
4. 设x为int型变量,且初值为 'f',则执行printf("%c\n", 'A'+(x-'a'+1));后的输出结果是
_______。
A. G
B. H
C. I
D. J
5. 设有int n; 则判断“n为二位数(10至99)”的表达式是:_______ 。
A. 10<=n<=99
B. 10<=n || n<=99
C. 10<=n, n<=99
D. 10<=n && n<=99
6. 下列if语句中,错误的是 _______。
A. if(a==b) a-- else b++;
B. if(a-b>0) printf("a>b\n");
C. if(x>0&&x<10) y=x*x-1.5;
D. if(x) y+=1;
7. 设:int i,n ; float sum; 则求调和级数s=1+1/2+1/3+...前n项之和的正确循环语句是_______。
2010年计算机等级考试二级C语言上机习题汇总
2010年计算机等级考试二级C语言上机习题汇总
一、改错题
【分析】:改错题的错误一般可分为两类,一类是语法错误,这类错误可通过调试程序改正,较容易;另一类是逻辑错误,这类错误程序能运行,但结果不正确,这类错误相对较难,修改前必须要看懂和理解程序。
#include"stdio.h"
#define n 4 #define m 3 /*语法错,#define m 3需另起一行*/
int a[n][m],s[m];
p(int j)/*此函数的功能为:找出a数组中第j列的最小元素的值及行号,函数成功运行后,i中即为j列的最小元素的行号,s[j]中即为j列的最小元素的值*/
{intk,i,x;
x=a[0][j];i=0; /*逻辑错,从函数的功能可知,a[0][j]也应赋值给s[j],所以x=a[0][j]应改为s[j]=x=a[0][j]*/
for(k=1;k
if(a[k][j]
{i=k;s[j]=x=a[k][j];}
return i;
}
main()
{int index[m],i,j,k;
for(i=0;i
for(j=0;j
scanf("%d",a[i][j]);/*语法错,但编译时不会报错,scanf语句的一般形式为scanf(格式控制,地址表列),所以a[i][j]应改为&a[i][j])*/
for(j=0,j
printf("a[%d,%d]=%d\n",index[j],j,s[j]);
}
i=s[1];k=0; /*逻辑错,数组s中存放的是a数组中每一列的最小值,比较时应从数组的第0个元素开始,而下面的for循环是从第1个元素开始的,所以i=s[1]应改为i=s[0]*/
全国计算机二级C语言历年真题完整版
2010年3月全国计算机等级考试二级C 笔试试卷
一、选择题
(1)A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n
B)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)
C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log 2n)
D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log 2n)
(2)算法的时间复杂度是指
A)算法的执行时间B)算法所处理的数据量
C)算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数
(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是
A)编辑软件B)操作系统C)教务管理系统D)浏览器
(4)软件(程序)调试的任务是
A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误
C)发现并改正程序中的所有错误D)确定程序中错误的性质
(5)数据流程图(DFD图)是
A)软件概要设计的工具B)软件详细设计的工具
C)结构化方法的需求分析工具D)面向对象方法的需求分析工具
(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于
A)定义阶段B)开发阶段C)维护阶段C)上述三个阶段
(7)数据库管理系统中负责数据模式定义的语言是
A)数据定义语言B)数据管理语言
C)数据操纵语言D)数据控制语言
(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是
A)文件B)数据库C)字段D)记录
(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的
计算机二级C语言程序设计测试题及答案
计算机二级C语言程序设计测试题及答案
计算机二级C语言程序设计测试题及答案
计算机二级考试是全国计算机等级考试四个等级中的一个等级,由教育部考试中心主办,考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。下面是店铺整理的计算机二级C语言程序设计测试题及答案,欢迎大家分享。
编程题
1、三个整数a、b、c,由键盘输入,输出其中最大的数。
2、从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印“not exist”。
3、有一个一维数组,内放10个学生成绩,写一个函数,求出平均分。
4、有N个学生,每个学生的`信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。
参考答案:
1、main()
{ int a,b,c;
printf(“请输入三个整数:”); scanf(“%d,%d,%d”,&a,&b,&c);
if(a if(belse printf(“max=%d ”,b);
else if(aelse printf(“max=%d ”,a); }
2、#include”stdio.h”
main()
{ int I,a;
for(I=1;I<=10;I++)
{ scanf(“%d”,&a);
{ if(a%7==0)
printf(“%d”,a); break; } }
if(I==11)
printf(“not exist”); }
3、float average(float array[ ],int n)
2010年9月全国计算机等级考试二级C语言真题及答案
2010年9月全国计算机等级考试二级笔试试卷
C语言程序设计(附答案)
(考试时间90分钟,满分100分)
一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是
A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构
D)上述三种说法都不对
(2)下列叙述中正确的是
A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对
(3)软件测试的目的是
A)评估软件可靠性
B)发现并改正程序中的错误
C)改正程序中的错误
D)发现程序中的错误
(4)下面描述中,不属于软件危机表现的是
A)软件过程不规范B)软件开发生产率低C)软件质量难以控制C)软件成本不断提高(5)软件生命周期是指
A)软件产品从提出、实现、使用维护到停止使用退役的过程
B)软件从需求分析、设计、实现到测试完成的过程
C)软件的开发过程
D)软件的运行维护过程
(6)面向对象方法中,继承是指
A)一组对象所具有的相似性质
B)一个对象具有另一个对象的性质
C)各对象之间的共同性质
D)类之间共享属性和操作的机制
2010年上海市高等学校计算机等级考试试卷二级_C语言程序设计_(_E_卷)
2010年上海市高等学校计算机等级考试试卷
二级C语言程序设计(E 卷)
(本试卷考试时间120 分钟)
一、单选题( 本大题15 道小题,每小题1 分,共15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。
1. 以下C程序中预处理命令写法正确的是:
答案: D
A. #include (stdio.h)
B. #include [stdio.h]
C. #include {stdio.h}
D. #include
2. 设有变量定义语句char a; 则下面的赋值语句中( ) 是正确的。
答案: A
A. a='&';
B. a="&";
C. a=' ' ';
D. a='16' ;
3. 设有char ch; 与语句“ch=getchar();”等价的语句是:答案: D
A. printf("%c",ch);
B. printf("%c",&ch);
C. scanf("%c",ch);
D. scanf("%c",&ch);
4. int a=2, b=5;则表达式21%9/(float)a+4/b*b的运算结果为( )。
答案: C
A. 2
B. 1
C. 1.5
D. 0
5. 能正确表示逻辑关系"a>=10 或a<=0"的C语言表达式是( )。
答案: C
A. a>=10 or a<=0
B. a<=0|a>=10
C. a<=0||a>=10
D. a>=10 && a<=0
6. 设有int n=60;写出下列语句的运行结果
switch (n/10)
{
case 6: printf("@");break;
上海市高等学校计算机等级考试试卷二级C语言程序设计(B卷)
上海市⾼等学校计算机等级考试试卷⼆级C语⾔程序设计(B卷)
上海市⾼等学校计算机等级考试试卷
⼆级 C语⾔程序设计( B 卷)
⼀、单选题
1. 下列C语⾔的标识符中,不合法的标识符为____________
A. star
B. 1234
C. _a100
D. circuit9
2. 若已定义: int x=10;
则表达式 x=(4*5,x*5,x+25) 的值是 ______ 。
A. 20
B. 45
C. 125
D. 35
3. 若x是int类型变量,y是float类型变量,则为了将数据55和55.5分别赋给x和y,则执⾏语句: scanf(“%d, %f”,&x,&y,); 时,正确的键盘输⼊是 ______ 。
A. 55,55.5↙
B. x=55, y=55.5↙
C. 55↙55.5↙
D. x=55↙y=55.5↙
4. 若有说明语句:int x=25,y=20,z=30;
则执⾏语句:if(x>y) {y=z; z=x;} x=y; printf(“%d,%d,%d”,x,y,z); 后,输出是____________
A. 25,20,30
B. 30,30,25
C. 25,30,30
D. 25,30,25
5. 程序段:int num=2;
while(num)
printf(“%d ,”,num--);
的运⾏结果是_______________
A. 2,1,
B. 2,1
C. 2,1,0
6. 若有说明:int a[3][4],s;则对数组a的元素引⽤正确的是____________
A. s=0; for(i=0;i<=3;i++) for(j=0;j<4;j++) s+=a[i][j];
计算机等级考试二级C语言试题及答案
38、有以下程序 #define f(x) x*x main( ) { int i; i=f(4+4)/f(2+2); printf(“%d\n”,i); } 执行后输出结果是(A) A)28 B)22 C)16 D)4
48、有以下程序 #include <stdlib.h> struct NODE{ int num; struct NODE *next; }; main( ) { struct NODE *p,*q,*r; int sum=0; p=(struct NODE *)malloc(sizeof(struct NODE)); q=(struct NODE *)malloc(sizeof(struct NODE)); r=(struct NODE *)malloc(sizeof(struct NODE)); p->num=1;q->num=2;r->num=3; p->next=q;q->next=r;r->next=NULL; sum+=q->next->num;sum+=p->num; printf(“%d\n”,sum); } 执行后的输出结果是(B) A)3 B)4 C)5 D)6
22、有以下程序 main( ) { char k; int I; for(i=1;i<3;i++) { scanf(“%c”,&k); switch(k) { case ‘0’: printf(“another\n”); case ‘1’: printf(“number\n”); } } } 程序运行时,从键盘输入:01<回车>,程序执行后的 输出结果是(C) A) another B)another C)another D)number number number number number another number
2010年9月全国计算机等级考试二级C语言试题及答案
2010年9月全国计算机等级考试二级C语言笔试试题及答案
一、选择题((1)-(10)每题2分,(11)-(50)每题1分.共60分))
(1)下列选项中不属于软件生命周期开发阶段任务的是
A)详细设计B)概要设计C)软件维护D)软件测试
(2)树是结点的集合,它的根结点数目是
A)有且只有1 B)1或多于1 C)0或1 D)至少2
(3)在面向对象方法中,实现信息隐蔽是依靠
A)对象的继承B)对象的多态C)对象的封装D)对象的分类
(4)程序设计语言的基本成分是数据成分、运算成分、控制成分和
A)语句成分B)变量成分C)对象成分D)传输成分
(5)冒泡排序在最坏情况下的比较次数是
A)n/2 B)nlog2n C)n(n-1)/2 D)n(n+1)/2
(6)下列叙述中,不属于软件需求规格说明书的作用的是
A)作为确认测试和验收的依据
B)反映出用户问题的结构,可以作为软件开发工作的基础和依据
C)便于用户、开发人员进行理解和交流
D)便于开发人员进行需求分析
(7)下列叙述中错误的是
A)一个C语言程序只能实现一种算法B)C程序可以由多个程序文件组成
C)C程序可以由一个或多个函数组成D)一个函数可单独作为一个C程序文件存在(8)下列不属于软件工程的3个要素的是
A)方法B)过程C)工具D)环境
(9)下列叙述中正确的是
A)数据库系统是一个独立的系统,不需要操作系统的支持
B)数据库技术的根本目标是要解决数据的共享问题
C)数据库管理系统就是数据库系统
D)以上三种说法都不对
(10)下列叙述中正确的是
A)每个C程序文件中都必须有一个main()函数
国家计算机二级C语言历年真题及答案
全国计算机等级考试二级笔试试卷
C语言程序设计
(考试时间90分钟,满分100分)
一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分)
(1)下列数据结构中,属于非线性结构的是
A)循环队列
B) 带链队列
C) 二叉树
D)带链栈
(2)下列数据结果中,能够按照“先进后出”原则存取数据的是
A) 循环队列
B) 栈
C)队列
D)二叉树
(3)对于循环队列,下列叙述中正确的是
A)队头指针是固定不变的
B)队头指针一定大于队尾指针
C)队头指针一定小于队尾指针
D)队头指针可以大于队尾指针,也可以小于队尾指针
(4)算法的空间复杂度是指
A)算法在执行过程中所需要的计算机存储空间
B)算法所处理的数据量
C)算法程序中的语句或指令条数
D)算法在执行过程中所需要的临时工作单元数
(5)软件设计中划分模块的一个准则是
A) 低内聚低耦合
B) 高内聚低耦合
C) 低内聚高耦合
D) 高内聚高耦合
(6)下列选项中不属于结构化程序设计原则的是
A) 可封装
D) 自顶向下
C) 模块化
D) 逐步求精
(7)软件详细设计产生的图如下:
该图是
A) N-S图
B) PAD图
C) 程序流程图
D) E-R图
(8)数据库管理系统是
A)操作系统的一部分
B) 在操作系统支持下的系统软件
C) 一种编译系统
D) 一种操作系统
(9)在E-R图中,用来表示实体联系的图形是
A) 椭圆图
B) 矩形
C) 菱形
D) 三角形
(10)有三个关系R,S和T如下:
其中关系T由关系R和S通过某种操作得到,该操作为
A) 选择
B) 投影
C) 交
D) 并
上海市高等学校计算机等级考试(二级c语言)
上海市高等学校计算机等级考试(二级)
《 C程序设计》考试大纲
一、考试性质
上海市高等学校计算机等级考试(原名:上海市普通高校学生计算机应用知识与应用能力等级考试)是上海市教育委员会组织的全市高校统一的教学考试,是检测和评价高校计算机应用基础知识教学水平和教学质量重要依据之一。该项考试旨在规范和加强上海高校的计算机教学工作,提高学生的计算机应用能力。考试对象主要是上海市高等学校学生,考试每年举行一次,当年的十月下旬、十一月上旬的星期六或星期日。凡考试成绩达到合格者或优秀者,由上海市教育委员会发给相应的证书。
本考试由上海市教育委员会统一领导,聘请有关专家组成考试委员会,委托上海教育考试院组织实施。
二、考试目标
C语言是当前常用的,简洁、高效、功能丰富的程序设计语言,是计算机应用人员和软件开发人员的基本程序设计工具。学生通过该课程的学习,应能了解、掌握C语言的概念、语法和使用它进行编程的方法,并能上机调试运行解决简单实际问题。
《 C程序设计》的考试目标是测试考生掌握C语言知识的程度和综合运用语言知识进行程序设计的能力。
三、考试细则
考试方法为书面闭卷考试。考试时间为 120分钟。试卷总分为100分。
试卷采用简答题、写程序结果题、改错题、编程题、填充题等形式,答案写在答题纸上,采用人工阅卷方式。若答案写在试卷上则无效。
四、试卷结构参考样式
序号题型题量计分考核目标
一简答题7 题28 分基本概念
二写程序结果
题
2 题12 分
程序理解
语义知识
三改错题 2 题12 分语法知识语义知识程序结构
四编程题 2 题18 分程序设计五填充题 2 题30 分综合应用合计15 题100 分
上海市高等学校计算机等级考试(二级)《C程序设计》考试大纲
上海市高等学校计算机等级考试(二级)《C程序设计》考试大纲
(2010年修订)
一、考试性质
上海市高等学校计算机等级考试是上海市教育委员会组织的全市高校统一的教学考试,是检测和评价高校计算机应用基础知识教学水平和教学质量的重要依据之一。该项考试旨在规范和加强上海高校非计算机专业的计算机教学工作,提高非计算机专业学生的计算机应用能力。考试对象主要是上海高等学校非计算机专业学生,考试每年举行一次,当年的十月下旬、十一月上旬的星期六或星期日。凡考试成绩达到合格者或优秀者,由上海市教育委员会颁发相应的证书.
本考试由上海市教育委员会统一领导,聘请有关专家组成考试委员会,委托上海市教育考试院组织实施。
二、考试目标
C语言是当前常用的一种简洁、高效、功能丰富的程序设计语言,是理工科大学生学习计算机编程能力、理解计算机解决问题的方法的重要工具。学生通过该课程的学习,应能了解、掌握C语言的语法和使用它进行编程的方法,并能上机调试运行解决简单实际问题。
《C程序设计》的考试目标是测试考生掌握C语言知识的程度和综合运用语言知识进行程序设计的能力。
三、考试细则
考试采用基于网络环境的无纸化上机考试系统。考试时间为120分钟。试卷总分为100分。
试题由四部分组成:单选题、程序调试题、程序填空题和综合编程题。试卷从局域网的服务器下载、考试结果上传到服务器,若不按照要求上传到服务器,则考试无效.考试阅卷采用机器和人工相结合的网上阅卷方式。
六、几点说明
(一)建议学时数
48-64学时,其中16-32学时为实验课
(二)建议考试对象
二级 C语言程序设计试题及答案(最新)
高等学校计算机等级考试试卷
二级 C语言程序设计
(本试卷考试时间 120 分钟)
一、单选题 ( 本大题 10 道小题,每小题 1.5 分,共15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。
1.在C语言中,下列描述正确的是:(_____)。
A.标识符只能由字母和下划线组成。
B.标识符由任意字符组成。
C.标识符只能由字母、数字和下划线组成。
D.标识符只能由字母组成。
2.设有变量定义:char ch; 若将小写字母a赋给变量ch,正确的表达式是:(_____)。说明:小写字母a的ASCII码值是97。
A.ch='a'
B.ch='97'
C.ch=a
D.ch="a"
3.设有变量定义:int a=345,b=123; 则执行语句
printf("%2d-%2d",a,b);后,输出的结果是:(_____)。
A.45-23
B.34-12
C.345-123
D.222
4.在C语言中关于函数的描述,正确的是:(_____)。
A.main函数的返回类型只能是void
B.函数可以用return返回多个值
C.任何一个函数都可以有多个函数体
D.自定义函数的形式有无参函数和有参函数
5.设有变量定义:int a=5,b=8; 则以下各个选项中,会出现语法错误的if语句是:(_____)。
A.if (a>=b) ;
B.if (a==b) a+=b;
C.if (a<=b) { a--; b++; }
D.if (a!=b) a++ else b++;
6.执行以下代码段后,x的结果是:(_____)。
2010计算机等级考试二级C语言模拟题
D)9
13.有以下程序
main() { char s[ ]= “abcde”; s+=2; printf(“%d\n”,s[0]); } 执行后的结果是________。 A)输出字符a的ASCII码 B)输出字符c的ASCII码 C)输出字符c
D)程序出错
14.有以下程序 fun(int x,int y) {static int m=0,I=2; I+=m+1;m=I+x+y; return m; } main() {int j=1,m=1,k; k=fun(j,m); printf(“%d”,k); k=fun(j,m); printf(“%d\n”,k) } 执行后的输出结果是________。
7.在嵌套使用if语句时,C语言规定else总是_____。
A)和之前与其具有相同缩进位置的if配对 B)和之前与其最近的if配对
C)和之前与其最近的且不带else的if配对
D)和之前的第一个if配对
8.下列叙述中正确的是________。
A)break语句只能用于switch语句 B)在switch语句中必须使用default C)break语句必须与switch语句中的case 配对使用
A)678910
C)12345
B)13579 D)62345
20.若要求定义具有10个int型元素的一维数组a,则以 下定义语句中错误的是
2009年上海市高等学校计算机等级考试试卷及答案A卷
2009年上海市高等学校计算机等级考试试卷及答案A卷
2009年上海市高等学校计算机等级考试试卷
二级 C语言程序设计( A 卷)
一、单选题
1.执行下列语句序列后,不可能出现的运行结果是___C______。
int n;
scanf( "%d", &n);
switch ( n )
{
case 1:
case 2: putchar('X');
case 3:
case 4: putchar('Y'); break;
default: putchar('Z');
A. 显示:z
B. 显示:xy
C. 显示:x
D. 显示:y
2.设a,b为整型变量, 且二者均不为0, 以下关系表达式中恒成立的是__C____。
A. a/b*b/a==1
B. a/b*b==a
C. a*b/a==b
D. a*b/ a*b ==1
3.设有定义:int x=10,y=20,z=30; 则执行下列语句后的结果是___B____。
if ( x>y ) z=x;
x=y; y=z;
printf("%d,%d,%d",x, y, z );
A. 20,30,20
B. 20,30,30
C. 20,30,10
D. 10,20,30
4.下列程序的输出结果是__B___。
main()
{
int a = 011;
printf( "%d\", ++a );
}
A. 9
B. 10
C. 11
D. 12
5.设 x, y 和 z 是int型变量,且 x=3, y=4, z= 5,则下面表达式中值为0
的是__B__。
A. !(x<y)&&!z||1< bdsfid="110" p=""></y)&&!z||1<>
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3. 程序调试题3 调试要求:下列程序包含3个错误,请按题中的功能要求,调试并修改 该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确 的结果。将结果(包括D_2_3.C文件和D_2_3.EXE文件)保存到指定目 录中。 功能说明:函数myStrupr将字符串str中的小写字母转换为大写,并返回 转换的小写字母数。程序输入一个长度小于80的字符串,调用myStrupr 函数将小写字母转换为大写,如果输入串没有小写字母,则输出提示信 息。 如输入:Hello, Everybody. 则输出:HELLO, EVERYBODY. 又输入:I AM BIG.?!@#$% 则输出:no lowercase 带错误原程序(见C:\KS\D_2_3.C): #include<stdio.h> int myStrupr(char str[]) { int i,ct=0; for (i=0;Str[i]!='\0';i++) if (str[i]>='a' || str[i]<='z') { str[i]=str[i]-32; ct++; } return ct; } main() { char str[80]; gets(str); if (myStrupr(str)==0) puts(str); else printf("no lowercase\n"); getchar(); /*本句没错,暂停程序,按任意键继续 */ } (二)编程题 1.编程题1 编程要求:
图6-15 字符倒三角形
源程序: #include <stdio.h> void main() { int i,j; char k; for(i=1;i<=4;i++) { for(j=1; ____1____;j++) putchar(' '); /* 输出空格 */ k='a'; for(j=9-2*i; ____2____;j--) { printf("%c",____3____); k++; } putchar('\n'); } getchar(); /*暂停程序,按任意键继续*/ } 2. 输入一个长度小于40的字符串到数组s,并复制到数组t中,再将s 中的字符串逆序连接到t的后面并输出。例如:输入"ABCD",则字符串t 为"ABCDDCBA"。 源程序: #include <stdio.h> #include <string.h> void main() { char s[80],t[80]; int i; ____1____; printf("输入字符串:" ); scanf("%s",s); m=strlen(s); for(i=0; ____2____;i++) t[i]=s[i]; for(i=0;i<m;i++)
t[m+i]=s[____3____]; t[m+i]='\0'; printf("新的字符串:____4____\n",t); getchar(); /*暂停程序,按任意键继续*/ } 3. 程序说明:函数f用于求数组中的最大值或最小值;主程序调用f求 数组a中最大值和数组b中最小值,并输出最大值与最小值的差。 源程序: #include <stdio.h> float f(float x[],int n, ____1____) { float y; int i; y=x[0]; for(i=1;i<n;i++) if(flag*x[i]>flag*y) y = ____2____; return y; } void main() { float a[6]={3,5,9,4,2.5,1},b[5]={3,-2,6,9,1}; float max; ____3____; max= f(a,6,1); min= ____4____; printf("%.2f\n",____5____); getchar(); /*暂停程序,按任意键继续*/ } 三、操作题 (一)程序调试题 1. 程序调试题1 调试要求:下列程序包含2个错误,请按题中的功能要求,调试并修改 该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确 的结果。将结果(包括D_2_1.C文件和D_2_1.EXE文件)保存到指定目 录中。 功能说明:打印从1~1000 能同时被 3和 5 整除的前n个数。 如输入:3 则输出:15 30 45
请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括 D_4_1.C文件和D_4_1.EXE文件)保存到指定目录中。 功能说明:编写程序,实现以下成绩处理功能(输出格式参见示例): (1)输入学生数n和n个成绩(整数类型,数组名记为a,假设 1≤n≤50); (2)统计n个学生中及格(≥60分)人数及其平均成绩(保留一位小 数); (3)统计n个学生中不及格(<60分)人数及其平均成绩(保留一位小 数)。 运行示例: 输入:8 70 99 50 88 53 48 60 78 输出:Pass:5,79.0 Fail:3,50.3 2.编程题2 编程要求: 请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括 D_4_2.C文件和D_4_2.EXE文件)保存到指定目录中。 功能说明:编写程序,通过以下步骤验证一个正整数是否符合特定的规 则: (1)输入一个4位正整数n,将n分拆成a与b,a为n的低2位,b为n的高2 位; (2)计算a的所有因子之积,记为s(当1≤i<a时,如果a是i的倍数, 则i是a的因子); (3)如果s的低2位等于b,则输出"Yes",否则输出"No"; (4)将a,b,s的值保存到文本文件"D42.TXT"中。 输出格式参见以下示例。 运行示例1: 输入:4412 输出:12: 1*2*3*4*6=144, Yes 运行后文件内容:12 44 144 说明:输入数为4412(对应n)分拆为12(对应a)和44(对应b),12 的因子为1、2、3、4和6,累乘值为144(对应s),s的低2位和b相等, 输出"Yes"。a,b,s的值保存在文件中。
带错误原程序(见C:\KS\D_2_1.C): #include <stdio.h> main( ) { int k; scanf("%d",&n); for(k=1;k<=1000;k++) if(k%3==0&&k%5==0) { print("%d ",k); n--; if(n==0) break; } getchar(); /*本句没错,暂停程序,按任意键继续 */ } 2. 程序调试题2 调试要求:下列程序包含3个错误,请按题中的功能要求,调试并修改 该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确 的结果。将结果(包括D_2_2.C文件和D_2_2.EXE文件)保存到指定目 录中。 功能说明:从键盘输入一个Leabharlann Baidu进制整数n,转化成八进制存入数组a,输 出八进制结果。 如输入:70 则输出:106 带错误原程序(见C:\KS\D_2_2.C): #include <stdio.h> main() { int a[10],n,i=0,j; scanf("%f",&n); do { a[i++]=n%8; n/=10; } while(n>0); for (j=i-1;j>=0;j--) printf("%d",a(j)); getchar(); /*本句没错,暂停程序,按任意键继续 */ }
2010年上海市高等学校计算机等级考试试卷 二级 C语言程序设计 ( C 卷)
(本试卷考试时间 120 分钟) 一、单选题 1. C程序是由_______组成的。 A. 子程序 B. 过程 C. 子函数 D. 主函数和子函数 2. 若有定义语句:char c='\n'; 则变量c _______。 A. 包含4个字符 B. 包含2个字符 C. 包含1个字符 D. 说明不合法,c的值不确定 3. 设有float x=1.25; int n=x; 则语句printf("%.2f,%d\n",x,n); 的输出是:_______ 。 A. 1.25,1.25 B. 1,1 C. 1,1.25 D. 1.25,1 4. 设x为int型变量,且初值为 'f',则执行printf("%c\n", 'A'+(x'a'+1));后的输出结果是 _______。 A. G B. H C. I D. J 5. 设有int n; 则判断“n为二位数(10至99)”的表达式是: _______ 。 A. 10<=n<=99 B. 10<=n || n<=99 C. 10<=n, n<=99 D. 10<=n && n<=99 6. 下列if语句中,错误的是 _______。 A. if(a==b) a-- else b++; B. if(a-b>0) printf("a>b\n"); C. if(x>0&&x<10) y=x*x-1.5;
Image
图6-14 链表结构
A. r->data=p->data; p->data=r; B. p->data=r; r->next=p->next; C. r->next= p->next; p->next=r; D. p->next=r; r->next=p->next; 二、程序填空题 1. 程序运行时输出如图6-15所示的字符倒三角形。 abcdefg abcde abc a
D. swap( p, q ); 13. 若有结构体定义及初始化语句: struct node { int num; float score; } stu[2]= {101,91.5,102,92.5},*p=stu; 则表达式p->score的结果是:_______ 。 A. 101 B. 91.5 C. 102 D. 92.5 14. 设有定义FILE *fp;将整数n以文本方式写到fp文件的语句: _______。 A. fp = fopen( "file.txt", "w" ); B. fprintf( fp, "%d", n ); C. fwrite( &n, sizeof(int), 1, fp ); D. fclose(fp); 15. 假定建立了如图6-14所示的链表结构,指针p指向如图6-14所示的 结点,则将r所指结点直接插入p所指结点后的语句是:_______。
D. if(x) y+=1; 7. 设:int i,n ; float sum; 则求调和级数s=1+1/2+1/3+...前n项 之和的正确循环语句是_______。 A. for(i=1;i<=n;i++) sum+=1/i ; B. for(i=1,sum=0.0;i<=n;i++) sum+=1/i; C. for(i=1,sum=0.0;i<=n;i++) sum+=(float)(1/i) ; D. for(i=1,sum=0.0;i<=n;i++) sum+=1.0/i; 8. C程序中,return语句的作用是_______。 A. 终止程序运行 B. 返回到上层循环 C. 返回到外层结构 D. 返回到上层函数 9. 以下数组定义语句中,错误的是_______。 A. int a[][3]; B. int a[][3]={1,2,3,4,5,6,7,8,9}; C. int a[2][3]={1,2,3,4,5,6}; D. int a[2][3]={1,2,3}; 10. 设有变量定义:char st[]="computer"; int i=0; char *s=st; 当执行完语句:while(*s++!= 'u') i++; 之后,则_______。 A. i的值为5,*s的值为't' B. i的值为5,*s的值为'u' C. i的值为4,*s的值为't' D. i的值为4,*s的值为'u' 11. 设char b[5], *p=b; 下列赋值语句中 _______是正确。 A. b="abcd"; B. *b="abcd"; C. p="abcd"; D. *p="abcd"; 12. 若有函数原型和变量定义语句: void swap( int *p, int *q ); int x, y; 则合法的函数调用语句是:_______ 。 A. swap( x, y ); B. swap( *x, *y ); C. swap( &x, &y );