《高级语言程序设计I》 考试试卷A卷
北京工业大学实验学院2015 ——2016 学年第 1 学期《高级语言程序设计I》 考试试卷A卷
北京工业大学实验学院2015 ——2016 学年第 1 学期
《 高级语言程序设计I》 考试试卷A卷
考试说明: 机考,只允许带教材一本 承诺:
本人已学习了《北京工业大学实验学院考场规则》和《北京工业大学
学生违纪处分条例》,承诺在考试过程中自觉遵守有关规定,服从监考教
师管理,诚信考试,做到不违纪、不作弊、不替考。若有违反,愿接受相
应的处分。
承诺人: 学号: 班号:02
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
卷 面 成 绩 汇 总 表(阅卷教师填写)
1. 以下合法的字符常量是 。
A. “a” B. ‘chana’ C.’\n’ D. a
2. 十六进制(A9)16与哪个值等值 。
A. (1010 1001)2 B. (1011 1000)2 C. (1010 1000)2 D. (1111 1001)2
3.下列程序段中,能正确输入10个数到数组arr中的是 。
A. int i;float arr[10]; for(i=0;i<10;i++) scanf(“%f”,a[i]);
B. int i;float arr[10]; for(i=0;i<10;i++) scanf(“%f”,&a[i]);
C. int i;float arr[10]; for(i=0;i<10;i++) scanf(“%f”,a);
D. int i;float arr[10]; for(i=0;i<10;i++) scanf(“%d”,&a[i]);
北京工业大学实验学院2015 ——2016 学年第 1 学期《高级语言程序设计I》 考试试卷A卷
4. 若变量c为char类型,在C语言中能正确判断出c为数字字母的表达式是 ( )
A. 0<=c<= 9 B.(c>= '0') || (c<= '9')
C. ('0'<=C)and ('9'>=c) D. (c>= '0')&&(c<= '9')
5. 若变量已正确定义且k的值是5,计算表达式(j=k++)后, _是正确的。
A.j=5,k=5 B. j=5,k=6 C. j=6,k=5 D. j=6,k=6
6. C语言程序中可以对程序进行块注释,注释部分用符号_ _ _括起来。
A. '{'和'}' B. '['和']'
C. "/*"和"*/" D. "*/"和"/*"
7. 1KB表示的字节数是 字节。
A.1024B B. 1000B C. 1024×1024B D. 1024KB;
8.以下正确的说法是 。
A、实参与其对应的形参共同占用一个存储单元
B、实参与其对应的形参各占用独立的存储单元
C、只有当实参与其对应的形参同名时才占用一个共同的存储单元
D、形参是虚拟的,不占用存储单元
9.若实现将字符串str1赋值给字符串str2,应当使用 。
A. strcpy(str1,str2) B. strcmp(str2,str1)
C .strcpy(str2,str1) D. str2=str1
10. 设有数组定义 char str[]=“Program”,数组所占空间为 字节。
A. 6 B.7 C. 8 D. 9
二、按要求完成下列各题(每题4分 共20分)
1. 下列程序计算1到10之间奇数之和及偶数之和的程序,调试程序排除错误,并正确输出。
#include <stdio.h>
void main()
{ int n,x,y;
北京工业大学实验学院2015 ——2016 学年第 1 学期《高级语言程序设计I》 考试试卷A卷
while (n<=10)
{
if (n%2!=0) x=x+n;
else y=y+n;
}
printf("x=%d ,y= %d",x,y);
}
答案:
2.调试下列程序,使其正确运行。
#define PI 3.14
int main()
{
float s ,r;
printf("\n圆的半径:")
scanf("%d",&r);
s=pi*r*r;
printf("s=%.2d\n",s);
return 0;
}
答案:
北京工业大学实验学院2015 ——2016 学年第 1 学期《高级语言程序设计I》 考试试卷A卷
3. 下列代码将间隔输出字符串各字符,请补充程序输出部分。
#include <stdio.h>
#include <string.h>
#define N 80
void main()
{
char str[N]={'\0'} ;
int i ;
printf("\n input str:");
gets(str);
for(i=0;i<=strlen(str);i+=2)
{
printf("%c\t",str[i]);
}
}
4. 主函数通过调用swap函数实现两个数据的交换,试分析下列swap函数调用结束后,主调函数中的两个数据未完成交换的原因:
……
void swap(int x, int y)
{
int temp;
temp = x;
x = y;
y = temp;
}
分析错误原因:
5.阅读程序,写出运行结果。
void main()
{
int x=2, i;
for(i=0;i<3;i++)
printf("%d\t",fun(x));
}
北京工业大学实验学院2015 ——2016 学年第 1 学期《高级语言程序设计I》 考试试卷A卷
int fun(int a)
{
int b=0;
static int c=5;
b++;
c++;
return a*b*c;
}
运行结果:
三、 编写程序,并调试程序正确运行(60分)
1. 编写一个计算1+3+5+7+9....n值的程序,当其累加和超过100时,输出共计累加了多少数?输出当时的累加和是多少? (10分)
答案代码:
2.用1元5角钱人民币兑换5分、2分、1分硬币100枚,要求每一种硬币都必须有,编程计算有多少种兑换方案?每种方案各多少枚?(10分)
答案代码:
北京工业大学实验学院2015 ——2016 学年第 1 学期《高级语言程序设计I》 考试试卷A卷
3. 不用函数strcat(),自定义函数mycat实现字符串连接功能(10分)。
输入输出实例:
string1: abcdef
string2: xyz
连接后:string1:abcedfxyz
答案代码:
4.从键盘输入一个整数n(n<10),编程输出图案,其中n为图形行数(10分)。
答案代码:
北京工业大学实验学院2015 ——2016 学年第 1 学期《高级语言程序设计I》 考试试卷A卷
5.从键盘任意输入某班10个学生的成绩,对成绩进行由高到低的排序,输出排序后成绩,并统计不及格的学生人数。要求按照以下要求及函数原型进行编程:(20分)。
1)编写主函数实现10个学生的成绩输入,并完成函数调用;
2)编写自定义函数void sort(int score[],int n),实现将成绩数组按照从高到低进行排序(算法任意)。
3)编写自定义输出函数void out_scort(int score[],int n),实现将排序后的数组内容输出到屏幕上。
4) 函数int fail(int score[],int n),实现统计不及格的学生人数。
答案代码:
- 基于PLC控制的航空电镀生产线自动输送
- 中考预测课内外文言文对比阅读2
- 2018-2023年中国商业智能(BI)产业市场
- 中国金融体制改革研究2011new
- 外窗淋水试验方案
- 精益生产(Lean Production)
- 学校安全事故处置和信息报送制度
- Chapter 5 Human Resources Management
- 【小学数学】人教版小学六年级上册数学
- 初中数学解题方法与技巧
- 山东省创伤中心建设与管理指导原则(试
- 函数与数列的极限的强化练习题答案
- 10分钟淋巴按摩消脂
- 网络应急演练预案
- 服装设计入门基础知识
- 初二数学分式计算题练习
- (人教新课标)高二数学必修5第二章 数列
- 最新自主创业项目
- 北京大学 无机化学课件 4第4章 配合物
- 贸易公司业务管理制度




