1、【
单选题
】
有以下程序
main( )
{ unsigned char a,b;
a=4|3;
b=4&3;
printf(“%d %d\n”,a,b);
} 执行后输出结果是( )
[2分]
答案:
2、【
单选题
】
下面程序的功能是输出以下形式的金字塔图案是:
*
***
*****
*******
main( )
{ int i,j;
for(i=1;i<=4;i++)
{ for(j=1;j<=4-i;j++) printf(“ “);
for(j=1;j<=_____;j++) printf(“*”);
printf(“\n”);
}
} 在下划线处应填入的是( )
[2分]
、
i
、
2*i-1
、
2*i+1
、
i+2
答案:
3、【
单选题
】
有以下程序
void sort(int a[],int n)
{ int i,j,t;
for(i=0;i<n-1;i+=2)
for(j=i+2;j<n;j+=2)
if(a[i]<a[j]) { t=a[i];a[i]=a[j];a[j]=t;}
}
main()
{ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(aa,10);
for(i=0;i<10;i++) printf(“%d”,aa[i]);
printf(“\n”);
} 其输出结果是( )
[2分]
、
1,2,3,4,5,6,7,8,9,10,
、
10,9,8,7,6,5,4,3,2,1,
、
9,2,7,4,5,6,3,8,1,10,
、
1,10,3,8,5,6,7,4,9,2,
答案:
4、【
单选题
】
以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )
[2分]
、
char s[10]=”abcdefg”;
、
char t[]=”abcdefg”,*s=t;
、
char s[10];s=”abcdefg”;
、
char s[10];strcpy(s,”abcdefg”);
答案:
5、【
单选题
】
有以下程序
#include <string.h>
main(int argc ,char *argv[ ])
{ int i,len=0;
for(i=1;i<argc;i+=2) len+=strlen(argv[i]);
printf(“5d\n”,len);
} 经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行
ex abcd efg h3 k44
执行后输出结果是()
[2分]
答案:
6、【
单选题
】
有以下程序
void f(int a[],int i,int j)
{ int t;
if(i<j)
{ t=a[i]; a[i]=a[j];a[j]=t;
f(a,i+1,j-1);
}
}
main( )
{ int i,aa[5]={1,2,3,4,5};
f(aa,0,4);
for(i=0;i<5;i++) printf(“%d,”,aa[i]); printf(“\n”);
} 执行后输出结果是( )
[2分]
、
5,4,3,2,1,
、
5,2,3,4,1,
、
1,2,3,4,5,
、
1,2,3,4,5,
答案:
7、【
单选题
】
有以下程序
struct STU
{ char name[10];
int num;
int Score;
};
main( )
{ struct STU s[5]={{“YangSan”,20041,703},
{“LiSiGuo”,20042,580},
{“wangYin”,20043,680},
{“SunDan”,20044,550},
{“Penghua”,20045,537}},*p[5],*t;
int i,j;
for(i=0;i<5;i++) p[i]=&s[i];
for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
if(p[i]->Score>p[j]->Score)
{ t=p[i];p[i]=p[j];p[j]=t;}
printf(“5d %d\n”,s[1].Score,p[1]->Score);
} 执行后输出结果是( )
[2分]
、
550 550
、
680 680
、
580 550
、
580 680
答案:
8、【
单选题
】
有以下程序
#include <stdlib.h>
struct NODE{
int num;
struct NODE *next;
};
main( )
{ struct NODE *p,*q,*r;
int sum=0;
p=(struct NODE *)malloc(sizeof(struct NODE));
q=(struct NODE *)malloc(sizeof(struct NODE));
r=(struct NODE *)malloc(sizeof(struct NODE));
p->num=1;q->num=2;r->num=3;
p->next=q;q->next=r;r->next=NULL;
sum+=q->next->num;sum+=p->num;
printf(“%d\n”,sum);
} 执行后的输出结果是
[2分]
答案:
9、【
单选题
】
有以下程序
#include <stdio.h>
main( )
{ FILE *fp; int i,k=0,n=0;
fp=fopen(“d1.dat”,”w”);
for(i=1;i<4;i++) fprintf(fp,”%d”,i);
fclose(fp);
fp=fopen(“d1.dat”,”r”);
fscanf(fp,”%d%d”,&k,&n); printf(“%d %d\n”,k,n);
fclose(fp);
} 执行后输出结果是( )
[2分]
、
1 2
、
123 0
、
1 23
、
0 0
答案:
10、【
单选题
】
有以下程序(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END);
句的作用是使位置指针从文件尾向前移2*sizeof(int)字节)
#include <stdio.h>
main( )
{ FILE *fp; int i,a[4]={1,2,3,4},b;
fp=fopen("data.dat","wb");
for(i=0;i<4;i++) fwrite(&a[i],sizeof(int),1,fp);
fclose(fp);
fp=fopen("data.dat","rb");
fseek(fp,-2L*sizeof(int).SEEK_END);
fread(&b,sizeof(int),1,fp);/*从文件中读取sizeof(int)字节的数据到变量b中*/
fclose(fp);
printf("%d\n",b);
} 执行后输出结果是( )
[2分]
答案:
11、【
填空题
】
E-mail地址由用户名和域名两部分组成,这两部分的分隔符为【1
】。
[每空2分]
答案:
["@"]
12、【
填空题
】
计算机网络分为广域网和局域网,因特网属于【2
】。
[每空2分]
答案:
["广域网"]
13、【
填空题
】
从Windows环境进入MS-DOS方式后,返回Windows环境的DOS命令【3
】。
[每空2分]
答案:
["EXIT或exit"]
14、【
填空题
】
在Windows环境下,只要在“开始”菜单中单击【4
】选项,就可以查最近打开过的文档清单。
[每空2分]
答案:
["文档"]
15、【
填空题
】
计算机的运算速度可以用MIPS来描述,1MIPS是指每秒执行【5
】条指令。
[每空2分]
答案:
["百万条或一百万条或1000000条"]
16、【
填空题
】
已知字符A的ACSII码值为65,以下语句的输出结果是【6
】
char ch=’B’;
printf(“%c %d\n”,ch,ch);
[每空2分]
答案:
["B 66"]
17、【
填空题
】
有以下语句段
int n1=10,n2=20;
printf(“【7
】”,n1.n2);
要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。
n1=10
n2=20
[每空2分]
答案:
["n1=%d\nn2=%d"]
18、【
填空题
】
有以下程序
main( )
{ int t=1,i=5;
for(;i>=0;i--) t*=i;
printf(“%d\n”,t);
} 执行后输出结果是【8
】。
[每空2分]
答案:
["0"]
19、【
填空题
】
有以下程序
main( )
{ int n=0,m=1,x=2;
if(!n) x-=1;
if(m) x-=2;
if(x) x-=3;
printf(“%d\n”,x);
} 执行后输出结果是【9
】。
[每空2分]
答案:
["–4"]
20、【
填空题
】
有以下程序
#include <stdio.h>
main( )
{ char ch1,ch2; int n1,n2;
ch1=getchar(); ch2=getchar();
n1=ch1-‘0’; n2=n1*10+(ch2-‘0’);
printf(“%d\n”,n2);
} 程序运行时输入:12<回车>,执行后输出结果是【10
】。
[每空2分]
答案:
["12"]
21、【
填空题
】
有以下程序
void f( int y,int *x)
{y=y+*x; *x=*x+y;}
main( )
{ int x=2,y=4;
f(y,&x);
printf(“%d %d\n”,x,y);
} 执行后输出的结果是【11
】。
[每空2分]
答案:
["8 4"]
22、【
填空题
】
函数fun的功能是计算xn
double fun(double x,int n)
{ int i; double y=1;
for(i=1;i<=n;i++) y=y*x;
return y;
}
主函数中已经正确定义m,a,b变量并赋值,并调用fun函数计算:
m=a4+b4-(a+b)3。实现这一计算的函数调用语句为【12
】。
[每空2分]
答案:
["fun(a,4)+fun(b,4)-fun(a+b,3); "]
24、【
填空题
】
以下sstrcpy( )函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。请填空。
void sstrcpy(char *s,char *t)
{ while(*s++=【15
】);}
main( )
{ char str1[100],str2[]=”abcdefgh”;
sstrcpy(str1,str2);
printf(“%s\n”,str1);
}
[每空2分]
答案:
["*t++"]
25、【
填空题
】
下列程序的运行结果是:【16
】
#include <string.h>
char *ss(char *s)
{ return s+strlen(s)/2;}
main( )
{ char *p,*str=”abcdefgh”;
p=ss(str); printf(“%s\n”,p);
}
[每空2分]
答案:
["efgh"]
26、【
填空题
】
下面程序的运行结果是:【17
】
int f( int a[], int n)
{ if(n>1) return a[0]+f(&a[1],n-1);
else return a[0];
}
main ( )
{ int aa[3]={1,2,3},s;
s=f(&aa[0],3); printf(“%d\n”,s);
}
[每空2分]
答案:
["6"]
27、【
填空题
】
以下程序中给指针p分配三个double型动态内存单元,请填空。
# include <stdlib.h>
main ( )
{ double *p;
p=(double *) malloc(【18
】);
p[0]=1.5;p[1]=2.5;p[2]=3.5;
printf(“%f%f%f\n”,p[0],p[1],p[2]);
}
[每空2分]
答案:
["3*sizeof(double) "]
28、【
填空题
】
以下程序的运行结果是【19
】
# include <string.h>
typedef struct student{
char name[10];
long sno;
float score;
}STU;
main( )
{ STU a={“zhangsan”,2001,95},b={“Shangxian”,2002,90},
c={ "Anhua”,2003,95},d,*p=&d;
d=a;
if(strcmp(a.name,b.name)>0) d=b;
if(strcmp(c.name,d.name)>0) d=c;
printf(“%ld%s\n”,d.sno,p->name);
}
[每空2分]
答案:
["2002Shangxian"]
29、【
填空题
】
以下sum函数的功能是计算下列级数之和。
S=1+x+x2/2!+x3/3!+........+xn/n!
请给函数中的各变量正确赋初值。
double sum( double x, int n )
{ int i; double a,b,s;
【20
】
for( i=1;i<=n;i++)
{ a=a*x; b=b*i; s=s+a/b; }
return s;
}
[每空2分]
答案:
["a=1.0;b=1.0;s=1.0;"]