A)6 3 B)3 6 C)编译出错 D)0 0 52. 有如下程序: #define f(x)x*x main() { int i ;
i=f(4+4)/(2+2); printf(“%d\\n”,i);}
该程序执行后的输出结果是_______。(知识点9.1) A)28 B)21 C)16 D)4
53. 下列程序的输出结果是_______。(知识点11.4) struct tt;
{ int n1;char n2;float n3;
union uu{int u1[2];char u2[2];}su; }; main()
{printf(“%d\\n”,sizeof(struct tt));}
A)11 B)12 C)7 D)9 54. 下列程序的输出结果是_______。(知识点11.6) struct LH
{ int n;struct LH *m;}p[4]; main() { int i;
for(i=0;i<3;i++) {p[i].n=i;p[i].m=&p[i+1];} p[i].m=p;
printf(“%d,%d\\n”,(p[1].m)->n,p[3].m->n); }
A)1,2 B)1,3 C)2,0 D)程序出错 55. 下列程序的输出结果是_______。(知识点11.6) struct st
13
{ int x;int *y;}*p; int dt[4]={10,20,30,40};
struct st aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]}; main() { p=aa;
printf(“%d ”,++p->x); printf(“%d ”,(++p)->x); printf(“%d ”,++(*p->y));}
A)10 20 20 B)50 60 21 C)51 60 21 D)60 70 31
56. 字符0的ASCII码的十进制数为48,且数组的第0个元素在低位,则以下程序的执行
结果是_______。(知识点11.8) #include
long k; char c[6]; }a,*s=&a ; s->i[0]=0x39; s->i[1]=0x38;
printf(“%c\\n”,s->c[0]); }
A)5 B)3 C)6 D)9 57. 下列程序的运行结果是_______。(知识点12.2) main()
{ unsigned c1=0xff,c2=0x00; c1=c2|c1>>2;c2=c1^0236; printf(“%x,%x\\n”,c1,c2); }
A)0x3f,0XA1 B)3f,A1 C)ffff,61 D)3f,a1
14
58. 若有运算符<<,sizeof,^,&=,则它们按优先级由高至低的排列次序正确的是_______。
(知识点3.8)
A)sizeof,&= , <<, ^ B)sizeof,<<, ^,&= C)^,<<,sizeof, &= D)<<,^,&=,sizeof 59. 有以下程序: #include
void fun(char *fname,char *st) { FILE *myf;int i; myf=fopen(fname,“w”);
for(i=0;i { fun(“test.t”,“new world”);fun(“test.t”,“hello,”);} 执行该程序后,文件test.t中的内容是_______。(知识点13.4) A)hello, B)new worldhello, C)new world D)hello,rld 60. 有以下程序: #include { FILE *fp;int i=20,j=30,k,n; fp=fopen(“d1.dat”,“w”); fprintf(fp,“%d\\n”,i);fprintf(fp,“%d\\n”,j); fclose(fp); fp=fopen(“d1.dat”,“r”); fscanf(fp,“%d%d”,&k,&n);printf(“%d %d\\n”,k,n); fclose(fp);} 该程序运行后的输出结果是_______。(知识点13.4) A)20 30 B)20 50 C)30 50 D)30 20 二、多选题(共20小题,每题2分,共40分) 1. 下列符号串中,不属于C语言合法标识符的有_____。(知识点3.2) 15 A)_1_2_3 B)a-b-c C)int D)9cd 2. 当把下列四个表达式用作if语句的控制表达式时,含义相同的选项有_______。(假设 k>0)(知识点5.3) A)k%2 B)k%2= =1 C)(k%2)!=0 D)!k%2= =0 3. 已有定义 int a=-2;和输出语句printf(“%8lx”,a);下列叙述不正确的有_______。(知 今识点4.5) A) 整型变量的输出形式只有%d一种 B) %x是格式符的一种,它可以适用于任何一种类型的数据 C) %x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的 D) %8lx不是错误的格式符,其中数字81规定了输出字段的宽度 4. 下列选项中,没有构成死循环的程序段有_____。(知识点6.7) A)int i=100; B)for( ; ; ) while(1) { i=i0+1; if(i>=100)break;} C)int k=0; D)int s=36; do { ++k;} while(k>=0); while(s);--s; 5. t为int类型,进入下面的循环之前,t的值为0: while(t=1) { ……….} 则下列叙述不正确的有________。(知识点6.3) A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)循环有可能是个无限循环 6. 下列判断正确的是_______。(知识点10.3) A) char *a=“china”;等价于 char *a;*a=“china”; B) char str[6]={“china”};等价于char str[ ]= {“china”}; C) char *s=“china”;等价于char *s;s=“china”; D) char c[4]=“abc”,d[4]=“abc”;等价于char c[4]=d[4]=“abc”; 7. 若变量已正确定义,以下能正确计算1+2+3+4+5的程序段有_____。(知识点:6.7) A)i=1;s=1; B)i=0;s=0; 16
相关推荐: