C语言期末考试复习试题Word文档格式.docx
- 文档编号:16895925
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:29
- 大小:31.49KB
C语言期末考试复习试题Word文档格式.docx
《C语言期末考试复习试题Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言期末考试复习试题Word文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
B、10
C、11
D、15
[7]、设有定义:
#defineSTR"
12345"
;
则以下叙述正确的是()。
A、宏名STR代替的是数值常量12345
B、宏定义以分号结束,编译时会产生错误信息
C、宏名STR代替的是字符串"
D、宏名STR代替的是字符串常量"
[8]、下列叙述不正确的是()。
A、用typedef可以定义各种类型名,但不能用来定义变量
B、typedef和#define都是在预编译时处理的
C、用typedef只是将已存在的类型用一个新的标识符来代表
D、使用typedef有利于程序的通用和移植
[9]、若变量定义时未初始化,则其值不确定的是()。
A、静态全局变量
B、静态局部变量
C、局部变量
D、全局变量
[10]、以下程序关于sizeof()的运行结果是()。
{
chara[]="
movie"
b[10]="
%d%d\n"
sizeof(a),sizeof(b));
A、55
B、66
C、610
D、其他输出
[11]、若要用fopen函数打开一个二进制文件,该文件要既能读也能写,当文件不存在时新建文件,则文件打开方式应是()。
A、"
ab+"
B、"
rb+"
C、"
wb+"
D、"
ab"
[12]、设charch,str[4],*strp;
则下列赋值语句正确的是()。
A、ch="
CBA"
B、str="
C、strp="
D、*strp="
[13]、有以下函数:
char*fun(char*p){returnp;
},该函数的返回值为()。
A、不确定值
B、参数p中存放的地址值
C、一个临时存储单元的地址值
D、形参p自身的地址值
[14]、若有定义:
constinti=10,j=20;
int*constpi=(int*)&
i;
,则下列操作正确的为()。
【答 案】A
A、*pi=0;
B、pi=&
j;
C、i=10;
pi=&
D、j=*pi;
[15]、有如下定义:
structs1
chara[3];
int
num;
}t={’a’,’b’,’x’,4},*p;
p=&
t;
则下列语句输出结果为x的是()。
A、printf("
%c\n"
p->
t.a[2]);
B、printf("
(*p).a[2]);
C、printf("
a[3]);
D、printf("
(*p).t.a[2]);
[16]、以下程序将输出的字符是()。
#include"
stdio.h"
main()
{
charc;
char(*p)[3];
chars[2][3]={’a’,’b’,’c’,’d’,’e’,’f’};
p=&
s[0];
c=*(p[1]+1);
%c"
c);
A、b
B、d
C、e
D、f
[17]、以下关于枚举的程序,其运行结果是()。
enumweekday
{sun,mon,tue=5,wed,thu,fri,sat}a,b,c,d;
a=sun;
b=mon;
c=tue;
d=wed;
%d%d%d%d\n"
a,b,c,d);
}
A、
0050
B、
1254
C、
0156
D、
0153
[18]、设有程序段chark;
while(k>
0)k++;
k);
则程序输出结果为()。
A、-127
B、256
C、-128
D、128
[19]、函数调用语句:
fseek(fp,-20L,2);
的含义是()。
A、将文件位置指针移到距离文件头20个字节处
B、将文件位置指针从当前位置向后移动20个字节
C、将文件位置指针从文件末尾处后退20个字节
D、将文件位置指针移到距离当前位置20个字节处
[20]、以下程序的输出结果为()。
inta=2;
intf(int*a)
return(*a)++;
ints=0;
{inta=5;
s+=f(&
a);
a,s);
A、27
B、210
C、37
D、311
[21]、以下程序输出的字符序列是()。
main(){
language"
*p;
p=a;
while(*p!
=’u’){printf("
*p-’u’+’U’);
p++;
A、LANGUAGE
B、language
C、LANG
D、LANGuage
[22]、以下程序的输出结果是()。
#include<
stdio.h>
intmain()
charstr[100]="
ABCDEFG"
*p=str;
for(i=0;
*p!
=’\0’;
p++,i++);
i);
return0;
C、99
D、100
[23]、字符串"
a\x44\\\nbcd\102a"
的长度是()。
A、12
B、17
C、9
D、11
[24]、以下程序的输出结果是( )。
main()
{intn;
(n=6*4,n+6),n*2;
n=%d\n"
n);
A、30
B、24
C、60
D、48
[25]、以下程序的输出结果是()。
{intw=4,x=3,y=2,z=1;
if(x>
y&
&
!
(z==w))printf("
(w<
x?
w:
z<
y?
z:
x));
elseprintf("
(w>
z>
A、1
B、2
C、3
D、4
[26]、以下程序的输出结果是()。
{inta=1,b=0;
switch(a)
{case1:
switch(b)
{case0:
printf("
**0**"
);
break;
case1:
**1**"
case2:
**2**"
A、**0**
B、**0****2**
C、**0****1****2**
D、有语法错误
[27]、以下是求两个正整数的最大公约数的函数fun(),下划线处应填入的正确语句为()。
intfun(m,n)
intm,n;
{intr;
if(m<
n){r=m;
m=n;
n=r;
if(n==0)return(m);
do{r=m%n;
if(r!
=0){m=n;
}while(______);
return(n);
A、r!
=0
B、r==0
C、n!
D、n==0
[28]、以下程序的输出结果是()。
{inta=0,j;
for(j=0;
j<
j++)
{switch(j)
case3:
a+=2;
a+=3;
default:
a+=5;
a);
A、20
B、13
C、10
D、36
[29]、以下程序功能为输入1个正整数n,计算并输出s的前n项的和:
s=1/2-2/3+3/4-4/5+……(-1)
n/(n+1),下划线处应填入的正确语句为( )。
voidmain()
intk,flag=1,n;
floats=0;
scanf("
%d"
&
n);
for(k=1;
k<
=n;
k++){
s=s+______;
flag=-flag;
sum=%f\n"
s);
A、1.0*k/(k+1)*flag
B、flag*n/(n+1)
C、-k/(k+1)
D、1.0*k/(k+1)
[30]、以下程序的输出结果是()。
inti,j,x=0;
for(i=0;
2;
x++;
3;
if(j%2)
continue;
x++;
x=%d\n"
x);
A、x=4
B、x=8
C、x=6
D、x=12
[31]、以下程序的输出结果是()。
{charch[2][5]={"
6937"
"
8254"
},*p[2];
inti,j,s=0;
for(i=0;
i++) p[i]=ch[i];
i++)
for(j=0;
p[i][j]>
’\0’;
j+=2)
s=10*s+p[i][j]-’0’;
s);
A、69825
B、63825
C、6385
D、693825
[32]、下列程序片段的输出结果是()。
strlen("
ATS\n0l2\2\\"
));
A、l1
D、8
[33]、在C程序中有如下语句:
char*func(intx,inty);
它是()。
A、对函数func的定义
B、对函数func的调用
C、对函数func的原型说明
D、不合法的
[34]、下列程序运行后的输出结果是()。
fun(inta,intb)
{if(a>
b)return(a);
elsereturn(b);
{intx=3,y=8,z=6,r;
r=fun(fun(x,y),2*z);
r);
A、3
B、6
C、8
D、12
[35]、有如下程序,该程序的输出结果是()。
longf(intn)
{if(n>
2)
return(f(n-2)+f(n-3));
if(n==2)
return
(2);
return
(1);
}
main()
{printf("
f(5));
A、2
B、3
C、4
D、5
[36]、在C语言中,函数的隐含存储类别是()。
A、auto
B、static
C、extern
D、无存储类别
[37]、以下程序的运行结果是()。
stdio.h"
inta[]={1,2,3,4,5,6,7,8,9,10,11,12};
int*p=a+5,*q=NULL;
q=p+5;
,*p,*q);
A、运行后报错
B、611
C、612
D、55
[38]、以下选项中,能定义s为合法的结构体变量的是()。
A、typedefstructabc
{doublea;
charb[10];
}s;
B、structabc
C、structABC
ABCs;
D、typedefABC
[39]、以下程序运行后的输出结果是()。
structNODE
{intnum;
structNODE*next;
};
main()
structNODE*p,*q,*r;
p=(structNODE*)malloc(sizeof(structNODE));
q=(structNODE*)malloc(sizeof(structNODE));
r=(structNODE*)malloc(sizeof(structNODE));
p->
num=10;
q->
num=20;
r->
num=30;
next=q;
next=r;
%d\n"
num+q->
next->
num);
A、10
B、20
C、30
D、40
[40]、下列程序的输出结果是()。
structstudent
{inta,b,c;
{structstudentstu[2]={{2,3,4},{5,6,7}};
intt;
t=stu[0].a+stu[1].b%stu[0].c;
%d\n"
t);
A、0
B、1
[41]、若a是整型变量,表达式~(a^~a)等价于()。
A、~a
C、0
[42]、若以下程序所生成的可执行文件名为filel.exe,当输入命令行:
FILE1CHINABEIJINGSHANGHAI,执行该程序时,程序的输出结果是()。
main(intargc,char*argv[])
{while(argc-->
1)
{++argv;
%s
"
*argv);
A、CHINABEIJINGSHANGHAI
B、FILE1
CHINA
BEIJING
C、C
B
S
D、F
C
B
[43]、下列选项中属于不正确的赋值语句的是()。
A、t--;
B、k=i==j;
C、t1=t2=t3=3;
D、t1=1,t2=2;
[44]、若有定义:
inta,b;
charx,y;
并有以下输入数据:
12
13AaBb(回车)
则能给a赋整数12,给b赋整数13,给x赋字符a,给y赋字符b的正确程序段是()。
A、scanf(“%d”,&
scanf(“%d”,&
b);
x=getchar();
y=getchar();
B、scanf(“%d%d
%c
%c”,&
a,&
b,&
x,&
y);
C、scanf(“%d%d
a,&
y,&
D、scanf(“%d%d%c%c%c%c”,&
[45]、在PC16位机环境下,以下程序的运行结果是()。
{unsignedinta;
intb=-2;
a=b;
printf(“%u”,a);
A、-2
B、65534
C、32768
D、-32768
[46]、语句printf(“%d\n”,strlen(“xyz\t\xab\3\\”));
的输出结果是()。
A、9
B、11
C、7
[47]、语句:
printf(“%d”,!
0);
B、0
C、有语法错误,不能执行
[48]、当a=2,b=3,c=4,d=5时,执行下面一段程序后x的值为()。
if(a<
b)
if(c>
d)x=1;
else
if(a>
c)
if(b<
d)x=2;
x=3;
x=4;
else
x=5;
[49]、若x是int型变量,且有下面的程序片段:
for(x=5;
x<
8;
x++)
printf((x/2)?
(“**%d”):
(“##%d”),x);
该程序片段的输出结果是()。
A、**5**6**7
B、##5**6##7**8
C、**5##6**7
D、**5##6**7##8
[50]、有以下程序段:
inta=0,b;
do{scanf(“%d”,&
b++;
}while(a!
=10||b<
3);
此处do-while循环的结束条件是()。
A、a的值等于10并且b的值大于3
B、a的值等于10并且b的值大于等于3
C、a的值不等于10或者b的值小于3
D、a的值不等于10并且b的值大于等于3
[51]、在下述程序中,if(i>
j)语句共执行的次数是()。
{inti=0,j=14,k=2,s=0;
for(;
)
{i+=k;
if(i>
j)
{printf(“%d”,s);
break;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末考试 复习 试题