最新c语言全真模拟题及答案.docx

上传人:b****7 文档编号:10513538 上传时间:2023-02-17 格式:DOCX 页数:20 大小:19.39KB
下载 相关 举报
最新c语言全真模拟题及答案.docx_第1页
第1页 / 共20页
最新c语言全真模拟题及答案.docx_第2页
第2页 / 共20页
最新c语言全真模拟题及答案.docx_第3页
第3页 / 共20页
最新c语言全真模拟题及答案.docx_第4页
第4页 / 共20页
最新c语言全真模拟题及答案.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

最新c语言全真模拟题及答案.docx

《最新c语言全真模拟题及答案.docx》由会员分享,可在线阅读,更多相关《最新c语言全真模拟题及答案.docx(20页珍藏版)》请在冰豆网上搜索。

最新c语言全真模拟题及答案.docx

最新c语言全真模拟题及答案

一、填空题

第1题

以下do-while语句中循环体的执行次数是【3】.

a=10;

b=0;

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

第2题

设i,j,k均为int型变量,则执行完下面的for循环后,k的值为【10】.

for(i=0,j=10;i<=j;i++,j--)

k=i+j;

第3题

定义inta[2][3];表示数组a中的元素个数是【6】个.

第4题

函数的【递归】调用是一个函数直接或间接地调用它自身.

第5题

设a=3,b=4,c=4,则表达式a+b>c&&b==c&&a||b+c&&b==c的值为【1】.

第6题

intx=4,y=z=2;z=x==(y=z);则z的值为【4】.

第7题

intx=2,y=3,z=4;则表达式x+y&&z的值为【1】.

第8题

若有以下定义,则计算表达式y+=y-=m*=y后的y值是【—16】.

intm=5,y=2;

二、单项选择

第1题

为表示关系x≥y≥z,应使用C语言表达式

A:

(x>=y)&&(y>=z)

B:

(x>=y)AND(y>=z)

C:

(x>=y>=z)

D:

(x>=z)&(y>=z)

第2题

C语言函数内定义的局部变量的隐含存储类别是

A:

static

B:

auto

C:

register

D:

extern

第3题

若有说明inta[3][4];则对a数组元素的正确引用是()。

A:

a[2][4]

B:

a[1,3]

C:

a[1+1][0]

D:

a

(2)

(1)

第4题

从循环体内某一层跳出,继续执行循环外的语句是

A:

break语句

B:

return语句

C:

continue语句

D:

空语句

第5题

下列()表达式的值为真,其中a=5;b=8;c=10;d=0

A:

a*2>8+2

B:

a&&d

C:

(a*2-c)||d

D:

a-b

第6题

以下程序的执行结果是________.

main()

{intw=1,x=2,y=3,z=4;

w=(w

x:

w;

w=(w

y:

w;

w=(w

z:

w;

printf("%d",w);}

A:

1

B:

2

C:

3

D:

4

第7题

若变量已正确定义,执行语句scanf("%d,%d,%d",&k1,&k2,&k3);时,___是正确的输入

A:

2030,40

B:

203040

C:

20,3040

D:

20,30,40

第8题

在C语言中,一维数组的定义方式为:

类型说明符数组名()。

A:

[常量表达式]

B:

[整型表达式]

C:

[整型常量]或[整型表达式]

D:

[整型常量]

第9题

以下不能正确进行字符串赋初值的语句是()。

A:

charstr[5]="good!

";

B:

charstr[]="good!

";

C:

char*str="good!

";

D:

charstr[5]={'g','o','o','d',0};

第10题

C语言中,逻辑"真"等价于

A:

大于零的数

B:

非零的数

C:

大于零的整数

D:

非零的整数

三、程序(程序填空、程序设计)

第1题

功能:

统计一个字符串中的字母、数字、空格和其它字符的个数。

#include"stdio.h"

main()

{

chars1[80];inta[4]={0};

intk;

/***********SPACE***********/

voidfun(chars[],intb[]);

gets(s1);

/***********SPACE***********/

fun(s1,a);

puts(s1);

for(k=0;k<4;k++)

printf("%4d",a[k]);

}

voidfun(chars[],intb[])

{

inti;

for(i=0;s[i]!

='\0';i++)

if('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z')

b[0]++;

/***********SPACE***********/

elseif('0'<=s[i]&&s[i]<='9')

b[1]++;

/***********SPACE***********/

elseif(s[i]=='')

b[2]++;

else

b[3]++;

}

第2题

功能:

输入三个整数x,y,z,请把这三个数由小到大输出。

#include

voidmain()

{

intx,y,z,t;

scanf("%d%d%d",&x,&y,&z);

if(x>y)

{t=x;x=y;y=t;}/*交换x,y的值*/

if(x>z)

{t=z;z=x;x=t;}/*交换x,z的值*/

if(y>z)

{t=y;y=z;z=t;}/*交换z,y的值*/

printf("smalltobig:

%d%d%d\n",x,y,z);

}

第3题

功能:

输出100到1000之间的各位数字之和能被15整除的所有数,

输出时每10个一行。

#include

voidmain()

{

intm,n,k,i=0;

for(m=100;m<=1000;m++)

{

【k=0】;

n=m;

do

{

k=k+n%10;

n=n/10;

}

【while(n!

=0)】;

if(k%15==0)

{

printf("%5d",m);i++;

if(i%10==0)printf("\n");

}

}

}

第4题

学生变量定义如下:

structstudent

{

charnumber[6];

charname[6];

intscore[3];

}stu[2];

功能:

输入学生成绩并显示。

#include

structstudent

{

charnumber[6];

charname[6];

intscore[3];

}stu[2];

voidoutput(structstudentstu[2]);

voidmain()

{

inti,j;

/***********SPACE***********/

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

{

printf("请输入学生%d的成绩:

\n",i+1);

printf("学号:

");

/***********SPACE***********/

scanf("%s",________________.number);

printf("姓名:

");

scanf("%s",stu[i].name);

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

{

printf("成绩%d.",j+1);

/***********SPACE***********/

scanf("%d",________________.score[j]);

}

printf("\n");

}

output(stu);

}

voidoutput(structstudentstu[2])

{

inti,j;

printf("学号姓名成绩1成绩2成绩3\n");

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

{

/***********SPACE***********/

________________("%-6s%-6s",stu[i].number,stu[i].name);

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

printf("%-8d",stu[i].score[j]);

printf("\n");

}

}

答案:

【1】i++或++i或i=i+1

【2】&stu[i]

【3】&stu[i]

【4】printf

第5题

功能:

5个学生选修4门课程,计算个人与各科平均成绩及全班平均成绩,并在屏幕上显

示出来。

#defineM5/*定义符号常量人数为5*/

#defineN4/*定义符号常量课程为4*/

#include"stdio.h"

main()

{

inti,j;

voidaver(floatsco[M+1][N+1]);

staticfloatscore[M+1][N+1]={{78,85,83,65},{88,91,89,93},{72,65,54,75},{86,88,75,60},{69,60,50,72}};

aver(score);

clrscr();

printf("学生编号课程1课程2课程3课程4个人平均\n");

for(i=0;i

{

printf("学生%d\t",i+1);

/***********SPACE***********/

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

printf("%6.1f\t",score[i][j]);

printf("\n");

}

for(j=0;j<8*(N+2);j++)

printf("-");

printf("\n课程平均");

for(j=0;j

printf("%6.1f\t",score[i][j]);

printf("\n");

getch();

}

voidaver(floatsco[][N+1])

{

inti,j;

/***********SPACE***********/

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

{

for(j=0;j

{

sco[i][N]+=sco[i][j];

sco[M][j]+=sco[i][j];

sco[M][N]+=sco[i][j];

}

/***********SPACE***********/

sco[i][N]________________N;

}

for(j=0;j

/***********SPACE***********/

sco[M][________________]/=M;

sco[M][N]=sco[M][N]/M/N;

}

答案:

【1】N+1或1+N或5

【2】M或5

【3】/=

【4】j

第6题

功能:

计算平均成绩并统计90分以上人数。

#include"stdio.h"

voidmain(){

intsum=0;

intscore[10];

intcount=0;

inti=0;

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

{

printf("请输入第%d个人的成绩",i+1);

scanf("%d",&scors[i]);

sum+=score[i];

if(score[i]>90)

{

count++;

}

}

printf("平均分%f,有%d个90分以上。

",(sum*1.0)/10,count);

}

第7题

功能:

写一个函数,求一个字符串的长度,在main函数中输入字

符串,并输出其长度。

#include

#include

voidmain()

{

intf(charstr[]);

intl;

charstr[10];

gets(str);

l=f(str);

printf("%d",l);

}

intf(charstr[])

{

intz;

z=strlen(str);

return(z);

}

第8题

找出x,y,z三个数中的最大、最小值

#include

intmain()

{

inti,n,max,min;

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

{

scanf("%d",&n);

if(i==0)//初始化max,min

max=min=n;

if(max

max=n;

if(min>n)//最小值

min=n;

}

printf("maxnumber%dminnumber%d\n",max,min);//输出最大最小值

}

第9题

功能:

删除一个字符串中的所有数字字符。

#include

voiddelnum(char*s)

{

inti,j;

/***********SPACE***********/

for(i=0,j=0;【s[i]!

=】'\0';i++)

/***********SPACE***********/

if(s[i]<'0'【||】s[i]>'9')

{

/***********SPACE***********/

【s[j]=s[i]】;

j++;

}

s[j]='\0';

}

main()

{

char*item;

printf("\ninputastring:

\n");

item="";

gets(item);

/***********SPACE***********/

【delnum(item)】;

printf("\n%s",item);

}

第10题

功能:

从键盘为一维整型数组输入10个整数找出其中最小的数并输出。

#include"stdio.h"

intfun(intx[],intn)

{

/**********Program**********/

intmin;

inti;

min=x[0];

for(i=0;i

{

ifmin>x[i];

min=x[i];

}

returnmin;

/**********End**********/

}

main()

{

inta[10],i,min;

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

scanf("%d",&a[i]);

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

printf("%3d",a[i]);

printf("\n");

min=fun(a,10);

printf("%d\n",min);

}

第11题

功能:

从键盘输入一个三位数,判断是否"水仙花数"。

说明:

所谓"水仙花数"是指一3位数,其各位数字立方和

等于该数本身。

intfun(intn)

{

inta,b,c;

a=n%10;

b=n/10%10;

c=n/100;

if(a*a*a+b*b*b+c*c*c==n)

return1;

elsereturn0;

}

第12题

功能:

判断m是否为素数。

#include

#include

voidmain()

{inti;

intfun(int);

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

if(fun(i))printf("%4d",i);

getch();

}

intfun(intn)

{inti,t;

t=sqrt(n);

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

if(n%i==0)return0;

return1;

}

第13题

功能:

求1到w之间的奇数之和。

(w是大于等于100小于等

于1000的整数)

inti;

longintsum=0;

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

if(i%2!

=0)sum=sum+i;

returnsum;

第14题

功能:

编写函数fun计算下列分段函数的值:

x^2+x+6x<0且x≠-3

f(x)=x^2-5x+60≤x<10且x≠2及x≠3

x^2-x-1其它

fun(doublex)

{

if(x<0&&x!

=-3)

{

returnx*x+x+6;

}

elseif(x<10&&x!

=2&&x!

=3)

{

returnx*x-5*x+6;

}

elsereturnx*x-x-1;

}

第15题

功能:

求1到100之间的偶数之积。

mislead误导misledmisledvoidsum()

{

inti,sum=0;

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

{

if(i%2==0)

sum=sum+i;

}

printf("sum=%d",sum);

}

main()

{

sum();

}

第16题

saw锯sawedsawed/sawn功能:

求一组数中大于平均值的数的个数。

let让letlet例如:

给定的一组数为1,3,6,9,4,23,35,67,12,88时,函

数值为3。

tell告诉toldtold

spread传播spreadspreadintal=0;

for(inti=0;i

al+=a[i];

intav=al/N;

intnum=0;

for(intj=0;j

if(av

//al最后为个数

swing摇摆swungswung第17题

功能:

输入m的值,计算如下公式的值:

y=1/2+1/4+

dive跳水,俯冲dived/dovedived1/6+...+1/2m。

例如:

若m=9,则应输出:

1.414484

cut割cutcut#include

doublefun(intm)

{

inti;

doubled;

for(i=1,d=0;i<=m;i++)

d+=0.5/i;

returnd;

}

intmain()

{

printf("m=9result=%lf\n",fun(9));

return0;

}

may可以might×功能:

编写函数fun求1!

+2!

+3!

+……+n!

的和

become变成becamebecome

inti;

doublesum=0;

doublejc=1;

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

{

jc=jc*i;

sum=sum+jc;

}

if(n==0)sum=1;

returnsum;

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

当前位置:首页 > 党团工作 > 其它

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

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