C程序设计试卷及答案

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

题号 一 二 三 四 五 六 总分 得分

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

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

1 2 3 4 5 6 7 8 9 10 B A C B D C D C B D 11 12 13 14 15 A

B

C

D

B

1、一个C 语言程序总是从 ( )开始执行。(第1章) A) 函数

B) 主函数

C) 子函数

D) 其他函数

2、下列选项中不属于算法的特点的是( )(第2章) A) 及时性

B) 有效性

C) 有穷性

D) 确定性

3、下列标识符中,合法的用户标识符为( )。(第3章) A) $abc

B) a 10

C) print D) a+b

4、下面运算符优先级最低的是( )。(第3章)

A) ++

B) =

C) +

D) > 5、若变量已正确定义,执行语句scanf ("x=%d,y=%d",&x,&y);若要求x 、y 的值分别为

3和4,正确的数据输入是( )。(第3章) A) 3 4

B) 3,4

C) x=3 y=4

D) x=3,y=4

6、若x=2,y=3,则条件表达式x>y?x:y 的结果为( )。(第4章) A) 0

B) 2

C) 3

D) 1

7、有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x 的值不为3的是( )。(第4章) A) if (c3) x=c; else x=1; D) if (a3) x=c; else x=a;

8、程序段如下:则以下说法中正确的是( )。(第5章) int k=-20; while(k=0) k=k+1; A) while 循环执行20次

B) 循环是无限循环 C) 循环体语句一次也不执行

D) 循环体语句执行一次

9、下列程序段执行后k 值为( )。(第5章) int m=1,i,j; for(i=1;i<3;i++)

for(j=3;j<0;j--) { if (i*j>3) break; m*=i*j; }

A )0

B )1

C )2

D )3

10、若有定义int a[10],i=4;则对数组元素的非法引用是( )。(第6章) A) a[2*3]

B) a[0]

C) a[i]

D) a[10]

11、以下能正确定义数组并正确赋字符串初值的语句是( )。(第6章) A) char s[10];s="test";

B) char s[]={’t ’,’e ’,’s ’,’t ’}; C) char s[20]= "test";

D) char s[4]={ ’t ’,’e ’,’s ’,’t ’};

12、在C 语言程序中,以下描述正确的是( )。(第7章) A) 函数的定义可以嵌套,但函数的调用不可以嵌套 B) 函数的定义不可以嵌套,但函数的调用可以嵌套 C) 函数的定义和函数的调用均不可以嵌套 D) 函数的定义和函数的调用均可以嵌套

13、以下所列的各函数首部定义中,正确的是( )。(第7章) A) void play(a,b)

B) void play(int a,b) C) void play(int a,int b)

D) void play(int a,int b);

14、若int x ,*p =&x ; ,则正确的赋值表达式是( )。(第8章) A) p=4

B) &x=4;

C) &p=4;

D) *p=4;

15、执行以下程序段的输出结果是( )。(第8章)

int a[5]={1,2,3,4,5},*p=&a; printf("%d",*(p++)); A) 0

B) 1 C) 2 D)3

广东科技学院2013 — 2014 学年第一学期《C 语言程序设计》期末考试试卷(A 卷)

……………………………装……………………………………………订………………………………线………………………………

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

1、C语言的源程序代码.c文件经过编译生成后缀为文件。(第1章)

2、若a=5,b=6,c=7,d=8,则表达式d=a/2 && b==c||!a的值为________。(第3章)

3、执行语句“x=3; y=4; n=(x>y)?x++:y--;"后,变量n值为______。(第4章)

4、执行语句“s=2;for(i=1;i<8;i++) {s+=i;i+=2; }"后,s值为______。(第5章)

5、在执行如下语句后,s的值是_________。(第6章)

int a[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;

for (i=0;i<5;i++) s=s+a[b[i]];

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

1、(第3章)

include

int main(){

int X;

x=3;

printf("%d",x);

}

2、(第4章和第5章)下面程序是求1..200之间能被5整除的数。

int main()

{ int n=1;

do{

if (n/5==0)

printf("%d",n);

}while(n<200)

return 0;

}

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

1、(第3章)

int main()

{ float x; int i;

x=3.6; i=(int)x;

printf("x=%f,i=%d",x,i);

}

输出结果:______

x=3.600000,i=3

2、(第4章和第5章)

int main()

{ int a,b;

for(a=1,b=1;a<=100;a++)

{ if(b>10) break;

if(b%3==1)

{ b+=3; continue; }

}

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

}

输出结果:______

a=5

3、(第6章)

void main()

{ int a[3][3]={1,3,5,7,9,11,13,15,17};

输出结果:______

sum=6