C语言程序设计模拟题.docx

上传人:b****5 文档编号:8413509 上传时间:2023-01-31 格式:DOCX 页数:24 大小:25.40KB
下载 相关 举报
C语言程序设计模拟题.docx_第1页
第1页 / 共24页
C语言程序设计模拟题.docx_第2页
第2页 / 共24页
C语言程序设计模拟题.docx_第3页
第3页 / 共24页
C语言程序设计模拟题.docx_第4页
第4页 / 共24页
C语言程序设计模拟题.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

C语言程序设计模拟题.docx

《C语言程序设计模拟题.docx》由会员分享,可在线阅读,更多相关《C语言程序设计模拟题.docx(24页珍藏版)》请在冰豆网上搜索。

C语言程序设计模拟题.docx

C语言程序设计模拟题

 

《C语言程序设计》模拟题(补)

一、简答题

1、简述C语言程序的结构。

二、选择题

1、下面程序段的输出结果是【1】。

inta=60;

a+=a-=a+a;

printf(“%d\n”,a);

A)120B)60

D)-120

-60

C)

22】。

、下面正确的字符常量是【‘//''B)‘c'A)

C)“w”‘'D)

3、以下不能用作标识符的是【3】。

SeanfB)_26A)

DoubleC)case

D)

4、下面程序段中循环体执行的次数是【4】。

inta=10,b=0;

do{b+=2;a-=2+b;}while(a>=0);

A)1

B)2

C)3

D)4

5、以下关于函数的叙述正确的是【5】。

A)函数中必须要有return语句

B)函数中可以有多个return语句,但只有一个被执行

C)return语句中必须有一个表达式

20

/1

D)函数中定义的变量不能与其它函数中的变量同名

6、满足x为奇数时值为真,x为偶数时值为假的表达式是【6】。

A)!

(x%2==1)B)x%2==0

D)x%2

!

(x%2)

C)

!

'};A)

7、以下语句中无法正确赋值的是【7】。

eharb[10]={‘H',‘e',‘l',‘l',‘o',

eharb[10];b=“Hello!

”;B)eharb[10];strepy(b,“Hello!

”);C)

eharb[10]=“Hello!

”;D)

】。

5的表达式是【88、若有以下的定义和语句,则值为inta[]={1,2,3,4,5,6,7,8,9,10};

a[a[4]]B)a[5]A)

a[a[5]]C)a[a[3]]

D)

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

20

/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、以下程序的运行结果是【#includemain()

voidx1=3,x2=1,x3=1;{int

printf(“****”);if(x1=x2+x3)

printf(“####”);else

}

A)存在语法错误B)无输出结果####输出输出C)****

D)

】。

下面程序段的输出结果是【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

D)

17、以下程序段的输出结果为【17】。

intx=1,y=2;

20

/3

voidfun1()

{x=3;y=4;}

voidfun2(intx,inty)

{printf(“%d,%d\n”,x,y);}

voidmain()

{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

C)

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:

j+=1;

case11:

j+=1;

default:

j+=1;}

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)循环体语句执行一次

20

/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<回车>,则输出结果是【】

#includeintfunch(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>=y)&(y>=z)

C)(x>=y>=z)

D)、下面程序段的输出结果是【】32。

intx=2,y=0,z;

x*=3+2;printf(“%d”,x);

20

/6

x*=y=z=4;printf(“%d”,x);

A)840B)1040

D)8C)104

4

33、下列程序段的输出结果为【】inta=9;

a+=a-=a+a;

n”,a);printf(“%d\918B)

A)

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\'hi\'y\\\bouB)a\bre\'hi\'y\bou

D)re'hi'youC)abre'hi'y\bou

,正确的输入形式应当

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

37、以下程序的输出结果是【】voidmain()

{inta=1,b=1;

)switch(a+b

{case2:

printf(*\n);

case3:

printf(**\n);

}

}

***

A)B)

20

/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)

4

D)3

C)35

voidmain()

inti,j,x=0;

{for(i=0;i<2;i++)x++;

{

for(j=0;j<=3;j++)

if(j%2)continue;

x++;}

x++;

}

printf(“x=%d\n”,x);

}

20

/8

A)x=4B)x=8

D)x=6

x=12

C)

41、下面程序的运行结果是【】。

#include“stdio.h”voidmain()

{

inti,j,a=0;

for(i=0;i<2;i++)

{for(j=0;j<4;j++)

if(j%2)break;

a++;}

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]-

for(i=0;ch[i]>=‘0'&&ch[i]<=‘9';i+=2)'0';printf(“%d\n”,s);}

1256

1B)

A)

C)12ab56

D)7

、下面程序的运行结果是【】43voidmain()

{

chara[]=“morning”,t;inti,j=0;

20

/9

for(i=1;i<7;i++)

if(a[j]

j=i;

t=a[j];a[j]=a[7];a[7]=a[j];

puts(a);

}

A)mogninrB)

mo

D)morning

mornin

C)

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;

voidmain()

{

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、下面程序是从键盘中输入学号,百位数字为环,请选择填空。

#includevoidmain()

num;

{longint

scanf(“%ld”,&num);do

】【{if

(1)printf(“%ld”,num);

20

/10

seanf(“%ld”,&num);

}while(【2】);}

【1】A)num_x0010_0/10==3B)num/10_x0010_==3

D)C)num_x0010_/10==3num/100_x0010_==3

B)【2】A)!

num!

num==0

D)!

num!

=0

C)num>0==0

2、下面程序段的运行结果是【3】。

表示空格)(其中口0'};0','c','\charc[5]={'a','b','\

printf(“%s”,c);abB)A)】'a''b'【3abc

D)C)ab□c

3、下列程序的运行结果是【4】。

inti,x[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++)

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

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】;.

}

20

/11

puts(a);

}

【5】A)s[k]!

='O'B)s[k]!

='O'

D)C)s[k]==0

s[k]!

=0

B)i=strlen(a)+k;i>=j;i--A)i=strlen(a);i>=j;i--【6】D)C)i=j;i<=strlen(a)+k;i++i=j;i<=strlen(a);i++

B)s[k+1]【7】A)a[k]

D)s[k-1]

C)s[k]

5.下面程序的功能是找岀数组中的最大值和此元素的下标,请选择填空。

#include

voidmain()

{inta[10]={4,6,8,2,0,9,23,5,67,1},k,p;

【8】;

for(k=1;k<1O;k++)

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

A)

B)C)

a[k]

p

【D)a[p]

10】A)k

四、填空题

1、以下程序求解百钱百鸡问题,公鸡五元一只,母鸡三元一只,小鸡一元三只,用一百元买一百只鸡,且必须有公鸡、母鸡和小鸡,求解所有可能的方案。

请填空。

#include

voidmain()

{

【1】;

n=0;

20

/12

for(i=1;i<=18;【2】)

for(j=1;j<=31;j++)

{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;k<6;k++,k++)

{s=1;

for(j=k;j<6;j++)

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(;i>0;i--)

printf(“%d”,e[i-1]);

20

/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>='a'&&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;}

20

/14

四、阅读程序题

1、以下程序的输岀结果是。

.

#include

intfun(intn)

{

intr;

if(n==1||n==2)

r=1;

else

r=fun(n-1)+fun(n-2);

returnr;

}

voidmain()

{

printf(%d\n,fun(8));

}

编程题五、

101.输入个数据,用选择法对10个数由小到大排序,并输岀。

里面写一个函数,用于求nscore

个学生的平均成绩:

并设计主函数,定义一个一维数组2.10位学生的平均成绩。

10存放个学生

的成绩,输出这的矩阵,要求编写程序求出其中值最大的那个元素的值,以及所在的行号和列

3*43.有一个号。

里面存放4.score个学生的平均成绩:

并设计主函数,定义一个一维数组写一

个函数,求10个学生的成绩,输岀这10位学生的平均成绩。

10321140Fibonacci5.求数列的前

个数。

,,,,,13…。

8,5

20

/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

20

/16

三、程序选择题.

12345678910

B

DB

B

C

B

C

C

D

A

四、填空题.

inti,j,k,n2i++31100-i-j

1010561043*5*i+3*3*j+k

使用879ki

a!

=0&&b!

=011102.5main()函数12

234567

windows95

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1