上海理工大学c语言复习卷以及答案.docx
- 文档编号:11451110
- 上传时间:2023-03-01
- 格式:DOCX
- 页数:13
- 大小:33.88KB
上海理工大学c语言复习卷以及答案.docx
《上海理工大学c语言复习卷以及答案.docx》由会员分享,可在线阅读,更多相关《上海理工大学c语言复习卷以及答案.docx(13页珍藏版)》请在冰豆网上搜索。
上海理工大学c语言复习卷以及答案
上海理工大学c语言复习卷以及答案
参考解答一、单选题
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.显示:
z
B.显示:
xy
C.显示:
x
D.显示:
y
3.设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
4.设有定义:
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,20
B.20,30,30
C.20,30,10
D.10,20,30
5.下列程序的输出结果是__B____。
[知识点:
整型常量的表示和自增运算]main()
{
inta=011;
printf("%d\n",++a);}
A.9
B.10
C.11
D.12
6.设x,y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是__B___。
[知识点:
关系、逻辑运算]
A.!
(x z||1 B.x==y&&y! =z C.x||y+z&&y-z D.y&&’y’ 7.以下所列的各函数声明中,正确的是___D___。 [知识点: 函数声明]A.subplay(aasinteger,basinteger)B.voidplay(vara: Integer,varb: Integer)C.voidplay(inta,b) D.voidplay(inta,intb) 8.表达式! x等价于__B____。 [知识点: 关系运算] A.x==1 B.x==0 C.x! =0 D.x! =1 9.设有定义inta[10];则合法数组元素的下标范围为__B___。 [知识点: 数组定义] A.1至10 B.0至9 C.1至9 D.0至10 10.若有数组定义语句: 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) 调试要求: 下列程序不能得到正确的结果,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。 将结果(包括D_2_1.c文件和D_2_1.exe文件)保存到指定目录中。 功能说明: 以下程序计算并输出等差数列的累加和,数列的首项为a0,公差为d,项数为n。 如输入: -354 则输出: sumx=18 例示说明: -3为首项,5为公差,4为项数,前4项之和为18原程序(见素材\D_2_1.C): #include #include intsumx(inta0,d,n) { inti,k,s=0; k=a0; for(i=0;i s+=k; k+=d;(return要放在花括号的后面) returns; } voidmain() { inta0,d,n; scanf("%d%d%d",&a0,&d,&n); printf("sumx=%d\n",sumx(a0,d,n));} 答案: #include #include intsumx(inta0,intd,intn) { inti,k,s=0; k=a0; for(i=0;i {s+=k; k+=d;} returns; } voidmain() { inta0,d,n; scanf("%d%d%d",&a0,&d,&n); printf("sumx=%d\n",sumx(a0,d,n)); system("pause"); } 2.程序调试题2(D_2_2.C) 调试要求: 下列程序有3处错误,请按题中的功能要求,在不改变程序结构(不增加、删除语句,不调整语句顺序)的情况下调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。 将结果(包括D_2_2.c 文件和D_2_2.exe文件)保存到指定目录中。 功能说明: 以下函数length返回字符串中字母A到字母Z所包含字符的长度。 主程序输入一行字符串,调用length函数输出该字符串中大写字母A到Z的子串长度。 如输入: Z2009-AShanghaiZ 则输出: Length=8 例示说明: 从A到Z的子串为Shanghai,其长度为8原程序(见素材\D_2_2.C): #include charq[100],r[100]; inti,j,k; for(i=0;p[i]='A';i++) ; for(j=i+1;p[j]! ='\0'&&p[j]! ='Z';j++) ; returnj-i; } voidmain() { charstr[81]; intn; gets(str[0]); n=length(str); printf("Length=%d\n",n); system("pause"); } 答案: #include inti,j; for(i=0;p[i]! ='A';i++); for(j=i+1;p[j]! ='\0'&&p[j]! ='Z';j++); returnj-i-1; } voidmain() { charstr[81]; intn; gets(str); n=length(str); printf("Length=%d\n",n); system("pause"); } 三、程序填空题 1.以下程序输入一个10进制整数,转换为16进制,计算16进制的各个位数, 并从高位到低位依次输出。 如输入: 687 则输出: 2AF 例示说明: 10进制687等于16进制2AF,输出时2、A、F中间包含空格 源程序(见素材\T_3_1.C): #include #include { inta[10],i,n; scanf("%d",&n); for(i=0;n>0;i++) { a[i]=____1____; n/=16; } for(i--;____2____;____3____) printf("%X",a[i]);} 答案: #include #include voidmain() { inta[10],i,n; scanf("%d",&n); for(i=0;n>0;i++) { a[i]=n%16; n/=16; } for(i--;i>=0;i--) printf("%X",a[i]); system("pause"); } 2.以下程序输入n和n个大于1的正整数,输出其中素数。 如输入: 51993113715 则输出: 191137 例示说明: 先输入n为5,再输入5个正整数,输出5个整数中的素数 源程序(见素材\T_3_2.C): #include #include { intn,a,i,j,ct; scanf("%d",&n); for(i=0;____1____;i++) { ______2______; scanf("%d",&a);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上海 理工大学 语言 复习 以及 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)