当前位置:问答库>考研试题

2016年中国地质大学(北京)地球物理与信息技术学院C语言程序设计考研复试题库

  摘要

一、选择题

1. 有以下程序:

程序的运行结果是( )。

D.ab

答:C

【解析】函数fun 中有两个while 循环,第一个while 循环语句查找第一个非字符;第二个while 循环语句将a 所指向的字符赋值给b ,这个循环的作用是将a 中第一个非的后的字符都复制到b 中。整个函数fun 的功能时将a 字符串中讲第一个非的字符开始的字符赋值给b 。

2. 以下关于C 语言数据类型使用的叙述中错误的是( )。

A. 若要准确无误差地表示自然数,应使用整数类型。

B. 若要保存带有多位小数的数据,应使用双精度类型。

C. 若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型。

D. 若只处理“真”和“假”两种逻辑值,应使用逻辑类型。

答:D

【解析】C 语言的数据类型有:整型、字符型、实型、枚举类型、数组类型、结构体类型、共同体类型、指针类型和空类型。在C 语言中没有逻辑类型,而是借用整型、字符型、实型来描述逻辑数据。

3. 设有两行定义语句:

intscanf ;

floatcase ;

则以下叙述正确的是( )。

A. 两行定义语句都不合法

B. 两行定义语句都合法

C. 第1行语句不合法

D. 第2行语句不合法

答:D

【解析】预定义标识符是系统已经有过定义的标识符,用户可以重新定义,可以作为变量名。scanf 为库函数名,属于预定义标识符,可以被用户重定义,第一行语句合法。C 语言关键字是被保留的,不能用作其他用途的一些标识符,它们在程序中都代表着固定的含义,用户不可重新定义。case 是选择结构switch 语句中的关键字,不可被用户重定义,第二行语句不合法。

4. 以下不能对文件进行输出的库函数是( )。

A.fwrite

B.fputs

C.fpout

D.fprintf

答:C

【解析】fwrite 函数的功能是用来向文件写数据块。fputs 函数的功能是用来向指定文件输出一个字符串。fprintf 函数按照格式向文本文件中输出数据。这三者都是库函数,而fpout 不是库函数。

5. 若有以下函数首部

则下面针对此函数的函数声明语句中正确的是( )。

A. B. C. D.

答:A

【解析】函数声明应该和函数调用的参数保持一致,声明时的参数(形参)名字可以省略,数组在参数传递过程中变成指针。

6. 有以下程序

程序运行后的输出结果是( )。

答:A

【解析】注释

7. 若有以下程序

则程序的输出结果是( )。

A.1, 2

B.0, 2

C.1, 3

D.2, 3

答:A 【解析】是先判定a 是否等于0, 如果a 等于0, 跳出循环;否则进入循环;但是不管判定是否成功,判定结束后都要执行a++操作。

第一次循环,a 等于-2, 满足条件,执行a++,++b, a 变成-1,b 变成1;

第二次循环,a 等于-1,满足条件,执行a++,++b, a 变成0,b 变成2;

第三次循环,a 等于0, 不满足条件,执行a++,a 变成1,b 仍然是2。

8. 以下选项中正确的定义语句是( )。

A.doublea ;b ;

B.double3,-b-l ;

C.doublea=7,b-1;

D.double ,a ,b ;

答:c

【解析】定义同一类型的变量时,不同变量之间需要用“,”分隔。A 项错误,a 和b 之间缺少逗号而用分号,是不正确的,分号是语句结束标志;B 项错误,定义变量的同时为变量初始化赋值不能用连等;D 项错误,在double 和a 之间多了一个逗号,变量类型说明后面不应用逗号,应用空格分离。

9. 若有以下定义和语句:

则输出结果是( )。

A.5 5

B.10 5

之间计算机不参与编译,所以a 、b 值仍为0。