C语言模拟试题02.docx

上传人:b****8 文档编号:8952348 上传时间:2023-02-02 格式:DOCX 页数:25 大小:19.45KB
下载 相关 举报
C语言模拟试题02.docx_第1页
第1页 / 共25页
C语言模拟试题02.docx_第2页
第2页 / 共25页
C语言模拟试题02.docx_第3页
第3页 / 共25页
C语言模拟试题02.docx_第4页
第4页 / 共25页
C语言模拟试题02.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

C语言模拟试题02.docx

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

C语言模拟试题02.docx

C语言模拟试题02

一、单项选择题

1.以下字符中不是转义字符的是()。

A、'\c'

B、'\b'

C、'\\'

D、'\a'

【参考答案】错误

A

【学生答案】

[未答此题]

2.设a=12,且a定义为整型变量。

执行语句a+=a-=a*=a;后a的值为()。

A、0

B、144

C、132

D、12

【参考答案】错误

A

【学生答案】

[未答此题]

3.已定义floatx=,y=;

根据下面的输出结果,正确的输出语句是().

y+x=,y-x=

A、printf("y+x=%6.2f,y-x=%\n",y+x,y-x);

B、printf("y+x=%f,y-x=%f\n",y+x,y-x);

C、printf("y+x=%.2f,y-x=%.2f\n",y+x,y-x);

D、printf("y+x=%5.2f,y=%\n",y+x,y-x);

【参考答案】错误

C

【学生答案】

[未答此题]

4.执行下面程序段后,b的值为().

ints=35;

chart='A';

intb;

b=((s&&4)&&(t<'a'));

A、1

B、3

C、2

D、0

【参考答案】错误

A

【学生答案】

[未答此题]

5.若k是整型,则以下程序段的执行结果是:

()

k=-3;

if(k<=0)printf("####")

elseprintf("&&&&");

A、####

B、有语法错误,无结果

C、&&&&

D、####&&&&

【参考答案】错误

B

【学生答案】

[未答此题]

6.设j和k都是int类型,则下面的for循环语句()。

for(j=0,k=0;j<=9&&k!

=876;j++)scanf("%d",&k);

A、最多执行9次

B、是无限循环

C、循环体一次也不执行

D、最多执行10次

【参考答案】错误

D

【学生答案】

[未答此题]

7.以下正确的描述是().

A、只能在循环体内和switch语句内使用break语句

B、continue语句的作用是终止整个循环的执行

C、从多层嵌套的外层循环中退出时,只能使用goto语句

D、在循环体内使用break和continue语句的作用相同

【参考答案】错误

A

【学生答案】

[未答此题]

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

A、inta[10]={};

B、inta[]={0};

C、inta[10]={10*1};

D、inta[10]=(0,0,0,0,0)

【参考答案】错误

B

【学生答案】

[未答此题]

9.以下正确的说法是().

A、函数的类型决定返回值的类型

B、定义函数时,形参的类型说明可以放在函数体内

C、return后面不能为表达式

D、如果形参与实参的类型不一致,以实参类型为准

【参考答案】错误

A

【学生答案】

[未答此题]

10.以下程序的输出结果为()。

intfunc(intx,inty)

{

return(x+y);

}

main()

{

inta=1,b=2,c=3,d=4,e=5;

printf("%d\n",func((a+b,b+c,c+a),(d+e)));

}

 

A、9

B、15

C、13

D、函数调用出错

【参考答案】错误

C

【学生答案】

[未答此题]

11.以下正确的说法是()。

A、用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调

B、用户若需调用标准库函数,调用前必须重新定义

C、系统根本不允许用户重新定义标准库函数

D、用户可以重新定义标准库函数,若如此,该函数将失去原有含义

【参考答案】错误

D

【学生答案】

[未答此题]

12.在#include命令中,文件名可用双引号或尖括号括起来,对于二者的下列说法中正确的是().

A、用尖括号时,直接按系统标准方式检索文件目录.

B、用双引号时,直接按系统标准方式检索文件目录.

C、用双括号和尖括号时,都不检查源文件所在的文件目录.

D、以上说法都不对.

【参考答案】错误

A

【学生答案】

[未答此题]

13.当说明一个结构体变量时系统分配给它的内存是()。

A、成员中占内存量最大者所需的容量

B、结构中第一个成员所需内存量

C、结构中最后一个成员所需内存量

D、各成员所需内存量的总和

【参考答案】错误

D

【学生答案】

[未答此题]

14.以下程序段给数组所有的元素输入数据,请选择正确答案填入()。

#include<>

main()

{inta[10],i=0;

while(i<10)scanf("%d",(_______));

.

.

.

}

A、&a[i+1]

B、a+i

C、a+(i++)

D、&a[++i]

【参考答案】错误

C

【学生答案】

[未答此题]

15.在定义构造数据类型时,不能()。

A、末尾不写分号

B、说明存储类型

C、初始化

D、说明变量

【参考答案】错误

A

【学生答案】

[未答此题]

二、判断题

1.在C程序中,%作为运算符时,是只能用于整数运算。

【学生答案】错误

未答此题

============================================================

【参考答案】

正确

2.若有inti=10,j=2;则执行完i*=j+8;后ⅰ的值为28。

【学生答案】错误

未答此题

============================================================

【参考答案】

错误

3.格式字符%g选用%e或%f格式中输出宽度较长的一种格式输出实数.

【学生答案】错误

未答此题

============================================================

【参考答案】

错误

c[6]="abcde";printf("%3s",c)表示输出的字段的宽度为3位,如果被输出的数据的位数大于3,只输出3位数.

【学生答案】错误

未答此题

============================================================

【参考答案】

错误

5.设x=1,y=2,z=3,则逻辑表达式x-y>z&&y!

=z的值为0.

【学生答案】错误

未答此题

============================================================

【参考答案】

正确

6.运算符的级别由高向低依次为!

->算术运算符->关系运算符->逻辑运算符->赋值运算符.

【学生答案】错误

未答此题

============================================================

【参考答案】

正确

7.已知a=3,b=4,c=5,则逻辑表达式!

(a>b)&&!

c||1的值为1.

【学生答案】错误

未答此题

============================================================

【参考答案】

正确

8.for循环语句只能用于循环次数确定的情况下.

【学生答案】错误

未答此题

============================================================

【参考答案】

错误

9.break语句能够终止当前进行的多层循环.

【学生答案】错误

未答此题

============================================================

【参考答案】

错误

10.for循环的三个表达式都可以省略.

【学生答案】错误

未答此题

============================================================

【参考答案】

正确

11.下列程序段是否正确:

inta[10];

....

a++;

【学生答案】错误

未答此题

============================================================

【参考答案】

错误

12.定义一维数组的形式为:

类型说明数组名[表达式],其中表达式必须是整型常量.

【学生答案】错误

未答此题

============================================================

【参考答案】

错误

13.字符串"Dalian"在内存中的存储长度是7.

【学生答案】错误

未答此题

============================================================

【参考答案】

错误

14.数组名作为函数调用时的实参,实际上传递给形参的是数组第一个元素的值.

【学生答案】错误

未答此题

============================================================

【参考答案】

错误

15.字符处理函数strcpy(str1,str2)的功能是把字符串1接到字符串2的后面.

【学生答案】错误

未答此题

============================================================

【参考答案】

错误

16.静态局部变量是在编译时被初始化的,故它只被赋初值一次.

【学生答案】错误

未答此题

============================================================

【参考答案】

正确

17.被包含文件是在编译时先单独生成目标文件,然后连接到可执行文件中去.

【学生答案】错误

未答此题

============================================================

【参考答案】

错误

18.假设有inta[10],*p;则p=&a[0]与p=a等价

【学生答案】错误

未答此题

============================================================

【参考答案】

正确

19.typedef可以定义生成新的数据类型.

【学生答案】错误

未答此题

============================================================

【参考答案】

错误

20.用fopen("file","r+");打开的文件"file"可以进行修改。

【学生答案】错误

未答此题

============================================================

【参考答案】

正确

三、填空题

1.设a、b、c为整型数,且a=2、b=3、c=4,则执行完以下语句:

a*=16+(b++)-(++c);后,a的值是_____.

【空1】错误

【学生答案】

[无]

【参考答案】

28

============================================================

2.若所用变量都已正确定义,请填写以下程序段的输出结果_____.

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

printf("OK");

【空1】错误

【学生答案】

[无]

【参考答案】

OK

============================================================

3.c语言表达式!

(4>=6)&&(3<=7)的值是_____.

【空1】错误

【学生答案】

[无]

【参考答案】

1

============================================================

4.设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是_____.

for(x=0,y=0;y!

=123&&x<3;x++)

scanf("%d",&y);

【空1】错误

【学生答案】

[无]

【参考答案】

3

============================================================

 

5.按内存排列顺序,数组chara[2]中的所有元素是a[0]和_____.

【空1】错误

【学生答案】

[无]

【参考答案】

a[1]

============================================================

 

6.函数不可以进行嵌套定义,但可以进行嵌套_____.

【空1】错误

【学生答案】

[无]

【参考答案】

调用

============================================================

 

7.将数组a的首地址赋给指针变量p的语句是_____.

【空1】错误

【学生答案】

[无]

【参考答案】

p=a;

============================================================

 

8.设有以下结构类型说明和变量定义,则变量a在内存所占字节数是_____。

structstud{charnum[6];floats[4];doubleave;}a,*p;

【空1】错误

【学生答案】

[无]

【参考答案】

30

============================================================

四、程序设计

1./*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

把20个随机数存入一个数组,然后输出该数组中的

最小值。

其中确定最小值的下标的操作在fun函数中

实现,请给出该函数的定义。

------------------------------------------------*/

#include""

#include""

#defineVSIZE20

intvector[VSIZE];

intfun(intlist[],intsize)

{

/*********Begin**********/

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

}

main()

{

inti;

voidNONO();

for(i=0;i

{

vector[i]=rand();

printf("Vector[%d]=%6d\n",i,vector[i]);

}

i=fun(vector,VSIZE);

printf("\nMininum:

Vector[%d]=%6d\n",i,vector[i]);

NONO();

}

voidNONO()

{

inti,t;

FILE*fp;

fp=fopen("","w");

for(i=0;i

{

fprintf(fp,"Vector[%d]=%6d\n",i,vector[i]);

}

t=fun(vector,VSIZE);

fprintf(fp,"\nMininum:

Vector[%d]=%6d\n",t,vector[t]);

fclose(fp);

}

【参考代码】

inti,min=0;

for(i=1;i

if(list[min]>list[i])

min=i;

returnmin;

 

===============

【考生代码】

2./*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

把20个随机数存入一个数组,然后输出该数组中的

最小值。

其中确定最小值的下标的操作在fun函数中

实现,请给出该函数的定义。

------------------------------------------------*/

#include""

#include""

#defineVSIZE20

intvector[VSIZE];

intfun(intlist[],intsize)

{

/*********Begin**********/

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

}

main()

{

inti;

voidNONO();

for(i=0;i

{

vector[i]=rand();

printf("Vector[%d]=%6d\n",i,vector[i]);

}

i=fun(vector,VSIZE);

printf("\nMininum:

Vector[%d]=%6d\n",i,vector[i]);

NONO();

}

voidNONO()

{

inti,t;

FILE*fp;

fp=fopen("","w");

for(i=0;i

{

fprintf(fp,"Vector[%d]=%6d\n",i,vector[i]);

}

t=fun(vector,VSIZE);

fprintf(fp,"\nMininum:

Vector[%d]=%6d\n",t,vector[t]);

fclose(fp);

}

【参考代码】

inti,min=0;

for(i=1;i

if(list[min]>list[i])

min=i;

returnmin;

 

===============

【考生代码】

五、程序改错

1./*------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:

求1到10的阶乘的和。

------------------------------------------------------*/

#include""

main()

{

inti;

floats=0;

floatfac(intn);

/**********ERROR**********/

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

/**********ERROR**********/

s=fac(i);

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

}

floatfac(intn)

{

/**********ERROR**********/

inty=1;

inti;

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

y=y*i;

/**********ERROR**********/

return;

}

【改错1】错误

【学生答案】

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

【参考答案】

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

for(i=1;10>=i;i++)

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

for(i=1;11>i;i++)

 

============================================================

【改错2】错误

【学生答案】

s=fac(i);

【参考答案】

s=s+fac(i);

s+=fac(i);

s=fac(i)+s;

 

============================================================

【改错3】错误

【学生答案】

inty=1;

【参考答案】

floaty=;

floaty=1;

 

============================================================

【改错4】错误

【学生答案】

return;

【参考答案】

returny;

return(y);

return(y);

 

============================================================

 

2./*------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:

求1到10的阶乘的和。

------------------------------------------------------*/

#include""

main()

{

inti;

floats=0;

floatfac(intn);

/**********ERROR**********/

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

/**********ERROR**********/

s=fac(i);

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

}

floatfac(intn)

{

/**********ERROR**********/

inty=1;

inti;

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

y=y*i;

/**********ERROR**********/

return;

}

【改错1】错误

【学生答案】

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

【参考答案】

for

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

当前位置:首页 > 总结汇报 > 学习总结

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

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