若有定义语句:int a=10; double b=3.14;,则表达式'A'+a+b值的类型是___________。 (1)
A).char B)int C) double D)float
(2)若有定义语句:int x=12,y=8,z;,在其后执行语句z=0.9+x/y;,则z的值为___________。
A)1.9 B)1 C)2 D)2.4
(3)若有定义:int a,b;,通过语句scanf("%d;%d",&a,&b);,能把整数3赋给a,5赋给b的输入数据是___________。
A)3 5 B)3,5 C)3;5 D)35
(4)i若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为___________。
A)0和1 B)0和20 C)10和1 D)10和20
(5)有以下程序
#include
main()
{ int a=1,b=0;
if(- -a) b++;
else if(a==0) b+=2;
else b+=3;
printf("%d\n",b);
}
程序运行后的输出结果是
A)0 B)1 C)2 D)3
(6)有以下程序段
#include
main()
{ int a=7;
while(a- -);
printf("%d\n",a);
} 程序运行后的输出结果是___________。
A)-1 B)0 C)1D)7
(7)以下不能输出字符A的语句是___________。(注:字符A的ASCII码值为65,字符a的ASCII码值为97)
A)printf("%c\n",'a'-32); B)printf("%d\n",'A');
C)printf("%c\n",65); D)printf("%c\n",'B'-1);
(8)有以下程序(注:字符a的ASCII码值为97)
#include
main()
{ char *s={"abc"};
do
{ printf("%d",*s%10); ++s; } while(*s);
}
程序运行后的输出结果是___________。
A)abc B)789 C)7890 D)979899
(9)有以下程序
#include
double f(double x);
main()
{ double a=0; int i;
for(i=0;i<30;i+=10) a+=f((double)i);
printf("%5.0f\n",a);
}
double f(double x)
{ return x*x+1; }
程序运行后的输出结果是_______。
A)503 B)401C)500 D)1404
(10)以下定义数组的语句错误的是_______。
A) int num[]={1,2,3,4,5,6}; B) int num[][3]={{1,2},3,4,5,6};
C) int num[2][4]={{1,2},{3,4},{5,6}}; D) int num[][4]={1,2,3,4,5,6};
(11)有以下程序
#include
void fun(int *p)
{ printf("%d\n",p[5]); }
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,10};
fun(&a[3]);
}
程序运行后的输出结果是_______。
A)5 B)6 C)8 D) 9
(12)有以下程序
#include
#define N 4
void fun(int a[][N], int b[])
{ int i;
for(i=0;i
}
main()
{ int x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;
fun(x,y);
for(i=0;i
}
程序运行后的输出结果是_______。
A)-12,-3,0.0, B)-3,-1,1,3,C)0,1,2,3 D)-3,-3,-3,-3
(13)有以下程序
#include
int f(int m)
{ static int n=0;
n+=m;
return n;
}
main()
{ int n=0;
printf("%d,",f (++n));
printf("%d\n",f (n++));
}
程序运行后的输出结果是_______。
A)1,2 B)1,1 C)2,3 D)3,3
(14)有以下程序
#include
main()
{ char ch[3][5]={ "AAAA","BBB","CC"};
printf("%s\n",ch[1]);
}
程序运行后的输出结果是_______。
A)AAAA B)CC C)BBBCC D)BBB
(15) 有以下程序
#include
#include
typedef struct {char name[9]; char sex; int score[2]; } STU;
STU f(STU a)
{ STU b={"Zhao",'m',85,90};
int i;
strcpy(a.name,b.name);
a.sex=b.sex;
for(i=0;i<2;i++) a.score[i]=b. score[i];
return a;
}
main()
{ STU c={"Qian",'f',95,92}, d;
d=f(c);
printf("%s,%c,%d,%d,",d.name, d.sex, d.score[0], d.score[1]);
printf("%s,%c,%d,%d\n",c.name, c.sex, c.score[0], c.score[1]);
}
程序运行后的输出结果是_______。
A) Zhao,m,85,90,Qian,f,95,92 B) Zhao,m,85,90, Zhao,m,85,90
C) Qian,f,95,92, Qian,f,95,92 D) Qian,f,95,92, Zhao,m,85,90
二、填空题
(1)以下程序运行后输出结果是【1】。
#include
main()
{ int a=37;
a%=9; printf("%d\n",a);
}
(2) 以下程序运行后输出结果是【2】。
#include
main()
{ int i, j;
for(i=6;i>3;i--) j=i;
printf("%d%d\n",i,j);
}
(3) 以下程序运行后输出结果是【3】。
#include
main()
{ int i,n[]={0,0,0,0,0};
for(i=1;i<=2;i++)
{ n[i]=n[i-1]*3+1;
printf("%d ",n[i]);
}
printf("\n");
}
(4)有以下程序
#include
main()
{ int c[3]={0}, k ,i;
while((k=getchar()!='\n')
c[k-'A']++;
for(i=0;i<3;i++)printf("%d",c[i]);printf("\n");
}
若程序运行时从键盘输入ABCACC,则输出结果为【4】。
(5)以下程序调用fun函数把x中的值插入到a数组下标为k的数组元素中。主函数中,n存放a数组中数据的个数。请填空。
#include
void fun( int s[], int *n, int k, int x)
{ int i;
for(i=*n-1; i>=k; i- -) s[【5】]=s[i];
s[k]=x;
*n=*n+【6】;
}
main()
{ int a[20]={1,2,3,4,5,6,7,8,9,10,11}, i, x=0, k=6, n=11;
fun(a, &n, k,x);
for(i=0;i
}