|
一、单选题(共 10 道试题,共 20 分。)V 1. 在C语言中,下列变量名称中合法的是
A. 7x
B. int
C. ELse
D. a-b
满分:2 分
2. 以下选项中不能正确赋值的是
A. char b[]={′H′,′e′,′l′,′l′,′o′,′!′}
B. char b[10];b="Hello!"
C. char b[10]= "Hello!"
D. char *str="Hello!";
满分:2 分
3. 在C语言中,下列字符常量中合法的是
A. ′\084′
B. ′\x43′
C. ′ab′
D. ”\0”
满分:2 分
4. 计算表达式(x=4*5,x*5),x+25的值是
A. 20
B. 125
C. 100
D. 45
满分:2 分
5. 有如下定义:long m;char c;float x;double y;则表达式c+m*x/y的值的类型是
A. long
B. char
C. float
D. double
满分:2 分
6. 执行int j,i=1; j=-i++; 后j的值是
A. -1
B. -2
C. 1
D. 2
满分:2 分
7. 若有以下定义:char s[20]= "programming",*ps=s;则不能代表字符g的表达式是
A. ps+3
B. s[3]
C. ps[3]
D. ps+=3,*ps
满分:2 分
8. 若i为整型变量,则以下循环的次数是for(i=2;i==0;)printf(“%d”,i--);
A. 无限次
B. 0次
C. 1次
D. 2次
满分:2 分
9. 判断字符串的长度,应该使用的函数是
A. strcat
B. strcmp
C. strcpy
D. strlen
满分:2 分
10. 设有变量int x=0,y=1,z=1,则运行表达式:x=y++>z--后,x,y,z的值分别是
A. 1,1,1
B. 1,2,0
C. 0,1,1
D. 0,2,0
满分:2 分
二、其他题(共 10 道试题,共 50 分。)V 1.
读程序写出程序执行结果
#include <stdio.h>
void main()
{ int n=2;
printf(“%d\n”, (++n , n+=2 , --n)) ;
}
满分:5 分
2.
读程序写出程序执行结果
#include <stdio.h>
#define S(x) x*x
void main()
{ int a,k=5,m=1;
a=S(k+m);
printf("%d",a);
}
满分:5 分
3.
读程序写出程序执行结果
#include <stdio.h>
void swap(int b[])
{ int *p,*p1,*p2;
p1=&b[0] ;p2=&b[1];
p=p1; p1=p1+1; p2=p;
}
void main()
{ int a[]={5,9};
printf("%d,%d\n",*a,*(a+1));
swap(a);
printf("%d,%d\n",a[0],a[1]);
}
满分:5 分
4.
读程序写出程序执行结果
#include <stdio.h>
void ex( )
{ static int x=3 ;
--x ;
printf(“%d”,x) ;
}
void main ( )
{ ex( );
ex( );
}
满分:5 分
5.
读程序写出程序执行结果
#include <stdio.h>
char fun(char *s)
{ if( *s >= ¢a¢ && *s <= ¢z¢ )
*s=*s-32;
return *s;
}
void main()
{ char a[20]="Welcome",*p,ch;
for(p=a;*p!=¢\0¢;p++)
{ ch=fun(p);
putchar(ch);
}
}
满分:5 分
6.
读程序写出程序执行结果
#include <stdio.h>
void main()
{ int y=-1 ;
do
{ y++;
}while(y--);
printf("%d\n",y--);
}
满分:5 分
7.
读程序写出程序执行结果
#include <stdio.h>
void main()
{ int x=12,y=0;
if(x>=0)
{ if(x>0) y=1; }
else y=-1;
printf(“y=%d\n”,y);
}
满分:5 分
8.
读程序写出程序执行结果
#include <stdio.h>
#define N 3
void zz(int x[N][N])
{ int i,j,t;
for(i=0;i<N;i++)
for(j=0;j<i;j++)
{ t=x[i][j]; x[i][j]=x[j][i]; x[j][i]=t; }
}
void main()
{ int str[N][N]={1,2,3,4,5,6,7,8,9}, i,j;
zz(str);
for(i=0;i<N;i++)
{ for(j=0;j<N;j++) printf(“%3d”,str[i][j]) ;
printf("\n") ;
}
}
满分:5 分
9.
读程序写出程序执行结果
#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)); }
满分:5 分
10.
读程序写出程序执行结果
#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) ;
}
满分:5 分
三、简答题(共 3 道试题,共 30 分。)V 1. 编程:编写函数change使输入的字符串按反序存放,在主函数中输入和输出字符串。例如输入是:abcdefg,则输出为:gfedcba(备注:建议学员在做编程序题目时,事先在记事本或word文档中编写,然后拷贝至答题区域即可。)
满分:10 分
2.
备注:建议学员在做编程序题目时,事先在记事本或word文档中编写,然后拷贝至答题区域即可。
满分:10 分
3. 编写程序,从键盘上任意输入20个整数,存入一个数组中,然后输出这些数中最大数及其下标以及最小数及其下标(备注:建议学员在做编程序题目时,事先在记事本或word文档中编写,然后拷贝至答题区域即可。)
满分:10 分 |
|