093模拟卷1.docx
- 文档编号:14431301
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:17
- 大小:19.70KB
093模拟卷1.docx
《093模拟卷1.docx》由会员分享,可在线阅读,更多相关《093模拟卷1.docx(17页珍藏版)》请在冰点文库上搜索。
093模拟卷1
093:
课程名:
程序设计基础(C语言)-模拟1
一、单项选择题(20分,每小题1分)
1.关于C程序第1行的包含语句,以下写法中正确的是:
A.#includestdio.h
B.#include'stdio.h'
C.#include(stdio.h)
D.#include
答案:
D
2.以下选项中正确的C语言标识符是:
A.123
B.AaBb
C.a+b
D.int
答案:
B
3.以下哪组选项的三种类型都是C语言的基本类型:
A.int,long,real
B.integer,short,double
C.int,float,char
D.int,decimal,char
答案:
C
4.设有intn;从键盘上输入整数给变量n,正确的语句是:
A.scanf(n);
B.scanf("n");
C.scanf("%d",n);
D.scanf("%d",&n);
答案:
D
5.语句printf("%.1f,%d\n",10./4,10/8);的输出是:
A.2.5,1.25
B.2.5,1
C.1,1.25
D.2,1.25
答案:
B
6.设intn,m;使m为n的十进制百位数的语句是:
A.m=n/100;
B.m=n%100;
C.m=n/100%10;
D.m=n%10/100;
答案:
C
7.设intn;判断“n为0”的表达式是:
A.n=0
B.n!
=0
C.!
(n=0)
D.n==0
答案:
D
8.设intn;对应“n为二位数(10至99)”的判断表达式是:
A.10<=n<=99
B.10<=n&&n<=99
C.10<=n||n<=99
D.10<=n,n<=99
答案:
B
9.与语句“m+=(x=5)+(--y);”等价的语句序列是:
A.m=m+x+y;x=5;y=y-1;
B.x=5;m=m+x+y;y=y-1;
C.x=5;y=y-1;m=m+x+y;
D.y=y-1;m=m+x+y;x=5;
答案:
C
10.设有定义intm=1,n=6;赋值使m为8的语句是:
A.m=(n++)+1;
B.m=1+(++n);
C.m+=n==6?
1:
0;
D.m+=n++;
答案:
B
11.在C语言中,根据一个表达式的值转向多个分支的语句是:
A.if-else语句
B.switch语句
C.case语句
D.return语句
答案:
B
12.设有intn=60;写出下列语句的运行结果
switch(n/10)
{
case6:
printf("@");break;
case5:
printf("#");
default:
printf("$");
}
A.@
B.#$
C.$
D.@#$
答案:
A
13.以下一维数组定义中,正确的是:
A.inta[5]={1,2,3,4,5};
B.inta[5]=1,2,3,4,5;
C.inta[1to5];
D.inta[];
答案:
A
14.设有定义intm=2,n=5,*p=&n;则语句“m=*p;”的结果是:
A.指针p指向m
B.变量m的值变为5
C.变量n的值变为2
D.指针p指向m,同时变量m的值变为5
答案:
B
15.设有下列变量说明与函数说明,则合法的函数调用语句是:
intfunc(inta[],intn);
inta[10],n,x;
A.func(a,n)=x;
B.x=func(a,n);
C.x=func(a[],n);
D.x=func(a[10],n);
答案:
B
16.以下字符串定义与赋值中,正确的是:
A.chars[80];s={'A','B','C'};
B.chars[80];s="ABC";
C.chars[80]={"A","B","C"};
D.chars[80]="ABC";
答案:
D
17.设有定义chara[]="abcDEF",*p=a+3;则puts(p)的输出结果是:
A.abcDEF
B.bcDEF
C.cDEF
D.DEF
答案:
D
18.设有以下结构体定义及初始化,表达式x.fz*y.fm的结果是:
structfs{intfz,fm;};
structfsx={2,3},y={5,7};
A.14
B.10
C.21
D.15
答案:
A
19.设有定义FILE*fp;将整数n以文本方式写到fp文件的语句:
A.fp=fopen("file.txt","w");
B.fprintf(fp,"%d",n);
C.fwrite(&n,sizeof(int),1,fp);
D.fclose(fp)
答案:
B
20.表达式10&12和10^12的计算结果分别是:
A.8和14
B.8和6
C.14和8
D.6和8
答案:
B
二、填空题(10分,每小题2分)-模拟1
1.写出下列语句段的运行结果。
intn=123;floatx=95.123;
printf("%d,%05d,%4.1f,%1.2f\n",n,n,x,x);
答案:
123,00123,95.1,95.12
2.写出对应下列要求的判断表达式。
(设有inta,b,c;)
判断:
整数a,b,c互不相等
例如a=1、b=2、c=3,则结果为真
例如a=2、b=2、c=3,则结果为假
答案:
a!
=b&&a!
=c&&b!
=c
3.写出下列程序的运行结果。
#include
chargrade(floatscore)
{
if(score>=90)return'A';
elseif(score>=80)return'B';
elseif(score>=70)return'C';
elseif(score>=60)return'D';
elsereturn'E';
}
main()
{
floatsc;chargr;
gr=grade(95);
putchar(gr);
gr=grade(59);
putchar(gr);
}
答案:
AE
4.填写代码中的空位(?
所在位置)使程序或函数完整。
#include
intfind(inta[],intn,intx)
{
inti;
for(i=0;i if(____? ____) returni; return-1; } main() { intk,a[3]={90,99,59}; k=find(a,3,59); if(k>=0) printf("a[%d]=%d\n",k,a[k]); else printf("NotFound\n"); } /*函数find在数组a中查找值为x元素,并返回下标*/ /*运行结果为a[2]=59*/ 答案: a[i]==x 5.填写代码中的空位(? 所在位置)使程序或函数完整。 #include intsplit(inta[],longd,intm) { inti; for(i=0;1;i++) { a[i]=____? ____; d=d/m; if(d<=0) returni+1; } } main() { intn,i,a[10]; n=split(a,12345,10); for(i=0;i printf("%d",a[i]); } /*函数split将整数d转化为m进制并存入数组a,a[0]对应低位*/ /*运行结果为: 54321*/ 答案: d%m 上机操作题,4题,共70分 第1题(源程序文件E: \answer\1-X-1.C) 上机要求: 下列程序包含4个错误(2个函数各2行有错误),请输入该程序的代码,找出并更正程序错误,在修改行代码后增加“/***/”注释,将修改后的源程序保存到E: \answer\1-X-1.C中。 程序功能: 从键盘上输入5个成绩,输出及格(60分及以上)成绩的个数。 如输入: 60805010059 则输出: Count=3 再如输入: 010203040 则输出: Count=0 函数说明: 程序中函数count_ae从数组a中统计数值大于或等于x的元素个数并返回。 函数中变量i用于遍历数组a,变量ct用于统计个数。 主函数main从键盘上输入5个整数到数组a中,调用count_ae函数统计及格人数,并输出。 2个函数各有2个错误,分布在不同代码行上。 带错误原程序: #include intcount_ae(inta[],intn,intx) { inti,ct: =0; for(i=0,i if(a[i]>=x) ct++; returnct; } main() { inta[5],i; for(i=0;i<5;i++) scanf("%d",&a[i]); ct=count_ae(a[5],5,60); printf("Count=%d\n",ct); } 第2题(源程序文件E: \answer\1-X-2.C) 上机要求: 按程序功能要求编写程序,并将程序代码保存到E: \answer\1-X-2.C中。 程序功能: 编写程序,按示例实现以下功能: (1)输出本题考试的学期号与题号,即“093,1-X-2” (2)输出考生的基本信息,包括实际考试机房、机号、机号的单双(机号单输出Odd,机号双输出Even)、学号、姓名拼音。 (3)从键盘上输入n和n个整数。 (4)输出其中的最大值与平均值。 如输入: 3705090 则输出: 093,1-X-2 D413-27(Odd),09123456,ZhangDaHai注: 按考生实际 Max=90 Ave=70.0 示例说明: 输出共4行,第1行为本考题基本信息,应为“093,1-X-2”;第2行为考生本次考试的基本信息,请按实际情况输出,示例表示D413机房的27号计算机,机号为单(输出Odd),学号为09123456,姓名拼音为ZhangDaHai(张大海);输入3及后续3个整数中,最大值为90,平均值为70.0。 第3题(源程序文件E: \answer\1-X-3.C) 上机要求: 按程序功能要求编写程序,并将程序代码保存到E: \answer\1-X-3.C中。 程序功能: 从键盘上输入5个整数(设每个整数均取值1至5),按示例格式输出n行数字图形,每行的数字及数字个数与输入数相对应。 编写程序可以使用或参考所提供的函数。 如输入: 54321 则输出(□表示空格,↙表示回车): 5□4□3□2□1□↙ □□4□3□2□1□↙ □□□□3□2□1□↙ □□□□□□1□1□↙ □□□□□□□□1□↙ 示例说明: 输出共5行,右对齐形状。 输入的第1个数为5,则输出的第1行有5个数(取值5至1),数字之间含有1个空格,数值1之前有2*(5-5)=0个空格;以此类推。 函数说明: 下列代码提供1个函数,可供编写程序时调用或参考。 函数prtline_x可以输出图案中的某一行,参数m表示输出该行的m个数(取值m至1)。 函数代码: 函数代码 说明 voidprtline_x(intm) { inti; for(i=1;i<=5-m;i++) printf(""); for(i=m;i>=1;i--) printf("%d",i); printf("\n"); } 函数: 输出图案中的一行,m个数字 先输出2*(5-m)个空格 循环5-m次,每次输出2个空格 再输出m个数字,数字后带有空格 最后输出换行 第4题(源程序文件E: \answer\1-X-4.C) 上机要求: 按程序功能要求编写程序,并将程序代码保存到E: \answer\1-X-4.C中。 程序功能: 输入10个整数(存贮在一维数组a中),按示例格式计算并输出以下结果。 (1)从大到小排序; (2)并按每行3个数的格式输出。 如输入: -10-20304050100607080100 则输出: 10010080 706050 4030-10 -20 示例说明: 输入10个整数,从大到小排序,排序后分4行输出,每行输出3个数。 操作题参考 1.程序1-X-1.C #include intcount_ae(inta[],intn,intx) { inti,ct=0; for(i=0;i if(a[i]>=x) ct++; returnct; } main() { inta[5],i,ct; for(i=0;i<5;i++) scanf("%d",&a[i]); ct=count_ae(a,5,60); printf("Count=%d\n",ct); } 2.程序1-X-2.C #include intsca_n(inta[]) { intn,i; scanf("%d",&n); for(i=0;i scanf("%d",&a[i]); returnn; } intmax(inta[],intn) { inti,x; x=a[0];
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 093 模拟