C语言年试题及其答案

发布 2021-12-28 01:04:28 阅读 1803

0 引言 1

1历年川大考研真题讲评 1

1.1 四川大学2023年攻读硕士学位研究生入学考试试题及答案 1

1.2 四川大学2023年攻读硕士学位研究生入学考试试题及答案 6

1.2.1第2023年――c语言程序设计题目 6

1.3 四川大学2023年攻读硕士学位研究生入学考试试题及答案 12

1.3.1 第2023年――c语言题目 12

1.4 四川大学2023年攻读硕士学位研究生入学考试试题及答案 20

1.4.1 第2023年――c语言题目 20

1.5 四川大学2023年攻读硕士学位研究生入学考试试题及答案 25

1.5.1 第2023年――c语言题目 25

1.6 四川大学2023年攻读硕士学位研究生入学考试试题及答案 30

1.6.1 第2023年――c语言题目 30

c语言部分。

一、选择题(每小题2分,共10分)

下在各小题,分别有一个或多个正确答案,请将所有正确答案的编号,填写在该小题题干后的括号内。错选或漏选均不得分)。

1、若定义:int a[2][3]{0,2,4,6,8,10};以下描述正确的有( a,c,d,e )

a、*(a+1)为元素6的地址

这里a+1=a[1]的地址;*(a+1)的值是6,故a正确。

b、*(a[1]+1)的值为2

为8,故b不正确。

c、**a+1)+2的值为8

这里a+1是一个指针,指向的是a[1]. a+1)为a[1],a[1]指向的是a[1][0]. a+1)为6,加2得8,故c正确;

d、a[0]与a相同

因二者都是指针,指针的地址都是指向数组中的第一个元素的地址,故d正确。

e、a[1][2]的值为10

它是指第二行的第三个元素,为10,正确。

2、对函数的正确使用方法描述( a,c,d )。

a、用数组做函数参数时,必须在主调函数和被调函数中分别定义数组。

b、实参数组元素和形参数组元素类型可以不一致

c、形参数组长度可以不指定 d、形参数组长度可以大于实参数组长度。

e、数组名做参数属于值传递。

3、对静态变量的正确描述( a,b,d,e )

a、静态局部变量在静态存储区内分配单元( )

b、静态外部变量可以赋初值,也可以不赋初值。

c、静态外部变量的作用与外部变量相同。

d、静态局部变量在函数调用结束时,仍保存其值,不会随着消失。

e、静态局部变量只赋一次初值。

4、下列描述正确的是( a ,c)。

a、由main 函数及其参数argc和* ar**可以实现命令行方式。

b、使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中。

/先写缓冲区数据到文件中,再释放文件指针。

c、字符数组并不要求它的最后一个字符是‘\0’

/是的,以字符指针指向的字符串才要求,因为只有这样,才能知道字符串的长度,而在字符数组中,不用\0,一样可以知道到**是字符数组的结尾。

d、‘a’和“a”都是字符串常量

e、若char*s=“\ta\017bc”;则指针变量s指向的字符串所占的字节数是7

5、在缓冲文件系统中用于读写的函数有( a,b,d )

a、putchar ()b、fread() c、rewind ()d、purw() e、fseek()

二、程序阅读,并给出运行结果(共10分,每题5分)。

1)main()

unsigned a,b,x

int n;

a=0x763输出结果:

n=6;b=a<<(12-n);

x=(a>>n-2)^b; /的优先级比<<,高。

printf(“b=%x,x=%x”,b,x);

在用2个字节表示整数的系统中。

结果为。d8c0

d8b6在用4个字节表示整数的系统中。

结果为。1d8c0

1d8b6故以上两种结果都正确。

#include 〈

struct m {int x;

int *y;

p;int a [4]={12,33,-40,100};

struct m b [4]={10,&a[2],9,&a[3],8,&a[0],7,&a[1]}'

main()

p=b输出结果:

printf(“%d”,+p->x); 的优先级高于++,因此等于是++(p->x),为11

printf(“%d”,(p)->x); p后移一个元素,其x值为9;

printf(“%d”,+p->y));

//-的优先级高于*, 此时p已指向b[1],故*(p->y)为a[3]为100.自加后为101;

故输出结果为:

三、程序设计(共10分)

设在文件和文件中分别存有两个字符串,设计一个程序将这两个字符串按依序交叉的方式合并为一个字符串(例如“aaaaa”与“bbb”的合并结果为“abababaa”,而“bbb”与“aaaaa”的合作结果为“ bababaa”,)并将结果存入文件中。

答案】写程序时,可以分别读取文件和文件,注意(1),无论a文件先读完还是b文件先读完,程序都能作出适应性的判断。注意(2)把a和b合并的结果,写到一个临时文件c中,最后把c的文件覆盖到a文件中,达到题意的要求。

#include<>

main()

file *fp,*fq,*fr;

char ch;

if((fp=fopen(""r+")null)

if((fq=fopen(""r"))null)

fr=fopen(""w+")

while(!feof(fp))

while(!feof(fq))

rewind(fp); rewind(fr);

while(!feof(fr))

fclose(fp); fclose(fq); fclose(fr);

一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码写在答题纸上。请注意注明题号。每小题1分,共计6分)

1、‘\t’表示什么?

字符串常数 ②标识符 ③变量 ④字符常量。

答案:④2、对宏定义不正确的描述是哪一个?

在进行宏定义时,可以引用已经定义的宏名,可以层层置换。

/可以引用已经定义了的宏名,可以层层置换。

宏名的有效范围包括本文件的任何位置。

/宏名的有效范围定义命令之后到本源文件结束,可以用#define终止宏定义的作用域。

宠定义不是语句,不必在行末加分号。

/是预处理定义语句。

对程序中双引号括起来的字符串,即使与宏名相同,也不进行置换。

3、若定义static char s[20]=”computer”;则执行语句x = strlen(s);之后,x的值为多少?

/strlen函数计算char*型字符串的长度的时候,并不包含末尾的\0;

4、以下哪一个表达式取值是正确的?

6>5结果为66&&5结果为7

6||5结果为76<5结果为0

5、如定义。

enum weekday {one, two, thr, fou, fiv};

enum weekday working;

以下哪个是不正确的枚举变量的使用?

working = thrworking =2;

working = enum weekday)2;

working = enum weekday) (5-3);

/不能对其赋值。

6、下列说法中正确的是哪一个?

sizeof (char) 是结果为整型的表达式。

C语言试题2 答案

题1 有如下程序 define double x x x i 5 double 5 i的值是多少?并说明为什么?30,i 5 5 5 题2 定义了unsigned int i unsigned char p p指向内存一地址。现在要比较i所在4个字节和p指向的连续4个字节的内容是否一样。请依题意写出...

C语言试题期末小结答案

北京理工大学珠海学院。c语言程序设计 试卷分析。一 选择题 每小题1分,共15分 1.以下叙述中不正确的是 c a 在c中,函数中的自动变量可以赋初值,每调用一次,赋一次初值。b.在c中,在调用函数时,实际参数和对应形参在类型上只需赋值兼容。c.在c中,静态变量如果不初始化,值为不定值。d.在c中,...

C语言试卷答案

程序设计语言 c 模拟试卷。一 试题一 40分,每小题4分 按题目要求解答下列各小题。1.定义一个大小为6的数组,并且使数组的值都为0。int a 6 2.写出执行如下程序段后的输出结果。char a hello p p a 2 printf s p llo 3.假设你有x是一个float变量,而不...