北京联合大学
C语言程序设计课程期末考试
(2013—2014学年 第2学期) 本科? 专科□
课程考试代码 CSE160002C A卷? B卷□ C卷□ D卷□ E卷□
(考试时间90分钟)
注意:
(1)在实1507的E盘建立本人文件夹,文件夹名由A、本人13位学号和姓名构成(如“A2013110302260张三”)。
(2)将每道题的 \文件务必保存在本人文件夹中。
(3)考试期间不要擅自重启机器,遇到死机时请找监考老师。
(4)将各题目中涉及到的所有“??”务必改为本人学号的后两位,否则影响成绩。
(5)交卷方法在本试卷最下面。
一、根据流程图编程题(本大题共1个小题,共20分)
(1)在VC++集成环境下建立本人文件夹下的文件??_1.c(其中??代表本人学号的后两位)。
(2)根据下面的流程图编写程序。 (3)保存程序后,关闭工作区。
第1页 共5页
北京联合大学
开始定义整型变量k、x、y、m输入x的值y=x给m赋值为0给k赋值为1假k<10真输入x的值假x 结束 二、根据提示编程题(本大题共1个小题,共20分) 编写程序计算下面分段函数的值。 ?2v??u??v3?v???10?10?23?1?v?v?v?1??v?5? ?5??1?(1)在VC++集成环境下建立本人文件夹下的文件??_2.c(其中??代表本人学号的后两位)。 (2)将下面代码框架复制到VC++编程环境后,根据注释补充代码。 (3)保存程序后,关闭工作区。 #include 第2页 共5页 北京联合大学 } /* 定义整型变量v?? ,??是自己学号的后两位*/ /* 定义实型变量u?? ,??是自己学号的后两位*/ * /* 显示\ /* 输入v??的值 */ /* 下面要求用if语句计算相应u??的值(应为多行) */ /* 输出v??和u??的值 */ 三、独立编程题(本大题共1个小题,共20分) 编写程序,使用随机函数“rand()”生成8个[1,150]之间的整数存于数组中,输出该数组中各元素的值;计算该数组中大于40且是5的倍数的元素的平均值,输出该平均值。 (提示:使用rand()0+1可以产生一个[1,150]之间的整数;程序应包含头文件: (1)在VC++集成环境下建立本人文件夹下的文件??_3.c(其中??代表本人学号的后两位)。 (2)编写程序。 (3)保存程序后,关闭工作区。 四、独立编程题(本大题共1个小题,共15分) 编写程序,从键盘输入2个字符串,分别存入字符数组s和t中(数组大小为40),比较这两个字符串,如果两个字符串相同,直接输出“Two strings are equal.”,否则将较大的字符串与字符串“ is greater than ”和较小的字符串连接后存入字符数组r中(数组大小为100),输出连接后的字符串r。 提示:程序应包含头文件 (1)在VC++集成环境下建立本人文件夹下的文件??_4.c(其中??代表本人学号的后两位)。 (2)编写程序。 (3)保存程序后,关闭工作区。 五、程序填空题(本大题共5个空,共10分) 程序功能:从键盘为数组输入值,然后找出数组中大于10且下标是偶数的数组元素,将这些数保存到另一个数组中。要求必须使用指针实现。 (1)在VC++集成环境下建立本人文件夹下的文件??_5.c(其中??代表本人学号的后两位)。 (2)将下面代码复制到VC++编程环境后填空。 (3)保存程序后,关闭工作区。 #include 第3页 共5页 北京联合大学 int c[10]={0},d[10]={0},*p=NULL,i,j=0; 【1】 ; /*使指针p指向数组c */ for(i=0;i<10;i++) scanf(\ 【2】 ); /*为数组输入值*/ for(i=0;i<10;i++) printf(\ /*输出数组元素*/ printf(\ for(i=0;i<10;i++) if( 【3】 ) /*查找数组中大于10且下标是偶数的元素*/ { 【4】 ; /*将满足条件的数存放到数组d中*/ j++; } for(i=0; 【5】 ;i++) /*输出数组d中的非零元素*/ printf(\ } 六、补充函数编程题(本大题共1个小题,共15分) 程序功能要求:已知一个元素均为三位数的数组,包括正整数和负整数,在程序中调用函数output_s把所有数组元素按逆序输出,调用函数minus_s将数组中所有正整数都分别减去10,最后调用函数calculate_s统计数组元素中正整数的百位数值与个位数值之和为奇数的元素个数并输出统计结果。请将函数补充完整。 (1)在VC++集成环境下建立本人文件夹下的文件??_6.c(其中??代表本人学号的后两位)。 (2)将下面代码框架复制到VC++编程环境后,补充函数体。 (3)保存程序后,关闭工作区。 #include void output_s (int *d,int n); void minus_s (int *d, int n); void calculate_s (int *d,int n); main() { int d[11]={171,220,-103,-235,-591,241,-690,273,358,230,-194}; output_s (d,11); /*所有数组元素按逆序输出 */ minus_s (d,11); /*将数组元素中所有正整数分别减去10 */ calculate_s (d,11); /*统计数组元素中正整数的百位与个位数值之和为奇数的元素个数并输出 */ } /*函数功能:所有数组元素按逆序输出*/ void output_s (int *d, int n) { 第4页 共5页 北京联合大学 } /* 函数功能:将数组中所有正整数分别减去10 */ void minus_s (int *d, int n) { } // 统计数组元素中正整数的百位与个位数值之和为奇数的元素个数并输出 void calculate_s (int *d, int n) { } 交卷方式: (1)答卷结束后,关闭所有窗口。确认本人文件夹下有6个“.c”文件。 (2)考试结束后由监考教师提交,但离开考场前,请监考老师检查。 (3)不要关机。 第5页 共5页