C语言程序设计(参考试卷+答案) (2)

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

考试形式:■闭卷 □开卷 ■笔试 □机试 答卷要求:试卷答案需填写至答题卡内

一、单项选择题(每小题 2 分,共 30 分)

1、关于C 语言的叙述中,不正确的是(D )。 A) C 程序可由一个或多个函数组成 B) C 程序必须包含一个main()函数 C) C 程序的基本组成单位是函数

D) 注释说明只能位于一条语句的后面

2、C 语言源程序文件经过C 编译程序编译连接之后生成一个后缀为( C )的文件。 A) .c

B) .obj

C) a#10 D) Pad C) .exe D) .bas

C) a#10 D) Pad

3、若有定义:float x=3.5; int z=8; 则表达式x+z%3/4的值是( A ) A) 3.5

B) 3.75

C) 3

D) 4

4、下列标识符中,不合法的用户标识符为( B )。 A) _int

B) a#10

C) abc

D) Pad

5、下面运算符优先级最低的是(D )。 A) !

B) >=

C) %

D) +=

6、若变量已正确定义,执行语句scanf (“%d,%d ”,&a, &b);若要求a 、b 的值分别为10和20,正确的数据输6入是( B ) A) 10 20

B) 10,20

C) a=10, b=20

D) 10;20

7、对于整型变量x ,下述计语句与赋值句:x=x%2==0?1:0;不等价的是( B ) A) if (x%2!=0)x=0; else x=1; B) if (x%2)x=1; else x=0; C) if (x%2==0)x=1; else x=0; D) if (x%2==1)x=0; else x=1;

8、以下程序运行后,循环体运行的次数为( B )

int i=10,x; for( ;i<10;i++) x=x+i; A) 10

B) 0

C) 1

D) 无限

9、若有定义int a[2][3];则对数组元素的非法引用是( D ) A) a[0][1/2]

B) a[1][1]

C) a[4-4][0]

D) a[0][3]

10、在C 程序中,若对函数类型未加说明,则函数的隐含类型为(A

)。 A) int

B) float

C) double

D) void

11、在C 语言程序中,在函数内部定义的变量称为( C )。 A) 动态变量

B) 静态变量

C)局部变量

D) 全局变量

12、执行以下程序段的输出结果是( B )

int a=10,*p=&a; printf(“%d ”,++*p); A) 10

B) 11

C) 变量a 的地址

D)变量a 的地址加1

13、表达式strlen("hello")是( B )。 A) 4

B) 5

C) 6

D) 7

14、设有以下定义语句不正确的叙述是( C ) struct student{ int num; char name[10]; } wang,zhang; A) struct 是结构体类型的关键字 B) zhang 是结构体变量名

C) wang 是结构体类型名

D) num,name 都是结构体类型student 的成员名

15、以“只读”方式打开文本文件a:\aa.dat,下列语句中哪一个是正确的( D )。 A) fp=fopen("a:\\aa.dat ", "ab");

B) fp=fopen("a:\aa.dat ", "a"); C) fp=fopen("a:\aa.dat ", "wb"); D) fp=fopen("a:\\aa.dat ", "r");

二、填空题(每小题 2 分,共 10 分)

1、C 语言的一个函数由函数头和 函数体 两部分组成。

2、执行语句“n=1;if(n=5) n++;"后,变量n 值为__6____。

3、执行语句“for(s=0,i=1;i<11;i++) {if(i==5) continue; s+=i; }"后,s值为_50_____。

4、有程序段:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a,b; b=p[5]; 则b中的值是6 。

5、若声明“char a[]="Windows ",b[]="XP";”,执行语句“printf("%s",strcat(a,b));”的输出结果为__Windows XP____。

三、程序改错题。指出下列程序错误代码并改正,使其能正确运行。(每题有2处错,指出1处得1分,改正得2分,每处 3分,共 12 分)

1、

#include stdio.h

int main(){

int x;

x=3;

printf("%d",x)

}

2、

void f(int *x){ //x必须使用指针形式

return *x*2.0;

}

int main() { float y; int x=2;

y=f(x);

printf("y=%f\n",y);

}

四、程序分析题,根据下列程序,写出其运行结果。(每小题 4 分,共 12 分)

1、

#include <stdio.h>

#include <math.h>

void main()

{ int a=1,b=4,c=2;

float x=10.5,y=4.0,z ;

z=(a+b)/c+sqrt((double)y)*1.2/c+x;

printf("%.2f\n",z);

}

输出结果:______

13.70

2、

#include <stdio.h>

int main()

{ int a[]={7,8,9,0},i,j=1,s=0;

for(i=3;i>=0;i- -)

{ s=s+a[i]*j; j=j*10; }

printf("s=%d\n",s);

}

输出结果:______

s=7890

3、

#include <stdio.h> 输出结果:______

相关文档
最新文档