C语言期末考试试题及答案最新1文档格式.docx
- 文档编号:19490738
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:7
- 大小:17.43KB
C语言期末考试试题及答案最新1文档格式.docx
《C语言期末考试试题及答案最新1文档格式.docx》由会员分享,可在线阅读,更多相关《C语言期末考试试题及答案最新1文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
3B、1<
<
1C、a==2D、1^3
7.若变量已正确定义,语句“if(a>
b)k=0;
elsek=1;
”和()等价。
A、k=(a>
b)?
1:
0;
B、k=a>
b;
C、k=a<
=b;
D、a<
=b?
0:
1;
8.设变量定义为“inta,b;
”,执行下列语句时,输入(),则a和b的值都是10。
scanf("
a=%d,b=%d"
&
a,&
b);
A、1010B、10,10C、a=10b=10D、a=10,b=10
9.下列程序的输出结果是()。
fun(inta,intb,intc)
{c=a*b;
}
voidmain()
{intc;
fun(2,3,c);
printf(”%dn”,c);
A、0B、1C、6D、无法确定
10.在C程序中,若对函数类型未加说明,则函数的隐含类型为()。
A、intB、doubleC、voidD、char
11.表达式strlen(”hello”)的值是()。
A、4B、5C、6D、7
12.设变量定义为“inta[4];
”,则表达式()不符合C语言语法。
A、*aB、a[0]C、aD、a++
13.设变量定义为“intx,*p=&
x;
”,则&
*p相当于()。
A、pB、*pC、xD、*&
x
14.若变量已正确定义,()不能使指针p成为空指针。
A、p=EOFB、p=0C、p=’’D、p=NULL
15.对于以下的变量定义,表达式()不符合C语言语法。
structnode{
intlen;
char*pk;
}x={2,"
right"
},*p=&
A、p->
pkB、*p.pkC、*p->
pkD、*x.pk
16.有如下程序
intrunc(inta,intb)
{return(a+b);
}
main0
{intx=2,y=5,z=8,r;
r=func(func(x,y),z);
printf(“%\d\n”,r);
该程序的输出的结果是()
A)12B)13C)14D)15
17.对于基类型相同的两个指针变量之间,不能进行的运算是()
A)<
B)=C)+D)-
18.有如下程序
longfib(intn)
{if(n>
2)return(fib(n-1)+fib(n-2));
elsereturn
(2);
{printf(“%d\n”,fib(3));
该程序的输出结果是()
A}2B}4C}6D}8
19.有如下定义
structperson{charname[9];
intage;
};
strictpersonclass[10]={“Johu”,17,
“Paul”,19
“Mary”,18,
“Adam16,};
根据上述定义,能输出字母M的语句是()
A)prinft(“%c\n”,class[3].mane);
B)pfintf(“%c\n”,class[3].name[1]);
C)prinft(“%c\n”,class[2].name[1]);
D)printf(“%^c\n”,class[2].name
[0]);
20.以下所列的C语言常量中,错误的是()
A)0xFFB)1.2e0.5C)2LD)‘\72’
21.有以下程序段
intk=0
while(k=1)k++;
while循环执行的次数是()
A)无限次B)有语法错,不能执行 C)一次也不执行D)执行1次
22.以下程序的输出结果是()
fun(intx,inty,intz)
{z=x*x+y*y;
main()
{inta=31;
fun(5,2,a);
printf(“%d”,a);
A)0B)29C)31D)无定值
23.下列程序段的输出结果是()
voidfun(int*x,int*y)
{printf(“%d%d”,*x,*y);
*x=3;
*y=4;
{intx=1,y=2;
fun(&
y,&
x);
printf(“%d%d”,x,y);
A)2143B)1212C)1234D)2112
24.当调用函数时,实参是一个数组名,则向函数传送的是()
A)数组的长度B)数组的首地址C)数组每一个元素的地址D)数组每个元素中的值
25.以下程序的输出结果是()
longfun(intn)
{longs;
if(n==1||n==2)s=2;
elses=n-fun(n-1);
returns;
{printf(“%ld\n”,fun(3));
A)1B)2C)3D)4
26.以下程序的输出结果是()
#defineSQR(X)X*X
{inta=16,k=2,m=1;
a/=SQR(k+m)/SQR(k+m);
printf(“d\n”,a);
A)16B)2C)9D)1
27.以下函数返回a所指数组中最小的值所在的下标值,在下划线处应填入的是()
fun(int*a,intn)
{inti,j=0,p;
p=j;
for(i=j;
i<
N;
I++)
if(a[i]<
A[P])__________;
return(p);
A)i=pB)a[p]=a[i]C)p=jD)p=i
二、填空题
1.表示“x≥y≥z”的C表达式是_______。
2.下列程序段的输出是______。
printf("
%on"
010<
1^1);
3.下列程序段的输出是______。
intk;
floats;
for(k=0,s=0;
k<
7;
k++)
s+=k/2;
%d,%fn"
k,s);
4.下列程序段的输出是_______。
#definef(a,b,x)a*x+b
%d,%dn"
f(3,2,1),f(6,5,f(3,2,1)));
5.下列程序段的输出是_____。
main()
{intk;
for(k=1;
k<
5;
k++){
if(k%2)printf("
*"
);
elsecontinue;
#"
6.下列程序段的输出是_____。
#include<
stdio.h>
intf(intx)
{staticy=1;
y++;
x+=y;
returnx;
voidmain()
k=f(3);
%d%dn"
k,f(k));
7.下列程序段的输出是_____。
int*p,*q,k=5,j=6;
q=&
k;
p=q;
q=&
j;
%d"
*p);
8.函数
voidf(chars[],chart[])
{intk=0;
while(s[k]=t[k])k++;
等价于
voidf(char*s,char*t)
{while(_____);
9.下列程序段的输出是_____。
char*a[2]={"
one"
"
two"
},**p=a;
%s,"
*(p++)+1);
%cn"
**p-1);
10.下列程序编译后生成t.exe,运行tinputoutputzoooil的输出结果是
_____。
voidmain(intargc,char*argv[])
char*p=argv[1];
for(k=2;
argc;
k++)
if(strcmp(argv[k],p)>
0)p=argv[k];
%sn"
p);
11.下列程序调用swap函数交换a和b的值,并输出交换后的a和b的值。
程序的输出结
果是:
。
voidmain()
{inta=3,b=5;
swap(&
b);
Afterswap%d,%d"
a,b);
swap(int*p,int*q)
{intt;
t=*p;
;
*p=*q;
*q=t;
1D2B3C4B5C6C7C8D9D10A11B12D13A14A15D16D17C18B
19D20B21A22C23A24B25A26B27D
①x>
=y&
&
y>
=z②1③6,90④5,25⑤*#*#⑥58⑦5⑧*s+
+=*t++⑨ne,s⑩zoo⑪Afterswap5,3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末考试 试题 答案 最新