C语言程序设计模拟题Word格式文档下载.docx
- 文档编号:21549759
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:24
- 大小:25.40KB
C语言程序设计模拟题Word格式文档下载.docx
《C语言程序设计模拟题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计模拟题Word格式文档下载.docx(24页珍藏版)》请在冰豆网上搜索。
9、若有定义:
intk=7;
floata=2.5,b=4.7;
则表达式a+k%3*(int)(a+b)%2/4的值是【9】。
A)2.750000
B)2.500000
C)3.500000
D)0.000000
10、已知ch是字符型变量,下面正确的赋值语句是【10】。
A)ch=””B)ch='
123'
D)ch='
ch='
\xff'
\08'
C)
11、下面程序的运行结果是:
【11】。
voidmain()
{
charc='
a'
;
if(‘0'
<
=c<
='
9'
)printf(“YES”);
elseprintf(“NO”);
}
A)语句有错误
B)NO
/2
C)YESNO
D)YES
12、已知:
inta=4,b=5,c;
则执行表达式c=a=a>
b后,变量a的值为【12】。
A)0B)1
D)C)4
5
13】。
13、以下程序的运行结果是【#include<
stdio.h>
main()
voidx1=3,x2=1,x3=1;
{int
printf(“****”);
if(x1=x2+x3)
printf(“####”);
else
A)存在语法错误B)无输出结果####输出输出C)****
下面程序段的输出结果是【1414、#include<
charp1[10]=“abc”,p2[]=“ABC”,str[50]=“xyz”;
strcpy(str+2,strcat(p1,p2));
\n”,str);
printf(“%szabcABCB)A)xyabcABC
xyzabcABCyzabcABC
D)C)
15、设有:
inta=1,b=2,c=3,d=4,m=2,n=2;
执行(m=a>
b)&
&
(n=c>
d)后n的值为【15】A)1B)2
D)0
C)3
16、若已定义x和y为double类型,则表达式:
x=1,y=x+3/2的值是【16】。
A)1B)2
2.5
C)2.0
17、以下程序段的输出结果为【17】。
intx=1,y=2;
/3
voidfun1()
{x=3;
y=4;
}
voidfun2(intx,inty)
{printf(“%d,%d\n”,x,y);
{fun1();
printf(“%d,%d,”,x,y);
fun2(5,6);
A)3,4,5,6B)1,2,5,6
D)3,4,1,2
1,2,3,4
18、下面程序执行时,while的循环次数是【18】。
inti=0;
while(i<
10)
if(i<
1)continue;
if(i==5)break;
i++;
A)1
B)10
C)6
D)死循环,不能确定次数
19、对一维数组a的说明语句中正确的是【19】。
A)inta(10)B)intn=10;
a[n];
D)C)#defineSIZE10
intn;
scanf(“%d”,&
n);
inta[SIZE];
inta[n];
20、若调用一个函数,且此函数中没有return语句,则该函数【20】。
A)没有返回值B)返回若干个系统默认值
D)能返回一个用户所希望的函数值C)返回一个不确定的值20
/4
21、下列运算符中优先级最高的是【21】。
A)!
B)%C)-=D)&
22、若intj=10;
执行下列程序后,变量j的正确结果是【22】。
switch(j){
case9:
j+=1;
case10:
case11:
default:
A)10B)11
C)12D)13
23、下列程序的运行结果是【23】。
intii,x[3][3]={1,2,3,4,5,6,7,8,9};
for(ii=0;
ii<
3,ii++)
printf(“%d”,x[ii][2-ii]);
A)1,5,9B)1,4,7
C)3,5,7D)3,6,9
24、在定义inta[10];
之后,对a的引用正确的是【24】。
A)a[10]B)a[6,3]
C)a(6)D)a[10-10]
25、在定义了a[2][3]之后,对a的引用正确的是【25】。
A)a(1,2)B)a[1,3]
C)a[1>
2][!
1]D)a[2][0]
26、设有程序段
intk=10;
while(k=0)k=k-1;
则下面描述中正确的是:
【26】
A)while循环执行10次
B)循环是无限循环
C)循环体语句一次也不执行
D)循环体语句执行一次
/5
27、判断两个字符串si和s2相等的正确语句是【27】。
A)if(s1=s2)B)if(s1==s2)
C)if(strcpy(s1,s2))D)if(strcmp(s1,s2)==0)
28、以下正确的字符常量的定义为【】。
A、'
c'
B、“cj”
x=100,y=200,则
D、'
、'
abc'
C29、若x、y都是int型变量,
printf(“%d”,(x,y));
的输出结果是【】。
A)200B)100
D)不确定C)100200
30、运行以下程序,如果从键盘输入ABCDE<
回车>
,则输出结果是【】
#include<
intfunch(charstr[])
intnum=0;
while(str[num]!
=‘\0'
)num++;
return(num);
voidmain()
{charstr[10];
gets(str);
printf(“%d\n”,funch(str));
A)7B)6
D)C)5
4
31、为表示关系x>
=y>
=z,下面C语言表达式中正确的是【】。
A)(x>
=y)&
(y>
=z)B)(x>
=y)and(y>
=z)(x>
=z)
C)(x>
D)、下面程序段的输出结果是【】32。
intx=2,y=0,z;
x*=3+2;
printf(“%d”,x);
/6
x*=y=z=4;
printf(“%d”,x);
A)840B)1040
D)8C)104
。
33、下列程序段的输出结果为【】inta=9;
n”,a);
printf(“%d\918B)
D)C)-18
-9
34、设有整型变量a的值为5,使整型变量b的值不为2的表达式【】A)b=a/5B)
b=6-(--a)
D)C)b=a%2
b=(a-a--,a/2)
35、语句printf(“a\bre\'
hi\'
y\\\bou\n”)的输出结果为【】。
A)a\bre\'
y\\\bouB)a\bre\'
y\bou
D)re'
hi'
youC)abre'
,正确的输入形式应当
36、设a,b,c,d均是int型变量,为了使以下程序输出为:
1234+123+12+1
为【】。
scanf(“M+=+-+_x001D_”,&
a,&
b,&
c,&
d);
printf(“M+=+-+_x001D_”,a,b,c,d);
A)1234123121<
B)
1234123412341234<
>
回车1234+1234+1234+1234<
1234+123+12+1<
D)C)
37、以下程序的输出结果是【】voidmain()
{inta=1,b=1;
)switch(a+b
{case2:
printf(*\n);
case3:
printf(**\n);
***
A)B)
/7
**
B)*
C)***、分析以下程序,以下程序【】。
38voidmain()intx=5,a=0,b=0;
n”);
if(x=a+b)printf(“****\
printf(“####\n”);
}else
A)有语法错,不能通过编译,B)通过编译但不能连接
C)输出****
D)输出####
39、假定所有变量均已正确说明,下列程序段运行后x的值是【】。
a=b=c=0;
x=35;
if(!
a)x=-1;
elseif(b);
if(c)x=3;
elsex=4;
A)-1B)
D)3
C)35
inti,j,x=0;
{for(i=0;
i<
2;
i++)x++;
for(j=0;
j<
=3;
j++)
if(j%2)continue;
x++;
printf(“x=%d\n”,x);
/8
A)x=4B)x=8
D)x=6
x=12
41、下面程序的运行结果是【】。
#include“stdio.h”voidmain()
inti,j,a=0;
for(i=0;
i++)
{for(j=0;
4;
if(j%2)break;
a++;
printf(“%d\n”,a);
A)4B)5
7
D)C)6
42、下面程序的运行结果是【】。
voidmain(){
charch[7]={“12ab56”};
inti,s=0;
s=10*s+ch[i]-
ch[i]>
=‘0'
ch[i]<
=‘9'
i+=2)'
0'
printf(“%d\n”,s);
1256
1B)
C)12ab56
D)7
、下面程序的运行结果是【】43voidmain()
chara[]=“morning”,t;
inti,j=0;
/9
for(i=1;
7;
if(a[j]<
a[i])
j=i;
t=a[j];
a[j]=a[7];
a[7]=a[j];
puts(a);
A)mogninrB)
mo
D)morning
mornin
44、以下正确的函数说明形式是【】。
doublefun(intx;
inty)B)
A)doublefun(intx,inty)
D)doublefun(intx,y);
C)doublefun(intx,inty);
、以下程序的输出结果是【】45。
voidfun(inta,intb,intc)
a=456;
b=567;
c=678;
intx=10,y=20,z=30;
fun(x,y,z);
printf(%d,%d,%d,x,y,z);
A)30,20,10B)
10,20,30
678,567,456
D)C)456,567,678
然后输出学号中
三、程序选择题时结束循03的学号,输入1、下面程序是从键盘中输入学号,百位数字为环,请选择填空。
#include<
voidmain()
num;
{longint
scanf(“%ld”,&
num);
do
】【{if
(1)printf(“%ld”,num);
/10
seanf(“%ld”,&
}while(【2】);
【1】A)num_x0010_0/10==3B)num/10_x0010_==3
D)C)num_x0010_/10==3num/100_x0010_==3
【2】A)!
num!
num==0
D)!
num!
=0
C)num>
0==0
2、下面程序段的运行结果是【3】。
表示空格)(其中口0'
'
\charc[5]={'
a'
b'
\
printf(“%s”,c);
abB)A)】'
'
【3abc
D)C)ab□c
3、下列程序的运行结果是【4】。
inti,x[3][3]={1,2,3,4,5,6,7,8,9};
3;
printf(“%d”,x[i][2-i]);
【4】A)1,5,9B)1,4,7
D)C)3,5,7
3,6,9
4.下面的程序将字符串s中的每个字符按升序插入到数组a中,请选择填空。
#include<
#include<
string.h>
voidmain()
{chara[20]=“cehiknqtw”;
chars[]=“bafl”;
inti,j,k;
for(k=0;
【5】;
k++)
{j=0;
while(s[k]>
=a[j]&
a[j]!
='
\0'
)j++;
for(【6】)a[i+1]=a[i];
a[j]=【7】;
.
/11
【5】A)s[k]!
O'
B)s[k]!
D)C)s[k]==0
s[k]!
B)i=strlen(a)+k;
i>
=j;
i--A)i=strlen(a);
i>
i--【6】D)C)i=j;
i<
=strlen(a)+k;
i++i=j;
=strlen(a);
i++
B)s[k+1]【7】A)a[k]
D)s[k-1]
C)s[k]
5.下面程序的功能是找岀数组中的最大值和此元素的下标,请选择填空。
{inta[10]={4,6,8,2,0,9,23,5,67,1},k,p;
【8】;
for(k=1;
k<
1O;
if(a[k]>
a[p])
【9】
printf(”最大值=%d,下标=%d\n”,a[p],【10】);
p=a(0)C)D)p=1B)
p=a[0]A)8【】p=0
B)D)C)a[k]=a[p]k=pa[p]=a[k]9【】p=k
B)C)
a[k]
p
【D)a[p]
10】A)k
四、填空题
1、以下程序求解百钱百鸡问题,公鸡五元一只,母鸡三元一只,小鸡一元三只,用一百元买一百只鸡,且必须有公鸡、母鸡和小鸡,求解所有可能的方案。
请填空。
【1】;
n=0;
/12
=18;
【2】)
for(j=1;
=31;
{k=【3】;
if(【4】==300)
{n++;
printf("
n=%d,cock=%d,hen=%d,chick=%d\n”,n,i,j,k);
2、以下程序段的输岀结果是【5】。
intk,j,s;
for(k=2;
6;
k++,k++)
{s=1;
for(j=k;
s+=j;
printf(“%d\n”,s);
3.输入一个整数10,以下程序的运行结果是【6】。
#include<
main()
{inta,e[10],c,i=0;
printf("
输入一个整数\n”);
scanf(“%d”,&
a);
while(a!
=O)
{c=sub(a);
a=a/2;
e[i]=c;
i++;
for(;
0;
i--)
printf(“%d”,e[i-1]);
/13
sub(inta)
{intc;
c=a%2;
returnc;
4.下面的函数invert的功能是将一个字符串的内容颠倒过来
voidinvert(charstr[])
{inti,j,【7】;
for(i=0,j=strlen(str);
【8】;
i++,j--)
{k=str[i];
str[i]=str[j];
str[j]=k;
5.在C语言中,要求对所有用到的变量,遵循先定义后【9】的原则。
6.C语言规定,可执行程序的开始执行点是【10】。
7.设floatx=2.5,y=4.7;
inta=7;
,则表达式x+a%3*(int)(x+y)%2/4的值为【11】。
8.判断变量a、b的值均不为0的逻辑表达式为【12】。
9.整型变量m的值为27,语句printf(m=%x,m);
的输岀结果为【13】。
10.如定义语句为chara[]=windows,b[]=95;
,语句瀛楲瑮?
」屳猬牴慣?
?
的输岀结果为【14】
11.inti=234,j=567;
函数printf(%d%d\n,i,j)的输岀结果是【15】。
12.求1至100的和,程序应写成for(s=0,i=1;
【16】;
++i)s+=i;
13.定义a为长度为10的字符串,同时为字符串赋初值捜湯楴畮履的语句为【17】。
2+bx+c=0系数a、b、14.已知方程axe且存在两个实根,计算其中一个实根的算术表达式为【18】。
15.若s='
d'
,执行语句s=(s>
s<
z'
)?
s-32:
s;
字符变量s的值为【19】。
16.函数change定义如下,若a=10、b=5,执行change(a,b)后a、b的值分别为【20】。
voidchange(inta,intb){intt=0;
t=a;
a=b;
b=t;
/14
四、阅读程序题
1、以下程序的输岀结果是。
intfun(intn)
intr;
if(n==1||n==2)
r=1;
r=fun(n-1)+fun(n-2);
returnr;
printf(%d\n,fun(8));
编程题五、
101.输入个数据,用选择法对10个数由小到大排序,并输岀。
里面写一个函数,用于求nscore
个学生的平均成绩:
并设计主函数,定义一个一维数组2.10位学生的平均成绩。
10存放个学生
的成绩,输出这的矩阵,要求编写程序求出其中值最大的那个元素的值,以及所在的行号和列
3*43.有一个号。
里面存放4.score个学生的平均成绩:
并设计主函数,定义一个一维数组写一
个函数,求10个学生的成绩,输岀这10位学生的平均成绩。
10321140Fibonacci5.求数列的前
个数。
,,,,,13…。
8,5
/15
参考答案:
1、1)一个程序由一个或多个源程序文件组成预处理指令、全局声明、函数定义。
2)函数是C程序的主要组成部分。
3)一个函数包括两个部分:
函数首部和函数体(声明部分和执行部分)。
4)程序总是从main函数开始执行的。
5)程序中对计算机的操作是由函数中的C语句完成的。
6)在每个数据声明和语句的最后必须有一个分号。
7)C语言本身不提供输入输出语句。
8)程序应当包含注释。
二、选择题。
对每一个【】从A)、B)、C)、D)四个供选择的答案中,选岀一个正确的答案。
12345678910
CBCACCCBBC20171819161412131115
DDBACDACCA
30242125262722232928
CADCDACCDA
40393834323335363137
BBDDACBCCA
4145444342
AB
C
B
A
/16
三、程序选择题.
DB
D
四、填空题.
inti,j,k,n2i++31100-i-j
1010561043*5*i+3*3*j+k
使用879ki<
j
a!
=0&
b!
=011102.5main()函数12
234567
windows95
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 模拟
![提示](https://static.bdocx.com/images/bang_tan.gif)