中石油华东2012春《C语言》在线答案
2012年春季学期《C语言》在线考试(适用于2012年7月份考试)答案试卷总分:100 测试时间:--
单选题 其他题 简答题 答案请在底部附件处下载
一、单选题(共 10 道试题,共 20 分。)V
1.设有定义:int x=12,n=5; 则表达式 x%=(n%2) 的值为A. 0
B. 1
C. 2
D. 3
满分:2分
2.假设已定义 char c= "test"; int i; 则下面的输出函数调用中错误的是A. printf("%s",c);
B. for(i=0;i<8;i++) printf("%c",c);
C. puts(c)
D. for(i=0;i<8;i++) puts(c);
满分:2分
3.当对两个字符串进行比较时,应该使用的函数是A. strcat
B. strcmp
C. strcpy
D. strlen
满分:2分
4.下列数组定义及赋值不正确的是A. int a={0,1,2,3,4,5,6,7,8,9};
B. int a[ ]={0,1,2,3,4,5,6,7,8,9};
C. int a= {0,1,2,3,4,5,6,7,8,9};
D. int a[ ]= {0,1,2,3,4,5,6,7,8,9};
满分:2分
5.若有以下定义:char s= "programming",*ps=s;则不能代表字符o的表达式是A. ps+2
B. s
C. ps
D. ps+=2,*ps
满分:2分
6.
已定义以下函数: fun(int *p)
{ return *p; }
该函数的返回值是
A. 不确定的值
B. 形参p所指存储单元中的值
C. 形参p中存放的值
D. 形参p的地址值
满分:2分
7.下列变量的定义及赋值正确的是A. int i=0;j;
B. char c=”A”;
C. double x,y,z; x=y=z=100;
D. float a=b=100;
满分:2分
8.下列循环语句中,不能够正常结束的是A.
int i=0;
for(;i<100;i++);
B.
int i=0;
for(;;){if(i++>100)break;}
C.
int i=0,j=0;
while(i<=j)j++;
D.
int i=0,j=0;
do{i+=j;i++;j++;}while(i<j);
满分:2分
9.在C语言中,下列字符常量中合法的是A. ′\084′
B. ′\x43′
C. ′ab′
D. ”\0”
满分:2分
10.执行int j,i=1; j=-i++; 后j的值是A. -1
B. -2
C. 1
D. 2
满分:2分
2012年春季学期《C语言》在线考试(适用于2012年7月份考试)
试卷总分:100 测试时间:--
单选题 其他题 简答题
二、其他题(共 10 道试题,共 50 分。)V
1.读程序写出程序执行结果
#include <stdio.h>
void main()
{ int a,*p,*s,i;
for(i=0;i<10;i++)scanf(%d”,a+i);
for(p=a,s=a;p-a<10;p++)if(*p>*s)s=p;
printf(“max=%d,index=%d\n”,*s, s-a);
}
简述上列程序完成的功能:
答案:
满分:5分
2.读程序写出程序执行结果
#include <stdio.h>
int fun(int x)
{return(x>0 ? x : -x);}
void main()
{int a=-5;
printf(“%d, %d\n”, a, fun(a+10));
}
答案:
满分:5分
3.读程序写出程序执行结果
#include <stdio.h>
void main()
{int x=2,y=6;
int j;
for(j=1 ; y>0 ; y -- )j=j*x;
printf(“j=%d\n”,j);
}
答案:
满分:5分
4.读程序写出程序执行结果
#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);
}
答案:
满分:5分
5.读程序写出程序执行结果
#include <stdio.h>
void main()
{ charx[]="language";
char *ptr=x;
while(*ptr)
{printf("%c\n",*ptr-32);
ptr++;
}
}
答案:
满分:5分
6.读程序写出程序执行结果
#include <stdio.h>
void main()
{char x[]="123456789",*p=x ;
int i=0;
while(*p)
{if(i%2==0) *p='*’;
p++; i++;
}
puts(x);
}
答案:
满分:5分
7.读程序写出程序执行结果
#include <stdio.h>
void main ( )
{chara= "abcXYZ", c ;
inti,j;
j= strlen(a)-1 ;
for (i=0;j>i;i++,j--)
{c=*(a+i); *(a+i)=*(a+j); *(a+j)=c;}
puts(a);
}
答案:
满分:5分
8.读程序写出程序执行结果
#include <stdio.h>
int fib(int g)
{ switch(g)
{case 0: return 0;
case 1:
case 2: return 1;
}
return -1;
}
void main()
{printf(“%d\n”, fib(5)) ;
}
答案:
满分:5分
9.读程序写出程序执行结果
#include <stdio.h>
void main()
{ int x=26587,x1,r,sum=0;
x1=x;
while(x>0)
{ r=x%10;
sum+=r;
x/=10;
}
printf( "Sum of the digits in %d is %d", x1,sum);
}
答案:
满分:5分
10.读程序写出程序执行结果
#include <stdio.h>
void main()
{ int y=-1 ;
do
{y++;
}while(y--);
printf("%d\n",y--);
}
答案:
2012年春季学期《C语言》在线考试(适用于2012年7月份考试)
试卷总分:100 测试时间:--
单选题 其他题 简答题
三、简答题(共 3 道试题,共 30 分。)V
1.编程:任意输入100个整数,分别统计其中的正数、负数和零的个数。(备注:建议学员在做编程序题目时,事先在记事本或word文档中编写,然后拷贝至答题区域即可。)
答案:
2.编程题
备注:建议学员在做编程序题目时,事先在记事本或word文档中编写,然后拷贝至答题区域即可。
3. 编程:写一个判断素数的函数。要求在主函数中输入一个正整数以及打印函数调用后返回的相应的判断信息。
(备注:建议学员在做编程序题目时,事先在记事本或word文档中编写,然后拷贝至答题区域即可。)
页:
[1]