浙江传媒学院C语言程序设计期终考试A卷

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

浙江传媒学院《C语言程序设计》期终(考试)(A)卷

2005—2006 学年第二学期任课教师

系班姓名学号得分

一、选择题(共40分,每小题2分)

1、组成C语言程序的是()

A、过程

B、函数

C、子程序

D、主程序和子程序

2、下列字符序列中,合法的标识符是()

A、S.b,sum,average,_above

B、class,day,louts_1,2day

C、#md,&12x,momth,student_n1

D、D56,r_1,name,_st_1

3、设n=10,i=4,则赋值运算n%=i+2执行后,n的值为()

A、0

B、2

C、4

D、6

4、下述程序的输出结果是()

#include

void main()

{ int x=-1,y=3,k;

k=x++<=0&&!(y--<=0);

printf(“%d,%d,%d”,k,x,y);

}

A、0,0,3

B、0,1,2

C、1,0,2 D1,1,3

5、执行下面程序中输出语句后, a的值是()

void main()

{ int a;

printf("%d\n",(a=4*5,a*4,a+5));

}

A、85

B、80

C、25

D、20

6、执行下列程序时输入:1234567,程序的运行结果为()

void main()

{ int x,y;

scanf(“%2d%*2c%2d”,&x,&y);

printf(“%d\n”,x+y);

}

A、57

B、68

C、17

D、46

7、为了避免嵌套的条件语句if-else的两义性,C语言规定:else与()配对

A、缩排位置相同的if

B、其之前最后的if

C、其之后最近的if

D、同一行上的if

8、执行下列程序,当输入2时输出的结果是()

void main()

{ int k;

scanf(“%d”,&k);

switch(k){

case 1: printf(“%d\n”,k++);

case 2: printf(“%d\n”,k++);

case 3: printf(“%d\n”,k++);

case 4: printf(“%d\n”,k++);

break;

default:printf(“Full!\n”);

}

}

A、1

B、2

C、2

D、1

3 2

4 3

5 4 9、以下for语句构成的循环执行的次数为()

#include

#define N 2

#define M N+1

#define NUM (M+2)*M/2

void main()

{ int i,n=0;

for(i=0;i<=NUM;i++){

n++;

printf(“%d”,n);

}

printf(“%d”,n);

}

A、7

B、9

C、11

D、13

10、在循环体中执行break语句,其作用是()

A、终止程序运行

B、继续执行break语句之后的循环体各语句

C、结束本次循环,进行下次循环

D、跳出该循环体,提前结束循环

11、对于for(表达式1;;表达式3)可理解为()

A、for(表达式1;0;表达式3)

B、for(表达式1;1;表达式3)

C、for(表达式1;表达式1;表达式3)

D、for(表达式1;表达式3;表达式3)

12、若有以下定义和语句:

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

则不能表示 a数组元素的表达式是()。

A.a[*p] B.a[10] C.*a D.a[p-a]

13、以下对二维数组a进行不正确初始化的是()

A、int a[ ][3]={3,2,1,1,2,3};

B、int a[ ][3]={{3,2,1},{1,2,3}};

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

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

14、执行下面程序段后,其输出结果是()

char str[ ]=”ab\056\n\0/2\\\n”;

printf(“%d”,strlen(str));

A、3

B、4

C、2

D、12

15、下面函数的功能是()

int fun(char s[ ], char t[ ])

{ int i=-1;

while(++i,s[i]==t[i]&&s[i]!=’\0’);

return (s[i]==’\0’&&t[i]==’\0’);

}

A、比较字符串s和t的长度

B、比较字符串s和t的大小

C、比较字符串s和t是否相等

D、将字符串t赋给字符串s

16、#define能作简单的替代,用宏来替代计算多项式3*x*x+2*x+1的值的函数f,正确的宏定义语句为()

A、#define f(x) 3*x*x+2*x+1

B、#define f 3*x*x+2*x+1

C、#define f(a) (3*a*a+2*a+1)

D、#define (3*x*x+2*x+1) f(x)

17、下面vc编译环境下的程序有两个printf语句,如果第1个printf语句输出的是194,则第2个printf语句的输出结果是()

void main()

{ int a[10]={1,2,3,4,5,6,7,8,9,0},*p;

p=a;

printf(“%x\n”,p);

printf(“%x\n”,p+8);

}

A、224

B、226

C、1b4

D、1b6

18、设有定义语句“int w[3][4]={{0,1},{2,4},{5,8}}, (*p)[4]=w;”,则数值为4的表达式是()

A、*w[1]+1

B、p++,*(p+1)

C、w[2][2]

D、p[1][1]

19、下述程序输出结果是()

#include

void main()

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

int i, (*p)[4]=a,*q=a[0];

for(i=0;i<3;i++){

if(i==0)

(*p)[i+i/2]=*q+2;

else

p++,++q;

}

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

printf(“%d,”,a[i][j]);

}

相关文档
最新文档