收藏 分享(赏)

程序设计引论2.docx

上传人:cjc2202537 文档编号:255316 上传时间:2018-03-25 格式:DOCX 页数:15 大小:88.24KB
下载 相关 举报
程序设计引论2.docx_第1页
第1页 / 共15页
程序设计引论2.docx_第2页
第2页 / 共15页
程序设计引论2.docx_第3页
第3页 / 共15页
程序设计引论2.docx_第4页
第4页 / 共15页
程序设计引论2.docx_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、一、单选题 1. (4 分)设有以下语句char ch1,ch2;scanf(“%c%c“,若要为变量 ch1 和 ch2 分别输入字符 A 和 B,正确的输入形式应该是_。( ) A. A. A 和 B 之间用逗号间隔 B. B. A 和 B 之间不能有任何间隔符 C. C. A 和 B 之间可以用回车间隔 D. D. A 和 B 之间用空格间隔纠错 得分: 4 知识点: 3.7 输入和输出 收起解析 答案 B 解析 格式输入函数的一般形式:scanf( 格式控制,地址表列)通过 scanf 函数从键盘输入数据时,要按照“格式控制 “对应位置原样输入。“%c%c“中的每个“%c“ 只要求读入

2、一个字符,且两个“%c“之间没有任何间隔符,所以输入的 A 和 B 之间没有任何间隔符。2. (4 分)若执行 fopen 函数时发生错误,则函数的返回值是() A. 一个随机地址值 B. NULL C. 1 D. EOF 纠错 得分: 4 知识点: 3.3 定义函数 收起解析 答案 B 解析 3. (4 分)以下数组定义中不正确的是_。( ) A. A. int a23; B. B. int b3=0,1,2; C. C. int c100100=0; D. D. int d3=1,2,1,2,3,1,2,3,4; 纠错 得分: 4 知识点: 5.顺序数据组织数组 收起解析 答案 D 解析

3、C 语言中多维数组赋初值时可以部分赋值,如果对全部元素赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。 4. (4 分)以下对二维数组 a 的正确说明是 ( ) A. A、 inta3; B. B、 float a(3,4); C. C、 double a14; D. D、 float a(3)(4); 纠错 得分: 4 知识点: 5.3 二维数组的定义和使用 收起解析 答案 A 解析 二位数组定义为 数据类型 参数名ij 5. (4 分)C 语言中用()表示逻辑值“真”。 A. true B. 整数 0#非零值 C. T 纠错 得分: 4 知识点: 2.3 运算符、表达式

4、和计算 收起解析 答案 C 解析 6. (4 分)以下定义语句中正确的是 A. A: char A=65+1,b=b; B. B: int a=b=0; C. C: float a=1 *b= D. D: double *a,b=纠错 得分: 4 知识点: 2.2 数据、类型和简单程序 收起解析 答案 A 解析 B 答案应分开 C 答案缺少逗号 D 答案 a b 顺序错误 7. (4 分)若定义:int a10;,则对数组元素的正确引用是() A. a2+4 B. a3*5 C. a(5) D. a10 纠错 得分: 4 知识点: 5.6 字符数组与字符串编程实例 收起解析 答案 A 解析 8

5、. (4 分)下面选项中两个标识符都是不合格的选项是() A. W,p_1 B. _abc,sum C. a-1,int D. x1,DO 纠错 得分: 4 知识点: 3.4 关系、条件、逻辑表达式 收起解析 答案 C 解析 9. (4 分)若变量 x,y 已正确定义并赋值,以下符合 C 语言语法的表达式是 A. A)+x,y=x- B. B)x+1=y C. C)x=x+10=x+y D. D)double (x)/10纠错 得分: 4 知识点: 2.2 数据、类型和简单程序 收起解析 答案 A 解析 a 答案符号 C 语言语言表达式规则,故 A 答案对 10. (4 分)有以下程序#inc

6、lude int f(int x) int y;if(x=0|x=1) return(3);y=x*x-f(x-2);return y;main() int z;z=f(3); printf(“%dn“,z);程序的运行结果是_。( ) A. A. 0 B. B. 9 C. C. 6 D. D. 8 纠错 得分: 4 知识点: 3.3 定义函数 收起解析 答案 C 解析 本程序中的子函数 f 是一个递归调用函数,其结束条件是 x 的值为 0 或1。首先主函数调用 f 函数,x 值为 3,不满足条件“x=0|x=1“,执行 y=x*x-f(x-2);,所以 y=3*3-f(1),调用 f(1),

7、满足条件“x=0|x=1“,返回函数值3,即 f(1)的值为 3,所以 y=x*x-f(x-2)=3*3-3=6,即 f(3)的结果是 6,故程序输出 6。11. (4 分)以下程序的输出结果是_。( )main() char ch35=“AAAA“,“BBB“,“CC“;printf(“%sn“,ch1); A. A. “AAAA“ B. B. “BBB“ C. C. “BBBCC“ D. D. “CC“ 纠错 得分: 4 知识点: 5.顺序数据组织数组 收起解析 答案 B 解析 ch1是字符串“BBB“的起始地址,该 printf 函数的作用是从给定的地址开始逐个输出字符,直到遇到“0“

8、为止。而在为二维数组赋值时,系统都会自动在每个字符串的末尾补上“0“。所以在输出了三个 B 字符后遇到“0“,结束输出。12. (4 分)变量的指针,其含义是指该变量的() A. 值 B. 地址 C. 名字 D. 一个标志 纠错 得分: 4 知识点: 6.2 指针作为函数的参数 收起解析 答案 B 解析 13. (4 分)以下程序中的函数 reverse 的功能是将 a 所指数组中的内容进行逆置。void reverse(int a,int n)int i,t;for(i=0;it=ai;ai=an-1-i;an-1-i=t;main()int b10=1,2,3,4,5,6,7,8,9,10

9、; int i,s=0;reverse(b,8);for(i=6;i10;i+) s+=bi;printf(“%dn“,s);程序运行后的输出结果是_。( ) A. A. 22 B. B. 10 C. C. 34 D. D. 30 纠错 得分: 4 知识点: 5.顺序数据组织数组 收起解析 答案 A 解析 本题并不是将整个数组中的内容逆置,而是逆置前 8 个元素。逆置后的数组为:8,7,6,5,4 ,3 ,2,1,9,10。通过 for 循环计算 b6+b7+b8+b9即 2+1+9+10=22。14. (4 分)有以下程序#include main()int a=1,2,3,4,5,6,7,

10、8,9,10,11,12,*p=a+5,*q=NULL;*q=*(p+5);printf(“%d %dn“,*p,*q);程序运行后的输出结果是_。( ) A. A. 5 10 B. B. 6 11 C. C. 6 6 D. D. 运行后报错纠错 得分: 4 知识点: 6.指针的应用 收起解析 答案 A 解析 本题将指针 q 赋值为空,即指向了空地址,而对空地址所对应的内容赋值*q=*(p+5)是会出错的,所以输出结果会提示 Null pointer assignment。所以此题答案为 A。 15. (4 分)假定 int 类型变量占用两个字节,若有定义:int x10=0,2,4;,则数组 x 在内存中所占字节数是_。( ) A. A. 3 B. B. 6 C. C. 10

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

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

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报