高三C语言(模考)

 

高三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图纸等内容。


TOP最近更新内容

    园林史名词解释
    长城小学关爱留守儿童工作制度
  • 上一篇:高中《信息技术基础》VB教案
  • 下一篇:高一信息技术