好文档 - 专业文书写作范文服务资料分享网站

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

天下 分享 时间: 加入收藏 我要投稿 点赞

题号 一 二 三 四 五 六 总分 得 分 考试形式:■闭卷 □开卷 ■笔试 □机试 答卷要求:试卷答案需填写至答题卡内

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

1 2 3 4 5 6 7 8 9 10 D C A B D B B B D A 11 12 13 14 15 B B B C D 1、关于C语言的叙述中,不正确的是(D)。 A) C程序可由一个或多个函数组成 B) C程序必须包含一个main()函数 C) C程序的基本组成单位是函数

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

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

B) .obj

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

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

B)

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==01: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(\是( B )。 A) 4

B) 5

C) 6

D) 7

14、设有以下定义语句不正确的叙述是( C )

C) a#10 struct student{ int num; char name[10]; } wang,zhang; D) Pad A) struct是结构体类型的关键字 B) zhang是结构体变量名

C) wang是结构体类型名

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

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

B) fp=fopen(\ \ \C) fp=fopen(\ \ \

D) fp=fopen(\ \ \

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

1 函数体 2 6 3 50 4 6 5 Windows XP 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[]=\ \”,执行语句“printf(\”的输出结果为__Windows XP____。

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

题号 错误代码 改正后 (1) #include #include <>或 1 #include \ (2) printf(\%d\,x) printf(\%d\,x); (1) void f(int x){ float f(int x){ 2 (2) y=f(x); y=f(&x); 1、 #include int main(){ int x; x=3;

printf(\%d\,x)

} 2、

void f(int *x){

f\\n\输出结果:______ }

2、

#include <> 输出结果:______ int main()

s=7890

{ 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(\

}

3、

#include <>

输出结果:______

void

swap(int

x,int

*y){

int x=2,y=2

t;t=x;x=*y;*y=t} int main( ) { int x=2,y=4;

swap(x,&y);

printf(\x=%d,y=%d\\n\,x,y); }

五、程序填空题(每空 3 分,共 12 分)

第1空 m%i==0 第2空 return s 第3空 *(p+j)>*(p+j+1) 第4空 *(p+i) 1、下列函数sum的返回值为一个整数m的所有因子之和。 int sum(int m) { int s=1,i;

for(i=2;i<=m/2;i++)

}

if(m%i==0) s=s+i;

2、编写程序,实现求矩阵5×5

中元素的最大值、最小值及所在的行号与列号。(要求使用指针变量指向数组的方法) 精心搜集整理,只为你的需要 return s;

2、下面程序的功能是:用冒泡法将整型数组a中的元素从小到大排列,请填空。 #include <> int main()

{ int a[10]={11,-2,37,4,5,76,7,45,91,75},*p=a;

int i,j,t;

for(i=0;i<10;i++) for(j=0;j<10-i;j++) if( *(p+j)>*(p+j+1)) { t=*(p+j); *(p+j)=*(p+j+1); *(p+j+1)=t;

}

for(i=0;i<10;i++) printf(\//使用指针形式

printf(\}

六、编程题(第1题 12 分,第2题12分,共 24 分)

1、用函数的递归调用方法求下列函数式的值(要求n通过主函数输入),递归公式为:

请编写该函数及main函数调用该函数的程序。

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

题号一二三四五六总分得分考试形式:■闭卷□开卷■笔试□机试答卷要求:试卷答案需填写至答题卡内一、单项选择题(每小题2分,共30分)12345678910DCABDBBBDA1112131415BBBCD1、关于C语言的叙述中,
推荐度:
点击下载文档文档为doc格式
40sc78jlmv207lq1bbd16zh7s4eqk601d6b
领取福利

微信扫码领取福利

微信扫码分享