考研论坛

 
查看: 4219|回复: 13
打印 上一主题 下一主题

产经试题(C语言)

[复制链接]

2

主题

15

帖子

101

积分

一般战友

Rank: 2

精华
2
威望
105
K币
-4 元
注册时间
2001-11-14
跳转到指定楼层
楼主
发表于 2003-4-29 17:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这几天被非典关在屋里,正好有时间把试题整理一下送给又需要的人,现整理了一年的其他的整理中。。。。。。。。。
对外经济贸易大学
2001年攻读硕士学位研究生入学考试
C程序设计试题
一,        选择题
1,        下列常数中,不能作为C语言的常量是[ ]
A)0xA5     B)2.5e-2     C)3e3      D)0582
2,下列各项中,均为C语言关键字的是[ ]
A)auto,enum,include        B)switch,typedef,continue
C)signed,union,scanf        D)if,struct,type
3,C语言中整数-1在内存中的存储形势是[ ]
A)1111 1111 1111 1111      B)1000 0000 0000 0001
C)0000 0000 0000 0001     D)1111 1111 1111 1110
4,已知:int a=5,b=2,c;执行语句printf(“%d”,c=(a+b,a-b,a%b))后输出的结果是[ ]
A)7      B)3      C)2        D)1
5,已知:int a=5; 执行下列语句后输出结果是[ ]
if (a=0) printf(“%d”,a)
else printf(“%d”,2*a);
A)0     B)5     C)10      D)语法错误
6,已知:int a=5;执行语句while(a-->0);a的值是[ ]
A)5     B)0     C)-1      D)-2
7,已知:int*a();a是[ ]
A)指向int型的指针变量    B)int型的指针数组
C)返回值是指向int型的指针变量的一个函数
D)一个指向函数的指针变量,该函数的返回值是int型
8,C语言中存储类型是[ ]的变量,只有在使用时才占用内存单元
A)register,extern  B)register,auto  C)static,extern  D)static,auto
9,根据一下定义,执行语句printf(“%d\n”,2*(N+Y(5+1)),显示结果是[ ]
#define N  3
#define Y(n)  ((N-1)*n)
A)36     B)30       C)28       D)出错
10,下列说明中,错误的是[ ]
A) char s[3]=”gun”;         B) char s[]=”gun”;
C) char *s=”gun”;          D) char s[]={‘g’,’u’,’n’,’\0’};
11,C语言中一维数组的说明方式是:类型说明符 数组名[ ]
A)[常量表达式]         B)[整形表达式]
C)[常量表达式]或[整形表达式]       D)[整形变量]
12,下列程序段的功能是[ ]
int a[]={4,0,2,4,1},k,j,t;
for(k=1;k<5;k++){
t=a[k]; j=k-1;
while (j>=0 && t>a[j]){a[j+1]=a[j];j--;}
a[j+1]=t;}
A)        对数组a进行插入排序(升序) B)对数组a进行插入排序(降序)
C)对数组a进行选择排序(升序)  D)对数组a进行选择排序(降序)
13,已知:char s[10],*p=s;下列语句中,错误的语句是[ ]
A) p=s+5;   B) s=p;   C)s[2]=p[4];     D)*p=s[0];
14,已知:int s[]={1,2,3,4},y,*p=s;执行语句y=*p++;后,变量y的值是[ ]
A)1      B)2          C)3         D)4
15,已知:int a,x[3][4];不能将x[1][1]的值赋给变量a的语句是[ ]
A)a=*(*(x+1)+1);B)a=x[1][1];C)a=*(*(x+1));D)a=*(x[1]+1);
16,设有如下说明,叙述错误的是[ ]
struct stu{
int a;
char b[10];
}stutype;
A)struct是结构类型的关键字   B)struct stu是用户定义的结构类型
C)stutype是用户定义的结构类型名  D)a和b是结构成员名
17,C语言中,下列运算符中优先级最低的是[ ]
A)( )      B)[ ]        C)->      D)++
18,设有如下说明和语句,表达式的值是1002的是[ ]
struct stu{
int a,b;};
struct stu s[3]={{1001,20},{1002,19},{1003,18}};
struct stu *p=s;
A) (p++)->a      B)(*p++)->a      C)(*p++)       D)(*++p)->a
19,已知函数:fread(buffer,size,count,fp); 其中buffer代表的是[ ]
A)整形变量,代表要读入的数据量  B)文件指针,指向要读入的文件
C)指针,指向要存放读入数据的地址D)存储区,存放要读入的数据
20,使用fgetc函数,则文件打开方式是[ ]
A)只写     B)追加   C)读或读\写   D) 答案B和C对
二,阅读程序段,填写运行结果
1,        int x;
(x&1)+(x|1)-(x%2)+(~(~0U<<2))=[ ]
2,下面程序段的运行结果是[ ]
int a=0,b=0;
while (a<=9) a++;
while (b++<=9);
printf(“%d %d”,a,b);
3,下面程序由2个文件组成,运行结果是
/*文件*/
#include <stdio.h>
int x=10,y=10;
void add(void0
{y=10+x;x*=2;}
main()
{extern void sub();
x+=5;
add();sub();
printf(“x=%d y=%d\n”,x,y);
}
/ *文件2*/
void sub(void)
{extern int x;
x-=5;}
4,下面程序运行的结果是[ ]
main()
{int a[4][5],x,y;
for(x=1;x<4;x++){
for(y=x;y<5;y++)
{a[x][y]=(x/y)*(y/x);
printf(“%2d”,a[x][y]);}
printf(“\n”);}}
5,下面程序的运行结果是[ ]
#include<stdio.h>
main()
{union
{int a[2];
long k;
char c[4];
}t;
t.a[0]=0x3132;
t.a[1]=0x3334;
printf(“%lx\n”,t.k);
printf(“%c\n”,t.c[0]);
}
二,        程序选择填空
以下程序是对字符串按字典顺序进行排序,程序采用二分法排序,其中的strcmp是比较两个字符串的大小的函数。
#include<stdio.h>
#include<string.h>
main()
{char *pn[]={“red”,”blue”,”green”,”black”,”white”,”yellow”};
int a,j,gap,n=6;
char *temp;
for(gap=n/2;gap>0;[1])
for(a=gap;a<n;[2])
for(j=a-gap;j>=0;[3])
{if(strucmp)pn[j],pn[j+gap]}<=0)
[4];
temp=pn[j];pn[j]=pn[j+gap];pn[j+gap]=temp;
}
for(a=0;a<n;a++)printf(“%s\n”,[5]);}
1,A)gap++        B)gap--        C)gap/=2         D)gap-=2
2,A)a++          B)a--          C)a/=2           D)a-=2
3,A)j++          B)j--           C)j/=2           D)j-=gap
4,A)break         B)exit         C)return          D)continue
5,A)pn[a]         B)*pn[a]       C)*pn            D)pn+a
从键盘接受一个字符串,在命令行中指定的文件中查找,如果找到该字符串,在显示提示信息,否则将该字符串存入该文件尾,当输入的字符串为空时(长度为0),结束程序。
#include<stdio.h>
main(int argc,char *argv[])
{FILE *fp;
int flag;
char str[30],dline[80];
if((fp=fopen(argv[1],[6]))==NULL)
  {printf(“Open file %s error\n”,argv[1],exit(1);)}
do {printf(“Input the word:”);
   gets(str);
   if(strlen(str)==0) break;
      [7];
   flag=1;
   while(flag&&(fgets(dline,80,fp) [8]))
   if(lindex(dline,str)>=0) [9];
   if(flag)  fputs(str,fp);
}while([10]);
fclose(fp);}
lindex(char *str1,char *str2)
/*lindex函数的功能是字符串查找,详细说明见四、1题,此处略*/
6,A)”r+”         B)”w+”         C)”a+”         D)”w”
7, A)rewind(fp)     B)fseek(fp,0,1)    C)ftell(fp)      D)空语句
8,A)!=NULL     B)==NULL       C)!=EOF      D)==EOF
9,A)break         B)flag=0         C)continue      D)flag=1
10,A)ferror(fp)!=0   B)ferror(fp)=0    C)flag=0       D)flag=1
四,程序填空
1,        函数lindex(char *s,char *t)的功能是:从字符串s后往前检查是否包含字符串t,若包含,返回t在s中的位置,否则返回-1。例如:
lindex(“sdvsdg”,”sd”)=3
lindex(char *s,char *t)
{int a,j,k,m,n;
m=strlen(s);n=strlen(t);
for(a=[1];a>=0;a--)
{for(j=a,k=0;[2];j++,k++);
if(t[k]==’\0’)return(a);}
[3];}
2,下面程序的功能是:从键盘输入多行字符串,调用函数建立反序链表,然后输出整个链表。
#include<stdio.h>
struct node
{char data[80];
struct node *link;
}*head;
ins (struct node[4])
{if (head==NULL)
{q->link=NULL; head=q;}
else
{[5];}
}
main()
{char *ch;
struct node *p;
head=NULL;
while(strlen(gets(ch))>0)
{p=([6])malloc(sizeof(struct node));
strcpy(p->data,ch);
ins([7]);}
p=head;
while([8])
{printf(“%s\n”,p->data);
p=p->link;}
}
3,设pa和pb分别为两个升序排列的单链标的头指针,函数merge把这两个链表合并成按一个升序排列的单链表pc.
合并的算法是:从两表的第一个节点开始顺链逐个将对应数据元素进行比较,并复制小者并插入到pc表尾,如果对应数据元素相等,只取pa的元素。当两表中之一已到表尾,则复制另一个链表的剩余部分,插到pc表尾。为了减少程序中的判断,pc表增设一个表头结点,合并表运算结束后再把它删除。函数返回值是pc表的头指针。设pa和pb分别指向两个表当前搜索结点,p指向pc表的当前表尾结点。
#define DJ struct node
DJ { int data;
    DJ *link;};
DJ *merge(DJ *pa,DJ *pb)
{DJ *p,*q,*pc;
pc= (DJ*)malloc(sizeof(DJ);
while ([9]){
q=(DJ*)malloc(sizeof(DJ);
if(pb->data<pa->data;
   [10];}
else
  {q->data=pa->data;
   pa=pa->link;
  if(pb->data==pa->data)[11];
  }
  p->link=q;
p=[12];
}
while(pa!=NULL)
    {q=(DJ*)malloc(sizeof(DJ);
     q->data=pa->data;
     pa=pa->link;
     p->link=q;
     p=q;
     }
p->link=NULL;
p=pc;
pc=[13]
free(p);
return(pc);
}
五,编写程序
1,        用递归的方法编写一个寒暑,将16进制的字符串转换成10进制整数,函数返回值为该整数,如16进制的字符串中包含非16进制的字符,返回值为零。要求:写出完整的c语言程序。
2,        已知现有由小到大排列的8个偶数,并且这8个偶数之和能被4整除。把它们安置在立方体的8个顶点上,使得每个面上4个数之和皆相等。
要求:先说明程序的思路,在画出流程图或N-S图,然后写出c语言程序。
※ 修改:movingsea于2003-04-29 18:00:41修改本文
    回复

    使用道具 举报

    0

    主题

    2

    帖子

    30

    积分

    新手上路

    Rank: 1

    精华
    0
    威望
    30
    K币
    0 元
    注册时间
    2003-3-13
    沙发
    发表于 2003-5-5 19:06 | 只看该作者

    楼主真是热心肠呀。[em:20]

    楼主真是热心肠呀。[em:20]
    回复

    使用道具 举报

    8

    主题

    173

    帖子

    3680

    积分

    高级战友

    Rank: 4

    精华
    8
    威望
    3708
    K币
    -28 元
    注册时间
    2003-3-13
    板凳
    发表于 2003-5-5 20:17 | 只看该作者

    帮你顶顶!!

    帮你顶顶!!
    回复

    使用道具 举报

    0

    主题

    9

    帖子

    71

    积分

    新手上路

    Rank: 1

    精华
    0
    威望
    79
    K币
    0 元
    注册时间
    2002-7-11
    地板
    发表于 2003-5-6 15:43 | 只看该作者

    学姐,(未必比我大)你复习用的什么资料?有什么提示

    学姐,(未必比我大)你复习用的什么资料?有什么提示或者复习时的注意事项什么的不?
    回复

    使用道具 举报

    0

    主题

    1

    帖子

    1

    积分

    新手上路

    Rank: 1

    精华
    0
    威望
    1
    K币
    0 元
    注册时间
    2003-6-11
    5
    发表于 2003-6-11 15:22 | 只看该作者

    Re:产经试题(C语言)

    有数据库的考题吗?我想要。

    c语言考试考题里有数据结构
    吗,是仅仅考c第二版吗?
    :?)
    回复

    使用道具 举报

    1

    主题

    48

    帖子

    789

    积分

    一般战友

    Rank: 2

    精华
    1
    威望
    859
    K币
    16 元
    注册时间
    2003-1-31
    6
    发表于 2003-6-22 19:11 | 只看该作者

    Re:产经试题(C语言)

    up
    回复

    使用道具 举报

    0

    主题

    18

    帖子

    164

    积分

    一般战友

    Rank: 2

    精华
    0
    威望
    102
    K币
    62 元
    注册时间
    2003-6-20
    7
    发表于 2003-6-22 19:23 | 只看该作者

    多多指教

    十分感谢您。
    我是在职考研,学的是计算机,想考信息学院的电子商务方向。请多多指教。
    请问咱们学校好考吗?对英语要求很高吗?
    回复

    使用道具 举报

    2

    主题

    15

    帖子

    101

    积分

    一般战友

    Rank: 2

    精华
    2
    威望
    105
    K币
    -4 元
    注册时间
    2001-11-14
    8
     楼主| 发表于 2003-6-22 19:48 | 只看该作者

    Re:产经试题(C语言)

    legendhero:又来上网了,别看见我就跑哦!你说得没错呀!
    active:就我觉得,这个专业相对于贸大的其他专业还是廷容易的,只要你努力了,会有回报的!祝你好运![em:38]
    回复

    使用道具 举报

    1

    主题

    48

    帖子

    789

    积分

    一般战友

    Rank: 2

    精华
    1
    威望
    859
    K币
    16 元
    注册时间
    2003-1-31
    9
    发表于 2003-6-22 20:09 | 只看该作者

    Re:产经试题(C语言)

    我可不是看你来才走的。可我确实得走了。:D
    回复

    使用道具 举报

    1

    主题

    48

    帖子

    789

    积分

    一般战友

    Rank: 2

    精华
    1
    威望
    859
    K币
    16 元
    注册时间
    2003-1-31
    10
    发表于 2003-6-22 19:37 | 只看该作者

    Re:产经试题(C语言)

    movingsea大姐肯定会回答你的问题的,等她来。[em:39][em:31][em:42]
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册 人人连接登陆

    本版积分规则   

    关闭

    您还剩5次免费下载资料的机会哦~

    扫描二维码下载资料

    使用手机端考研帮,进入扫一扫
    在“我”中打开扫一扫,
    扫描二维码下载资料

    关于我们|商务合作|小黑屋|手机版|联系我们|服务条款|隐私保护|帮学堂| 网站地图|院校地图|漏洞提交|考研帮

    GMT+8, 2024-5-14 10:36 , Processed in 0.062611 second(s), Total 21, Slave 20(Usage:7.25M, Links:[2]1,1_1) queries , Memcache On.

    Powered by Discuz!

    © 2001-2017 考研 Inc.

    快速回复 返回顶部 返回列表
    × 关闭