2017年河南科技学院食品学院341农业综合知识三之C程序设计考研仿真模拟题

更新时间:2023-05-31 17:51:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目录

2017年河南科技学院食品学院341农业综合知识三(食品卫生学、食品安全管理与法规、食品分析与检验技术)(自命题)[专业硕士]之C程序设计考研仿真模拟题(一) ........................... 2 2017年河南科技学院食品学院341农业综合知识三(食品卫生学、食品安全管理与法规、食品分析与检验技术)(自命题)[专业硕士]之C程序设计考研仿真模拟题(二) ........................... 9 2017年河南科技学院食品学院341农业综合知识三(食品卫生学、食品安全管理与法规、食品分析与检验技术)(自命题)[专业硕士]之C程序设计考研仿真模拟题(三) ......................... 14 2017年河南科技学院食品学院341农业综合知识三(食品卫生学、食品安全管理与法规、食品分析与检验技术)(自命题)[专业硕士]之C程序设计考研仿真模拟题(四) ......................... 21 2017年河南科技学院食品学院341农业综合知识三(食品卫生学、食品安全管理与法规、食品分析与检验技术)(自命题)[专业硕士]之C程序设计考研仿真模拟题(五) ......................... 28

2017年河南科技学院食品学院341农业综合知识三(食品卫生学、食品安全管理与法规、食品分析与检验技术)(自命题)[专业硕士]之C程序设计考研仿真模拟题(一)

说明:①本资料为VIP学员内部使用,严格按照2017考研最新题型及历年试题难度出题。

——————————————————————————————————————————

一、选择题

1. if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是( )。

A.必须是逻辑值 B.必须是整数值 C.必须是正数

D.可以是任意合法的数值 【答案】D

【解析】if是C语言的关键字,在其后一对圆括号中的表达式可以是c语言中任意合法的表达式。

2. 若有代数式

(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该

代数式的C语言表达式是( )。

【答案】A

【解析】math.h是数学运算库函数的头文件名:

3. 有以下程序:

程序的运行结果是( )。 A.5,0 B.6,0 C.5,-1

D.6,-1 【答案】C

【解析】程序执行过程为:执行do while的循环体:y=5,判断y为真,x=l;y=4,x=2;y=3,x=3;y=2,x=4;y=l,x=5;y=0,判断y为假,退出循环体。判断y=0为假,y=—1,退出循环。输出x,y为5,-1,故C项正确。

4. 有如下程序:

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

【答案】D

【解析】在类型转换过程中,如果较高类型转换成较低类型,直接忽略多余位数。在程序执行过程为:调用函数

型1,然后返回1并输出,故D选项正确。

5. 有以下程序:

程序运行后的输出结果是( )。 A.0 B.1 C.4 D.8

条件

,(double类型)(int)强制转换将转换成int类

【答案】C

【解析】对局部静态变量在编译时赋初值,以后每次调用函数时一直保持不变,只是保留上次函数调用结束 时的值。在主函数中调用了两次fim0函数,所以x的值变为

6. 有以下程序

执行后的输出结果是( )。 A.1 B.2 C.4

D.死循环

【答案】A

while【解析】(--k)是先执行k减1,然后判定k是否等于0;输出1;接下来继续执行-k,k变成0,不满足条件,循环结束。

7. 下列叙述中错误的是( )。

A.C程序可以由一个或多个函数组成 B.C程序可以由多个程序文件组成 C.一个C语言程序只能实现一种算法

D.—个C函数可以单独作为一个C程序文件存在 【答案】C

【解析】一个C语言程序可以实现任意多种算法,并没有数量限制

8. 有以下程序

是先执行k-=3,

k的初始值是5,--k后k变成4,进入循环体内部,然后输出k的值。首先执行k-=3,得到k等于1,

程序的运行结果是( )。 A.a=2.b=l B.a_2,b-2 C.a=l,b=l D.a=l,b=0 【答案】A

【解析】当执行swicth语句时,首先计算紧跟其后一对括号中的表达式的值,然后在switch语句体内寻找与该值吻合的case标号。如果有与该值相等的标号,则执行该标号后开始的各语句,包括在其后的所有case和default中的语句,直到switch语句体结束;每当执行到break语句时,立即跳出switch语句体。switch语句通常总是和break语句联合使用,使得switch语句真正起到分支的作用。x=l,首先进入外层分支1,接下来y=0,再进入内层分支0,执行a++,此时a=l,接下来遇到break,跳出内层switch;由于外层分支中没有break语句,会继续执行外层分支2,执行a++,b++,此时a=2,b=l;然后遇到break语句,跳出外层switch。

9. 有如下程序:

程序运行后的输出结果是( )。 A.56,57, B.57,58, C.57,57, D.55,57,

【答案】C

【解析】convert( )函数定义了一个形参:指针变量*data。函数体中将指针变量*data对应地址的值进行加1处理,再返回加1前data的值。main( )函数中,定义了变量data并赋初值56,调用covert( )函数,改变变量data的值,此时data=57;程序执行data=convert,函数convert( )返回的是执行前data的值,所以data=57。C项正确。 (&data)

10.有以下程序:

程序运行后的输出结果是( ) A.1,2,1,2 B.1,2,2,1 C.2,1,2,1 D.2,1,1,2 【答案】B

【解析】本题首先让指针变量p和q分别指向m和n的地址空间,然后将p赋值给r,让r 指向m,q赋值给p,让p指向n,再将r赋值给q,让q指向m,因此最后p指向n,q指向m。

二、设计题

11.请根据以下各小题的要求设计C应用程序(包括界面和代码)。请编写函数fun( ),它的功能是:将3行4列矩阵x乘以4行3列矩阵y,结果放在3行3列矩阵xy中。矩阵相乘的基本方法是:矩阵xy中行列下标分别为i,j的元素的值,是矩阵x中第i行上4个元素与矩阵y第j 列上4个元素对应相乘的和。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序如下:

【答案】

【解析】本题首先要明确矩阵xy中行列下标分别为i,j的元素的值,是矩阵x中第i行上4个元素与矩阵y第j 列上4个元素对应相乘的和。因此,每个元素的求解是循环控制来实现的,即

矩阵ab的每个元素的表示可用一个二重循环,整个函数是一个三重循环

的嵌套。

12.请根据以下各小题的要求设计C应用程序(包括界面和代码)。

,它的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获请编写函数fun( )

得,并放在主函数的 age数组中;要求函数把0至9岁年龄段的人数放在年龄段的人数放在

中,把20至29岁年龄段的人数放在

100岁)以上年龄的人数放在

注意:部分源程序给出如下。

请勿改动主函数main( )和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序如下:

P,把10至19岁

中,其余依次类推,把100岁(含

中。结果在主函数中输出。

请在此函数内打开文件,输人测试数据,调用fim( )函数,输出数据,

关闭文件。

【答案】

【解析】本题的关键是使用条件语句和选择语句统计各年龄段的人数。设计思路是:①使用循环语句对存储人数的形参数组赋初值0;②利用循环语句遍历所有人的年龄;③利用选择语句统计各年龄段的人数。

2017年河南科技学院食品学院341农业综合知识三(食品卫生学、食品安全管理与法规、食品分析与检验技术)(自命题)[专业硕士]之C程序设计考研仿真模拟题(二)

说明:①本资料为VIP学员内部使用,严格按照2017考研最新题型及历年试题难度出题。

——————————————————————————————————————————

一、选择题

1. 表达式:

A.0 B.3 C.4 D.5

【答案】B

【解析】运算符强制类

型转换表达式的形式为:(类型名)(表达式)。

转换成double类型,再转换成int类型,

结果为4,减号后面的结果为1,故结果为3。

2. 设有定义:则以下语句错误的是( )。

A.p=a; B.p=b; C.p=c; D. 【答案】A

【解析】p为指针变量,存放变量的地址。对指针变量赋值,值必须是地址值。a为整型变量不是地址值, 不能赋值给p, A项错误。数组名为数组首地址,b为地址可以赋值给p, B项正确。c为指针变量,初始化为 NULL,与p均为整型指针,可以将其赋值给p, C项正确。&为取地址运算符,为数组元素b[0]的地址,可以赋值给p,D项正确。

3. 以下关于字符串的叙述中正确的是( )。

A.C语言中有字符串类型的常量和变量

B.两个字符串中的字符个数相同时才能进行字符串大小的比较 C.可以用关系运算符对字符串的大小进行比较 D.空串比空格打头的字符串小 【答案】D

【解析】字符串比较的方法是:依次对si和S2中对应位置上的字符两两进行比较,当出现第一对不相同的字符时,

即由这两个字符决定所在串的大小(比较字符大小的依据是其值)。空格是一种字符,所以空串肯定比空格打头的字符串小。

的值是( )。

的优先级高于故先进行除法和求余运算,再进行减法运算。

4. 以下叙述中错误的是( )。

A.非零的数值型常量有正值和负值的区分 B.常量是在程序运行过程中值不能被改变的量 C.定义符号常量必须用类型名来设定常量的类型 D.用符号名表示的常量叫符号常量 【答案】C

【解析】在C语言程序中,可以用一个符号名来代表一个常量,称为符号常量,符号常量在定义是不需要类型,其本身就能表达其类型。

5. 以下选项中能表示合法常量的是( )。

【答案】D

【解析】A项错误,表达错误;B项错误,E后面应为整数,不能是小数;C项错误;字符斜杠的表示方法 为为

正确。

6. 有以下程序:

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

A.beijing B. china C. welcome D . tiananmen 【答案】C

【解析】strcmp用于比较两字符串:当

时,返回值

时,返回值=0;当

时,

返回值>0。程序主要实现的是先对前两行进行比较,将

码值大的调到后面,依次比较,即

即为 “weleome”。

因为第一个\表示是转义字符;D项正确,表示空字符串,第一个字符

“china”、“tiananmen”、“weleome”、“you”,最后的顺序为“beijing”、最后输出

7. 若有以下程序段:

输出结果是( )。 A.16 B.8 C.4 D.2

【答案】C 【解析】c语言中

是对二进制的右移运算符,右移相当于将原数做除二操作,它将原数

右移相应位数,并将移出的位信息舍去,在高位补0,将所得的结果再赋值给变量。本题中8的二进制为00001000,右移一位得 到00000100,所以是4。

8. 设变量x为longint型并已正确赋值,以下表达式中能将x的百位上的数字提取出来的是。

A.x/10%100 B.x%10/100 C.x%100/10 D.x/100%10 【答案】D

x/100结果的个位数上的数字是原来x的百位数上的数字,【解析】则要得到这个数字只需要再%10即可。

9. 以下选项中合法的标识符是( )。

【答案】C

【解析】C语言中标识符的命名规则是:标识符由字母、数字和下画线组成,并且第一个字符必须是字母或下画线。C语言的标识符是区分大小写字母的。

10.下列叙述中错误的是( )。

A.C程序在运行过程中所有的计算都以二进制方式进行 B.C程序在运行过程中所有的计算都以十进制方式进行 C.所有的C程序都需要在连接无误后才能运行

D.C程序中整型变量只能存放整数,实型变量只能存放浮点数 【答案】B

【解析】在C程序运行过程中,编译器的作用是将程序转换为目标代码,目标代码都是二进制的。

二、设计题

11.请根据以下各小题的要求设计C应用程序(包括界面和代码)。

,该函数的功能是:计算并输出给定整数n的所有因子(不包括1和请编写函数fun( )

自身)之和。规定n 的值不大于1000。例如,在主函数中从键盘给n输入的值为856,则输出为:

注意:部分源程序给出如下。

请勿改动主函数main( )和其他函数中的任何内容,仅在fun( )函数的花括号中填入所编写的若干语句。 试题程序如下:

【答案】

【解析】本题的设计思路是:①遍历从2到

的所有整数;②用条件语句找出能被n整除的

整数i,并累加求和;③用return语句返回因子的和。

12.请编写一个函数fun,它的功能是:将一个表示正整数的数字字符串转换为一个整数(不得调用C语言 提供的将字符串转换为整数的函数)。例如,若输入字符串数值1234。函数fun中给出的语句仅供参考。

注意:部分源程序存在文件干语句。

给定源程序:

则函数把它转换为整

中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入需要编写的若

【答案】

【解析】if( )语句的作用是判断该字符串应当为正数还是负数。注意:

并不是一个数,要将其转成相应的数字需令其减去

字符的相应数字,如

等。

是一个字符就得到

这个

2017年河南科技学院食品学院341农业综合知识三(食品卫生学、食品安全管理与法规、食品分析与检验技术)(自命题)[专业硕士]之C程序设计考研仿真模拟题(三)

说明:①本资料为VIP学员内部使用,严格按照2017考研最新题型及历年试题难度出题。

——————————————————————————————————————————

一、选择题

1. 有以下程序:

程序运行后的输出结果是( )。 A.b»B,b,A B.b,B,B,A C.a,B,B,a D.a,B,a,B 【答案】A

【解析】fun( )函数中的两个局部变量(:和山c是一个字符指针变量,在程序中取出指针所指内存单元的值进行修改,对其进行的修改影响调用函数中对应的变量的值;而d是一个整型变量,在程序中进行的修改是局部的,不影响其他函数。 【程序错误,

2. 有以下程序:

程序运行后的输出结果是( )。 A.11,19,19 B.12,20,20 C.11,20,20 D.12,19,20

【答案】C 【解析】

将数组a的首地址赋给指针p。

地址,

待输出变量为

表示p后i个地址

的元素,

待输出变量为

后输出为11,20,20。

3. 有以下程序(其中的

取这个地址内的元素,待输出变量为

函数头部格式为:确定p2字符串是

否在pi中出现,并返回p2第一次出现的字符串首地址):

程序的运行结果是( )。 A.to Bering! B.you to Bering!

C.Welcome you to Bering! D.Bering! 【答案】A

【解析】调用strstr函数,可知a指向的字符串在b指向的字符串中第一次出现的位置,并将,并且作为函此地址赋给指 针p。strlen( )函数是求字符串的实际长度(不包含结束标志)

数值返回。strstr函数返回的地址 下标值为9,加上a长度3,再加1,此时P指向的地址下标值为13,输出“toBeijing! ”,故A选项正确。

4. 有以下程序:

程序运行后的输出结果是( )。 A.6 B.10 C.11 D.15

【答案】C

for循环计算a元素中某5个元素的和, 【解析】数组b用来存储需要求和的a中元素的下标。

5. 有以下程序

{

程序执行后的输出结果是( )。 A.Prohsbn B.Prphsbn C.Progsbn D.Program 【答案】B

【解析】函数funl功能是将字符串中元素加1,main函数将数组第4个元素的指针传进funl函数中,结果为Prohsbn。

6. 以下选项中表示一个合法的常量是(说明:符号表示空格)( )。

【答案】B

【解析】十六进制数用数字0和字母x (或大写字母X)开头。

是指十六进制数,是合

法的常量。

7. 以下选项中,当x为大于1的奇数时,值为0的表达式是( )。

A. B. C. D. 【答案】D 【解析】x为大于1的奇数,

8. 有以下程序:

的值为1,为假。

程序的运行结果是( )。 A.-17,22,12 B.-17,12,22 C.-17,-22,-12 D.17,22,12 【答案】A

【解析】整型常量有3种表示方法,①十进制整常量,没有前缀,输出格式控制符为%山②八进制整常量,以0作为前缀,输出格式控制符为%o;③十六进制整常量,以0x或Ox作为前缀,输出格式控制符为%x。1-k=18,整型常量18用八进制表示为22,十六进制表示为12,故A项正确。

9. 有如下程序:

程序运行后的输出结果是( )。 A.ABCDDCBA B.ABCD C.A

D.DCBA 【答案】D

【解析】本题程序的执行过程为:调

用语句后的输出语句,输出

执行

函数

执行

执行

if条件成

中if

if条件不成立,输出

中if语句后的输出语句,输出

中if语句后的输出语句,输出A,函数调用完成。程序运行后的输出结果是DCBA。

10.有以下定义和语句:

能给w中year成员赋1980的语句是( )。

【答案】D

【解析】w是一个结构体变量,Pw是一个结构体指针变量,指向w所在的内存单元。A项错误,pw是指针,

所以在引用其内部变量时应该用操作符

是结构体workers中的结构体成员s中的成员。

而不是

BC两项错误,year

二、设计题

11.程序定义了

的二维数组,并在主函数中自动赋值。请编写函数

函数的功能是:使数组左下半三角元素中的值乘以n。例如,若n的值为3, a数组中的值为:

则返回主程序后a数组中的值应为:

注意:部分源程序给出如下。 句。试题程序:

请勿改动函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语

【答案】

【解析】首先从数组中找出要被乘以n的元素,即找出将被挑出的元素在原数组中的分布规律。通过观察得出,要被 处理的元素下标值的范围是每行中从第一个元素开始,直到列数等于该行行数时为止。找到这个规律后,依次从数组中取得符合要求的元素,然后乘以n。

12.请编写一个函数,用来删除字符串中的所有空格。例如,输入asdafaaz67,则输出为asdafaaz67。注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:

【答案】

【解析】题目要求删除空格,也就是重新保存空格以外的其他字符。通过循环删除字符串中的每一个空格,将非空格字符进行重新保存。

2017年河南科技学院食品学院341农业综合知识三(食品卫生学、食品安全管理与法规、食品分析与检验技术)(自命题)[专业硕士]之C程序设计考研仿真模拟题(四)

说明:①本资料为VIP学员内部使用,严格按照2017考研最新题型及历年试题难度出题。

——————————————————————————————————————————

一、选择题

1. 有如下程序:

!

程序运行后的输出结果是( )。 A.1123 B.123 C.0123 D.001

【答案】A

【解析】程序执行过程为:for循环开始,第一次循环,输出i=l,判断i<4成立,输出i=l,循环结束后i=2;第二次循环,判断i<4成立,输出i=2,循环结束后i=3;第三次循环,判断i<4成立,输出i=3,循环结束后i=4;第四次循环,判断i<4不成立,退出循环。程序运行后的输出结果是1123,故A项正确。

2. 下面选项中关于“文件指针”概念的叙述正确的是( )。

A.文件指针就是文件位置指针,表示当前读写数据的位置 B.文件指针是程序中用FILE定义的指针变量 C.文件指针指向文件在计算机中的存储位置

D.把文件指针传给fscanf函数,就可以向文本文件中写入任意的字符 【答案】B

【解析】文件指针实际上是指向一个结构体类型的指针,包含有诸如:缓冲区的地址在缓冲区中当前存取的字符的位置、对文件是“读”还是“写”、是否出错、是否已经遇到文件结束标志等信息。B项正确,结构体类型名为FILE,用来定义文件指针。A项错误,文件指针是指在程序中定义的FILE类型的变量,通过fopen函数调用给文件指针赋值,使文件指针和某个文件建立联系,C程序中通过文件指针实现对文件的各种操作;文件位置指针只是一个形象化的概念,表示当前读或写的数据在文件中的位置;C项错误,文件在计算机中的存储位置由操作系统负责,文件指针并没有指向文件的存储位置;D项错误,fscanf可以用于读文件,而非写文件。

本文来源:https://www.bwwdw.com/article/n3u4.html

Top