0 引言
1历年川大考研真题讲评
1.1 四川大学2000年攻读硕士学位研究生入学考试试题  及 答案
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和* argv[]可以实现命令行方式
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(“\nb=%x,\nx=%x”,b,x);
  }
在用2个字节表示整数的系统中
结果为
d8c0
d8b6
在用4个字节表示整数的系统中
结果为
1d8c0
1d8b6
故以上两种结果都正确。
  (2) #include 〈stdin.h〉
  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]}'

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。