首页 > 其他分享 >2010年湖南省对口高考真题

2010年湖南省对口高考真题

时间:2023-04-22 23:32:34浏览次数:42  
标签:__________ struct 真题 int 对口 ++ printf include 2010

一、选择题

1、

下列不是C语言合法标识符的是__________。

A. _124             B. 124abc           C. sum124           D. a_124 

2、

若有如图1所示存储结构,且变量定义为struct node{int data;struct node *next;}p,q,r;若要实现图2所示的存储结构,可选用的赋值语句是__________。

A. p=r;             B. p=q->next;       C. p->next=q;       D. p->next=q->next;

 二、写程序结果

1、

#include <stdio.h>
main()
{
    double x,y;
    printf("%.2f",(x=5,y=x+3/2));
}

运行结果是____________________。

 2、

#include <stdio.h>
#define CUBE(x) (x*x*x)
main()
{
    int n=5;
    int s=CUBE(++n);
    printf("%d",s);
}

运行结果是____________________。

 3、

#include <stdio.h>
void fun(int a,int *b)
{
    a=*b*2;
    *b=a*5;
}
main()
{
    int x=10,*y;
    y=&x;
    fun(x,y);
    printf("%d,%d",x,*y);
}

运行结果是____________________。

 4、

#include <stdio.h>
void fun(int *a)
{
    *a=*(a-1)+*(a+1);
}
main()
{
    int i=0,s=0,arr[5]= {1,3,5,7,9};
    fun(arr+2);
    for(; i<5; i++)
        s+=arr[i];
    printf("%d",s);
}

运行结果是____________________。

 

二、程序填空

1、

下列函数rtrin_str实现的是删除字符串str尾部的所有空格。

char* rtrim_str(char* str)
{
    int n=__________ 1 __________;
    if(n<1)
        return 0;
    while(n>0)
    {
        if(*(str+n)!=' ')
        {
            __________ 2 __________
            break;
        }
        else
            __________ 3 __________
    }
    return str;
}

2、

某超市推行会员优惠购物,其中vip会员八八折,金牌会员九折,银牌会员九三折,普通会员九六折,非会员不打折。以下程序实现了超市购物的结算,其中非会员、普通会员、银牌会员、金牌会员、vip会员分别用0、1、2、3、4表示。

#include <stdio.h>
double computer(int n,int grade) 
{
    int amount,i;
    double sum,price,discount[5]= { __________ 4 __________ };
    sum=0.0;
    for(i=0; i<n; i++) 
    {
        printf("请输入商品单价和数量:\n");
        scanf("%lf%d",&price,&amount);	/*price:商品单价;amount:商品数量;*/
        sum+=price*amount;
    }
    return __________ 5 __________ ;
}
main() 
{
    int n,grade;	/*n:商品种数;grade:会员等级*/
    printf("请输入商品种数和会员等级:\n");
    scanf("%d%d",&n,&grade);
    printf("%.2lf\n", __________ 6 __________);
}

 

三、改错

1、

以下程序的功能是:任意输入一个小于256的正整数,将其转换成二进制数并输出。程序中有两处错误,请将错误处的行号及正确语句填入答题卡相应位置中,不得增行或删行。

#include "stdio.h"
int main()
{
    int x,i=0,j=0;
    int result[8];
    printf("请输入一个小于256的正整数:\n");
    scanf("%d",&x);
    do
    {
        result[i]=x%2;
        i++;
        x=x%2;
    }
    while(x>=1);
    for(j=i-1; j>=0; j++)
        printf("%d",result[j]);
    printf("\n");
    return 0; 
}

  

四、程序设计题

1、

在全国青年歌手大奖赛中,有20个评委为参赛的选手打分,分数为1-100分。选手最后得分为:去掉一个最高分和一个最低分后其余18个分数的平均值。请编写程序实现,输入20个评委评分,求出选手最后得分。

 

五、程序方向

(一)、程序填空

设文件studs.dat中存放着学生的基本信息,基本信息由以下结构体来描述:

struct student
{
    long int num;           /*学号*/
    char name[20];          /*姓名*/
    char major[25];         /*专业*/
}

下列程序的功能是:输入要读取的学生人数,利用malloc动态分配内存来存储从文件中读取的学生信息(以方便进一步管理),并输出读取的学号,姓名,专业。请将正确的内容填入答题卡的相应位置上,使程序完整。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct student
{
    long int num;
    char name[10];
    char major[10];
};
FILE *fp;
int main()
{
    struct student st,*pst;
    int i ,num,realnum;
    printf("请输入读取的学生数:");
    scanf("%d",&num);
    pst=(struct student *)malloc(______1______);
    if(!pst) return 0;
    fp=fopen("studs.dat","rb");
    if(NULL==fp)
    {
        ______2______;
        return 0;
    }
    realnum=0;
    printf("%s\t%s\t%s\n","number","name","major");
    /*文件包含的学生数量可能少于输入的人数*/
    for(i=0; i< ______3______ ; i++)
    {
        fread(pst+i,sizeof(struct student),1,fp);
        realnum++;
        ______4______;
        printf("%d\t%ld\t%s\t%s\n",realnum,st.num,st.name,st.major);
    }
    free(pst);
    fclose(fp);
    return 0;
}

 (二)、程序设计

编写程序,输入5行5列整数方阵,计算并输出该方阵两条对角线上各元素的平方和。

  

六、参考答案:

一、选择题

1—2    BD 

一、写程序结果

1、 6.00            2、 VC 512=8*8*8  DC 392=7*7*8         3、 100,100

4、 30     

分析:对于第2题,以下代码在VC中均为512,在DC中均为392。

#include "stdio.h"
#define CUBE(x)  (x*x*x)
int main()
{
    int s;
    int a=5; s=CUBE(++a); printf("\n %d",s);
    int b=5; s=++b*++b*++b; printf("\n %d",s);
    int c=5; printf("\n %d",++c*++c*++c);
    int d=5; int e; e=CUBE(++d); printf("\n %d",e);
    getchar();
}

二、程序填空

1、 n=strlen(str)-1            2、 *(str+n+1)='\0';       3、 n--;

4、 1.00,0.96,0.93,0.9,0.88     5、 sum*discount[grade]     6、 computer(n,grade)

三、改错

1、 L12         x=x/2;  // x=x%2;

2、 L15         for(j=i-1; j>=0; j--)   // for(j=i-1; j>=0; j++)

四、程序设计题

1、参考代码

#include "stdio.h"
int main()
{
    int x[21],min,max,n=1;
    float aver;
    while(n<=20)
    {
        printf("请输入第%d个评委的分数(1-100):",n);
        scanf("%d",&x[n]);
        if(x[n]>=1 && x[n]<=100)
            n++;
    }
    aver=min=max=x[1];
    for(n=2;n<=20;n++)
    {
        if(min>x[n])min=x[n];
        if(max<x[n])max=x[n];
        aver+=x[n];     
    }
    aver=(aver-min-max)/18;
    printf("\n 最后得分:%.2f",aver);    
    return 0; 
}

不足:没有考虑计算多个选手的情况,只考虑了计算一个选手的得分。

 五、程序方向

(一)、程序填空

1、 sizeof(struct student)

2、 free(pst);

3、 !feof(fp)&&(i<num)

4、 st=*(pst+i)

分析:本程序有bug,因为文件尾的情况存在多读一条数据的问题,因此,应该在循环外先读取一次,则不会出现多读一条数据的问题。

	fread(pst+i,sizeof(struct student),1,fp);
    realnum++;
    st=*(pst+i);
    for(i=0; !feof(fp)&&(i<num); i++)
    {
        printf("%d  %ld %s %s\n",realnum,st.num,st.name,st.major);
        fread(pst+i,sizeof(struct student),1,fp);
        realnum++;
        st=*(pst+i);
    }

(二)程序设计

#include <stdio.h>
#define N 5
main()
{
    int a[N][N],i,j,s=0;
    for(i=0;i<N;i++) 
        for(j=0;j<N;j++)
        {
            //printf("\n请输入第%d行第%d列数据:",i,j);
            //scanf("%d",&a[i][j]); 
            a[i][j]=i+j;
        }
    for(i=0;i<N;i++)
        for(j=0;j<N;j++)
        {
            if(i==j || i+j==N-1)
                s+=a[i][j]*a[i][j];
        }
    printf("\n对角线上各元素的平方和为%d",s);  
}
// 0 1 2 3 4            0+4+16+36+64=120
// 1 2 3 4 5            16+16+16+16=64
// 2 3 4 5 6
// 3 4 5 6 7
// 4 5 6 7 8

 

 

 

 

 

标签:__________,struct,真题,int,对口,++,printf,include,2010
From: https://blog.51cto.com/teacherzhou/6215719

相关文章

  • Succinctly 中文系列教程(二) 20220109 更新
    Succinctly.NET本地化教程零、简介一、从本地化开始二、日期和时间三、周数四、时区五、数字六、货币七、文本八、附录SuccinctlyLinux教程一、简介二、Linux目录结构三、命令行界面四、目录五、查看文件和目录详情六、权限七、查看和编辑文件八、删除、移动和重命名文件和目......
  • Succinctly 中文系列教程 20220109 更新
    Succinctly会计教程一、会计简明指南二、收入和费用三、收入确认四、组织账目五、会计原则六、会计制度报告七、固定资产八、应收账款九、应付账款十、库存十一、工资单十二、总结十三、附录Succinctly安卓编程教程一、设置二、你好,安卓三、活动生命周期四、用户界面布局五、用户......
  • 每日一练 | 华为认证真题练习Day22
    1.基于ACL规则,ACL可以划分为以下哪些类?(多选)A.二层ACLB.用户ACLC.高级ACLD.基本ACL2.管理信息库MIB(ManagementInformationBase)是一个虚拟的数据库,这个数据库保存在NMS上。A.对B.错3.如下图所示,IPSec隧道模式中AH协议认证的范围是?A.1B.2C.3D.44.ARG3系列路由器上的AC......
  • 每日一练 | 华为认证真题练习Day23
    1.缺省情况下,P2P链路上OSPFv3HELLO报文的周期为多少秒?A.10B.20C.30D.402.组播地址FF02::2表示链路本地范围的所有路由器。A.对B.错3.IPv6报文的基本首部长度是固定值。A.对B.错4.IPv6地址2001:ABEF:224E:FFE2:BCC0:CD00:DDBE:8D58不能简写。A.对B.错5.路由器RouterD......
  • 每日一练 | 华为认证真题练习Day24
    1.SRGB(segmentroutingglobalblock):为全局segment预留的本地标签集合。在MPLS和IPv6中,SRGB均为全局标签预留的本地标签集合。A.对B.错2.SR(SegmentRouting)的产生的原因之一是因为传统的LDP存在一些制约其发展的因素,以下关于LDP的问题描述正确有哪些?A.LDP算路依赖与IGP,在IGP与......
  • 2022上半年系统集成项目案例分析真题解析(广东卷)
    2022上半年系统集成项目案例分析真题解析(广东卷)......
  • 2022上半年系统集成项目综合知识真题及解析(广东卷)
    ......
  • NOIP 2010 题解
    机器翻译单向链表,如果\(i\)在内存里,那么用\(nxt[i]\)来记录他的下一个单词,每次要插入的时候,如果当前链表的长度小于\(m\),那么直接把他插入的末尾,如果等于\(m\),就把链表的第一个从链表里弹出来,再把这个元素加进去。\(Code:\)#include<bits/stdc++.h>usingnamespacest......
  • VS2010在使用过程中遇到的问题
    一、解决执行后看不到结果,只是屏幕一闪。第一次使用vs2010的同学可能会遇到在执行文件(执行文件·:按下CTRL+F5)时,只出现屏幕一闪,没有看到结果。那么不用慌,这不代表你没有成功。只是,执行速度快,一闪而过。解决方法,如下步骤:1)右击该项目 2)点击属性3)点击连接器4)点击系统5)在右侧会看到子系......
  • 2019-第十届蓝桥杯大赛个人赛省赛(软件类)真题 C大学B组
    返回目录 题目一览:A.数列求值B.迷宫C.完全二叉树的权值D.组队E.年号字串F.数的分解G.特别数的和H.等差数列I.后缀表达式J.灵能传输  A.数列求值   B.迷宫   C.完全二叉树的权值   D.组队   E.年号字串   F.数的分解   ......