课程试卷1 答案
一、单项选择题(每题2分,15题共30分)
1.C语言是一种( C )的程序设计语言。
A.面向对象 B.可视化 C.面向过程 D.组件导向
2.C程序一般应含( C )两方面的描述。
A.语句和算法 B.定义和数据
C.数据和算法 D.开发环境和语句
3.下列各选项中,( A )是合法的用户标识符。
A.ab B.3day C.day-3 D.#abc
4.已知字母b的ASCII码为98,如ch为字符型变量,则表达式ch= 'b' +'5 '-'2 '的值为( B )。
A.e B.d C.100 D.102
5.下列程序的运行结果是( A )。
int main( )
{
char s[20]="China";
printf("%d\n",strlen(s));
return 0;
}A.5 B.6 C.20 D.无显示
6.当调用函数时,实参是一个数组名,则向函数传递的是( C )。
A.数组的长度 B.数组每一个元素的地址
C.数组的首地址 D.数组每个元素中的值
7.语句 for( i =0;i++<3;);执行后,变量i的值为( C )。
A.2 B.3 C.4 D.5
8.数字字符0的ASCII值为48,若有以下程序,其运行后的结果是( C )。
int main()
{
char a='1',b='2';
printf("%c,",b++);
printf("%d\n",b-a);
return 0;
}
A.3,2 B.50,2 C.2,2 D.2,50
9.以下叙述中错误的是( D )。
A.对于double型数组,不可以直接用数组名对数组进行整体输入或输出 B.数组名代表的是数组所占存储区的首地址,其值不可改变
C.程序执行中,元素的下标超出所定义的范围时,不一定有出错信息
D.可以通过赋初值的方式确定数组元素的个数
10.已有定义:char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是( C )。
A.数组a和b的长度相同 B.a数组长度小于b数组长度
C.a数组长度大于b数组长度 D.上述说法都不对
11.若有以下程序,其运行后的结果是( B )。
int main()
{
int a,b,d=25;
a=d/10%9;
b=a&&(-1);
printf("%d,%d\n",a,b);
return 0;
}
A.6,1 B.2,1 C.6,0 D.2,0
12.若有以下程序,其运行后的结果是( B )。
int main()
{
char a[7]="a0\0a0\0";
int i,j;
i=sizeof(a);
j=strlen(a);
printf("%d %d\n",i,j);
return 0;
}
A.2 2 B.7 2 C.7 6 D.6 2
13.若有以下程序,程序运行后的输出结果是( B )。
void prt(int *m,int n)
{
int i;
for(i=0;i<n;i++,m++)
(*m)++;
}
int main()
{
int a[]={1,2,3,4,5},i;
prt(a,5);
for(i=0;i<5;i++)
printf("%d,",a[i]);
return 0;
}
A.1,2,3,4,5, B.2,3,4,5,6, C.3,4,5,6,7, D.2,3,4,5,1,
14.若有以下程序,程序运行后的输出结果是( B )。
int main()
{
int a=1,b;
for(b=1;b<=10;b++)
{
if(a>=8)
break;
if(a%2==1)
{
a+=5;continue;
}
a-=3;
}
printf("%d\n",b);
return 0;
}
A.310种常用的程序设计语言 B.4 C.5 D.6
15.下列4个函数中,能实现交换变量值的功能是( C )。
A.void fun_a(int x,int y) {int *p; *p=x;x=y;y=*p; }
B.void fun_b(int *x,int *y) {int *p; *x=*y;*y=*x; }
C.void fun_c(int *x,int *y) {*x=*x+*y; *y=*x-*y; *x=*x-*y; }
D.void fun_d(int x,int y) {int p; p=x;x=y;y=p; }
二、程序填空题(每题4分,5题共20分)
1.下面程序的功能是计算1-3+5-7+ …… -99+101的值。
int main()
{
int i,t=1,s=0;
for(i=1;i<=101;i+=2)
{
t=t*i ;
s=s+t;
t=t>0?-1:1 ;
}
printf("%d\n",s);
return 0;
}
2.有以下程序段:
s=1.0;
for(k=1;k<=n;k++)
s=s+1.0/(k*(k+1));
printf("%f\n",s);
填空完成下述程序,使之与上述程序的功能完全相同。
s=0.0;
d=1 ;
k=0;
do
{
s=s+d;
k++ ;
d=1.0/(k*(k+1));
}while( k<=n );
printf("%f\n",s);
3.下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。
int main()
{
float x,amax,amin;
scanf("%f",&x);
amax=x;
amin=x;
while( x>=0 )
{
if(x>amax)
amax=x;
if( x<amin )
amin=x;
scanf("%f",&x);
}
printf("\namax=%f\namin=%f\n",amax,amin);
return 0;
}
4.下面函数是将形参x的值转换为二进制数,所得的二进制数放在一个一维数组中,二进制数的最低位放在下标为0的元素中。
void fun(int x,int b[])
{
int k=0,r;
do
{
r=x% 2 ;
b[k++]=r;
x/= 2 ;
}while(x);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论