东北大学秦皇岛c语言考试题8.docx
- 文档编号:11245410
- 上传时间:2023-02-26
- 格式:DOCX
- 页数:31
- 大小:23.76KB
东北大学秦皇岛c语言考试题8.docx
《东北大学秦皇岛c语言考试题8.docx》由会员分享,可在线阅读,更多相关《东北大学秦皇岛c语言考试题8.docx(31页珍藏版)》请在冰豆网上搜索。
东北大学秦皇岛c语言考试题8
一、选择题答案
1.有以下程序段
intx=3
do
{printf("%d",x-=2);}
while(!
(--x));
其输出结果是
A)1
B)30
C)1-2
D)死循环
你所选择的答案是:
*,正确答案是:
C×
2.假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:
PROGABCDEFGHIJKL<回车>,则输出结果为
main(intargc,char*argv[]))
{while(--argc>0)printf("%s",argv[argc]);
printf("\n");
}
A)ABCDEFG
B)IJHL
C)ABCDEFGHIJKL
D)IJKLABCDEFGH
你所选择的答案是:
*,正确答案是:
D×
3.以下程序的输出是
structst
{intx;int*y;}*p;
intdt[4]={10,20,30,40};
structstaa[4]={50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],};
main()
{p=aa;
printf("%d\n",++(p->x));
}
A)10
B)11
C)51
D)60
你所选择的答案是:
*,正确答案是:
C×
4.以下选项中,非法的字符常量是
A)'\t'
B)'\17'
C)"n"
D)'\xaa'
你所选择的答案是:
*,正确答案是:
C×
5.若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是
A)fopen("A:
\user\abc.txt","r")
B)fopen("A:
\\user\\abc.txt","r+")
C)fopen("A:
\user\abc.txt","rb")
C)fopen("A:
\\user\\abc.txt","w")
你所选择的答案是:
*,正确答案是:
B×
6.以下不能正确进行字符串赋初值的语句是
A)charstr[5]="good!
";
B)charstr[]="good!
";
C)char*str="good!
";
D)charstr[5]={'g','o','o','d'};
你所选择的答案是:
*,正确答案是:
A×
7.若有以下程序:
#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×
8.有一函数,
1(x>0)
y=0(x=0)
-1(x<0)
以下程序段中不能根据x值正确计算出y值的是
A)if(x>0)y=1;
elseif(x==0)y=0;
elsey=-1;
B)y=0;
if(x>0)y=1;
elseif(x<0)y=-1;
C)y=0;
if(x>=0);
if(x>0)y=1;
elsey=-1;
D)if(x>=0)
if(x>0)y=1;
elsey=0;
elsey=-1;
你所选择的答案是:
*,正确答案是:
C×
9.有以下程序段
intn=0,p;
do{scanf("%d",&p);n++;}while(p!
=12345&&n<3);
此处do-while循环的结束条件是
A)P的值不等于12345并且n的值小于3
B)P的值等于12345并且n的值大于等于3
C)P的值不等于12345或者n的值小于3
D)P的值等于12345或者n的值大于等于3
你所选择的答案是:
*,正确答案是:
D×
10.若有说明:
intn=2,*p=&n,*q=p;,则以下非法的赋值语句是
A)p=q;
B)*p=*q;
C)n=*q;
D)p=n;
你所选择的答案是:
*,正确答案是:
D×
11.有以下程序
floatfun(intx,inty)
{return(x+y);}
main()
{inta=2,b=5,c=8;
printf("%3.0f\n",fun(int)fun(a+c,b),a-c));
}
程序运行后的输出结果是
A)编译出错
B)9
C)21
D)9.0
你所选择的答案是:
*,正确答案是:
B×
12.有以下程序
voidfun(char*c,intd)
{*c=*c+1;d=d+1;
printf("%c,%c,",*c,d);
}
main()
{chara='A',b='a';
fun(&b,a);printf("%c,%c\n",a,b);
}
程序运行后的输出结果是
A)B,a,B,a
B)a,B,a,B
C)A,b,A,b
D)b,B,A,b
你所选择的答案是:
*,正确答案是:
D×
13.在一个C程序中( )。
A)main函数必须出现在所有函数之前
B)main函数可以在任何地方出现
C)main函数必须出现在所有函数之后
D)main函数必须出现在固定位置
你所选择的答案是:
*,正确答案是:
B×
14.下列叙述中正确的是( )。
A)C语言中既有逻辑类型也有集合类型
B)C语言中没有逻辑类型但有集合类型
C)C语言中有逻辑类型但没有集合类型
D)C语言中既没有逻辑类型也没有集合类型
你所选择的答案是:
*,正确答案是:
D×
15.有以下程序
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×
16.阅读以下函数
fun(char*s1,char*s2)
{inti=0;
while(s1[i]==s2[i]&&s2[i]!
='\0')i++;
return(s1[i]==&&s2{i}!
=='\0');
}
此函数的功能是( )。
A)将s2所指字符串赋给s1
B)比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0
C)比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为0
D)比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为0
你所选择的答案是:
*,正确答案是:
C×
17.以下程序企图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。
#include
main()
{FILE*fout;charch;
fout=fopen('abc.txt','w');
ch=fgetc(stdin);
while(ch!
='#')
{fputc(ch,fout);
ch=fgetc(stdin);
}
fclose(fout);
}
出错的原因是( )。
A)函数fopen调用形式错误
B)输入文件没有关闭
C)函数fgetc调用形式错误
D)文件指针stdin没有定义
你所选择的答案是:
*,正确答案是:
A×
18.有以下程序
main()
{
inta=1,b=2,m=0,n=0,k;
k=(n=b>a)||(m=a
printf("%d,%d\n",k,m);
}
程序运行后的输出结果是
A)0,0B)0,1C)1,0D)1,1
你所选择的答案是:
*,正确答案是:
C×
19.设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( )。
A)x=x*100+0.5/100.0;
B)x=(x*100+0.5)/100.0;
C)x=(int)(x*100+0.5)/100.0;
D)x=(x/100+0.5)*100.0;
你所选择的答案是:
*,正确答案是:
C×
20.有以下程序
main()
{ints=0,a=1,n;
scanf("%d",&n);
do
{s+=1;a=a-2;}
while(a!
=n);
printf("%d\n",s);
}
若要使程序的输出值为2,则应该从键盘给n输入的值是( )。
A)-1
B)-3
C)-5
D)0
你所选择的答案是:
*,正确答案是:
B×
21.有以下程序
#include
main()
{printf("%d\n",NULL);}
程序运行后的输出结果是( )。
A)0
B)1
C)-1
D)NULL没定义,出错
你所选择的答案是:
*,正确答案是:
A×
22.已定义c为字符型变量,则下列语句中正确的是( )。
A)c='97';
B)c="97";
C)c=97;
D)c="a";
你所选择的答案是:
*,正确答案是:
C×
23.已定义以下函数
fun(int*p)
{return*p;}
该函数的返回值是( )。
A)不确定的值
B)形参p中存放的值
C)形参p所指存储单元中的值
D)形参p的地址值
你所选择的答案是:
*,正确答案是:
C×
24.若有定义:
int*p[3];,则以下叙述中正确的是( )。
A)定义了一个基类型为int的指针变量p,该变量具有三个指针
B)定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针
C)定义了一个名为*p的整型数组,该数组含有三个int类型元素
D)定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素
你所选择的答案是:
*,正确答案是:
B×
25.以下程序
main()
{intx=3,y=2,z=1;
printf("%d\n",x/y&~z);
}
程序运行后的输出结果是( )。
A)3
B)2
C)1
D)0
你所选择的答案是:
*,正确答案是:
D×
26.有以下程序
main()
{
intx=0,y=5,z=3;
while(z-->0&&++x<5)y=y-1;
printf("%d,%d,%d\n",x,y,z);
}
程序执行后的输出结果是( )。
A)3,2,0 B)3,2,-1 C)4,3,-1 D)5,-2,-5
你所选择的答案是:
*,正确答案是:
B×
27.有以下程序
charfun(charx,chary)
{if(xreturny;
}
main()
{inta=’9’,b=’8’,c=’7’;
printf(“%c\n”,fun(fun(a,B),fun(b,C)));
}
程序的执行结果是( )。
A)函数调用出错 B)8 C)9 D)7
你所选择的答案是:
*,正确答案是:
D×
28.有以下程序段
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×
29.有以下程序
main()
{unsignedchara,b;
a=4|3;
b=4&3;
printf("%d%d\n",a,b);
}
执行后输出结果是
A)70B)07C)11D)430
你所选择的答案是:
*,正确答案是:
A×
30.有以下程序
main()
{inti=0,x=0;
for(;;)
{
if(i==3||i==5)continue;
if(i==6)break;
i++;
s+=i;
};
printf("%d\n",s);
}
程序运行后的输出结果是( )。
A)10
B)13
C)21
D)程序进入死循环
你所选择的答案是:
*,正确答案是:
D×
31.以下能正确定义二维数组的是( )。
A)inta[][3];
B)inta[][3]=2{2*3};
C)inta[][3]={};
D)inta[2][3]={{1},{2},{3,4}};
你所选择的答案是:
*,正确答案是:
C×
32.有以下程序
intf(inta)
{returna%2;}
main()
{ints[8]={1,3,4,2,3,6},i,d=0;
for(i=0;f(s[i]);i++)
{d=d+s[i];printf("%d,%d\n",i,s[i]);}
printf("%d\n",d);
}
程序运行后的输出结果是( )。
A)9
B)4
C)19
D)21
你所选择的答案是:
*,正确答案是:
B×
33.有以下程序
main()
{inta=7,b=8,*p,*q,*r;
p=&a;q=&b;
r=p;p=q;q=r;
printf("%d,%d,%d,%d\n",*p,"q,a,b);
}
程序运行后的输出结果是( )。
A)8,7,8,7
B)7,8,7,8
C)8,7,7,8
D)7,8,8,7
你所选择的答案是:
*,正确答案是:
C×
34.有以下程序
#include
main()
{inta[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;
*q=*(p+5);
printf("%d%d\n",*p,*1);
}
程序运行后的输出结果是( )。
A)运行后报错
B)66
C)611
D)510
你所选择的答案是:
*,正确答案是:
A×
35.以下叙述中正确的是( )。
A)局部变量说明为static存储数,其生存期将得到延长
B)全局变量说明为static存储类,其作用域将被扩大
C)任何存储类的变量在未赋初值时,其值都是不确定的
D)形参可以使用的存储类说明符与局部变量完全相同
你所选择的答案是:
*,正确答案是:
A×
36.有以下说明和定义语句
structstudent
{intage;charnum[8];};
structstudentstu[3]={{20,"200401"},{21,"200402"},{10\9,"200403"}};
structstudent*p=stu;
以下选项中引用结构体变量成员的表达式错误的是( )。
A)(p++)->num
B)p->num
C)(*p).num
D)stu[3].age
你所选择的答案是:
*,正确答案是:
D×
37.数字字符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×
38.有以下程序
main()
{intm=12,n=34;
printf("%d%d",m++,++n);
printf("%d%d",n++,++m);
}
程序运行后的输出结果是( )。
A)12353514
B)12353513
C)12343514
D)12343513
你所选择的答案是:
*,正确答案是:
A×
39.若整型变量a、b、c、d中的值依次为:
1、4、3、2。
则条件表达式a
a:
c c: d的值( )。 A)1 B)2 C)3 D)4 你所选择的答案是: *,正确答案是: A× 40.有以下程序 main() { intp[8]={11,12,13,14,15,16,17,18},i=0,j=0; while(i++<7)if(p[i]%2)j+=p[i]; printf("%d",j); } 程序运行后的输出结果是( )。 A)42 B)45 C)56 D)60 你所选择的答案是: *,正确答案是: B× 41.有以下程序 voidf(int*x,int*y) {intt; t=*x;*x=*y;*y=t; } main() {inta[8]={1,2,3,4,5,6,7,8},i,*p,*q; p=a;q=&a[7]; while(p { f(p,q); p++; q--; } for(i=0;i<8;i++) printf("%d,",a[i]); } 程序运行后的输出结果是( )。 A)8,2,3,4,5,6,7,1, B)5,6,7,8,1,2,3,4, C)1,2,3,4,5,6,7,8, D)8,7,6,5,4,3,2,1, 你所选择的答案是: *,正确答案是: D× 42.以下叙述中错误的是( )。 A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出 B)数组名代表的是数组所占存储区的首地址,其值不可改变 C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息 D)可以通过赋初值的方式确定数组元素的个数 你所选择的答案是: *,正确答案是: C× 43.有以下程序 #defineP3 #defineF(intx){return(P*x*x);} main() { printf("%d",F(3+5)); } 程序运行后的输出结果是( )。 A)192 B)29 C)25 D)编译出错 你所选择的答案是: *,正确答案是: D× 44.以下关于函数的叙述中正确的是( )。 A)每个函数都可以被其它函数调用(包括main函数) B)每个函数都可以被单独编译 C)每个函数都可以单独运行 D)在一个函数内部可以定义另一个函数 你所选择的答案是: *,正确答案是: B× 45.设有定义: intk=1,m=2;floatf=7;,则以下选项中错误的表达式是( )。 A)k=k>=k B)-k++ C)k%int(f) D)k>=f>=m 你所选择的答案是: *,正确答案是: C× 46.有以下程序 #include main() {charc1='1',c2='2'; c1=getchar();c2=getchar();putchar(c1);putchar(c2); } 当运行时输入: a<回车>后,以下叙述正确的是( )。 A)变量c1被赋予字符a,c2被赋予回车符 B)程序将等待用户输入第2个字符 C)变量c1被赋予字符a,c2中仍是原有字符2 D)变量c1被赋予字符a,c2中将无确定值 你所选择的答案是: *,正确答案是: A× 47.有以下程序 main() { intk=5,n=0; while(k>0) { switch(k) { default: break; case1: n+=k; case2: case3: n+=k; } k--; } printf("%d\n",n); } 程序运行后的输出结果是( )。 A)0 B)4 C)6 D)7 你所选择的答案是: *,正确答案是: D× 48.有以下程序 #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× 49.有以下程序 inta=2; intf(intn) {staticinta=3; intt=0; if(n%2){staticinta=4;t+=a++;} else{staticinta=5;t+=a++;} returnt+a++; } main() {ints=a,i; for(i=0;i<3;i++)s+=f(i); printf("%d\n",s); } 程序运行后的输出结果是( )。 A)26 B)28 C)29 D)24 你所选择的答案是: *,正确答案是: C× 50.有以下程序 #include structSTU {intnum; floatTotalScore;}; voidf(structSTUp) {structSTUs[2]={{20044,550},{20045,537}}; p.num=s[1].num;p.TotalScore=s[1].TotalScore; } main() {structSTUs[2]={{20041,703},{20042,58
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东北大学 秦皇岛 语言 考试题