IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 【2013年湖南大学829考研试题】 -> 正文阅读

[C++知识库]【2013年湖南大学829考研试题】

2013年湖南大学招收硕士研究生入学考试试题

一、单项选择题 (20*1=20分)

部分数据丢失请见谅!

  1. 下列语句中,将p定义为指针数组的是 (A)
    A、int* p[4]
    B、int ( * p)[4]
    C、int*p(4)
    D、int(*p)(4)

二、简要回答下列问题( 1*20=20分)

C语言有几种语句可以实现分支,请写出这些语句的一般形式,并画出相应流程图。

主要有 if 和 switch 两种,有以下形式:

(1) if(表达式) {}  
(2) if ……else …… 
(3) if ……if else ……else …… 
(4)if(表达式1)
   {
       if(表达式2)
       {
           语句1}
   }
   else
   {
       语句2}  
(5) switch(表达式):
     case1:语句1break;
     case2:语句2break;
     ……
     default:语句n;break; 

流程图 在这里插入图片描述
在这里插入图片描述

三、阅读下面的程序,写出运行结果( 10*3=30分)

#include<stdio.h>
int main( )
{
    int p = 300;
    printf(%d\n" ,(p/3>0?p/100:p%3));//3
}
#include<stdio. h>
int main( )
{
    char m;
    m ='B'+32;
    printf("%c\n" ,m);//b
}
#include<stdio.h>
int main( )
{
    int a=1,b=3,c=5;
    if(c=a+b) 
       printf("yes\n");//yes
    else
       printf("no\n");
}

注意:这里是赋值,不是比较大小

#include<stdio.h>
int main( )
{
    int i,m=0,n=0,k=0;
    for(i=9;i<=11;i++)
    switch(i/10)
    {
       case 0:m++;n++;break;
       case 10:n++ ;break;
       default:k++;n++;
    }
    printf("%d %d %d\n" ,m,n,k);// 1 3 2
}
#include<stdio.h>
int main( )
{
    int i,j;
    for(i=1;i<5;i++)
        for(j=2;j<=i;j++)
             printf("#");// ######
}
#include<stdio.h>
int main( )
{
    int i,n[]={0,0,0,0,0};
    for(i=1;i<=4;i++)
    {
       n[i] = n[i-1]*2+1;
       printf("%d ",n[i]);// 1 3 7 15
    }
}
#include<stdio.h>
int main( )
{
    int i,j,a[][3]={1,2,3,4,5,6,7,8,9};
    for(i=0;i<3;i++)
       for(j=i+1;j<3;j++)
          a[i][j]=Q;
    for(i-0;i<3;i++)
    {
       for(j=0;j<3;j++)
       printf("%d" ,a[i][j]);// 1 0 0
    printf("\n");            // 4 5 0
    }                        // 7 8 9
}
#include<stdio. h>
int a=5;
fun(int b)
{
    static int a = 10;
    a+=b++ ;
    printf("%d",a);//30
}

int main()
{
    int c=20;
    fun(c);
    a+=c++;
    printf("%d\n",a);//25
}
#include<stdio.h>
int main()
{
    int a=4,b=3,c=5,t=0; 
    if(a<b) t=a;a=b;b=t;
    if(a<c) t=a;a=c;c=t;
    printf("%d %d %d\n" ,a,b,c);// 5 0 3
}

注意:你是不是觉得很简单,是不是觉得就是交换,5 3 4,NO,这里没有用大括号括起来,

#include<stdio.h> int main() {
    int a = 4, b = 3, c = 5, t = 0;
    if (a < b)
    {
        t = a; a = b; b = t;
    }
    if (a < c)
    {
        t = a; a = c; c = t;
    }
    printf("%d %d %d\n", a, b, c);// 5 3 4 }

这里非常容易错, if 后面的语句就一句,到第一个分号停止;没有大括号是两个逻辑。

#include<stdio.h>
int main( )
{
    int a[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},
                 {-31,32,-33,0}};
    int i,j,s=0;
    for(i=0;i<4;i++)
    {
       for(j=0;j<4;j++)
       {
          if(a[i][j]<0)continue;
          if(a[i][j] == 0) break;
          S+=a[i]lj];
       }
    }
    printf("%d" ,s);//58
}

四、程序填空题(每空2分,共30分)

  1. 程序读入10个整数,统计负数的个数,并计算负数之和。
#include<stdio.h>
int main()
{
    int i,a[10],s,count;
    s = count = 0for(i=0;i<10;i++)
       scanf("%d",_____);// &a[i]
    for(i-0;i<10;i++)
    {
       if(a[i]>=0)
          ________;// continue;
       s+=a[i] ;
       count++ ;
    }
    printf("s=%d, count=%d\n",s, count);
}
  1. 程序最多从键盘输入50个字符,将字符送入数组c中,遇到空格转换成字符 ’ # ’ ,遇到换行符( ’ \n ’ )结束。
#include<stdio.h>
int main( )
{
    int i;
    char ch,c[100];
    for(i=0;_______;i++)// i<50
    {
       if((ch=getchar()) == '\n')
          __________; // break
       if(ch==' ')
          __________;// ch = '#'
       c[i] = ch;
    }
    c[i] = '\0';
    puts(c);
}
  1. 下面的程序实现从十个数中找出最大值和量小值。
#include<stdio.h>
int max,min;
find_ max_ min(int*p,int n)
{
    int *p;
    for(q=____;____;q++)// p q<p+n
       if(_____)// max<*q
          max = *q;
       else if(_____)// min>*q
          min = *q;
}

int main()
{
    int i,num[10];
    printf("input 10 number:\n");
    for(i=0;i<10;i++)
       scanf("%d" , &num[i]);
    find_ max_ min(num,10);
    printf( "max=%d, min=%d\n",max ,min);
}
  1. 下面的函数fun(int n)完成计算1到 n 的累加和
sum(int n)
{
    if(n<=0)
       printf("data error\n");
    if(n==1)
       _______;// return 1
    else
       _______;// n+sum(n-1)
}
  1. 下面的程序显示指定的文件,再显示文件内容的同时加上行号,#include<stdio. h>
#include<string.h>
int main()
{
    char s[20],filenane20J;
    int flag = 1,______;// i=0
    FILE *fp;
    printf("enter filename:!n");
    gets(filename );
    if((fp=fopen(filename,"r"))_______)// ==NULL
       printf("FILE open error!");
    else
    {
       while(_______)// !feof(fp)
       {
          fgets(s,20,fp);
          if(_______)// flag==1
             printf("%3d ,%s",++i,s);
          else
             printf("%s",s);
          if(s[strlen(s)-i]=='\n')
             flag = 1;
          else
             flag = 0; 
       }
    }
    fclose(fp);
}

五、编程题(50分)

  1. 程序要输出如图1所示的矩形图案,程序的流程图如图2所示:请完成以下工作:
    在这里插入图片描述
    在这里插入图片描述

(1)编写程序,完成图案的翰出
(2)将输出模块设计成独立的函教: 编写程常为通过调用函数完成图案榆出;
(3 )画出输出模块函数的流程图。( 20分)
【仅供参考】

#include<stdio.h>
void output(int, int);
int main()
{
	int i, m, n;
	scanf("%d%d",&m, &n);
	if (m > n && m > 0 && n > 0)
		output(m, n);
	else
		printf("输入数据有误");
	return 0;
}

void output(int m, int n)
{
	int i, j;
	for (i = 0; i < m; i++)
	{
		for (j = 0; j < n; j++)
			printf("*");
		printf("\n");
	}
}
  1. 设计个冒泡排序的函数 : void mysort(int num[],int n),用胃泡法对n人整型数进行升序排序,编写程序进行调试。(30分)
    【仅供参考】
void mysort(int num[], int n)
{
	int i, j, t, a = { 0 };
	for (i = 0; i < n - 1; i++)
	{
		for (j = 0; j < n - i - 1; j++)
		{
			t = a[j];
			a[j] = a[j + 1];
			a[j + 1] = t;
		}
	}
}
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-06 10:59:24  更:2021-09-06 11:02:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:34:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码