资源描述:
《上海理工大学 c语言复习卷以及答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、参考解答一、单选题1.以下C程序中预处理命令写法正确的是:D。[知识点:编译预处理命令]A.#include“studio.h”B.#include[stdio.h]C.#include{stdio.h}D.#include“stdio.h”2.执行下列语句序列后,不可能出现的运行结果是___C____。[知识点:开关语句]intn;scanf("%d",&n);switch(n){case1:case2:putchar('X');case3:case4:putchar('Y');break;default:putchar('Z');A.显示:
2、zB.显示:xyC.显示:xD.显示:y3.设a,b为整型变量,且二者均不为0,以下关系表达式中恒成立的是___C___。[知识点:运算与数据类型]A.a/b*b/a==1B.a/b*b==aC.a*b/a==bD.a*b/a*b==14.设有定义:intx=10,y=20,z=30;则执行下列语句后的结果是___B____。[知识点:if语句]if(x>y)z=x;x=y;y=z;printf("%d,%d,%d",x,y,z);A.20,30,20B.20,30,30C.20,30,10D.10,20,305.下列程序的输出结果是__B__
3、__。[知识点:整型常量的表示和自增运算]main(){inta=011;printf("%d",++a);}A.9B.10C.11D.126.设x,y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是__B___。[知识点:关系、逻辑运算]A.!(x4、
5、1B.x==y&&y!=zC.x
6、
7、y+z&&y-zD.y&&’y’7.以下所列的各函数声明中,正确的是___D___。[知识点:函数声明]A.subplay(aasinteger,basinteger)B.voidplay(vara:Integer,va
8、rb:Integer)C.voidplay(inta,b)D.voidplay(inta,intb)8.表达式!x等价于__B____。[知识点:关系运算]A.x==1B.x==0C.x!=0D.x!=19.设有定义inta[10];则合法数组元素的下标范围为__B___。[知识点:数组定义]A.1至10B.0至9C.1至9D.0至1010.若有数组定义语句:inta[3][2];则t数组最后一个元素是:D。[知识点:二维数组定义]A.a[3][2]B.a[2][3]C.a[2]D.a[2][1]二、程序调试题1.程序调试题1(D_2_1.C)
9、调试要求:下列程序不能得到正确的结果,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。将结果(包括D_2_1.c文件和D_2_1.exe文件)保存到指定目录中。功能说明:以下程序计算并输出等差数列的累加和,数列的首项为a0,公差为d,项数为n。如输入:-354则输出:sumx=18例示说明:-3为首项,5为公差,4为项数,前4项之和为18原程序(见素材D_2_1.C):#include#includeintsumx(inta0,d,n){in
10、ti,k,s=0;k=a0;for(i=0;i#includeintsumx(inta0,intd,intn){inti,k,s=0;k=a0;for(i=0;i11、nta0,d,n;scanf("%d%d%d",&a0,&d,&n);printf("sumx=%d",sumx(a0,d,n));system("pause");}2.程序调试题2(D_2_2.C)调试要求:下列程序有3处错误,请按题中的功能要求,在不改变程序结构(不增加、删除语句,不调整语句顺序)的情况下调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。将结果(包括D_2_2.c文件和D_2_2.exe文件)保存到指定目录中。功能说明:以下函数length返回字符串中字母A到字母Z所包含字符的长
12、度。主程序输入一行字符串,调用length函数输出该字符串中大写字母A到Z的子串长度。如输入:Z2009-AShanghaiZ则输出:Length=8