您好,欢迎来到尔游网。
搜索
您的当前位置:首页C语言模拟试题-02

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. 已定义float x=,y=;

根据下面的输出结果,正确的输出语句是( ). y+x=,y-x=

A、printf(\"y+x=%6.2f,y-x=%\\n\ B、printf(\"y+x=%f,y-x=%f\\n\ C、printf(\"y+x=%.2f,y-x=%.2f\\n\ D、printf(\"y+x=%5.2f,y=%\\n\

【参】 错误 C

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

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

int s=35; char t='A'; int b;

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

A、1 B、3 C、2 D、0

【参】 错误 A

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

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

k=-3;

if(k<=0) printf(\"####\") else printf(\"&&&&\");

A、####

B、有语法错误,无结果 C、&&&& D、####&&&&

【参】 错误 B

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

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

for(j=0,k=0;j<=9&&k!=876;j++) scanf(\"%d\

A、最多执行9次 B、是无限循环

C、循环体一次也不执行 D、最多执行10次

【参】 错误 D

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

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

A、只能在循环体内和switch语句内使用break语句 B、continue语句的作用是终止整个循环的执行 C、从多层嵌套的外层循环中退出时,只能使用goto语句 D、在循环体内使用break和continue语句的作用相同

【参】 错误 A

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

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

A、int a[10]={}; B、int a[]={0}; C、int a[10]={10*1};

D、int a[10]=(0,0,0,0,0)

【参】 错误 B

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

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

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

B、定义函数时,形参的类型说明可以放在函数体内 C、return后面不能为表达式

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

【参】 错误 A

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

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

int func(int x,int y) {

return(x+y); }

main() {

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

printf(\"%d\\n\ }

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

{ int a[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. 若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28。 【学生答案】 错误 未答此题

============================================================ 【参】 错误

3. 格式字符%g选用%e或%f格式中输出宽度较长的一种格式输出实数. 【学生答案】 错误 未答此题

============================================================ 【参】 错误

c[6]=\"abcde\"; printf(\"%3s\表示输出的字段的宽度为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. 下列程序段是否正确: int a[10]; .... a++;

【学生答案】 错误 未答此题

============================================================ 【参】 错误

12. 定义一维数组的形式为:类型说明数组名[表达式],其中表达式必须是整型常量.

【学生答案】 错误 未答此题

============================================================ 【参】 错误

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

【学生答案】 错误 未答此题

============================================================ 【参】 错误

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

【学生答案】 错误 未答此题

============================================================ 【参】 错误

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

【学生答案】 错误 未答此题

============================================================ 【参】 错误

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

【学生答案】 错误 未答此题

============================================================ 【参】 正确

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

【学生答案】 错误

未答此题

============================================================ 【参】 错误

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

【学生答案】 错误 未答此题

============================================================ 【参】 正确

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

【学生答案】 错误 未答此题

============================================================ 【参】 错误

20. 用fopen(\"file\打开的文件\"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\

【空 1】 错误 【学生答案】 [无]

【参】 3

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

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

【空 1】 错误 【学生答案】 [无]

【参】 a[1]

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

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

【空 1】 错误 【学生答案】

[无]

【参】 调用

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

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

【空 1】 错误 【学生答案】 [无]

【参】 p=a;

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

8. 设有以下结构类型说明和变量定义,则变量a在内存所占字节数是 _____。{ char num[6]; float s[4]; double ave; } a,*p;

【空 1】 错误 【学生答案】 [无]

【参】 30

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

四、程序设计

1. /*------------------------------------------------ 【程序设计】

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

功能:把20个随机数存入一个数组,然后输出该数组中的 最小值。其中确定最小值的下标的操作在fun函数中 实现,请给出该函数的定义。

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

#include \"\" #include \"\"

#define VSIZE 20

struct stud

int vector[VSIZE] ;

int fun(int list[],int size) {

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

/********** End **********/ }

main() {

int i;

void NONO(); for (i=0;ivector[i]=rand();

printf(\"Vector[%d]=%6d\\n\ }

i=fun(vector,VSIZE);

printf(\"\\nMininum: Vector[%d]=%6d\\n\

NONO(); }

void NONO() { int i,t;

FILE *fp ;

fp = fopen(\"\ for (i=0;ifprintf(fp,\"Vector[%d]=%6d\\n\ }

t=fun(vector,VSIZE);

fprintf(fp,\"\\nMininum: Vector[%d]=%6d\\n\ fclose(fp) ;

}

【参考代码】

int i,min=0; for(i=1; i list[i]) min=i; return min;

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

【考生代码】

2. /*------------------------------------------------ 【程序设计】

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

功能:把20个随机数存入一个数组,然后输出该数组中的 最小值。其中确定最小值的下标的操作在fun函数中 实现,请给出该函数的定义。

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

#include \"\" #include \"\"

#define VSIZE 20

int vector[VSIZE] ;

int fun(int list[],int size) {

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

/********** End **********/ }

main() {

int i;

void NONO(); for (i=0;ivector[i]=rand();

printf(\"Vector[%d]=%6d\\n\ }

i=fun(vector,VSIZE);

printf(\"\\nMininum: Vector[%d]=%6d\\n\

NONO(); }

void NONO() { int i,t;

FILE *fp ;

fp = fopen(\"\ for (i=0;ifprintf(fp,\"Vector[%d]=%6d\\n\ }

t=fun(vector,VSIZE);

fprintf(fp,\"\\nMininum: Vector[%d]=%6d\\n\ fclose(fp) ; }

【参考代码】

int i,min=0; for(i=1; i list[i]) min=i; return min;

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

【考生代码】

五、程序改错

1. /*------------------------------------------------------ 【程序改错】

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

功能:求1到10的阶乘的和。

------------------------------------------------------*/ #include \"\" main() {

int i; float s=0;

float fac(int n);

/**********ERROR**********/ for(i=1;i<10;i++)

/**********ERROR**********/ s=fac(i);

printf(\"%f\\n\ }

float fac(int n) {

/**********ERROR**********/ int y=1; int i;

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】 错误 【学生答案】 int y=1;

【参】 float y=; float y=1;

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

【改错4】 错误 【学生答案】 return;

【参】 return y; return(y); return (y);

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

2. /*------------------------------------------------------ 【程序改错】

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

功能:求1到10的阶乘的和。

------------------------------------------------------*/ #include \"\" main() {

int i; float s=0;

float fac(int n);

/**********ERROR**********/ for(i=1;i<10;i++)

/**********ERROR**********/ s=fac(i);

printf(\"%f\\n\ }

float fac(int n) {

/**********ERROR**********/ int y=1; int i;

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】 错误 【学生答案】 int y=1;

【参】 float y=; float y=1;

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

【改错4】 错误 【学生答案】 return;

【参】 return y; return(y); return (y);

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

六、程序填空

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

【程序填空】

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

功能:调用函数fun计算m=1-2+3-4+……+9-10,并输出结果。

-------------------------------------------------------*/ #include \"\" int fun( int n) {

int m=0,f=1,i;

/***********FILL***********/ for(i=1;_____;i++) {

m+=i*f;

/***********FILL***********/ _____; }

/***********FILL***********/ return _____; }

main() {

printf(\"m=%d\\n\ }

【空1】 错误 【学生答案】 for(i=1;_____;i++)

【参】 i<=n

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

【空2】 错误 【学生答案】 _____;

【参】 f= -f f=-1*f f=(-1)*f f=f*(-1)

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

【空3】 错误 【学生答案】 return _____;

【参】 m (m)

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

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

【程序填空】

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

题目:输出连接后的字符串。

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

#include \"\"

/***********FILL***********/ _____ main() {

char ss[10]=\"12345\"; strcat(ss,\"67\");

/***********FILL***********/ printf(_____,ss); }

【空1】 错误 【学生答案】 _____

【参】 #include <> #include \"\"

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

【空2】 错误 【学生答案】 printf(_____,ss);

【参】 \"%s\\n\" \"%s\"

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

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- axer.cn 版权所有 湘ICP备2023022495号-12

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务