2012年秋季学期《C语言》在线考试满分答案

更新时间:2023-08-25 23:19:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2012年秋季学期《C语言》在线考试满分答案 奥鹏

1. 判断字符串的长度,应该使用的函数是

A. strcat

B. strcmp

C. strcpy

D. strlen

满分:2 分

2. 若有:int a[ ]= {1,2,3,4,5,6,7,8},*p=a ; 不能正确表示a[5]的表达式是

A. p + 5

B. p[5]

C. *(a +5)

D. *(p +5)

满分:2 分

3. 对于int a=99, b='b'; printf(“%c,%d”, a , b);的结果是

A. 99, b

B. c, 98

C. 99, 98

D. c, b

满分:2 分

4. 能将高级语言编写的源程序转换为目标程序的软件是

A. 汇编程序

B. 编辑程序

C. 编译程序

D. 解释程序

满分:2 分

5. 以下关于数组的描述正确的是

A. 数组大小固定,但是可以有不同类型的数组元素

2012年秋季学期《C语言》在线考试满分答案 奥鹏

B. 数组大小可变,但是所有数组元素的类型必须相同

C. 数组大小固定,所有元素的类型必须相同

D. 数组大小可变,可以有不同类型的数组元素

满分:2 分

6.

下述语句的输出为int m=-1;printf(“%d,%u,%o”,m,m,m);

A. -1,-1,-11

B. -1,32767,-177777

C. -1,32768,177777

D. -1,65535,177777

满分:2 分

7. 结构化程序设计方法中有三种基本控制结构,以下不正确的是

A. 顺序结构

B. 选择结构

C. 循环结构

D. 数组结构

满分:2 分

8. 已知char b[5],*p=b; ,则正确的赋值语句是

A. b=“abcd” ;

B. *b=“abcd”;

C. p=“abcd”;

D. *p=“abcd”;

满分:2 分

9. 下列错误的表达式是

A. -x++

B. (-x)++

2012年秋季学期《C语言》在线考试满分答案 奥鹏

C. x+++y

D. ++x+y

满分:2 分

10. 用数组名作为函数调用时的实参,则实际传递给形参的是

A. 数组的第一个元素值

B. 数组中全部元素值

C. 数组的首地址

D. 数组的元素个数

满分:2 分

二、其他题(共 10 道试题,共 50 分。)

1. 读程序写出程序执行结果

#include <stdio.h>

void main()

{ int k=1;

switch(k)

{ case 0: printf("A"); break;

case 1: printf("B");

case 2: printf("I");

case 3: printf("G"); break;

default: printf("E");

}

}

答:BIG

满分:5 分

2.

读程序写出程序执行结果

#include <stdio.h>

void main()

{ int x=12,y=0;

if(x>=0)

{ if(x>0) y=1; }

else y=-1;

2012年秋季学期《C语言》在线考试满分答案 奥鹏

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

}

答:y=1

满分:5 分

3.

读程序写出程序执行结果

#include <stdio.h>

#define S(a,b) (a)*(b)

void main()

{ int a=3 ,area;

area=S(a,a+3) ;

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

}

答:area=18

满分:5 分

4.

读程序写出程序执行结果

#include <stdio.h>

int stre(char *s)

{ int num=0;

while(*(s+num)!= '\0’)num++;

return num;

}

void main()

{ char str[]=“students”,*p=str;

printf(“%s,%d\n”,p,stre(p)); }

答: students,8

满分:5 分

5.

读程序写出程序执行结果

#include <stdio.h>

void main()

{ int i,j,m=0;

for(i=1;i<=10;i+=3)

for(j=3;j<10;j+=4)

m++;

printf(“m=%d\n”,m);

}

2012年秋季学期《C语言》在线考试满分答案 奥鹏

答:m=8

满分:5 分

6.

读程序写出程序执行结果

#include <stdio.h>

void main()

{ int i=0,a=0;

while( i<20 )

{ for(;;)

if((i%10)= =0) break;

else i- -;

i+=11;

a+=i;

}

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

}

答:32

满分:5 分

7.

读程序写出程序执行结果

#include <stdio.h>

int a=100,b=200;

void f( )

{ printf(“%d,%d\n”,a,b);

a=1;b=2;

}

void main()

{ int a=5,b=7 ;

f( );

printf(“%d,%d\n”, a,b) ;

}

答:

100,200

5,7

满分:5 分

8.

读程序写出程序执行结果

2012年秋季学期《C语言》在线考试满分答案 奥鹏

#include <stdio.h>

void main()

{ int y=-1 ;

do

{ y++;

}while(y--);

printf("%d\n",y--);

}

答:-1

满分:5 分

9.

读程序写出程序执行结果

#include <stdio.h>

int m=2;

int fun(int x,int y)

{ int m=3;

return(x*y-m);

}

void main()

{ int a=7, b=5;

printf("%d\n", fun(a,b)/m);

}

答:16

满分:5 分

10.

读程序写出程序执行结果

#include <stdio.h>

void main()

{ int t, n=9;

t=0;

do {

t+=n;

n-=2;

} while (n>0);

printf("%d\n", t);

}

答:25

满分:5 分

2012年秋季学期《C语言》在线考试满分答案 奥鹏

三、简答题(共 3 道试题,共 30 分。)

1. 编程:编写函数change使输入的字符串按反序存放,在主函数中输入和输出字符串。例如输入是:abcdefg,则输出为:gfedcba(备注:建议学员在做编程序题目时,事先在记事本或word文档中编写,然后拷贝至答题区域即可。)

#include <stdio.h>

#include<string.h>

void chang(char ch[])

{

int i;

int len =strlen(ch);

i=0;

char c;

int j = len-1;

while(j>i)

{

c=ch[i];

ch[i] = ch[j];

ch[j] =c;

i++;

j--;

}

}

int main()

{

char ch[81];

gets(ch);

printf("\nbefore change:\n");

printf("%s",ch);

chang(ch);

printf("\nafter change:\n");

printf("%s",ch);

getchar();

return 0;

}

满分:10 分

2. 编程:写一个判断素数的函数。要求在主函数中输入一个正整数以及打印函数调用后返回的相应的判断信息。(备注:建议学员在做编程序题目时,事先在记事本或word文档中编写,然后拷贝至答题区域即可。)

#include <stdio.h>

#include <math.h>

2012年秋季学期《C语言》在线考试满分答案 奥鹏

int is_prime(int m)

{

int index;

int max;

if(m < 2)

return 0;

max=(int)sqrt(m);

for(index = 2; index <= max; index++)

{

if (0 == m % index)

return 0;

}

return 1;

}

void main()

{

int n,c;

scanf("%d",&n);

c=is_prime(n);

if(c==1)

printf("prime\n");

else

printf("not prime\n");

}

满分:10 分

3. 编程:对N个整数进行从大到小顺序排列。(备注:建议学员在做编程序题目时,事先在记事本或word文档中编写,然后拷贝至答题区域即可。)

#include<stdio.h>

#define N 5

void main()

{

int i,j,k,a[N],t;

printf("请输入%d个整数:",N);

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

scanf("%d",&a[i]);

for(i=0;i<N-1;i++)

{ k=i;

for(j=i+1;j<N;j++)

if(a[k]<a[j])

k=j;

if(a[i]!=a[k])

{t=a[i];a[i]=a[k];a[k]=t;}

2012年秋季学期《C语言》在线考试满分答案 奥鹏

} for(i=0;i<N;i++) printf("%3d",a[i]); putchar('\n'); }满分:10 分

本文来源:https://www.bwwdw.com/article/p8ei.html

Top