硕士研究生入学试题c语言,C语言硕士研究生入学考试复试试卷2008.doc

姓名:        报考学科、专业:           准考证号码:

密封线内不要写题

二O O八年招收硕士研究生入学考试复试试题

考试科目及代码: C语言程序设计

适用专业:

说明:1.可使用的常用工具:

2.答题内容写在答题纸上,写在试卷或草稿纸上一律无效考完后试题随答题纸交回。

3.考试时间2小时,总分值100分。

4.其它需要说明的问题:

一. 选择题(每题2分,共20分)

1. 组成C语言程序的是( )

(A)子程序 (B)过程 (C)函数 (D)主程序和子程序

2.在以下的标识符中,非法的是( )

(A) _123 (B) void (C) IF (D) 123_

3.能正确表示C语言的字符常量的是( )

(A) A (B) "A" (C) AB (D) "\0"

4.若有以下定义:int a[ ]={1,2,3,4,5,6,7};

char c1= ‘b’,c2= ‘2’;

则数值不为2的表达式是( )

(A) a[1] (B) ‘d’-c1 (C) a[‘3’-c2] (D)c2-0

5.若有定义:char *s= "Programming";以下叙述中有错的是( )

(A) 变量s中存放了字符p的地址

(B) s[0]中存放了字符p

(C) *s中存放了字符p

(D) s中存放了一个字符串

6.已知int b;char s[5],c;

下列语句中正确的是:___________。

(A)scanf(“%s%c”,&b,&c); (B) scanf(“%d%c”,&b,&c);

(C) scanf(“%s%c”,&s,&c); (D)scanf(“%s%c”,s,c);

7.阅读以下函数

fun(int x,int y)

{int c;

c=y;

if(x>y) c=x;

return(c);

}

以上函数的功能是( )

(A)比较x和y是否相等 (B)求x,y中较大值

(C)求x,y中较小值 (D)将x,y值互换

8.在C语言的编辑、编译、连接、运行过程中,会产生各种类型的文件,以文件名file1为例,请选择出可直接执行的文件( )

(A)file1.c (B)file1.obj

(C)file1.exe (D)file.link

9.设i和x都是int类型,则for循环语句( )

for(i=0,k=-1;k==1;i++,k++) printf("*****\n");

(A)判断循环结束的条件不合法 (B)是无限循环

(C)循环体一次也不执行 (D)循环体只执行一次

10.选择运行下列程序后x的结果:____________。

int x=4;

switch(x) {case 4:x++;case 5:x++;case 6:x++;default:x++;}

A)5 B)6

C)7 D)8

二. 填空:(每空2分,共20分)

1.将75以8进制和16进制表示为:_____和_____。

2.当a = 5,b = 4,c = 2时,表达式a > b != c的值是_____。

3.在C语言中,规定对所有用到的变量要:先_____、后_____。

4.int a=0x30; printf(“%d”,a); 输出结果是__________________。

5.条件“2 < x < 3 或x < -10”的C语言表达式是_________。

6.在计算机中,一个字节的长度为 位,一个字的长度为 字节。

7.若有定义:double x[3][5];则x数组中列下标的最大值为____。

三. 写出下列程序运行后的结果(55=25分):

1. main()

{ char a[10]={“abc”};

char b[10]={“defg”};

char *p=a,*s=b;

while (*p) p++;

while (*s) *p++ = *s++;

printf(“%s\n%s\n”,a,b);

}

运行结果:

2. #define DOUBLE(t) t*t

main()

{ int x=1,y=2,r;

r=DOUBLE(x+y);

printf(“%d\n”,r);

}

运行结果:

3.main()

{

int i, j, m, n;

i = 8;

j = 9;

m = ++i;

n = j++;

printf(“%d, %d, %d, %d”, i, j, m, n);

}

运行结果:

4.#include “stdio.h”

#include “string.h”

fun(char *w,int n)

{ char t,*s1,*s2;

s1=w;

s2=w+n-1;

while (s1max)

{max=_______________; temp=__________________;}

p=stu+temp;

printf(‘\n The maximum score:\n);

printf(“No.:%d\n name:%s\n score:%f\n”,

____________________________________________________);

}

六. 编程求1+2+3+…+50。(10分)

七. 编程打印下列图形。(10分)

**********

WELCOME!!!

**********

共 页 第 页

展开阅读全文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 研究生复试通常包括专业基础知识考察和技术能力测试等环节。在C语言试题方面,一般主要考察对C语言的基本语法和常用库函数的掌握程度,以及对算法和数据结构的理解与应用能力。以下是一些常见的C语言试题及答案示例: 1. C语言的基本数据类型有哪些?它们的内存空间分别是多少? 答案:C语言的基本数据类型包括int(4字节)、char(1字节)、float(4字节)、double(8字节)等。 2. 请写一个C语言程序,实现两个整数相加并输出结果。 答案: ```C #include <stdio.h> int main() { int a = 10; int b = 20; int sum = a + b; printf("两个整数的和为:%d\n", sum); return 0; } ``` 3. 请编写一个C语言程序,实现计算1到n的累加和,并输出结果。 答案: ```C #include <stdio.h> int main() { int n; int sum = 0; printf("请输入一个正整数n:"); scanf("%d", &n); for (int i = 1; i <= n; i++) { sum += i; } printf("1到%d的累加和为:%d\n", n, sum); return 0; } ``` 4. 请实现一个简单的冒泡排序算法,对输入的n个整数进行升序排序,并输出结果。 答案: ```C #include <stdio.h> void bubbleSort(int arr[], int n) { for (int i = 0; i < n-1; i++) { for (int j = 0; j < n-i-1; j++) { if (arr[j] > arr[j+1]) { int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } } int main() { int arr[] = {5, 2, 8, 9, 1}; int n = sizeof(arr)/sizeof(arr[0]); bubbleSort(arr, n); printf("排序结果为:"); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } printf("\n"); return 0; } ``` 以上仅为一些基础的C语言试题及答案示例,研究生复试中具体的试题内容会根据学校和专业的要求而有所不同。希望以上回答能够对您有所帮助。 ### 回答2: 研究生复试中的C语言试题及答案因不同学校和不同专业可能有所不同,以下给出一个示例: 试题1:请写出用递归实现的阶乘函数,计算n的阶乘。 答案1: ```c #include <stdio.h> int factorial(int n) { if(n==0 || n==1) return 1; else return n*factorial(n-1); } int main() { int n; printf("请输入一个正整数n:"); scanf("%d", &n); printf("%d的阶乘为:%d\n", n, factorial(n)); return 0; } ``` 试题2:请编写函数swap,实现两个整数值的交换。 答案2: ```c #include <stdio.h> void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } int main() { int num1, num2; printf("请输入两个整数值:"); scanf("%d %d", &num1, &num2); printf("交换前的两个数为:%d %d\n", num1, num2); swap(&num1, &num2); printf("交换后的两个数为:%d %d\n", num1, num2); return 0; } ``` 试题3:请编写程序,实现判断一个字符串是否为回文。 答案3: ```c #include <stdio.h> #include <string.h> int isPalindrome(char str[]) { int len = strlen(str); for(int i=0; i<len/2; i++) { if(str[i] != str[len-1-i]) { return 0; } } return 1; } int main() { char str[100]; printf("请输入一个字符串:"); gets(str); if(isPalindrome(str)) { printf("是回文字符串\n"); } else { printf("不是回文字符串\n"); } return 0; } ``` 以上只是给出的一个示例,实际的研究生复试C语言试题可能会更加复杂和多样化。希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值