还剩6页未读,继续阅读
文本内容:
莆田学院期末考试试卷(B)卷2020—2021学年第1学期课程名称程序设计基础适用年级/专业2020级新工科试卷类别开卷()闭卷(Y)学历层次本科考试用时120分钟《考生注意:答案要全部抄到答题纸上,做在试卷上不给分》
一、选择题(每题2分,共40分)
1、下列C语言合法的数据类型关键字是()oA、Double Bunsigned C、integer D、Char
2、下面叙述错误的是()oA、C源程序可由一个或多个函数组成B、C源程序必须包含一个main函数C、一个C源程序的执行是从mainO函数开始,直到mainO函数结束I)、注释说明部分只能位于C源程序的最前面
3、若有定义int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为()A、3,3B、4,4C、4,3D、3,
44、若定义int a=-5,b=-8,c=-12;则表达式a=b||bc的值为()
5、结构化程序设计的三种基本结构是(A、函数结构、分支结构、判断结构B、函数结构、嵌套结构、平行结构C、顺序结构、分支结构、循环结构D、分支结构、循环结构、嵌套结构A、变量i的值B、变量j的值C、0D、
16、若有定义int a=3,b=2,c=l,k;则表达式k=ab〉c的值是()A、0B、1C、2D、
37、语句x=5%4+(4/5);运行之后,整型变量x的值为()A、1B、2C、3【)、
08、若已定义int a=3,b=3,c=5;,执行语句(++a〈=bc++);后变量a,b,c的值分别为()A、3,3,5B、4,3,6C、4,3,5D、4,4,
69、已知double a;使用scanf()函数输入一个整数给变量a,正确的函数调用是()A、scanf(断d”,a);scanf a);C^scanf(绘
7.2f〃,a);D、scanf a);
10、()是正确的叙述A、表达式〃nT+飞〃是合法的B、若变量x,y为整型,则(a+b)++是合法的C、强制类型转换运算的优先级高于算术运算D、表达式而*n是不合法的
11、若有定义int a=6,b=7,k=0,t=l;语句(k=ab)(t=a==b);运行后,k、t的值分别是()A.00B、11C.01D
1012、若有定义int x=l,y=2,z=3;则表达式的值为0A、!x B、xy||x C、x=y D、x|y+zy-z
13、若有定义int b=-15;则正确的赋值表达式是()A、b+=b*3B、b=*5C、*b=6D、b+10=-
514、若有定义int a=2,b=3,c=l;则以下程序段的运行结果是ifabif acprintf z,%d”,a;else printf,z%d”,b;printf C%d”,c;A、31B、21C、3D、
115、字符串〃Happy\\day\023\n〃所占的字节数是.A、11B、13C、15D、
1616、下列表达式不能用来判断整型变量x中的值是否为奇数A、x%2=l B、!x%2=0C、!x%2D、x%
217、以下程序段执行后,x
[0]的值为oint x
[5]=3,8,6,2,1};x
[0]=x[l]+x
[2]-x
[3]:A、3B、5C、11D、1218^若已定义char b
[20]=Nice tomeet you!”;实现输出字符串“meet〃的语句是A、printf b;B、printf b+8;C、printf b+8;D、printf枇〃,b
[8];
19、若已定义int x=8,*p;,执行语句口=*;后,都能正确表示变量x所在单元地址的是A、*p,x*p,x C、p,x D、p,x
20、以下程序运行后,屏幕显示ok!,下列说法正确的是ttinclude stdio.hint main{FILE*fp;fp二fopenabc.txt,wt;iffp!=NULL{fprintf fp,〃%s\n,Write successcd!\nz,;fclosefp;printfok!\n〃;}return0;A、当前工作目录下存在abc.txt文件,其中的内容是“ok!〃B、fclosefp;语句的功能是打开文件C、当前工作目录下一定不存在abc.txt文件D、当前工作目录下一定存在abc.txt文件
二、写出程序运行结果每题4分,共24分
1、以下程序的运行结果是试卷第2页共9页ttinclude stdio.httdefine N2ftdefine MN+lffdefine NUMM+2*M/3int main{printfC%d\n\NUM;return0;}
2、以下程序段的运行结果是o int a[]={l,2,3,4,i;fori=0;i=3;i+=2{a[i]=a[i]*3;fori=0;i4;i++printf*%d a[i];
3、以下程序段执行后sum的值是int a
[3]
[3]={1,2,3,4,5,6,7,8,9;int i,j,sum=0;fori=0;i3;i++forj=i;j3;j++sum+=a[i][j];
4、以下程序的运行结果是oint main{int n=9;switch n{default:printf n;case7:printfn;break;case6:printfn++;case5:printfn;}return0;}
5、以下程序的运行结果是#include stdio.hint main{int n=,c;switchn-{casea:caseb:printfboy;break;casec:printf〃car〃;break;default:printfsport;return0;
6、下列程序的运行结果是tfinclude stdio.h int main{int i,j,k;fori=l;i=4;i++{fork=l;k=i;k++printf48+i;return0;}
三、程序填空每空1分,每题4分,共24分
1、下面程序的功能是交换两个整数x,y的值例如,x=3,尸5,运行程序后输出x=5,y=3^include stdio.hint main{
①x,y,t;scanf%d%d”,x,y;t二x;x=
②;y二
③;printf
④\n,a,b;return0;
2、求10个数中的最小值#include stdio.hint main{int Q,min,i;for i=;i10;i++scanf®;m in=;fori=l;i10;i++if®min=a[i];printfmin二%d\n〃,min;试卷第4页共9页return0;
3、将字符串可以包含空格字符中下标为奇数,ASCII值为偶数的字符存入字符串a中例如,str为“AbCdEegH”,则a为bdHftinclude stdio.h int main{char str
[100],a
[100];int i,®;®;〃从键盘输入字符串strfor i=0;str[i];i++if i%2==1tr[i]%2—0a[p++]=3;a[p]=
④;putsa;return0;
4、随机产生10个[10,99]的整数,用选择法对这10个数进行升序排列后输出#include stdio.h#include
①intmain{int a
[10];int i,j,t,m;unisigned seed=unisignedtimeNULL;srandseed;for i=0;i10;i++a[i]二
②;for i=0;i=8;i++{m=i;for j=i+l;j=9;j++ifa[m]a[j]
③;if®{t=a[m];a[i]=t;}for i=0;i=9;i++printf%d a[i];return0;
5、输入Hello,程序输出UeH,请填空ttinclude stdio.h®//void invertchar str[]if@\0*〃只有一个字符,直接输出putcharstr
[0];else{i overt;putcharstr
[0];return;intmain{char str
[100];__________________;invertstr;return0;
6、已知一维数组a中有10个整数,用函数求这10个整数的和以及最大值,用return返回和,用指针带回最大值^include stdio.hint fint a[],int n,int*p{int i,
①,in;fori=0;in;i++s=
②;m=a
[0];fori=0;in;i++ifma[i]m=a[i];
③;return s;intmain{inta
[10]={l,2,3,4,5,16,7,8,9,10};int sum,max;sum=®;prinlfsum=%d max=%d〃,sum,max;return0;
四、编程题每题6分,共12分
1、计算分数序列2/1,3/2,5/3,8/5,……前15项的和试卷第6页共9页
2、统计字符串中小写字符的个数莆田学院期末考试参考答案及评分标准(B)卷2020—2021学年第1学期课程名称程序设计基础适用年级/专业2020级新工科试卷类别开卷()闭卷)学历层次本科考试用时120分钟«
一、选择题(每题2分,共40分)题号12345678910答案B D C DC AA CDC题号11121314151617181920答案D AA DA C1B DI
二、写出程序运行结果(每题4分,共24分)
1、_J
02、
32943、_26______________
4、_99______________
5、car
6、1223334444
三、程序填空(每空1分,每题4分,共24分)
1、
①int
2、
①a
[10]
3、
①p=0
②y
②a[i]
②getsstr
③t
③a
[0]
③str[i]@a二%d,b=%d
④mina[i]
④0或,\(r
4、®time.h
5、
①void invertchar str[]
6、
①s=0
②10+rand%90
②str[Oj
②s+a[i]
③m=j
③str+1
③*p=m
④m!=i
④gets str
④f a,10,max
四、编程题(每题6分,共12分)
1、计算分数序列2/1,3/2,5/3,8/5,……前15项的和#include stdio.hint main{int n,fl=l,f2=2,t;〃1分float sum=0;〃1分for n=l;n=15;n++〃1分{sum+=
1.0*f2/fl;//I分l二f2;f2=fl+f2;〃1分fl=t;printf sum=%f〃,sum;〃1分return0;
2、统计字符串中小写字符的个数ftinclude stdio.hint mainO{char a
[100];〃1分int i,n=0;//I分〃1分for i=0;a[i];i++//I分if a[i]=,a*,a[i]=,z*n++;//I分printf,,n=%d,/,n;〃1分return0;试卷第8页共9页。