C语言程序设计模拟题2Word文档下载推荐.doc
《C语言程序设计模拟题2Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《C语言程序设计模拟题2Word文档下载推荐.doc(8页珍藏版)》请在冰点文库上搜索。
![C语言程序设计模拟题2Word文档下载推荐.doc](https://file1.bingdoc.com/fileroot1/2023-4/30/c500d0b5-9479-4a57-a40e-e65e998f39a6/c500d0b5-9479-4a57-a40e-e65e998f39a61.gif)
,a,b,c);
A)a=0,b=0,c=0 B)a=l,b=l,c=1
C)a=l,b=O,c=I D)a=0,b=1.c=1
7.下列程序的输出结果是_________。
Main()
{ inti;
for(i=1;
i+l;
i++)
{ if(i>
4){printlf("
%d"
,i++);
break;
}
A)55 B)56 c)程序错误,没有输出 D)循环条件永远为真,死循环
8.下列程序的输出结果是_________。
#defineA100
{ inti=O,sum=O;
do{if(I==(i/2)*2)continue;
sum+=i;
}while(++i<
A);
sum);
A)2500 B)2550 C)4 D)O
9.下列程序的输出结果是_________。
{ intI=3;
switch(i)
{case1:
case2:
printf("
,i);
case3:
case4:
default:
OK"
);
A)0 B)3 C)OK D)没有任何输出
10.下列程序执行后的输出结果是________。
{intm[][3]={1,4,7,2,5,8,3,6,9};
inti,k=2:
for(I=0;
i<
3;
{printf("
,m[k][i]);
A)456 B)258 C)369 D)789
11.设已定义k为int类型变量,则以下for循环语句_________。
for(i=0;
k=-1,k=1;
i++,k++)
printf("
****\n"
A)判断循环结束的条件不合法 B)是无限循环
C)循环一次也不执行 D)循环只执行一次
12C语言函数返回值的类型是由__________决定的。
A)return语句中的表达式类型 B)调用函数的主调函数类型
c)调用函数时临时 D)定义函数时所指定的函数类型
13.下列程序执行后输出的结果是___________。
intd=l:
fun(intp)
{ intd=5;
d+=p++;
%d,"
,d);
{ inta=3;
fun(a);
d+=a++:
A)8,12 B)9,13 C)8,4 D)9,5
14.定义int*swap()指的是_______。
A)一个返回整型值的函数swap()
B)一个返回指向整型值指针的函数swap()
C)一个指向函数swap()的指针,函数返回一个整型值
D)以上说法均错
15.以下程序段的输出结果是__________。
{ chars1[10],s2[10],s3[10];
scanf("
%s"
,s1);
gets(s2);
gets(s3);
puts(s1);
puts(s2);
puts(s3);
输入数据如下:
(此处<
cR>
代表回车符)
aaa<
CR>
bbb<
A)aaa B)aaa C)aaa\0bbb\0 D)aaabbb
bbb
bbb
bbb
16.下述函数功能是________。
intfun(char*x)
{ char*y=x;
while(*y++);
returny-x-l;
A)求字符串的长度 B)求字符串存放的位置
C)比较两个字符串的大小 D)将字符串x连接到字符串y后面
17.以下程序的输出结果是_________。
{charstr[12]={'
s'
'
t'
r'
i'
n'
g'
};
strlen(str));
A)6 B)7 C)ll D)12
18.请读程序段:
charstr[]="
ABCD"
*p=str;
,*(p+4));
程序段的输出结果是_________。
A)68 B)0 C)字符'
D'
的地址
D)不确定的值
19.若有定义:
inta[4][10];
,则以下选项中对数组元素a[i][j]引用错误的是________。
(0<
=i<
4,0<
=j<
10)
A)*(&a[O][O]+10*i+j) B)*(a+i)+j C)*(*(a+i)+j)
D)*(a[i]+j)
20.请读程序:
#include<
stdio.h>
string.h>
{ char*sl="
AbCdEf"
,*s2="
aB"
;
s1++;
s2++;
strcmp(s1,s2));
上面程序的输出结果是___________。
A)正数 B)负数 C)零 D)不确定的值
21.下面程序的输出是_________。
chars[]="
{ char*p;
for(p=s;
p<
s+4;
p++)
%s\n"
,p);
A)ABCD B)A C)D D)ABCD
BCD B C ABC
CD C B AB
D D A A
22.以下程序输出的结果为__________。
{ char*alpha[6]={"
,EFGH"
,"
IJKL"
MNOP"
QRST"
UVwX"
char**p;
inti:
p=alpha;
for(I=0;
4;
,p[I]);
A)ABCDEFGHIJKL B)ABCD C)ABCDEFGHIJKLMNOP D)AEIM
23.若一个外部变量的定义形式为staticintx;
,那么,其中static的作用应该是_______。
A)将变量存储在静态存储区 B)使变量x可以由系统自动初始化
c)使x只能在本文件内引用 D)使x的值可以永久保留
24.下面是对宏定义的描述,不正确的是_______。
A)宏不存在类型问题,宏名无类型,它的参数也无类型
B)宏替换不占用运行时间
C)宏替换时先求出实参表达式的值,然后代入形参运算求值
D)宏替换只不过是字符替代而已
25.若有如下说明,则__________的叙述是正确的。
structst
{ inta;
intb[2l;
]a;
A)结构体变量a与结构体成员a同名,定义是非法的
B)程序只在执行到该定义时才为结构体st分配存储单元
c)程序运行时为结构体st分配6个字节存储单元
D)类型名structst可以通过extern关键字提前引用(即引用在前,说明在后)
26.若有以下结构体定义,则________是正确的引用或定义。
structexample
{ intx;
inty;
}v1;
A)example.x=10 B)examplev2.x=10
C)structv2;
v2.x=lO D)structexamplev2={10};
27.下列程序的执行结果是_________。
stdio.h>
unionun
charc[2];
];
voidmain()
{unionunx;
x.c[0]=10:
x.c[1]=1:
\n%d"
x.i);
A.266 B.ll C.265 D.138
28.已知小写字母a的ASCII码为97,大写字母A的ASCII.码为65,以下程序的结果是__________。
{ unsignedinta=32,b=66;
printf("
%c\n"
atb);
A)66 B)98 C)b D)B
29.C语言库函数fgets(str,n,fp)的功能是_________。
A)从fp指向的文件中读取长度n的字符串存入str指向的内存
B)从fp指向的文件中读取长度不超过n-l的字符串存入str指向的内存
C)从fp指向的文件中读取n个字符串存/Xstr指向的内存
D)从str读取至多n个字符到文件fp
30.下述程序向文件输出的结果是__________。
{ FILE*fp=fopen("
TEST"
"
wb"
fprintf(fp,"
%d%5.0f%c%d"
58,76273.0,'
-'
2278);
fclose(fp);
A)5876273-2278 B)5876273.000000-2278
c)5876273-2278 D)因文件为二进制文件而不可读
二、填空题
1.若有定义intm=5,y=2,则执行表达式y+=y-=m*=y后,y的值为_______。
2.若x和y都是double型变量,]ix的初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为_______。
3.下列程序执行后输出的结果是_______。
f(inta)
{staticc=0;
C=a+C++:
return(c);
{ inta=2,i,k;
for(i=O;
2;
k=f(a++);
,k);
4.下面程序执行后输出的结果是_______。
intm=13:
intfun(intx,inty)
{ intm=3;
return(x*y-m);
{ inta=7,b=5;
fun(a,b)/m);
5.下列程序执行后输出的结果是_______。
{ ntarr[10],i,k=0;
for(I=0;
l0;
i++)arr[I]=i;
for(I=1;
i++)k+=arr[i]+i;
6.下列程序执行后输出的结果是_______。
structs
{intx,y;
}data[2]={10,100,20,200};
{
structs*p=data;
%d\n"
,++(p->
x));
7.下面程序有两个printf语句,如果第一个printf语句输出的是194,则第二个print语句的输出结果是 _______。
{inta[10]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
%X\n"
%x\n"
,p+9);
8.以下函数的功能是计算s=l+l/2!
+l/3!
+…+l/n!
,请填空.
doublefun(intn)
{doubles=O.O,fac=1.O;
inti,k=1;
for(i=l;
=n;
{_______;
fat=fat/k;
s=s+fac;
9.下面程序的运行结果是_______。
{unsigneda=0112,x;
x=a>
>
3:
x=%o"
,x);
10.函数delete(s,i,n)是作用是从字符串s中删除从第i个字符开始的n个字符,请填空。
voiddelete(chars[],inti,intn)
{ intj,k,length=O;
while(s[1ength])
_______;
--i:
j=i;
if(_______)
{ k=i+n;
if(i+n<
=length)
while(k<
length)
s[j++]=s[k++];
s[j]='
\0'
;
}
三、程序填空,给出实现下列问题的程序,将横线处缺少的部分补上,使程序能正确运行。
1.
计算和:
sum=1-1/2+1/4-1/6+….。
要求直到最后一项的绝对值小于10-5为止。
求绝对值的函数为fab()。
#________________
main()
{floatsum,t,s=1,n=0;
___________
while(_________________)
{
sum=____________;
n=___________;
s=-s;
t=s/n;
printf(“%f\n”,sum);
2.
输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
{int
n1,n2,n3,n4;
char
c;
___________________;
while((c=____________)!
=’\n’)
{if(c>
=’a’_______________________)
n1++;
else
if(c>
=’0’_______________)
n2++;
if(c='
'
)
n3++;
__________;
printf(“%d%d%d%d\n”,n1,n2,n3,n4);
}
四、编程题
1.从键盘上输入若干个学生的成绩,统计并输出最高和最低成绩、平均分及各分数段的人数,当输入负数时结束输入。
2.输入若干个学生的信息(包括学号,姓名,性别,年龄,入学成绩),求平均成绩最高的学生,并输出该学生的信息。
8