考研共济网,考研咨询,硕士研究生招生简章,研究生录取信息
考研书城 会员服务 辅导报名
购物须知 购买流程 在线支付指南
定单跟踪 批评建议 广告业务
会员名: 密码: 免费注册 站点导航 设为首页
当前位置:首页- 考研专业资料下载 - 考研免费专业课试题下载
C程序设计——南京林业大学2004年硕士研究生入学考试试题
2006-11-28 10:43:46 南京林业大学 考研共济网 

·[考研一站式]南京林业大学硕士招生相关文章索引
南 京 林 业 大 学
2004年攻读硕士学位研究生入学考试
          C程序设计     试题
 
 
一.      选择题(40)
 
1.设变量m,n,a,b,c,d均为0,执行(m = a==b)||(n=c==d)后,m,n的值是
   A. 0,0  B. 0,1   C. 1,0   D. 1,1
 
2.设整型变量在内存占2个字节,则 unsigned  int 型变量数的范围是______.
  A.-32768—+32767      B.0—65535      C.0—216       D.0—215
 
3.设a为变量,数学关系式:10<a<15, 用C语言表达式,下列正确的是
   A. 10<a<15         B. a == 11 || a == 12 || a == 13 || a == 14
   C. a>10&&a<15      D. !(a<10)&&!(a>15)
 
4.在以下一组运算符中,优先级最高的运算符是
   A. <=  B. =  C. %  D. &&
 
5.设有程序段
int k=10;
while (k=0)  k=k-1;
则下面描述中正确的是_________
A.while循环执行10次      B.循环是无限循环
C.循环体语句一次也不执行   D.循环体语句执行一次
 
6.语句while(!e)中表达式!e等价于________
A.e= =0        B.e!=1         C.e!=0          D.e= =1
 
7.若在C语言程序中使用以下的二维数组定义语句并赋以部分初值,其中不正确的
定义只有:
A. int a[2][3]={{4},{5,6}}           B. int a[2][3]={{4},{5},{6}}
C. int a[2][3]={4,5,6}               D. int a[2][3]={{4},5,6}
 
8.  若a为二维数组,它有m列,则a[i][j]在数组中的位置是_________
A. i*m+j     B. j*m+i     C. i*m+j-1   D. i*m+j+1
 
9.以下关于C语言字符数组的说法中,不正确的是:
    A.在C语言中可用字符数组存放字符串
    B.可以用关系运算符对字符数组进行比较
    C.字符数组中的字符串可以整体输入、输出
D.字符数组中的字符串可以按单个字符输入、输出
 
10.设有字符串"a\tb\n",则该字符串在内存实际占______个单元.
  A.4         B.5          C.6          D.7
 
11.下列表达式中,错误的是______.
  A.2>1 ? a:b         B.i+++j        C.4.0%2.0       D.x*=y+8
 
12. 设有程序段
x= -1;
do {x=x*x;}
while (!x);
A.是死循环   B.循环执行二次   C.循环执行一次   D.有语法错误
 
13.若以数组元素作为函数的实参,则实参向形参传送的是______.
  A.数组元素的地址   B.数组元素的值   C.数组的首地址  B.数组名
 
14.设有定义语句int a [ 3 ][ 4 ]; 则以下对此语句的叙述不正确的是()。
A. 定义了一个名为a的二维数组
B. a数组共有3*4个元素
C. a数组中行下标为1~3,列下标为1~4
D. 数组中的每个元素必须是整型
 
15.设有如下的共用体定义:
      union data
      {int i;
       long b;
       float f;}a;
      则a所占的内存单元为______个字节.
  A.4  B.6  C.8   D.10
 
16.以下关于C语言字符数组的说法中,不正确的是:
    A.在C语言中可用字符数组存放字符串
    B.可以用关系运算符对字符数组进行比较
 
    C.字符数组中的字符串可以整体输入、输出
D.字符数组中的字符串可以按单个字符输入、输出
 
17. 以下只有在使用时才为该类型变量分配内存的存储类说明是
A. auto和 static         B. auto和 register
C. register和 static     D. extern和 register
 
18.下列选项中不是C语言main函数正确表达形式的是________?
A.main(int argc,char *argv[]);
B.main(ac,av) int ac;char **av;
B.main(c,v) int c;char *v[];
D.main(argc,argv) int argc;char argv[];
 
19. 以下有关宏替换的叙述不正确的是:
A.宏替换不占用运行时间    B.宏名无类型
C.宏替换只是字符替换  D.宏名必须答写字母表示
 
20.以下声明语句中,用于声明一个行指针变量的是________。
A. int * p(int);  B. int * p;  C. int (* p)[3];  D. int (* p)(int);
 
 
.填充(20)
 
1. 若有以下定义和语句,则sizeof(a)的值是          ,而sizeof(b)的值是         
struct { int day; char month; int year;} a, *b;
b=&a;
 
2. 在C程序中,数据可以用________和_______两种代码形式存取。
 
3. 在C程序中,文件可以用________方式存取,也可以用_________方式存取。
 
4.设有二维数组 inta[2][2],*p;,则a[I][j]三种其他表示是______________,
 ____________,___________。
 
5.用数组名作函数参数时,形参和实参的结合是采用__________,因为数组名是
数组的__________.
 
6.设a=3,b=2,c=1,则a>b的值为▁▁▁▁,a>b>c的值为▁▁▁▁。
 
7.静态变量赋初值是________赋值,动态变量赋初值是___________赋值。
 
8.链表中每个结点至少应包括二个部分,它们是__________和__________.
 
9. 以下由while构成的循环执行的次数是_________。
    int k = 0;  while ( k = 1 ) k++;
 
10. 若已定义:
struct num
{int a;
     int b;
float f;
}n={1,3,5.0};
struct num *pn=&n;
则表达式pn->b/n.a*++pn->b的值是            ,表达式(*pn).a+pn->f的值是     
 
 
 
 
三.程序分析题(20)
 
 1.  以下程序的功能是______。
#include  <stdio.h>
main(int argc, char *argv[ ])
{  FILE *f1, *f2;
   char ch;
   if(argc < 3)
   { printf(“Parameters missing!\n”); exit(0); }
   if(((f1 = fopen(argv[1], “r”)) == NULL) ||
      ((f2 = fopen(argv[2], “w”)) == NULL))
   { printf(“Can not open file!\n”); exit(0); }
   while(!feof(f1)) fputc(fgetc(f1), f2);
  fclose(f1);
  fclose(f2);
}
 
 
 
 
2. 以下程序的输出结果是______。
    conv (b)
    int b;
{  if (b >= 2) conv(b/2);
      printf(“%d”, b%2);
}
main()
{  int d;
      scanf(“%d”, &d);  conv(d);
}
 
3.以下程序的运行结果是  
main()
{struct EXAMPLE {
      struct{int x;int y;}in;
     int a;
     int b;
     }e;
e.a=2;e.b=3;
e.in.x=e.a*e.b;
e.in.y=e.a+e.b;
printf(“%d,%d”,e.in.x,e.in.y);
}
 
 4.分析以下程序:
     main()
     {char c,string[81];
     int i,a=0,b=0;
     scanf("%s\n",string);
     for(i=0;(c=string[i])!='\0';i++)
        if (c==' ')a=0;
       else if (a==0)
  {a=1;b++;}
     printf("%d\n",b);
     }
 
 
 
 
5.以下程序运行后,输出结果是
main()
 {static  char   a[]="ABCDEFGH",
  b[]="abCDefGh";
  char   *p1,*p2;
  int  k;
  p1=a; p2=b;
  for(k=0;k<=7;k++)
  if(*(p1+k)==*(p2+k))
     printf("%c",*(p1+k));
     printf("\n");
   }
for(j=MAX-1;j>=start; j--)
      L[j+1]=L[j];

 
完成下列程序(20)
 
1.以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。正门
main( )
{ float x[1000], sum=0.0, ave, a;48号
int n=0, i;336 26038
printf("Enter mark:\n");scanf("%f",&a);021-
while(a>=0.0&& n<1000)
正门

{ sum+ ( 1 ) ; x[n]= ( 2 ) ;kaoyantj
n++; scanf("%f",&a);336260 37
}

ave= ( 3 ) ;kaoyantj
printf("Output:\n");
200092

printf("ave=%f\n",ave);网络督察
for (I=0;I<n; I++)
if ( 4 ) printf ("%f\n",x[I]);辅导
}
 
 
 
 
 
2. 已知两个链表的元素按非递减排列,合并两表得到一新表,仍然是按
非递减排列,两个链表以NULL为结束标志。以函数来完成该操作,函数如下,
1.  完成所缺语句。
同济大学四平路

  typedef struct node {int data ;
同济

       struct node * next ; } Node ,*LinkList;
void  LL(LinkList la, LinkList lb, LinkList *lc )  // la,lb是已知二表//
  {Node *pa, *pb, *pc;
    pa=la->next ; pb=(   5   );*lc=(   6    );
    while(_______7___________)
      if (pa->data<=pb->data)
       { (   8   );pc=pa;(   9   );}
      else {(   10   );pc=pb;(   11   );}
if (_____12________)
____13___;
if (____14_______)
____15______;
 }
 
3已知字母A的ASCII代码值为65,以下程序统计从终端输入的字符中,各
大写字母的个数。用#作为输入结束标志。
#include <stdio.h>
#include <ctype.h>
main()
{ int num [ 26 ], i;   char c;
 for ( i = 0; i < 26; i ++ ) num [ i ] = 0;
 while (( __16___) != ‘#’ )    /* 统计从终端输入的大写字母个数 */
    if ( isupper ( c ) )  num [(   17   ) ] += 1;
for ( i = 0; i < 26; i ++ )    /* 输出大写字母和该字母的个数 */
   if ( num [ i ] ) printf ( “%c : %d\n”, i(   18   ) ,  num [ i ] );}
 
4.在 n 行 n 列的矩阵中,每行都有最小的数,本程序求这 n 个最小数中的最大一个
#include〈stdio.h〉
#define N 100
int a[N][N];
void main()
{ int row ,col ,max ,min ,n;
    /*输入合法 n (〈100 〉,和输入 m ×n 个整数到数组 a 的代码略*/
    max=a[0][0];
 
    for ( row = 0;row < n;row++) {
        for (min = a[row][0],col = l ;col < n;col++)
  if (__19_) min = a[row][col];
        if (__20__) max = min;
}
    printf ("The min of max numbers is %d\n",max);
}
 
 
四. 编程题(50分)
 
1         一矩阵的主对角线、次对角线三条对角线的和,编写函数程序。
 
2.   建立一个存放n个数的链表,编写函数。这里的结点定义为
typedef struct node {int data ;
       struct node * next ; } Node ;
 
3.   统计一段英文短文中不同单词出现的次数,编写程序。
 
4.  写程序,下列图形。
1
           2 2
          3 3 3
         4 4 4 4
          3 3 3
           2 2
  1
 
5.如果甲、乙两方轮流报数,每方至少报数1,最多报数m,将甲、乙两方所
报的数累加, 谁最先报到累加数100,谁就赢。如果甲方先报数,请给出甲方
赢的算法.(写出函数)
http://www.kaoyantj.com考研共济网
收藏到vivi】【 繁體】【打印正文】【关闭
相关链接
·数据结构——南京林业大学2005年硕士研究生入学考试试题 [06-11-28]
·南京林业大学2004年硕士研究生入学考试——自动控制理论 [05-4-30]
·南京林业大学2003年攻读硕士学位研究生入学考试——昆虫分类学 [05-4-30]
·南京林业大学2004年攻读硕士学位研究生入学考试——产品设计 [05-4-30]
·南京林业大学2004年攻读硕士学位研究生入学考试——设计基础 [05-4-30]
·南京林业大学2004年攻读硕士学位研究生入学考试——环境设计试题 [05-4-30]
·南京林业大学2004年攻读硕士学位研究生入学考试——数据结构 [05-4-30]
·南京林业大学2004年攻读硕士学位研究生入学考试——电子技术基础 [05-4-30]
·南京林业大学2004年攻读硕士学位研究生入学考试——伦理学原理 [05-4-30]
·南京林业大学2003年攻读硕士学位研究生入学考试——经济学原理 [05-4-30]
『最新文章』
·华中科技大学2005年硕士研究生入学考试试题——现代教育技术学
·华中科技大学2005年硕士研究生入学考试试题——教育管理学
·华中科技大学2005年硕士研究生入学考试试题——教育经济学
·华中科技大学2005年硕士研究生入学考试试题——中外教育史
·华中科技大学2005年硕士研究生入学考试试题——心理学
『热点文章』
·复旦大学1998年硕士研究生入学考试:中国古代文学史
·苏州大学计算机2001年操作系统考题
·上海大学社会学2003年专业课内部辅导
·中山大学2003年考研专业课试题——861数据结构
·清华大学2005年民法学试题解析
站点导航 | 在线支付指南 | 广告联系 | 客户服务 | 购物须知 | 购物流程 | 投诉建议 | 客户公告 | 免则条款
客户咨询: 021-33626036,33626037(售前)021-33626038,33626039(存款确认、传真及售后服务)
汇款地址: 上海市同济大学校本部研究生8#信箱 黄翔 邮编:200092
公司地址: 上海市杨浦区同济联合广场底楼(彰武路48号112室,同济大学本部四平路校门正对面)考研共济网门市地图地图 8:30--17:30 全年无休
   版权所有©2000-2007 考研共济网KaoYanTJ.com  考研共济网info@kaoyantj.com
方便快捷的会员自动下载服务
方便快捷的会员自动下载服务