c语言模拟题目第二十套docxWord格式.docx

上传人:b****3 文档编号:18470151 上传时间:2022-12-17 格式:DOCX 页数:24 大小:59.94KB
下载 相关 举报
c语言模拟题目第二十套docxWord格式.docx_第1页
第1页 / 共24页
c语言模拟题目第二十套docxWord格式.docx_第2页
第2页 / 共24页
c语言模拟题目第二十套docxWord格式.docx_第3页
第3页 / 共24页
c语言模拟题目第二十套docxWord格式.docx_第4页
第4页 / 共24页
c语言模拟题目第二十套docxWord格式.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

c语言模拟题目第二十套docxWord格式.docx

《c语言模拟题目第二十套docxWord格式.docx》由会员分享,可在线阅读,更多相关《c语言模拟题目第二十套docxWord格式.docx(24页珍藏版)》请在冰豆网上搜索。

c语言模拟题目第二十套docxWord格式.docx

if(i<

l)continue;

if(i==5)break;

i++;

A、1

B、6

C、死循环,不能确定次数

D、4

【参考答案】错谋

[未答此题]

以下不能对二维数组a进行正确初始化的语句是()。

A、inta[2][3]={{1,2},{3,4},{5,6}};

B、inta[][3]二{{1,2},{0}};

C、inta[2][3]={0};

D、inta[][3]={l,2,3,4,5,6};

下面函数调用语句中,fun含有实参的个数为().fun((x,y),(x+y,z,x/y));

B、4

C、5

D、2

在〃文件包含〃的预处理中,被包含的文件应是().

A、源文件

B、可执行文件

C、目标文件

D、批处理文件

[未答此题]以下程序的输出结果是().

#include<

stdio.h>

voidmain()

{inta[]={2,4,6,8},*p=a,i;

for(i=0;

i<

4;

i++)a[i]=*p++;

printf(/,%d\n,/,a⑵);

}

A、2

13、6

C、8

B

[未答此题I

printf函数的一般格式为:

printf(格式控制,输出表列).

【学生答案】错谋

未答此题

【参考答案】

正确若a=3,b=2,c=l则关系表达式"

(a>

b)=c〃的值为〃真〃。

【学生答案】错误

正确

语句if(a>

b)printf("

%d"

a);

elseprintfb);

可以用条件表达式a>

b?

a:

b取代.

错误

若有说明intc;

则while(c=getchar());

没有语法错误。

C语言屮三种基本结构:

顺序、选择、循环,其结构内的每个部分都会被执行到..

【学生答案】错误

数值型数组整体不参加数据处理(即不参加各种运算),参加数据处理的只能是数组的元素.

【学生答案】错课

没有初始化的数值型静态局部变量的初值是不确定的值.

一个include命令可以指定多个被包含的文件。

定义inta[]={1,2,3,4},y,*p=&

a[l]则执行y=(*~p)++后,y的值是2・

共用体变量使用过程中,可在同一内存段中存放几种不同类型的成员.

若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+二n++后x的值为,n的值

为・

【空11错误

[无]

10

【空2]错误

当a=3,b=2,c=l;

时,执行以下程序段后b=.if(a>

if(b>

c)b=c;

elsec=b;

c=a;

【空1]错误

设i,j,k均为int型变暈,则执行完下而的for循环后,k的值为for(i=0,j=10;

=j;

i++,j—)k=i+j;

【空1]错谋

C语言屮,二维数组在内存中的存放方式为按优先存放.

设有以下共用体类型说明和变量定义,则变量d在内存所占字节数是ounionstud

{shortintnuiti;

charname[8];

floatscore[3];

doubleave;

}d,stu[3];

12

/*

【程序设计】功能:

求n阶方阵主、副对角线上的元素之积。

注意:

请在Begin和End注释行Z间填写代码,

所有注释语句都不能删除。

*/

#defineN4

#inelude"

stdlib.h"

#inelude"

stdio.h"

floatmul(intarr[][N])

/*********Bogin**********/

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

inta[N][N],i,j;

voidTestFunc();

N;

i++)for(j=0;

j++)

a[i][j]=rand()%10;

for(i=0;

i++){

for(j=0;

printf(z/%4dz/,a[i][j]);

printf(z/\n,z);

printf("

Thesumis%f\nz,,mul(a));

TestFunc();

voidTestFunc()

FILE*IN,*0UT;

intm,n;

inti[4][4];

floato;

IN=fopen("

in.dat"

"

r"

);

if(IN==NULL)

printf("

ReadFileError"

OUT二fopen("

out.datzz,"

w"

if(OUT==NULL)

WriteFi1eError"

for(m=0;

in<

100;

m++)

for(n=0;

n<

n++)

fscanf(IN,"

%d:

&

i[m][n]);

o=mul(i);

fprintf(OUT,"

%f\n"

o);

fclose(TN);

fclose(OUT);

【参考代码】

inti,j;

floatt=l;

for(i=0;

if(i==j||i+j二二NT)

t=t*arr[i][j];

return(t);

【考生代码】

【程序改错】

功能:

为一维数组输入10个整数;

将其中最小的数与第一个数对换,将最大的数与最后一个数对换,输出数组元素。

注意:

不可以增加或删除程序行,也不可以更改程序的结构。

*/#include"

stdio.h"

voidmain()

inta[10];

voidinput();

voidoutput();

voidmax_min();

input(a,10);

max_min(a,10);

output(a,10);

voidinput(intarrintn)

inti;

pleaseenter10integers:

\n"

n;

i++)

scanf("

%cT:

arr[i]);

voidmax_min(intarr[],intn)

intmax,min,t,i;

min=max=0;

for(i=l;

if(arr[i]<

arr[max])

max=i;

elseif(arr[i]<

arr[min])min=i;

t=arr[0];

arr[0]=arr[min];

arr[min]二t;

/**********error**********/

if(max=0)max二min;

t=arr[n-l];

arr[n-l]=arr[max];

arr[max]=t;

voidoutput(intarr[],intn)

printfC'

Thechangedarrayis:

\n〃);

while(i=0;

i++)printfCz%3d,z,arr[i]);

printf(〃\n〃);

【改错1】正确

scanfarr[i]);

scanf("

%cT,arr[i]);

【改错2】错误

if(arr[i]>

arr[max])if(arr[max]<

arr[i])

【改错3】错谋

if(max==0)

if(0==max)

【改错4】错误

for(i二0;

n>

i;

=n-l;

n-l>

=i;

【程序填空】

以下程序的功能如(图1)。

计算s=K址1.0)+艮5.0))的值°

其中:

20+3x+4x<

=2

・20+3x・4x>

2

当程序正确时,函数值应为2488.000000o

请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。

不得增行或删行,也不得更改程序的结构!

*/^include"

doublef()

 

/***********FILL***********/

y=2.0*x*x+3.0*x+4・0;

y二一2.0*x*x+3.0*x-4.0;

else

【空1】错谋

double

f()

voidmain()

printf(,z%f\nz,,f(f(T.0)+f(5.0)));

floatx

doublex

【空2】错课

doubley

floaty

【空3】错误

if()

x<

2>

二x

【空4】错误

returnyreturn(y)

若己定义x和y为double类型,则表达式x二1,y二x+3/2的值是()。

A、2.0

B、2.5

执行下面程序中的输出语句后,输出的值是:

(),

main(){inta二5;

printf("

%d\rT,(a=3*5,a*4,a+5));

A、20

B、65

C、10

D、15

以下不正确的if语句形式是()。

A、if(x<

y){x++;

y++;

B、if(x!

=y)scanf("

%cT,&

x)elsescanf&

y);

C、if(x>

y&

x!

二y);

D、if(x—y)x+二y;

执行下面程序段后,s的值是()。

ints=5;

switch(十+s)

{case6:

case7:

s+=2;

case8:

case9:

s+二2;

A、8

B、7

D、6

下面程序段运行的结果是().

x=-l;

do{

x二x*x;

}while(!

x);

A、循环执行一次

B、有语法错误

C、死循环

D、循环执行两次

程序main()(chars[10];

s二"

abed"

;

%s\n"

s);

}的运行结果(以下U代表空格)是().

A、输illabed

B、输出abcdUUUUU

C、编译不通过

D、输出a

函数的形式参数系统默认存储类型说明是()O

A、static

extern

C、register

D、auto

【学生答案】[未答此题I

若filel中包含file2,file2中要用到file3,若filo2中不用^include"

file3・h〃,则在filel.c中应进

行如下定义().

^include

C^#include

D、#include

〃file2.h〃和^include〃file3.h〃

"

file2.h,file3.h/z

〃f订e2・h〃,〃file3.h〃

file3.h"

和#include〃f订e2.h"

错误

若有说明:

intn=2,*p=&

n,*q=p;

则以下非法的赋值语句是()。

*p二*q;

n=*q;

C>

p二n;

D、p二q;

c

for循环的三个表达式中间用逗号相分隔.

在C程序屮,逗号运算符的优先级最低

正确设i=l,j=2,k二3,则逻辑表达式!

(i>

j)||!

k&

l的值为0.

「or循环的三个表达式都可以省略.

do-whi1e循环的whilejn的分号不可以省略•

若定义intarray[5],*p;

则赋值语句p二array;

是正确的.

函数调用语句:

func(recl,rec2+rec3,(rec4,rec5));

中,含有的实参个数是5.

【学生答案】错课

用一个#include命令可以同时指定数个被包含文件.

下列的语句是正确的:

int**p;

两个类型相同的结构体变量,可以互相赋值.

已知:

inti二&

j二10,m,n;

m二++i;

n=j++;

问语句执行后m二,n二

当a=l,b=2,c=3时,执行以下程序段后b二.if(a>

c)b=a;

a=c;

c=b;

以下程序的输出结果为,

#include"

{inta;

for(a=0;

a<

10;

a++);

printfa);

}【空1]错课

复制字符串的库函数是,只写函数名即可.

strcpy

将file_point定义为文件指针的语句为,写出应包含的头文件语句

FILE*file_point;

FILE*file_point

【空2]错课

^include<

stdio.h>

^include"

【程序设计】

从键盘输入一个大于3的整数,调用函数firn判断其是否素数,然后在main函数中输出相应的结论信息。

例如:

7是素数,8不是素数。

请编写fun函数。

素数是仅能被1和自身整除的数。

请在Bogin和End注释行之间填写代码,所有注释语句都不能删除。

如果是素数返回1,否则返回0

stdio.h〃

math,h"

intfun(intn)

/*********Bcgin**********/

voidTestFunc();

intm,flag;

inputaninteger/'

m);

flag=fun(m);

if(flag)

printf(z,%disaprime.\rT,ni);

printf(z/%disnotaprime.\n"

m);

TestFunc();

FILE*IN,*OUT;

int订N,iOUT,i;

IN二fopen("

5.in"

PleaseVerifyTheCurrerntDir..ItMayBeChanged"

OUT二fopen("

5.out"

if(OUT二二NULL)

PleaseVerifyTheCurrentDir..ItMayBeChanged"

fscanf(IN,〃%d〃,&

ilN);

iOUT二fun(ilN);

fprintf(OUT,〃%d\n〃,1OUT);

fclose(IN);

intj;

j=1;

for(1=2;

{if(n%i==0)j=0;

returnj;

inti,k,flag;

k=sqrt(n);

for(i=2;

=k;

if(n%i=0)breeik;

辻(i>

k)flag=l;

elseflag=0;

找出大于m的最小素数,并将其作为函数值返回。

intfun(intm)

inti,k;

for(i=m+l;

;

for(k=l;

k<

k++)

if(i%k!

=0)break;

returnk;

intn;

&

n);

printfCz%d\n/z,fun(n));

【改错1】错课

for(k=2;

k++)for(k=2;

i>

k;

for(k=2;

=i-l;

i/2;

i/2>

=sqrt(i);

sqrt(i)>

【改错2】错谋

【学生答案】if(i%k!

【参考答案】if(i%k==0)break;

if(!

(i%k))break:

【改错3】错误

【学生答案】if(k<

i)

=k)if(k>

=i)if(k=i)if(k>

=i/2)if(k=i/2)if(k>

sqrt(i))

【改错4】错谋

【学生答案】returnk;

returni;

return(i);

将一个字符串中下标为m的字符开始的全部字符复制成为另一个字符串。

voidstrcopy(char*strl,char*str2,intm)

char*pl,*p2;

p2=str2;

while(*pl)

main()

inti,m;

charstr1[80],str2[80];

gets(strl);

%d〃,&

puts(strl);

puts(str2);

【空1】错误

pl二strl+m

【空2】错谋

【学牛答案】

*p2++=*pl++

*(p2++)=*(pl++)*p2=*pl,p2++,pl++

*p2二*pl++,p2++

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

当前位置:首页 > 解决方案 > 学习计划

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

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