高三C语言第一次模拟考试试题
姓名:________班级:________总分:__________
一、选择题(每小题5分,共30分)
19.<framesetrows=#>是用来指定什么的?()
A.混合分框B.纵向分框C.横向分框D.任意分框
20.HTML文本显示状态代码中,<SUP></SUP>表示()
A.文本加注下标线B.文本加注上标线
C.文本闪烁D.文本或图片居中
21.框架中“不可改变大小”的语法是下列哪一项()
A.<IMGSRC="URL"BORDER=?>B.<SAMP></SAMP>
C.<ADDRESS></ADDRESS>D.<FRAMENORESIZE>
22.若定义longa;,则能给a赋40000的正确语句是()
A)a=20000+20000;B)a=4000*10;
C)a=30000+10000;D)a=4000L*10L;
二、基本操作题
28)C语言知识填空(共用4空,每空3分)
阅读下面程序,并回答问题:
voidmain()
{intm,n;
m=65;n=14;
while(m!=n)
{while(m>n)m-=n;
while(n>m)n-=m;}
printf(″m=%d\n″,m);}
(1)程序输出结果________.(2)程序的功能是_______.
(3)外循环执行完第一次时,m和n的值分别是________
(4)将while(n>m)n-=m;语句删除后,程序运行结果是_______.
三、综合应用题(每空5分,共20分)
31.用结构体调用的方法编程。要求输入A,B,C,D,E,F五个元素的数值,并按从大到小的顺序输出。
#defineNsizeof(tbl)/sizeof(tbl[0])/*取得数组有多少个元素*/intA,B,C,D,E,F;
structele
{charvn;
int__1_____;}
tbl[]={{'A',&A},{'B',&B},{'C',&C},{'D',&D},{'E',&E},{'F',&F}},t;main()
{
intk,j,m;
for(k=0;__2___;k++)
{
printf("Enterdatafor%c\n",tbl[k].vn);
scanf("%d",tbl[k].vp);
}
m=N-1;
while(m>0)
{
for(k=j=0;j<m;j++)
if(*tbl[j].vp<___3____)
{
t=tbl[j];
tbl[j]=tbl[j+1];
tbl[j+1]=t;
k=j;
}
_____4______;
}
for(k=0;k<N;k++)
printf("%c(%d)",tbl[k].vn,*tbl[k].vp);
printf("\n");
getch();
}
四、程序分析题(本题共3小题,共75分)
33.阅读程序,写出运行结果(每空5分,共25分)
1、#include<stdio.h>
main()
{inti=16,j,x=6;
j=(i++)+1;
x*=i+=j;
printf(“%d,%d\n”,j,x);
}运行结果:程序运行结果是:_______________________
2、#include<stdio.h>
main()
{inta,b,c,d;
a=c=0;b=1;d=18;
if(a)d=d-10;
elseif(!b)
if(!c)d=25;
elsed=15;
printf(“d=%d\n”,d);}
程序运行结果是:_______________________
3、func(intx)
{x=20;
printf(“%5d”,x);}
main()
{intx=10;
func(x);
printf(“%d”,x);}程序运行结果是:_______________________
4、#include<stdio.h>
#include<string.h>
structstu
{charname[20];
intchinese;
intmath;
structstu*next;
};
voidmain()
{char*str[]={“Zhang”,”Wang”,”Liu”};
intaver,x[3][3]={{80,75,85},{60,56,73},{90,83,76}};
structstus;
strcpy(s.name,str[1]);
s.chinese=x[1][0];
s.math=x[1][1];
aver=s.chinese+s.math;
printf(“%s\t%d\t%d\t%6.2f\n”,s.name,s.chinese,s.math.aver/2.0);}
程序运行结果是:_______________________
5、intfun(intx)
{intp;
if(x==0||x==1)
return(3);
p=x-fun(x-2);
printf(″%5d″,p);
return(p);}
voidmain()
{fun(9);}输出结果是______________
34.程序填空。按照题目的要求,将正确内容填入答题卡相应位置,使程序完整(每空5分,共25分)
(1)下面程序的功能是从键盘接收一个字符串,然后按照字符顺序从小到大进行排序,并删除重复的字符。请选择填空。
#include“stdio.h”
#include“string.h”
voidmain()
{charstring[100],*p,*q,*r,c;
gets(string);
for(p=string;*p;p++)
{for(q=r=p;*q;q++)
if(___________1________)
r=q;
if(________2__________)
{c=*r;*r=*p;*p=c;}
for(p=string;*p;p++)
{for(q=p;*p==*q;q++)
strcpy(_________3________);}
puts(string);
}
(2)下面程序的功能是:计算1到10(包括10)的奇数之和及偶数之和,请填空。main()
{inta,b,c,i;
a=c=0;
for(i=0;i<=10;i+=2)
{a+=i;
____4___;
c+=b;
}
printf("偶数之和=%d\n",a);
printf("奇数之和=%d\n",____5______);
35.阅读程序,修改程序中的错误,不得增行或删行,也不得更改程序结构。请在答题卡中指出错误的行号,并给出该行修改后的程序代码。(每空5行,共25分)
(1)求两个形参的乘积和商数,并通过形参返回调用程序,例如:输入61.82和12.65输出:c=782.023000d=4.886957(本程序两个错误)#include<stdio.h>
#include<conio.h>
1voidfun(doublea,b,doublex,y)
{
2x=a*b;y=a/b;
}
main()
3{doublea,b,c,d;
4clrscr();
5printf("Entera,b:");
6scanf("%lf%lf",&a,&b);
7fun(a,b,&c,&d);
8printf("c=%lfd=%lf\n",c,d);}
(2).给定程序MODI1.C中的函数Creatlink的功能是创建带头结点单向链表,并为各结点数据域赋0到m-1的值。
#include<stdio.h>
#include<stdlib.h>
typedefstructaa
{intdata;
structaa*next;}NODE;
1NODE*Creatlink(intn,intm)
2{NODE*h=NULL,*p,*s;
3inti;
4p=(NODE)malloc(sizeof(NODE));
5h=p;
6p->next=NULL;
7for(i=1;i<=n;i++)
8{s=(NODE*)malloc(sizeof(NODE));
9s->data=rand()%m;
10s->next=p->next;
11p->next=s;
12p=p->next;}
13returnp;
14outlink(NODE*h)
15{NODE*p;p=h->next;
16printf("\n\nTHELIST:\n\nHEAD");
17while(p->next!=null)
18{printf("->%d",p->data);
19p=p->next;}
20printf("\n");}
21main()
22{NODE*head;
23head=Creatlink(8,22);
24outlink(head);}
36.程序编写(25分)
问题:中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。算法分析:
根据题意可以将解题过程分为三步:
1)计算从1990年1月1日开始至指定日期共有多少天;
2)由于“打鱼”和“晒网”的周期为5天,所以将计算出的天数用5去除;
3)根据余数判断他是在“打鱼”还是在“晒网”;若余数为1,2,3,则他是在“打鱼”
否则是在“晒网”
在这三步中,关键是第一步。求从1990年1月1日至指定日期有多少天,要判断经历年份中是否有闰年,二月为29天,平年为28天。闰年的方法可以用伪语句描述如下:
如果((年能被4除尽且不能被100除尽)或能被400除尽)则该年是闰年;否则不是闰年。
#include<stdio.h>
intdays(structdateday);
structdate{
intyear;
intmonth;
intday;};
voidmain()
{structdatetoday,term;
intyearday,year,day;
printf("Enteryear/month/day:");
scanf("%d%d%d",&today.year,&today.month,&today.day);/*输入日期*/
term.month=12;/*设置变量的初始值:月*/
term.day=31;/*设置变量的初始值:日*/
for(yearday=0,year=1990;___1_____;year++)
{term.year=year;
_________2______/*计算从1990年至指定年的前一
年共有多少天*/
}
yearday+=days(today);/*加上指定年中到指定日期的天数*/
___3__________/*求余数*/
if(day>0&&day<4)printf("hewasfishingatthatday.\\n");/*他在打鱼*/
elseprintf("Hewassleepingatthatday.\\n");/*他在晒网*/}
intdays(structdateday)
{
staticintday_tab[2][13]=
{{0,31,28,31,30,31,30,31,31,30,31,30,31,},
/*平均每月的天数*/
{0,31,29,31,30,31,30,31,31,30,31,30,31,},
};
inti,lp;
_______________4_____________________
/*判定year为闰年还是平年,lp=0为平年,非0为闰年*/
for(i=1;i<day.month;i++)/*计算本年中自1月1日起的天数*/
________5_______;
returnday.day;
}
湖南省2015年汨罗职业中专学校模拟考试
计算机应用类专业C语言答题卡
姓名________班级_________分数_________
一、选择题(每小题5分,共20分)二、基本操作题(每空3分,共12分)
28.(1)________________
(2)________________
(3)________________
(4)________________三、综合应用题(每空5分,共20分)
31.(1)________________
(2)________________
(3)________________
(4)________________
四、程序分析(共75分)
33.(1)________________
(2)________________
(3)_______________
(4)_______________
(5)________________
34.(1)________________
(2)________________
(3)_______________
(4)_______________
(5)________________
35(1)错误行____改正为:______________________
(2)错误行____改正为:______________________
(3)错误行____改正为:________________________
(4)错误行____改正为:______________________
(5)错误行____改正为:______________________
五、程序设计题(共25分)
36.(1)________________
(2)________________
(3)_______________
(4)_______________
(5)________________
www.99jianzhu.com/包含内容:建筑图纸、PDF/word/ppt 流程,表格,案例,最新,免费下载,施工方案、工程书籍、建筑论文、合同表格、标准规范、CAD图纸等内容。