C语言试题 5Word格式文档下载.docx
《C语言试题 5Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言试题 5Word格式文档下载.docx(32页珍藏版)》请在冰点文库上搜索。
prog1.c
floatfun(intn)
main()
FILE*wf;
intn,i,k=0;
floats,bb[10];
请输入不超过1000的n:
s=fun(n);
和为:
%f"
s);
/******************************/
wf=fopen("
out.dat"
"
w"
for(i=1;
i<
=10;
i++)
bb[k++]=fun(i);
for(k=0;
k<
10;
k++)
fprintf(wf,"
%f"
bb[k]);
fclose(wf);
/*****************************/
一、选择题答案
1.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是
A)-3
B)9
C)-12
D)6
你所选择的答案是:
*,正确答案是:
C×
2.有以下程序段
intx=3
do
{printf("
x-=2);
while(!
(--x));
其输出结果是
A)1
B)30
C)1-2
D)死循环
3.在C语言中,合法的长整型常数是
A)OLB)4962710C)324562&
D)216D
A×
4.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是
A)INPUTx、y、z;
B)scanf("
%d%d%d"
x,&
y,&
z);
C)scanf("
x,y,z);
D)read("
B×
5.以下程序的输出结果是
{
intnum=0;
while(num<
=2)
{num++;
%d\n"
num);
A)1
2
3
4
B)1
2
C)1
D)l
6.以下程序的输出结果是
{charst[20]="
hello\0\t\\\"
;
printf(%d%d\n"
strlen(st),sizeof(st));
A)99
B)520
C)1320
D)2020
7.以下程序的输出结果是
structHAR
{intx,y;
structHAR*p;
}h[2];
{h[0],x=1;
h[0];
y=2;
h[1],x=3;
h[1];
y=4;
h[0],p=&
h[1],p=h;
printf("
%d%d\n"
(h[0],p)->
x,(h[1],p)->
y);
A)12
B)23
C)14
D)32
D×
8.以下程序的输出结果是
#include"
stdio.h"
inta,b;
for(a=1,b=1;
a<
=100;
a++)
if(b>
=10)break;
if(b%3==1)
{b+=3;
continue;
a);
A)101
B)6
C)5
D)4
9.以下叙述正确的是
A)可以把define和if定义为用户标识符
B)可以把define定义为用户标识符,但不能把if定义为用户标识符
C)可以把if定义为用户标识符,但不能把define定义为用户标识符
D)define和if都不能定义为用户标识符
10.以下程序的输出结果是
inta=5,b=4,c=6,d;
d=a>
b?
(a>
c?
a:
c):
(b));
A)5
B)4
C)6
D)不确定
11.以下程序的输出结果是
{charcf[3][5]={"
AAAA"
BBB"
CC"
};
\"
%s\"
ch[1]);
A)"
B)"
C)"
BBBCC"
D)"
12.在说明语句:
int*f();
中,标识符f代表的是
A)一个用于指向整型数据的指针变量
B)一个用于指向一维数组的行指针
C)一个用于指向函数的指针变量
D)一个返回值为指针型的函数名
13.以下程序的输出的结果是
intx=3;
voidncre();
inti;
x;
i++)ncre();
voidncre()
staticintx=1;
x*=x+1;
x);
A)33
B)22
C)26
D)25
14.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'
\101'
是
A)字符A
B)字符a
C)字符e
D)非法的常量
15.已知i、j、k为int型变量,若从键盘输入:
1,2,3<
回车>
,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是
A)scanf("
%2d%2d%2d"
i,&
j,&
k);
%d%d%d"
%d,%d,%d"
D)scanf("
i=%d,j=%d,k=%d"
16.C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是
A)void
B)int
C)float
D)double
17.有以下程序
intf(intn)
{if(n==1)return1;
elsereturnf(n-1)+1;
{inti,j=0;
for(i=i;
3;
i++)j+=f(i);
j);
程序运行后的输出结果是
A)4
B)3
C)2
D)1
18.若有以下说明和定义
typedefint*INTEGER;
INTEGERp,*q;
以下叙述正确的是
A)P是int型变量
B)p是基类型为int的指针变量
C)q是基类型为int的指针变量
D)程序中可用INTEGER代替int类型名
19.有以下程序
intfl(intx,inty)
{returnx>
y?
x:
y;
intf2(intx,inty)
y:
{inta=4,b=3,c=5,d,e,f;
d=f1(a,b);
d=f1(d,c);
e=f2(a,b);
e=f2(e,c);
f=a+b+c-d-e;
%d,%d,%d\n"
d,f,e);
执行后输出结果是( )。
A)3,4,5
B)5,3,4
C)5,4,3
D)3,5,4
20.以下叙述中正确的是( )。
A)全局变量的作用域一定比局部变量的作用域范围大
B)静态(static)类别变量的生存期贯穿于整个程序的运行期间
C)函数的形参都属于全局变量
D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值
21.以下叙述中不正确的是( )。
A)C语言中的文本文件以ASCⅡ码形式存储数据
B)C语言中对二进制文件的访问速度比文本文件快
C)C语言中,随机读写方式不适用于文本文件
D)C语言中,顺序读写方式不适用于二进制文件
22.有定义语句:
inta=1,b=2,c=3,x;
,则以下选项中各程序段执行后,x的值不为3的是( )。
A)if(c<
a)x=1;
elseif(b<
elsex=3;
C)if(a<
3)x=3;
if(a<
2)x=2;
1)x=1;
B)if(a<
elseif(a<
elsex=1;
D)if(a<
b)x=b;
if(b<
c)x=c;
if(c<
a)x=a;
23.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。
A)函数调用可以作为独立的语句存在
B)函数调用可以作为一个函数的实参
C)函数调用可以出现在表达式中
D)函数调用可以作为一个函数的形参
24.已定义以下函数
fun(char*p2,char*p1)
{while((*p2=*p1)!
='
\0'
){p1++;
p2++;
}}
函数的功能是( )。
A)将p1所指字符串复制到p2所指内存空间
B)将p1所指字符串的地址赋给指针p2
C)对p1和p2两个指针所指字符串进行比较
D)检查p1和p2两个指针所指字符串中是否有'
25.以下4组用户定义标识符中,全部合法的一组是( )。
A)_main
enclude
sin
B)If
-max
turbo
C)txt
REAL
3COM
D) int
k_2
_001
26.设有以下定义
#defined2
inta=0;
doubleb=1.25;
charc=’A’;
则下面语句中错误的是( )。
A)a++;
B)b++ C)c++;
D)d++;
27.有以下程序
main()
intx=102,y=012;
printf(“%2d,%2d\n”,x,y);
A)10,01 B)02,12 C)102,10 D)02,10
28.有以下程序
{inti,n=0;
for(i=2;
5;
{do
{if(i%3)continue;
n++;
}while(!
i);
}
printf(“n=%d\n”,n);
程序执行后的输出结果是( )。
A)n=5 B)n=2 C)n=3 D)n=4
29.有以下程序
{unsignedchara,b;
a=4|3;
b=4&
printf("
%d%d\n"
a,b);
执行后输出结果是
A)70B)07C)11D)430
30.s12和s2已正确定义并分别指向两个字符串。
若要求:
当s1所指串大于s2所指串时,执行语句S;
则以下选项中正确的是( )。
A)if(s1>
s2)S;
B)if(strcmp(s1,s2))S;
C)if(strcmp(s2,s1)>
0)S;
D)if(strcmp(s1,s2)>
31.设有定义语句
intx[6]={2,4,6,8,5,7},*p=x,i;
要求依次输出x数组6个元素中的值,不能完成此操作的语句是( )。
A)for(i=0;
6;
i++)printf("
%2d"
*(p++));
B)for(i=0;
*(p+i));
C)for(i=0;
*p++);
D)for(i=0;
(*p)++);
32.有以下程序
main()
{charstr[][10]={"
China"
Beijing"
},*p=str;
printf("
%s\n"
p+10);
}
程序运行后的输出结果是( )。
A)China
B)Bejing
C)ng
D)ing
33.以下不能定义为用户标识符的是( )。
A)Main
B)_0
C)_int
D)sizeof
34.数字字符0的ASCII值为48,若有以下程序
{chara='
1'
b='
2'
%c,"
b++);
%d"
b-a);
程序运行后的输出结果是( )。
A)3,2
B)50,2
C)2,2
D)2,50
35.有以下程序
inta,b,d=25;
a=d/10%9;
b=a&
&
(-1);
%d,%d"
A)6,1
B)2,1
C)6,0
D)2,0
36.有以下程序
inta[3][3],*p,i;
p=&
a[0][0];
for(i=0;
9;
p[i]=i;
a[1][i]);
A)012
B)123
C)234
D)345
37.有以下程序
#defineN20
fun(inta[],intn,intm)
{inti,j;
for(i=m;
i>
=n;
i--)
a[i+1]=a[i];
inti,a[N]={1,2,3,4,5,6,7,8,9,10};
fun(a,2,9);
A)10234
B)12344
C)12334
D)12234
38.有以下程序
inta=1,b;
for(b=1;
b<
b++)
if(a>
=8)break;
if(a%2==1){a+=5;
continue;
a-=3;
b);
A)3
B)4
C)5
D)6
39.有以下程序
point(char*p)
p+=3;
{charb[4]={'
a'
'
b'
c'
d'
},*p=b;
point(p);
%c"
*p);
A)a
B)b
C)c
D)d
40.程序中若有如下的说明和定义语句
charfun(char*);
char*s="
one"
a[5]={0},(*f1)()=fun,ch;
……
以下选项中对函数fun的正确调用语句是( )。
A)(*f1)(a);
B)*f1(*s);
C)fun(&
a);
D)ch=*f1(s)
41.以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是( )。
A)feof(fp)
B)ftell(fp)
C)fgetc(fp)
D)rewind(fp)
42.有以下程序段
intk=0,a=1,b=2,c=3;
k=a<
b:
k;
执行该程序段后,k的值是( )。
A)3 B)2 C)1 D)0
43.有以下程序
{inta[]={2,4,6,8,10},y=0,x,*p;
p=&
a[1];
for(x=1;
x<
x++)y+=p[x];
y);
A)10 B)11 C)14 D)15
44.以下能正确定义字符串的语句是
A)charstr[]={'
\064'
B)charstr="
\x43"
C)charstr="
abc"
D)charstr[]="
a\0"
45.有以下程序
main()
inti,t[][3]={9,8,7,6,5,4,3,2,1};
i++)printf(“%d”,t[2-i][i]);
}
程序的执行后的输出结果是
A)753
B)357
C)369
D)751
46.以下叙述中错误的是
A)算法正确的程序最终一定会结束
B)算法正确的程序可以有零个输出
C)算法正确的程序可以有零个输入
D)算法正确的程序对于相同的输入一定有相同的结果
47.有以下程序
fun(intx,inty){return(x+y);
inta=1,b=2,c=3,sum;
sum=fun((a++,++b,a+b),c++);
sum);
执行后的输出结果是________。
A)6 B)7 C)8 D)9
48.若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是
A)#defineN10
inta[N];
B)#definen5
inta[2*n];
C)inta[5+5];
D)intn=10;
inta[n];
49.有以下程序
voidfun2(chara,charb)
{printf("
%c%c"
chara='
A'
B'
voidfun1(){a='
C'
b='
D'
{fun1();
fun2('
E'
F'
程序的运行结果是________。
A)CDEF B)ABEF C)ABCD D)CDAB
50.