C语言考试试卷

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二级 C 语言考试试卷

(考试说明及第一部分计算机基础知识略)

第二部分 C 语言程序设计

一、选择题(用答题卡答题,答案依次填在21~30 答题号内)

21.若有声明语句 char s1[10]={0}, s2[10]= "books";则能将字符串 "books"赋给数组s1 保存的表达式是 21。

A. s1= ”books”;

B. strcpy(s2,s1);

C. s1=s2;

D. strcat(s1,s2);

22.表达式( a=4*5,b=a*2 ) ,b-a,a+=2的值是 22。

A. 2 B. 20 C. 22 D. 42

23.以下是一个自定义函数的头部,其中正确的是23。

A. int fun(int a[ ], b)

B. int fun(int a[ ],int a)

C. int fun(int * a, int b)

D. int fun(char a[ ][ ], int b)

24.以下数组声明语句中正确的是24。

A. int n, a[n]; B. int a[ ];

C. int a[2][3]={{1}, {2} , {3}};

D. int a[ ][3]={{1},{2}, {3}};

25.已知在某 C 语言编译系统中表达式sizeof(int)的值是2,如果希望将常量

在一个变量 a 中,该变量声明语句应当是25。

A. int a; B. long int a;

C. unsigned int a;

D. unsigned long int a

26.以下声明语句中,用于声明一个行指针变量的是26。

A. int *p(int);

B. int *p;

C. int (*p)[3]; D. int (*p)(int);-

70000 ;

正确地保存

27.已知 A 盘根目录下的一个文本数据文件data.dat 中存储了 100 个 int 型数据,若需要修改该

文件中已经存在的若干个数据的值,只能调用依次

的正确调用形式是27。

fopen函数,已有声明语句FILE*fp ;则 fopen函数

A. fp=fopen(”a:data.dat ”, ”r+ ”) ;

C. fp=fopen(”a:data.dat ”, ”a+”) ;

28.在以下程序中,需要在fun函数中声明一个int B . fp=fopen(”a:

D. fp=fopen( ”a:

型的变量,以下选项中

data.dat

data.dat

28

”, ”w+”) ;

”, ”w”) ;

不能用作该变量

的名字。

A. x B. y C. fabs D. fun

#include

int y;

main( )

{int a=1;

fun(a);

}

int fun(int x)

{

,/*;/* int型变量声明语句位置

若干执行语句 */

*/

}

的是29.如有语句:int x,y=0,z,* p[3];p[0]=&x

29。

A. y++ B. p++ C. *++p[0]

30.设有声明语句:int a[3][3]={1,2,3,4,5,6,7,8,9}

;p[1]=&y ; p[2]=&z ;

D. (*p[0])++

;以下语句中除

以下表达式中有语法错误

30外均能输出a[1][2]

的值。

A.printf( C. printf(“%d”,*(*(a+1)+2))

“%d”,*(a[1]+2));

; B. printf(

D. printf(

“%d”,*(&a[2][0]

“%d”,*(a+1)[2])

-1))

二、填空题(将答案填写在答题纸的响应答题号内,每个答案只占一行)

基本概念题(共 5 分)

1.只能在循环体中出现的语句是(1)语句。

2.&既可以用作单目运算符也可以用作双目运算符,其中用作单目运算符时表示的功能是(2)。3.包含二目运算符的表达式可一般的表示为(x) op( y),其中 op 代表运算符x、 y 代表操作数。op 是“ +”运算符,且x 和 y 均为常量时,不能同时为(3)常量。

4.当(4)语句被执行时,程序的执行流程无条件地从一个函数跳转到另一个函数。

5.在函数内部声明局部变量时缺省了存储类型,该变量存储类型为(5)。

阅读程序写出运行结果题(共

6.以下程序段运行后,x、 y、 z

10 分)

的值分别是(6)。

int x=0,y=3,z=2;

if(x++&&y++)z--;

else if(x+1==6||y--)z++;

7.设有以下宏定义:

#define N3

#define Y(n) ((N+1)* n)

则执行语句z=2 * (N+Y(5+1));

8.[ 程序 ]

int x=1;

后, z的值为(7)。

main( )

{ int y,k;

y=f(3);printf(“%d n%d”,x,y);

}

int f(int x)

{ if(x==3)

{ int x=2;

return x;

}

else return x;

}

该程序运行后,输出x 的值是(8),y的值是(9)。

9.[ 程序 ]

main()

{

int a[3][3]={1,2,3,4,5,6,7,8,9},m,k,t;

for(m=0;m<3;m++)

for(k=0;k<=m;k++)

相关文档
最新文档