一、选择题(20分)
1、下述标识符中,()是合法的用户标识符。
A. float
B. china
C. for
D. k*l
2、以下不属于C的类型是()。
A. signed short int
B. unsigned long int
C.unsigned int
D.long short
3、已定义c为字符型变量,则下列语句中正确的是()。
A. c=’65’;
B. c=’A’;
C. c=”A”;
D. c=”65”;
4、以下运算符中优先级最高的算符为()。
A. ||
B. ,
C. ?:
D.!=
5、有以下程序段
int k=0,a=1,b=2,c=3;
k=ac?c:k
执行该程序侯,k的值是()。
A. 3
B. 2
C. 3
D. 4
6、有以下程序
main()
{
int a=5,b=4,c=3,d=2;
if (a>b>c)
printf(“%d\n”,d);
else if ((c-1>=d)= =1)
printf( “%d\n”d+1);
else
printf(“%d\n”d+2);
}
执行后输出结果是()
A. 2
B. 3
C.4
D.编译时有错,无结果
7、下面程序输出结果为()。
main( )
{ int x=0,y=1,z=2;
while(z-->0 && ++x<5) y=y-1;
printf("%d,%d,%d\n",x,y,z);
}
A. 2,-2,-1
B. 2,-2,-2
C.2,-1,-1
D.3,-2,-1
8、以下循环的执行次数是()
main( )
{ int i,j;
for (i=0,j=1; i printf(“%d\n”,i); } A. 3 B. 2 C.1 D. 0 9、有以下程序 #include main( ) { char s1[30]="shanxi \0 and taiyuan",s2[30]="china"; printf("%s",strcat(s1,s2)); } 执行后输出结果是() A. china B. shanxi \0 and taiyuan C. shanxi china D. shanxi \0 and taiyuanchina 二、程序填空题(共20分)。 1、以下程序的功能是打印100以内个位数为6且能被3整除的所有数。 #include “stdio.h” main() { int i,j; for(i=0; _________;i++) { j=i*10+6; if(_________) continue; printf(“%8d”,j); } printf(“\n”); } 2、下面程序的功能是从3个红球、5个白球、6个黑球中任意取出8个球,且其中必须有 白球,输出所有可能的方案。 #include “stdio.h” main() { int i,j,k; printf(“\n hong bai hei \n”); for(i=0;i<=3;i++) for(_________;j<=5;j++) { k=8-i-j; if(________) printf(“\n %d %d %d\n”,i,j,k); } } 下面程序的功能是从3个红球、5个白球中任意取出4个球,且其中必须有白球,输出所有可能的方案。 回顾起求完全数、1到100偶数等题目,对所有可能的数据根据条件进行判断。 假设从红球中取 x ,白球中取y个,找到 x+y=8且y>=1的所有x,y 3、以下程序的功能是计算函数F(x,y,z)=(x+y)/(x-y)+(z-y)/(z+y)的值,请填空。 #include “stdio.h” #include “math.h” float f(float x, float y) { float value; value=x+y; return( value); } main() { float x,y,z,sum; scanf(“%f,%f,%f”,&x,&y,&z); sum=f(________)/f(________)+f(________)/f(________); printf(“sum=%f\n”,sum); } 4、设数组a包括10个元素。下面程序的功能是求a中各相邻两个元素的和,并将这些和 存在数组b中,按每行3个元素的形式输出。 main() { int a[10],b[10],i; for(i=0;i<10;i++) scanf(“%d”,&a[i]); for(__________;i<10;i++) ____________ for(i=1;i<10;i++) {printf(“%3d”, b[i]); if(i%3==0) printf(“\n”); } } 三、读程序题。(共15分) 1、设下述程序执行时输入为“ 2.4 ,1.1 ” main( ) { float a,b,t; scanf("%f,%f",&a,&b); if(a>b) { t=a; a=b; b=t; } printf("%.2f,%.2f\n",a,b); } 则输出为。 该程序的功能是 2、设下述程序执行时输入为“ 2 ” main( ) { int jibie, jiangjin; int biaoshi=1; scanf("%d",&jibie); switch (jibie) { case 1: jiangjin=1000; break; case 2: case 3: jiangjin=750; break; case 4: case 5: jiangjin=500;break; defalut:biaoshi=0;printf("wrong jibie input!\n"); } if (biaoshi!=0) printf("jiangjin=%d\n",jiangjin); } 则输出为。 该程序的功能是 3、执行下述程序 main() { int i,j,k; int a[5]={5,17,2,3,12},s; for(i=1,j=0,k=0;i<5;i++) { if (a[i]>a[j])