16软工x班xx号xxx程序设计基础a卷
- 格式:doc
- 大小:318.00 KB
- 文档页数:8
《程序设计基础》A卷 第 1 页 共8页 东莞理工学院城市学院(本科)试卷(A卷) 2016 -2017 学年第二学期
开课单位:计算机与信息科学系 ,考试形式:机试(闭) 卷,允许带 入场 科目:程序设计基础 班级:16软工5 班,姓名: 肖泽凯 学号:201635020532 题序 一 二 三 四 五 六 总 分 得分 0 评卷人
【考前请认真阅读此说明】
1、 考试时间为120分钟。 2、 请将考试文件夹拷贝到E盘下,并将此文件夹重命名为你的学号和姓名首字母,所有文件必须建立在此文件夹内,否则无效。试卷内的“您的文件夹”即表示此文件夹。 3、 请将此文件名改为班级+你的学号后三位+你的姓名,如,“16软工1班101张三.doc”,否则不给分。
4、 交卷时请将此文件保存关闭后再将此文件上传到FTP服务器上,按照班级名称分单双号文件夹存放,如软工1班单号的存放在“软工1班单号”文件夹内,位置存放错误者造成的后果自负!交卷后由监考老师确认后再离开,交卷后不得再重新交卷。 5、 考试时不准打开除考试试卷的word文件和visual c++窗口外的第三个其他窗口,否则将以作弊论处! 6、 请将运行填在截图粘贴到相应的位置,只要结果窗口截图且尽量紧凑,但标题栏必须能将文件路径全部显示,如下图所示。不符合要求者将扣分甚至不给分。 《程序设计基础》A卷 第 2 页 共8页
一、 单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写下表中,注意,不准修改答案颜
色。
题号 1 2 3 4 5 6 7 8 9 10 总分 答案
得分 0
1.以下叙述正确的是( )。 A) 一个C源程序由一个或多个函数组成 B) 一个C源程序中的main()函数必须在程序的开头 C) 在C程序中,注释说明只能位于一条语句的后面 D) 一个C程序的执行是从本程序文件的第一个函数开始,到本程序main函数结束 2.下列C语言用户标识符中合法的是( )。 A) void B) as_b3 C) 2c D) -e2 3 C语言整型常数有十进制、八进制和十六进制三种表达形式,( )是合法的八进制常数表示形式: A) 12 B) 1A C) 0x12 D) 012 4.C语言中,关系表达式和逻辑表达式的值是( )。 A) 0 B) 0或1 C) 1 D) ‘T’或’F’ 5.不合法的数组定义是( )。 A) char a[]="string"; B) char a[]={0,1,2,3,4,5}; C) char a="string"; D) int a[5]={1,2,3,4,5}; 6.C语言中,函数值类型的定义可以为默认,此时函数值的隐含类型是( )。 A ) int B) void C) float D) double
A) 函数返回值的数据类型 B) 函数形参的数据类型 C) 调用该函数时的实参的数据类型 D) 任意指定的数据类型
7.在C语言中,表示静态存储类别的关键字是: ( ) A) auto B) register C) static D) extern 8.有以下说明和定义语句,以下选项中引用结构变量成员的表达式错误的是( )。 struct student{int age;char num[8];}; struct student stu[2]={{20, "200401"} ,{19, "200403"}}; struct student *p=stu; A) (p++)->num B) stu[2].age C) (*p).num D) p->num
9.有如下定义 int i, a[10],*P; 则合法的赋值语句是( ) A p=100; B p=&a[5]; C p=a[2]+2; D p=&a+2; 10.设有数组定义char x[]="China";则数组x所占的空间为( )个字节。 A)7 B)6 C)5 D)4
二、程序运行题(本大题共1小题,共5分)。将结果截图放在题后框内。 《程序设计基础》A卷 第 3 页 共8页
1、(得分: )运行下列代码,文件名为:你的名字拼音首字母_2_1.c,最后输出的结果为三行数据:你的班级、你的学号、你的姓名,将f1.txt和f2.txt文件打开后的截图以及程序运行结果截图放在题后框内。
三、程序改错题(本大题共2小题,每小题10分,共20分),请将正确代码粘贴到右边框内并将修改处加下划线、红色标注(否则不给分!),然后运行并将结果截图。 1、(得分: )给定程序文件名为:你的名字拼音首字母_3_1.c。 以下代码本为:输入x,计算并输出下列分段函数f(x)的值(保留一位小数),
请改正程序中的错误,并将正确代码粘贴到右边框内,然后测试x的值为10和123的结果并将结果截图。
#include #include int main(void){ FILE *fp1,*fp2; char c; if(( fp1 = fopen("f1.txt", "r")) == NULL){ printf(" File open error!\n" ); exit(0); } if(( fp2 = fopen( "doc/f2.txt", "w" )) == NULL){ printf(" File open error!\n" ); exit(0); } while( !feof( fp1 ) ){ c = fgetc( fp1 ); fputc(c, fp2); } fclose( fp1 ); fclose( fp2 ); if(( fp2 = fopen("doc/f2.txt", "r" )) == NULL){ printf(" File open error!\n" ); exit(0); } while((c=fgetc(fp2))!=EOF) putchar(c); fclose( fp2 ); return 0; } f1.txt内容截图
f2.txt内容截图
运行结果截图: 《程序设计基础》A卷 第 4 页 共8页
#include void main() { double x, printf("请输入x:\n"); scanf("%d",x); if(x=10) y=1/x else (x!=10) y=x; printf("f(%.2f)=%d\n",x,y); }
正确代码粘贴在此处,并将修改处加下划线、红色标注(否则不给分!):
结果截图: 2、(得分: )给定程序文件名为:你的名字拼音首字母_3_2.c。此代码实现将x和y两个数交换,但实际上运行后两个数没被交换。请改正程序中的错误,并将正确代码粘贴到右边框内,然后运行并将结果截图。
#include void main () { int x = 5, y= 6; void swap(int a, int b); printf ("交换前: x=%d y=%d\n", x, y); swap(x, y); printf (“交换后: x=%d y=%d\n”, x, y); } void swap (int a, int b) { int t; t = a; a =b; b = t; }
正确代码粘贴在此处,并将修改处加下划线、红色标注(否则不给分!):
结果截图: 《程序设计基础》A卷 第 5 页 共8页
四、程序填空题(本大题共2小题,每空2分,共20分),在每小题的横线上填上相应的内容。注意:不得增行或删行,也不得更改程序的结构! 1、(得分: )给定程序你的名字拼音首字母_4_2.c中,程序功能:用户输入N个学生成绩,统计最高分和最低分。完成下列代码,然后运行程序,将n为5,学生成绩为85,75,65,52,96时的运行结果截图。
#include "stdio.h" void main( ) { int score[N]; //此语句不能更改 int i, n, max, min;
printf("请输入整数n的值(<=%d): ",N); scanf("%d",&n); input(score,n);
for(i=1;iif(score[i]>max) ; if( ) min=score[i]; } printf("max=%d, min=%d\n",max,min); } void input(int a[],int n){ int j; printf("请输入%d个学生成绩:\n",n); for(j=0;jscanf("%d",&a[j]); }
完整代码粘贴在此处,并将填空处加下划线、红色标注(否则不给分!):
结果截图: 2、(得分: )给定程序你的名字拼音首字母_4_2.c中,程序功能:定义一个关于年、月、日的结构,并编写一个函数ComputeDays(struct date m),计算 某日期是该年中的第几天。在主函数中输入一个日期(年、月、日),再调用函数计算,最后输出该日期是该年中的第几天。将输入为