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变量,而不...