东北大学秦皇岛c语言考试题12.docx
- 文档编号:23394633
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:31
- 大小:23.47KB
东北大学秦皇岛c语言考试题12.docx
《东北大学秦皇岛c语言考试题12.docx》由会员分享,可在线阅读,更多相关《东北大学秦皇岛c语言考试题12.docx(31页珍藏版)》请在冰豆网上搜索。
东北大学秦皇岛c语言考试题12
一、选择题答案
1.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是
A)-3
B)9
C)-12
D)6
你所选择的答案是:
*,正确答案是:
C×
2.以下程序的输出结果是
main()
{charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;
for(k=1;k<3;k++)printf("%s\n",w[k]);
}
A)ABCD
FGH
IJKL
KL
B)ABCD
EFG
IJ
M
C)EFG
JK
O
D)EFGH
IJKL
你所选择的答案是:
*,正确答案是:
D×
3.若定义了以下函数:
voidf(……)
{……
*p=(double*)malloc(10*sizeof(double));
……
}
p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是
A)double*p
B)float**p
C)double**p
D)float*p
你所选择的答案是:
*,正确答案是:
C×
4.以下程序的输出结果是
main()
{inta=3;
printf("%d\n",(a+a-=a*a));
}
A)-6
B)12
C)0
D)-12
你所选择的答案是:
*,正确答案是:
D×
5.设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值位为
A)0
B)1
C)2
D)3
你所选择的答案是:
*,正确答案是:
C×
6.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是
A)地址传递
B)单向值传递
C)由实参传给形参,再由形参传回实参
D)传递方式由用户指定
你所选择的答案是:
*,正确答案是:
B×
7.以下程序的输出结果是
main()
{inti,a[10];
for(i=9;i>=0;i--)a[i]=10-i;
printf("%d%d%d",a[2],a[5],a[8]);
}
A)258
B)741
C)852
D)369
你所选择的答案是:
*,正确答案是:
C×
8.以下程序的输出结果是
main()
{charst[20]="hello\0\t\\\";
printf(%d%d\n",strlen(st),sizeof(st));
}
A)99
B)520
C)1320
D)2020
你所选择的答案是:
*,正确答案是:
B×
9.以下选项中,不能正确赋值的是
A)chars1[10];s1="Ctest";
B)chars2[]={'C','t','e','s','t'};
C)chars3[20]="Ctest";
D)char*s4="Ctest\n"
你所选择的答案是:
*,正确答案是:
A×
10.以下程序中,while循环的循环次数是
main()
{inti=0;
while(i<10)
{if(i<1)continue;
if(i==5)break;
i++;
}
......
}
A)1
B)10
C)6
D)死循环,不能确定次数
你所选择的答案是:
*,正确答案是:
D×
11.以下程序的输出结果是
main()
{
inta=0,i;
for(i=1;i<5;i++)
{
switch(i)
{
case0:
case3:
a+=2;
case1:
case2:
a+=3;
default:
a+=5;
}
}
printf("%d\n",a);
}
A)31
B)13
C)10
D)20
你所选择的答案是:
*,正确答案是:
A×
12.以下程序的输出结果是
#include
main()
{
inti=0,a=0;
while(i<20)
{
for(;;)
{
if((i%10)==0)break;
elsei--;
}
i+=11;a+=i;
}
printf("%d\n",a);
}
A)21
B)32
C)33
D)11
你所选择的答案是:
*,正确答案是:
B×
13.以下程序的输出结果是
intf()
{staticinti=0;
ints=1;
s+=i;i++;
returns;
}
main()
{inti,a=0;
for(i=0;i<5;i++)a+=f();
printf("%d\n",a);
}
A)20
B)24
C)25
D)15
你所选择的答案是:
*,正确答案是:
D×
14.以下程序的输出结果是
main()
{charx=040;
printf("%d\n",x<<1);
}
A)100
B)80
C)64
D)32
你所选择的答案是:
*,正确答案是:
C×
15.以下程序的输出结果是
main()
{intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;
for(i=0;i<3;i++)
for(j=i;j<=i;j++)t=t+b[i][b[j][j]];
printf("%d\n",t);
}
A)3
B)4
C)1
D)9
你所选择的答案是:
*,正确答案是:
B×
16.以下选项中合法的用户标识符是
A)longB)_2TestC)3DmaxD)A.dat
你所选择的答案是:
*,正确答案是:
B×
17.已知i、j、k为int型变量,若从键盘输入:
1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是
A)scanf("%2d%2d%2d",&i,&j,&k);
B)scanf("%d%d%d",&i,&j,&k);
C)scanf("%d,%d,%d",&i,&j,&k);
D)scanf("i=%d,j=%d,k=%d",&i,&j,&k);
你所选择的答案是:
*,正确答案是:
C×
18.若有以下程序:
#include"stdio.h"
main()
{
intk=2,i=2,m;
m=(k+=i*=k);printf("%d,%d\n",m,i);
}
执行后的输出结果是
A)8,6
B)8,3
C)6,4
D)7,4
你所选择的答案是:
*,正确答案是:
C×
19.以下选项中,与k=n++完全等价的表达式是
A)k=n,n=n+1
B)n=n+1,k=n
C)k=++n
D)k+=n+1
你所选择的答案是:
*,正确答案是:
A×
20.有以下程序
structSTU
{charnum[10];floatscore[3];};
main()
{structstus[3]={{"20021",90,95,85},
{"20022",95,80,75},
{"20023",100,95,90}},*p=s;
inti;floatsum=0;
for(i=0;i<3,i++)
sum=sum+p->score[i];
printf("%6.2f\n",sum);
}
程序运行后的输出结果是
A)260.00
B)270.00
C)280.00
D)285.00
你所选择的答案是:
*,正确答案是:
B×
21.以下程序中函数f的功能是将n个字符串按由大到小的顺序进行排序。
#include
voidf(charp[][10],intn)
{chart[20];inti,j;
for(i=0;i for(j=i+1;j if(strcmp(p[i],p[j])<0) {strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);} } main() {charp[][10]={"abc","aabdfg","abbd","dcdbe","cd"};inti; f(p,5);printf("%d\n",strlen(p[0])); } 程序运行后的输出结果是 A)6 B)4 C)5 D)3 你所选择的答案是: *,正确答案是: C× 22.有以下程序 main() {inta=5,b=4,c=3,d=2; if(a>b>c) printf("%d\n",d); elseif((c-1>=d)==1) printf("%d\n",d+1); else printf("%d\n",d+2) } 执行后输出结果是( )。 A)2 B)3 C)4 D)编译时有错,无结果 你所选择的答案是: *,正确答案是: B× 23.以下叙述中正确的是( )。 A)C程序中注释部分可以出现在程序中任意合适的地方 B)花括号"{"和"}"只能作为函数体的定界符 C)构成C程序的基本单位是函数,所有函数名都可以由用户命名 D)分号是C语句之间的分隔符,不是语句的一部分 你所选择的答案是: *,正确答案是: A× 24.已定义ch为字符型变量,以下赋值语句中错误的是( )。 A)ch='\'; B)ch=62+3; C)ch=NULL; D)ch='\xaa'; 你所选择的答案是: *,正确答案是: A× 25.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。 A)函数调用可以作为独立的语句存在 B)函数调用可以作为一个函数的实参 C)函数调用可以出现在表达式中 D)函数调用可以作为一个函数的形参 你所选择的答案是: *,正确答案是: D× 26.有以下程序 #include main() {printf("%d\n",NULL);} 程序运行后的输出结果是( )。 A)0 B)1 C)-1 D)NULL没定义,出错 你所选择的答案是: *,正确答案是: A× 27.以下不能正确定义二维数组的选项是( )。 A)inta[2][2]={{1},{2}}; B)inta[][2]={1,2,3,4}; C)inta[2][2]={{1},2,3}; D)inta[2][]={{1,2},{3,4}}; 你所选择的答案是: *,正确答案是: D× 28.有以下程序段 main() {inta=5,*b,**c; b=&a;c=&b; …… } 程序在执行了c=&b;b=&a;语句后,表达式: **c的值是( )。 A)变量a的地址 B)变量b中的值 C)变量a中的值 D)变量b的地址 你所选择的答案是: *,正确答案是: C× 29.有以下程序 main() { inta[3][3],*p,i; p=&a[0][0]; for(i=0;i<9;i++)p[i]=i+1; printf("%d\n",a[1][2]); } 程序运行后的输出结果是( )。 A)3 B)6 C)9 D)2 你所选择的答案是: *,正确答案是: B× 30.设有以下定义 #defined2 inta=0; doubleb=1.25; charc=’A’; 则下面语句中错误的是( )。 A)a++; B)b++ C)c++; D)d++; 你所选择的答案是: *,正确答案是: D× 31.有以下程序 main() {inti,n=0; for(i=2;i<5;i++) {do {if(i%3)continue; n++; }while(! i); n++; } printf(“n=%d\n”,n); } 程序执行后的输出结果是( )。 A)n=5 B)n=2 C)n=3 D)n=4 你所选择的答案是: *,正确答案是: D× 32.有以下程序 voidf(intv,intw) {intt; t=v;v=w;w=t; } main() {intx=1,y=3,z=2; if(x>y)f(x,y); elseif(y>z)f(y,z); elsef(x,z); printf("%d,%d,%d\n",x,y,z); } 执行后输出结果是( )。 A)1,2,3 B)3,1,2 C)1,3,2 D)2,3,1 你所选择的答案是: *,正确答案是: C× 33.有以下程序段 inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b; b=p[5]; b中的值是( )。 A)5 B)6 C)8 D)9 你所选择的答案是: *,正确答案是: D× 34.有以下程序 intf(intb[][4]) {inti,j,s=0; for(j=0;j<4;j++) {i=j; if(i>2)i=3-j; s+=b[i][j]; } returns; } main() {inta[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}}; printf(“%d\n”,f(A)); } 执行后的输出结果是( )。 A)12 B)11 C)18 D)16 你所选择的答案是: *,正确答案是: D× 35.有以下程序 #include main(intargc,char*argv[]) { inti; printf("%d\n",argc); } 经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行 exa1a2a3a4 执行后输出结果是( )。 A)3 B)4 C)5 D)6 你所选择的答案是: *,正确答案是: C× 36.有以下程序 main() {intm=0256,n=256; printf("%o%o\n",mn,n); } 程序运行后的输出结果是( )。 A)02560400 B)0256256 C)256400 D)400400 你所选择的答案是: *,正确答案是: C× 37.若变量已正确定义,要求程序段完成求5! 的计算,不能完成此操作的程序段是( )。 A)for(i=1,p=1;i<=5;i++)p*=i; B)for(i=1;i<=5;i++){p=1;p*=i;} C)i=1;p=1;while(i<=5){p*=i;i++;} D)i=1;p=1;do{p*=i;i++;}while(i<=5); 你所选择的答案是: *,正确答案是: B× 38.有以下程序 main() { chars[]="ABCD",*p; for(p=s+1;p } 程序运行后的输出结果是( )。 A)ABCD BCD CD D B)A B C D C)B C D D)BCD CD D 你所选择的答案是: *,正确答案是: D× 39.有如下程序 #include main() {FILE*fp1; fp1=fopen("f1.txt","w"); fprintf(fp1,"abc"); fclose(fp1); } 若文本文件f1.txt中原有内容为: good,则运行以上程序后文件f1.txt中的内容为( )。 A)goodabc B)abcd C)abc D)abcgood 你所选择的答案是: *,正确答案是: C× 40.数字字符0的ASCII值为48,若有以下程序 main() {chara='1',b='2'; printf("%c,",b++); printf("%d",b-a); } 程序运行后的输出结果是( )。 A)3,2 B)50,2 C)2,2 D)2,50 你所选择的答案是: *,正确答案是: C× 41.以下能正确定义一维数组的选项是( )。 A)inta[5]={0,1,2,3,4,5}; B)chara[]={0,1,2,3,4,5}; C)chara={'A','B','C'}; D)inta[5]="0123"; 你所选择的答案是: *,正确答案是: B× 42.有以下程序 intf1(intx,inty){return x>y? x: y;} intf2(intx,inty){returnx>y? y: x;} main() {inta=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,b),f1(c,d)); f=f1(f2(a,b),f2(c,d)); g=a+b+c+d-e-f; printf("%d,%d%d",e,f,g); } 程序运行后的输出结果是( )。 A)4,3,7 B)3,4,7 C)5,2,7 D)2,5,7 你所选择的答案是: *,正确答案是: A× 43.有以下程序 #include"stdio.h" voidWriteStr(char*fn,char*str) { FILE*fp; fp=fopen(fn,"W"); fputs(str,fp); fclose(fp); } main() { WriteStr("t1.dat","start"); WriteStr("t1.dat","end"); } 程序运行后,文件t1.dat中的内容是( )。 A)start B)end C)startend D)endrt 你所选择的答案是: *,正确答案是: B× 44.设有定义: intk=1,m=2;floatf=7;,则以下选项中错误的表达式是( )。 A)k=k>=k B)-k++ C)k%int(f) D)k>=f>=m 你所选择的答案是: *,正确答案是: C× 45.有以下程序段 intk=0,a=1,b=2,c=3; k=a b: k; 执行该程序段后,k的值是( )。 A)3 B)2 C)1 D)0 你所选择的答案是: *,正确答案是: B× 46.设变量已正确定义,则以下程序不能正确计算f=n! 的程序段是( )。 A)f=1; for(i=1;i<=n;i++) f*=i; B)f=0; for(i=1;i<=n;i--) f*=i; C)f=1; for(i=n;i>1;i--) f=f*i; D)f=1; for(i=n;i>=2;i--) f=f*i 你所选择的答案是: *,正确答案是: B× 47.设函数fun的定义形式为 voidfun(charch,floatx){…} 则以下对函数fun的调用语句中,正确的是( )。 A)fun("abc",3.0); B)t=fun('D',16.5); C)fun('65',2.8); D)fun(32,32); 你所选择的答案是: *,正确答案是: D× 48.有以下程序 main() { charp[]={'a','b','c'},q[]="abc"; printf("%d%d\n",sizeof(p),sizeof(q)); } 程序运行后的输出结果是( )。 A)44 B)33 C)34 D)43 你所选择的答案是: *,正确答案是: C× 49.有以下程序 #include main() {charp[]={'a','b','c'},q[10]={'a','b','c'}; printf("%d%d\n",strlen(p),strlen(q)); } 以下叙述中正确的是( )。 A)在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3 B)由于p数组中没有字符串结束符,长度不能确定;但q数组中字符串长度为3 C)由于q数组中没有字符串结束符,长度不能确定;但p数组中字符串长度为3 D)由于p和q数组中都没有字符串结束符,故长度都不能确定 你所选择的答案是: *,正确答案是: B× 50.有以下程序,其中函数f的功能是将多个字符串按字典顺序排序 #include voidf(char*p[],intn) {char*t;inti,j; for(i=0;i for(j=i+1;j if(strcmp(p[i],p[j])>0){t=p[i];p[i]=p[j];p[j]=t;} } main() {char*p[5]={"abc","aabdfg","abbd","dcdbe","cd"}; f(p,5); printf("%d\n",strlen(p[1])); } 程序运行后的输出结果是( )。 A)2 B)3 C)6 D)4 你所选择的答案是: *,正确答案是: C× 51.有以下程序 main() { inta=0,b=0,c=0,d=0; if(a=1)b=1;c=2; elsed=3; printf("%d,%d,%d,%d\n",a,b,c,d); } 程序输出 A)0,1,2,0 B)0,0,0,3 C)1,1,2,0 D)编译有错 你所选择的答案是: *,正确答案是: D× 52.有以下程序 voidfun1(char*p) { char*q; q=p; while(*q! ='\0') {(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东北大学 秦皇岛 语言 考试题 12