2017中传媒答案C语言程序设计

上传人:龙*** 文档编号:24845485 上传时间:2017-12-07 格式:DOCX 页数:28 大小:54.24KB
返回 下载 相关 举报
2017中传媒答案C语言程序设计_第1页
第1页 / 共28页
2017中传媒答案C语言程序设计_第2页
第2页 / 共28页
2017中传媒答案C语言程序设计_第3页
第3页 / 共28页
2017中传媒答案C语言程序设计_第4页
第4页 / 共28页
2017中传媒答案C语言程序设计_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《2017中传媒答案C语言程序设计》由会员分享,可在线阅读,更多相关《2017中传媒答案C语言程序设计(28页珍藏版)》请在金锄头文库上搜索。

1、一、单选题 (共 5 题,70.0 分 )1、x、y、z 被定义为 int 型变量,若从键盘给 x、y 、z 输入数据,正确的输入语句是() 。 input x,y,z; scanf(%d%d%d, scanf(%d%d%d,x,y,z); read(%d%d%d, 标准答案 :B2、设有定义“int a3 ,b,*p&a;” ,则下列语句中使 b 不为 3 的语句是( ) 。 试题分析:定义有 int a3,b,*p&a ;对 b 赋值的表达式有*&a 、*p、a 、*a. 引用变量 a 的值有两种方法,一是直接引用 a,二是通过 a 的指针间接引用 a. 对于后者,又有多种表达方法,通过指

2、向 a 的指针 p,间接引用 a 的内容,如*p. 或通过求地址运算符由变量 a 得到其指针&a,再由这指针表达式间接引用 a 的内容,如* &a.所以表达式*&a、*p 和 a 都能引用变量 a 的值,而使 b 的值为 3. 而表达式 b=*a 是错误的,因为 a 不是指针变量,不能对它施行取内容运算符所以解答是 Db * &a;b* p;ba ;b*a;标准答案 :D3、设 x 和 y 为 int 型变量,则执行下面的循环后,y 的值为( ) 。 for(yl,xl;y50;y) if(x10)break; if(x2=1) x 5 ;continue ; x -3 ; 试题分析:for

3、循环语句的初始化部分置变量 x 和 y 的初值为 1,循环条件是(y50) ,每次循环后变量 y 的值增 1,控制循环最多执行 50 次。循环体有三个语句:首先在发现变量 x 的值大于等于 10 时,结束循环;接着是当变量 x 除 2 的余数为 1(即变量 x 是奇数)时,让变量 X 值增 5,让 x 变成偶数,并直接进入下一轮循环;如变量 x 是偶数,则从变量 x 减去 3,让变量 x 变成奇数。由上述分析知,每两次循环使变量 x 的值增加 2.第一次循环后,变量 x 的值变成 6.第二次循环后,变量 x 的值变成 3. 第三次循环后,变量 x 的位变成 8.第四次循环后,变量 x 的值变成

4、 5.第五次循环后,变量 x 的值变成 10.第六次循环时,因变量 x 的位大于等于 10,直接跳出循环,这次循环是非正常结束,对变量 y 的修正只执行了 5 次。所以循环结束后,变量 y 的值增至 6.正确的解答是 C2468标准答案 :C4、若与文件型指针中相关联的文件的当前读位置已到了文件的末尾,则函数feof(fp)的返回值是( ) 。 试题分析:当调用 fopen 函数时,系统将为实参文件设定一个存放文件读写控制信息的控制块。该控制块记录有关文件持征、使用方式,当前读写位置等文件状态,并将该控制块的指针返回,作为文件指针变量的值。以后程序通过该指针调用函数时,系统能访问到这个控制块,

5、利用该文件控制块中的控制信息,正确完成文件的读或写。所以文件指针并不真正指向文件当前读写位置,但通过文件指针,系统能在文件控制块中访问文件的当前读写位置。若某文件与文件指针中相关联着,该文件的当前读写位置在文件的末尾时,函数调用 feof(fp)的返回值是一个非零值。所以正确解答是 C0-1非零值NULL标准答案 :C5、设有代码“int(*ptr)10;” ,其中的 ptr 是( ) 。 试题分析:代码“int(*ptr )10 ;”的分析过程是,因圆括号,括号内的 ptr 先与字符*结合,字符 *修饰标识符 ptr 是一种指针;接着与后面的一对方括号结合,表示是这样的一种指针,是指向一维数

6、组的;再有方括号中的 10,说明这种数组有 10 个元素。至此,ptr 是指向含 10 个元素的一维数组的指针。最后,是最前面的 int,表示数组元素是int 类型的。所以,ptr 是一个指向具有 10 个 int 型元素的一维数组的指针。所以解答是C10 个指向整型变量的指针指向 10 个整型变量的函数指针一个指向具有 10 个元素的一维数组的指针具有 10 个指针元素的一维数组标准答案 :C1、在标准 C 语言中,链表和数组一样是一种静态数据类型( ) 。 正确错误标准答案 :B2、在标准 C 语言中,可以用 typedef 定义类型,所以用 typedef 可以增加 C 语言的数据类型(

7、) 。 正确错误标准答案 :B1、 C 语言中文件的存取方式是( ) 。 顺序存取随机存取顺序存取、随机存取均可顺序存取、随机存取均不可标准答案 :C2、设有代码“int(*ptr)10;” ,其中的 ptr 是( ) 。 试题分析:代码“int(*ptr )10 ;”的分析过程是,因圆括号,括号内的 ptr 先与字符*结合,字符 *修饰标识符 ptr 是一种指针;接着与后面的一对方括号结合,表示是这样的一种指针,是指向一维数组的;再有方括号中的 10,说明这种数组有 10 个元素。至此,ptr 是指向含 10 个元素的一维数组的指针。最后,是最前面的 int,表示数组元素是int 类型的。所

8、以,ptr 是一个指向具有 10 个 int 型元素的一维数组的指针。所以解答是C10 个指向整型变量的指针 指向 10 个整型变量的函数指针一个指向具有 10 个元素的一维数组的指针具有 10 个指针元素的一维数组标准答案 :C3、在以下一组运算符中,优先级最高的运算符是( ) 。 试题分析:常规运算符的优先级自高到低的排列顺序是算术运算符、移位运算符、关系运算符。按位运算符、逻辑运算符、条件运算符、赋值运算符、逗号运算符。所以问题所给的四个运算符按优先级自高到低的排列顺序是,。所以解答是C % 标准答案 :C4、不是 C 语言提供的合法关键字是( ) 。 试题分析:因 C 语言的关键字表中

9、没有 begin,它不是 C 语言的关键字。switch begincase default标准答案 :B5、若有以下定义,则不能表示 a 数组元素的表达式是( ) 。int a101,2 ,3,4,5,6,7,8,9 ,10 ,*pa; 试题分析:上述代码定义了有 10 个元素的整型数组 a,和定义指针变量 p,并让 p指向数组元素 a0.所以代码*p 是引用 a0.由于数组 a 只有 10 个元素,最后一个元素是 a9,表达式 a10是错误的。数组名 a 可以作为 a 的首元素的指针,表达式*a 就是 a0 ,是对数组 a 的首元素 a0的引用。指针 p 的值是 a,表达式 p-a 的值是

10、 0,所以ap a就是 a0.所以解答是 B*p a10 *aap-a标准答案 :B1、 else 语句中,配对规则是 else 总是与最近的未配对的 if 配对( ) 。 正确错误标准答案 :A2、在标准 C 语言中,函数中只能有一个 return 语句() 。 正确错误标准答案 :B1、设有定义“int a3,b ,*p&a;” ,则下列语句中使 b 不为 3 的语句是( ) 。 试题分析:定义有 int a3,b,*p&a ;对 b 赋值的表达式有*&a 、*p、a 、*a. 引用变量 a 的值有两种方法,一是直接引用 a,二是通过 a 的指针间接引用 a. 对于后者,又有多种表达方法,

11、通过指向 a 的指针 p,间接引用 a 的内容,如*p. 或通过求地址运算符由变量 a 得到其指针&a,再由这指针表达式间接引用 a 的内容,如* &a.所以表达式*&a、*p 和 a 都能引用变量 a 的值,而使 b 的值为 3. 而表达式 b=*a 是错误的,因为 a 不是指针变量,不能对它施行取内容运算符所以解答是 Db * &a;b* p;ba ;b*a;标准答案 :D2、设有代码“int(*ptr)10;” ,其中的 ptr 是( ) 。 试题分析:代码“int(*ptr )10 ;”的分析过程是,因圆括号,括号内的 ptr 先与字符*结合,字符 *修饰标识符 ptr 是一种指针;接

12、着与后面的一对方括号结合,表示是这样的一种指针,是指向一维数组的;再有方括号中的 10,说明这种数组有 10 个元素。至此,ptr 是指向含 10 个元素的一维数组的指针。最后,是最前面的 int,表示数组元素是int 类型的。所以,ptr 是一个指向具有 10 个 int 型元素的一维数组的指针。所以解答是C10 个指向整型变量的指针指向 10 个整型变量的函数指针一个指向具有 10 个元素的一维数组的指针具有 10 个指针元素的一维数组标准答案 :C3、设有 int i010 ,j=10;则执行“printf(”%d,%dn“,+i ,j- ) ;”的输出是() 。 试题分析:变量 i 和

13、 j 的初值分别为八进制数 010 和十进制数 10,函数调用 Printf(“%d,%d n ”,+i,j)中,+i 的值是变量 i 增 1 后的值,原来值是八进制数 010,等于十进制数 8,输出 9.j的值是变量 j 减 1 之前的值,输出 10.格式字符申中的逗号是普通字符照原样输出。所以问题给出的格式输出函数调用将输出 9,10. 正确的解答是 Bll,10 9,10 010,9 10,9标准答案 :B4、设 x、y、z、t 均为 int 型变量,则执行以下语句后, t 的值为() 。xyz1;t+x|+y+z ; 试题分析:语句序列“xy z l ;t +x|+y&+z;”使变量

14、x 的值为 1,变量 t 是赋一个逻辑表达式的值。在 C 语言中,由逻辑与和逻 7 辑或构成的逻辑表达式有特别的计算规则,顺序计算各逻辑子表达式,并当一旦能得到逻辑表达式的结果时,就立即结束逻辑表达式的计算,不再计算后继逻辑子表达式。本题的逻辑表达式是两个运算分量的逻辑或,而且左运算分量+x 的值为非 0,立即得到逻辑或运算的结果为 1,并将 1 赋给变量 t,所以变量 t 的值为 1.正确解答为 C 不定值2l 0标准答案 :C5、标准库函数 fputs(pl,p2 )的功能是( ) 。 试题分析:标准函数调用 fputs(p1 ,p2)完成的功能是将由字符指针 pl 所指的字符串内容输出到

15、与文件指针 p2 相关联的文件中,即将从 pl 所指的内存中的字符串内容输出到 p2 所指向的文件中。所以正确解答是 C 从 pl 指向的文件中读一个字符串存入 p2 指向的内存从 p2 指向的文件中读一个字符串存入 pl 指向的内存从 pl 指向的内存中的一个字符串输出到 p2 指向的文件从 p2 指向的内存中的一个字符串输出到 pl 指向的文件标准答案 :C1、在标准 C 语言中,链表和数组一样是一种静态数据类型( ) 。 正确错误标准答案 :B2、在标准 C 语言中,字符串是以 0 结束的,故字符串的长度也包括0 () 。 正确错误标准答案 :B1、设有定义“int a3,b ,*p&a

16、;” ,则下列语句中使 b 不为 3 的语句是( ) 。 试题分析:定义有 int a3,b,*p&a ;对 b 赋值的表达式有*&a 、*p、a 、*a. 引用变量 a 的值有两种方法,一是直接引用 a,二是通过 a 的指针间接引用 a. 对于后者,又有多种表达方法,通过指向 a 的指针 p,间接引用 a 的内容,如*p. 或通过求地址运算符由变量 a 得到其指针&a,再由这指针表达式间接引用 a 的内容,如* &a.所以表达式*&a、*p 和 a 都能引用变量 a 的值,而使 b 的值为 3. 而表达式 b=*a 是错误的,因为 a 不是指针变量,不能对它施行取内容运算符所以解答是 Db * &a;b* p;ba ;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号