东北大学C语言期末考试题及答案Word文档格式.docx
- 文档编号:21914628
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:25
- 大小:30.01KB
东北大学C语言期末考试题及答案Word文档格式.docx
《东北大学C语言期末考试题及答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《东北大学C语言期末考试题及答案Word文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
不打印任何结果
陷入死循环
8、设x=10,y=5;
z=15,执行下面一段程序后z的结果是__C___。
If(x>
y)if(y>
z)x=y;
elsez=y;
7
6
5
4
9、如果一个函数被说明为static,那么__B___。
该函数只能被main函数调用
该函数能被当前文件的函数调用,但不能被其他文件的函数调用
该函数不能被当前文件的函数调用,可以被其他文件的函数调用
任何文件的函数都可以调用该函数
10、下面关于局部变量的描述中,错误的是__D___。
函数的局部变量的有效范围只能在本函数
函数的形式参数也是局部变量
局部变量的名称不能和函数同名称
不同的函数中不能定义相同名称的局部变量
11、下列初始化字符数组的语句中,错误的是__A___。
charstr[5]="
;
charstr[]={'
h'
'
e'
l'
o'
\0'
};
charstr[5]={"
hi"
charstr[100]="
"
12、引用数组元素时,数组下标可以是__D___。
整型常量
整型变量
整型表达式
以上均可
13、已知:
charstr[10],*p=str;
下面的语句中正确的是__B___。
str="
ABC"
p="
*str="
*p="
14、下面语句中,错误的是___D__。
inti;
int*p;
p=&
i;
inti,*p;
a;
inti,*p=&
*p=i;
15、下面对于结构体类型的描述正确的是__A___。
结构体类型的大小为各成员变量所占内存的总和
结构体类型变量与简单数据类型变量的引用规则一致。
结构体类型的大小为其成员中所占内存空间最大的变量的大小
结构体类型的大小为其最后一个成员中所占内存空间的大小
16、C语言规定:
在一个源程序中,main函数的位置____C____。
必须在最开始
必须在系统调用的库函数的后面
可以任意
必须在最后
17、表达式18/4*sqrt(4.0)/8值的数据类型是___C____。
int
float
double
不确定
18、在c语言中,char型数据在内存中的存储形式是___D___。
补码
反码
原码
ASCII码
19、阅读以下程序,当输入的数据形式为:
25,13,10<
CR>
时,正确的输出结果为___D___。
main(){intx,y,z;
scanf("
%d%d%d"
&
x,&
y,&
z);
printf("
x+y+z=%d\n"
x+y+z);
x+y+z=48
x+y+z=35
x+z=35
不能确定
20、有如下程序voidmain(){floatx=2.0,y;
if(x<
0.0)y=0.0;
elseif(x<
10.0)y=1.0/x;
elsey=1.0;
printf(“%f\n”,y);
}该程序的输出结果是(C)。
0.000000
0.250000
0.500000
1.000000
21、判断char型变量s是否为小写字母的正确表达式是__C____。
'
a'
<
=s<
='
z'
(s>
)&
(s<
)
('
=s)and('
>
=s)
22、执行以下语句后,y的值为___A___。
intx,y,z;
x=y=z=0;
++x||++y&
++z;
0
1
2
不确定值
23、有如下程序段:
intnumber=0;
while(number++<
=3)printf(“%d\n”,number++);
则正确的执行结果是___C___。
234
012
13
24
24、有如下程序voidmain(){intn=9;
while(n>
6){n--;
printf(“%d”,n);
}}该程序段的输出结果是__B___。
987
876
8765
9876
25、要使以下程序段输出10个整数,请在空格中填入一个整数。
for(i=0;
i<
=___B___;
%d\n"
i+=2));
15
18
20
26、设函数fun的定义形式为:
fun(charch,floatx){…}则以下对函数fun的调用语句中正确的是___B___。
fun(“abc”,3)
t=fun(‘D’,5)
fun(‘ab’,3)
fun(‘78’,1)
27、函数求sum(intn)的功能是计算自然数1到n的和,即1+2+…+n。
Main(){printf("
Thesum=%d\n"
sum(10));
}intsum(intn){ints=0,i;
=n;
i++)_____B_____}请从备选答案中选择一答案,补全程序。
s=s+n;
returns;
s=s+i;
returns+=I;
28、设函数fun的定义形式为intfun(inta[],intn){ints=0,i=0;
n;
i++)s+=a[i];
returns;
}main(){inta[10]={1,2,3,4,5};
sum=%d"
fun(&
a[2],2));
}则程序的运行结果为___C___。
3
9
29、若有说明:
inta[10];
则对数组元素的正确引用是___D____。
a[10]
a[3,5]
a(5)
a[10-10]
30、以下不正确的定义语句是___B___。
doublex[5]={2.0,4,0,6,0,8,0,10.0};
inty[5]={0,1,3,5,7,9};
charc1[]={'
1'
2'
3'
4'
5'
charc2[]={'
\x10'
\xa'
\x8'
31、下面程序的运行结果是___B____。
#include"
stdio.h"
main(){charstr[]="
SWLIA"
c;
intk;
for(k=0;
(c=str[k])!
k++){switch(c){case'
I'
:
++k;
break;
c
SWA
SW*
SW*A
SW
32、以下能正确进行字符串赋值操作的是___D___。
chars[5]={"
12345"
chars[5]={'
‘6’};
char*s;
*s="
char*s="
33、以下程序段的运行结果是___C___。
Chara[]="
program"
*p;
p=a;
while(*p!
g'
) {printf("
%c"
*p-32);
p++;
PROgram
PROGRAM
PRO
proGRAM
34、若有说明:
char*pc[]={"
aaa"
"
bbb"
ccc"
ddd"
,则以下叙述正确的是__C____。
*pc[0]代表的是字符串"
的首地址
*pc[0]代表的是字符'
pc[0]代表的是字符串"
pc[0]代表的是字符'
35、下列程序的运行结果是___B___。
#include<
stdio.h>
string.h>
voidf(char*s,intn){chara,*q1,*q2;
q1=s;
q2=s+n-1;
while(q1<
q2){a=*q1++;
*q1=*q2--;
*q2=a;
}}main(){charb[]="
ABCDEFG"
f(b,s
GAGGAGA
AGAAGAG
GFEDCBA
AGADAGA
36、定义如下的结构体描述同学信息structStudent{unsignedlongid;
charname[30];
charclass[30];
}s;
假设此同学的序号为1002,姓名为黎明,班级为冶金3班,则描述正确的为___C__。
id=1002;
name=黎明;
class=冶金3班;
name=”黎明”;
class=”冶金3班”;
s.id=1002;
s.name=”黎明”;
s.class=”冶金3班”;
s.name=黎明;
s.class=冶金3班;
37、用来描述C程序中注释的是__C___。
//
**
38、下列变量中合法的定义是__A___。
short_a=2-1
longif=0xabcL
double1_d=1.5e2
floata=1.5e2.7
39、当c的值不为0时,能够将c的值赋给变量a和b的是__C___
c=b=a
(a=c)||(b=c)
(a=c)&
(b=c)
a=c=b
40、设有以下程序段,执行后的输出结果是___B__intx=100,y=200;
%d"
,(x,y));
100
200
100,200
编译出错
东北大学C语言期末考试题及答案
(2)
1、若执行下面的程序时从键盘输入10,则输出是__B__main(){inta;
scanf(“%d”,&
a);
if(a++>
10)printf(“%d\n”,++a);
elseprintf("
a--);
12
11
2、执行下面程序段的结果是__D___intx=0;
3、执行与句:
for(n=0;
n++<
4;
);
后,变量n的值是__C__。
不定
4、以下关于循环的描述中,错误的是__D___。
可以用for语句实现的循环一定可以用while语句实现
可以用while语句实现的循环一定可以用for语句实现
可以用do…while语句实现的循环一定可以用while语句实现
do…while语句与while语句的区别仅仅是关键字while的位置不同
5、下面的描述错误的是__C__。
函数可以有多个形式参数
函数可以没有返回值
函数内可以嵌套定义函数
函数可以被其他函数调用
6、函数返回值的类型是由__A__决定的。
定义函数时指定的返回类型
函数中return语句的表达式类型
主调函数的实际参数类型
主调函数的返回值类型
7、定义了一维int型数组a[10]后,下面错误的引用是__B__。
a[0]=1;
a[10]=2;
a[0]=5*2;
a[1]=a[2]*a[0];
8、定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为__B__。
24
25
17
9、下面语句中,错误的是__D__。
int*p;
p=&
*p=i;
10、已知int型二维数组a[3][4],数组元素a[1][2]的地址不能表达为__C__。
a[1][2]
a[1]+2
*a[1]+2
*(a+1)+2
11、C语言中,5种基本数据类型的存储空间长度的排列顺序为___A___。
char
char=int
char=int=longint<
=float
12、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是___B___。
8
13、若有说明语句:
charc='
\72'
则变量c___A___。
包含1个字符
包含2个字符
包含3个字符
说明不合法,c的值不确定
14、若x,y均定义为整型,z定义为double型,以下不合法的scanf函数调用语句是___C___。
scanf("
%d%lx,%le"
%2d*%d%lf"
%x%*d%o"
%x%o%6.2f"
15、若输入字符串:
abcde<
回车>
,则以下while循环体将执行___A___次。
while((ch=getchar())=='
)printf("
*"
);
1次
死循环
0次
5次
16、执行下面的程序段后,k的值是___C___。
k=1;
n=263;
do{k*=n%10;
n/=10;
}while(n);
63
36
17、下面程序段中循环的执行次数是___B___。
a=10;
b=0;
do{b+=2;
a-=2+b;
}while(a>
=0);
18、下面程序段的运行结果是__D____。
x=2;
do{printf("
x--;
}while(!
x==0);
*
***
没有输出
19、下面程序段的运行结果是___B___。
i=1;
s=1;
a=0;
do{a=a+s*i;
s=-s;
i++;
}while(i<
=10);
a);
-2
20、有如下程序voidmain(){inta=2,b=-1,c=2;
if(a)if(b<
0)c=0;
elsec++;
c);
}该程序的输出结果是___A___。
21、程序中对fun函数有如下说明voidfun();
下面说明是错误的是___B___。
fun函数无返回值
fun函数的返回值可以是任意的数据类型
fun函数没有形式参数
void可以省略
22、函数求sum(intn)的功能是计算自然数1到n的和,即1+2+…+n。
main(){printf("
returns+=i;
23、有以下程序intf1(intx,inty){returnx>
y?
x:
y;
}intf2(intx,inty){returnx>
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()__A___
4,3,7
3,4,7
5,2,7
2,5,7
24、若有说明:
inta[][3]={1,2,3,4,5,6,7};
则数组a第一维的大小是___B___。
无确定值
25、判断字符串s1是否大于字符串s2,应当使用___D____。
if(s1>
s2)
if(strcmp(s1,s2))
if(strcmp(s2,s1)>
0)
if(strcmp(s1,s2)>
26、当运行以下程序时,从键盘输入:
AhaMAAha<
<
表示回车,则下面程序的运行结果是___A____。
main(){chars[80],c='
inti=0;
%s"
s);
while(s[i]!
){if(s[i]==c)
ahAMa
AhAMa
AhAMaahA
ahAMaahA
27、以下程序执行后a的值为___C____。
main() {inta,m=2,k=1,*p=&
k;
a=p!
=&
m;
printf("
}
-1
28、以下能正确读入字符串的程序段是____C___。
char*p;
p);
charstr[10];
&
str);
charstr[10],*p;
p=str;
charstr[10],*p=str;
p[1]);
29、若有定义:
inti,x[3][4];
,则不能将x[1][1]的值赋给变量i的语句是___B___。
i=x[1][1]
i=*(*(x+1))
i=*(*(x+1)+1)
i=*(x[1]+1)
30、下面程序的运行结果是____A___。
#include<
fun(char*s){chart,*a,*z;
a=s;
z=s+strlen(s)-1;
while(a++<
z--){t=*a++;
*a=*z--;
*z=t;
}}main(){char*p;
p="
a
abdddfg
afcdebg
gbedcfa
gfedcba
31、用来描述C程序中注释的是__C___
//
**
32、对于"
xy\n\102\\\'
字符串的长度是__B___
13
33、已知:
intx=10;
执行语句x-=x+x;
后x的值是__A___
-10
-20
34、下列描述中,正确的是__A___
所有的输入/输出都是通过调用库函数处理的
所有的输入/输出都是通过输入/输出语句实现的
getchar和putchar可以省略#include
在输入/输出格式中的*表示跳过数据的含义
35、设x=10,y=5;
z=15,执行下面一段程序后z的结果是__C___if(x>
36、执行下面程序段的结果是__D___intx=0;
37、以下关于switch语句和break语句的描述正确的是__D___
在switch语句中必须使用break语句
break语句只能用于switch语句体中
break语句只能用于循环语句中
在switch语句中可以使用break语句
38、与语句while(!
x)等价的语句是__A___
while(x==0)
while(x!
=0)
=1)
while(~x)
39、下面的描述错误的是__C___
40、下面关于局部变量的描述中,错误的是__D___
不同的函数中不能定义相同名称的局部变量
东北大学C语言期末考试题及答案(3)
1、定义了一维int型数组a[10]后,下面错误的引用是_____
正确答案是:
B
2、设有定义:
inta=1,*p=&
floatb=2.0;
charc='
A'
,以下不合法的运算是()
C
*p++;
a--;
c--;
3、若有定义:
intx[10],*p=x;
,则*(p+5)表示()
数组元素x[5]的地址
数组元素x[5]的值
数组元素x[6]的地址
数组元素x[6]的值
4、执行以下程序段后,y的值是()。
inta[]={1,3,5,7,9}intx=0,y=1,*ptr;
ptr=&
a[1];
while(!
x){y+=*(ptr+x);
x++;
1
2
4
5、下面程序的运行结果是()。
voidselect(char*s){inti,j;
char*t;
t=s;
for(i=0,j=0;
*(t+i)!
i++)if(*(t+i)>
0'
*(t+i)<
9'
){*(s+j)=*(t+i);
j++;
}*(s+j)='
\0
D
HPw19&
HPw
19&
1917
6、对于下面语句描述不正确
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东北大学 语言 期末 考试题 答案