收藏 分销(赏)

程序设计作业三.doc

上传人:丰**** 文档编号:9737887 上传时间:2025-04-05 格式:DOC 页数:4 大小:46.50KB 下载积分:5 金币
下载 相关 举报
程序设计作业三.doc_第1页
第1页 / 共4页
程序设计作业三.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
第3次作业答案(红字为答案) 1. 下列叙述中错误的是( ) A. 对于double 类型数组,不可直接用数组名对数组进行整体输入或输出 B. 数组名代表数组所占存储区的首地址,其值不可变 C. 在程序执行过程中,当数组元素下标超出定义的下标范围时,系统将给出“下标”越界的错误提示 D. 可以通过赋初值的方式确定数组元素个数 提示:请从数组下标的合法取值范围来考虑。 2. 已有定义char a[] = “xyz”,b[]={‘x’, ‘y’, ‘z’} ,以下叙述正确的是( ) A. 数组a 和b 的长度相同 B. 数组a 的长度小于数组b 的长度 C. 数组a 的长度大于数组b 的长度 D. 上述说法均不正确 提示:此题考察字符数组长度和字符串长度之间的关系。 3. 以下能正确定义一维数组的选项是( ) A. int num[]; B. #define N 100 int num[N] C. int num[0..100]; D. int N = 100; int num[N]; 提示:此题考察一维数组的维数界定问题。 4. 下列程序的输出结果是( ) #include <stdio.h> void main() { char a[] = {‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘\0’}; int i, j; i = sizeof(a); j = strlen(a); printf(“%d, %d\n”, i, j); } A. 9,9 B. 8, 9 C. 1, 8 D. 9,8 提示:此题考察字符数组长度和字符串长度之间的关系。 5. 以下不能正确定义二维数组的选项是( ) A. int a[2][] = {{1, 2}, {3, 4}}; B. int a[][2] = {1, 2, 3, 4}; C. int a[2][2] = {{1}, {2}}; D. int a[2][2] = {{1}, 2, 3}; 提示:此题考察二维数组初始化的规定。 6、C 语言规定,若未对函数返回类型加以说明,则函数的隐含类型为( ) A. void B. double C. int D. char 分析:教材中有答案,但我们不推荐大家在编程时省略函数返回类型。 7、若已定义的函数有返回值,则以下关于该函数调用的叙述错误的是( ) A. 函数调用可以作为独立语句存在 B. 函数调用可以作为一个函数的实参 C. 函数调用可以出现在表达式中 D. 函数调用可以作为左值而被赋值 分析:基本概念题,可查书或上机验证。 8、下列说法中错误的是( ) A. 在不同的函数中可以使用相同名字的变量 B. 函数中的形参是局部变量 C. 在一个函数内定义的变量只在本函数范围内有效 D. 在一个函数的复合语句中定义的变量只在本函数范围内有效 分析:基本概念题。考察变量的作用域和生命期。 9、下列说法中正确的是( ) A. 定义函数时,形参的类型说明可以放在函数体内 B. return 后面的值不能为表达式 C. 如果函数值类型与return 后的返回值类型不一致,则以函数值类型为准 D. 如果形参与实参的类型不一致,则以实参类型为准 分析:基本概念题,可查书或上机验证。 10、阅读下列程序段,其执行结果为( ) #include <stdio.h> void fun(int a) { int x = 5; x += a++; printf(“%d,”, x); } void main() { int a = 3, x = 1; fun(a); x += a++; printf(“%d\n”, x); } A. 8,2 B. 8,3 C. 8,4 D. 8,5 分析:考察大家对传值调用和传址调用的理解。 11、阅读下列程序段,其执行结果为( ) #include <stdio.h> void main() { int a = 4, b = 6, c = 7; double d; double fun(int, int, int); printf(“d = %lf\n”, fun(a, b, c)); } double fun(int a, int b, int c) { return a % b * c; } A. 27 B. 27.000000 C. 28 D. 28.000000 分析:可上机验证,留意一下函数声明的方式,以及输出语句中对函数返回值的处理。 12、下列说法中不正确的是( ) A. C 语言规定,不能在一个函数的内部再定义函数 B. 在没有声明函数返回值类型的情况下,默认函数返回值类型为int 型 C. 函数的类型可以是整型、实型、字符型,但不能是指针类型 D. 函数可以没有形参,但函数名后的括号不能省略 分析:基本概念题。 13、一个变量的指针就是( ) A. 变量的名称 B. 变量的地址 C. 变量的类型 D. 变量的值 分析:基本概念题。 14. 两个指针变量不能( ) A. 相加 B. 相减 C. 比较 D. 指向同一地址 分析:基本概念题。查书或上机验证。 15. 在C 语言中,对变量的访问方式是() A. 能直接访问,也能间接访问 B. 能直接访问,不能间接访问 C. 不能直接访问,能间接访问 D. 直接、间接均不能 分析:基本概念题。 16. C 语句: int (* pa)[5]; 中,pa 表示的是一个( ) A. 指针数组的名称 B. 指向整型变量的指针 C. 指向包含5 个整型元素的一维数组的指针 D. 指向函数的指针 分析:基本概念题。 17. C 语句int * func(); 中,func 表示的是() A. 返回值为指针的函数名称 B. 指向整型变量的指针 C. 指向数组的指针 D. 指向函数的指针 分析:基本概念题。 18. 给定下列程序,假定从键盘输入数据1、2,则执行结果为( ) #include <stdio.h> void swap(int * p1, int p2) { * p1 = * p1 + p2; p2 = p2 + * p1; } void main() { int a, b, * p1; scanf("%d, %d", &a, &b); p1 = &a; swap(p1, b); printf("a = %d, b = %d\n", a, b); } A. 3,5 B. a = 3, b = 5 C. 3, 2 D. a = 3,b = 2 分析:考察传值与传址的区别。 19. 给定下列程序,则运行结果为( ) #include <stdio.h> void fun(int x, int y, int * z) { * z = x – y; } void main() { int a, b, c; fun(11, 5, &a); fun(8, a, &b); fun(a, b, &c); printf(“%d, %d, %d\n”, a, b, c); } A. 2,4,6 B. 2, 6, 4 C. 6, 2, 4 D. 6,4,2 分析:传址与传值。 20. 给定下列程序,则其运行结果为( ) #include <stdio.h> void main() { static int array[][4] = {{1, 3, 5, 7}, {9, 11, 13, 15}, {17, 19 ,21, 23}}; int (* p)[4], i, j, sum[3]; p = array; for(i = 0; i < 3; i++) { sum[i] = 0; for(j = 0; j < 4; j++) sum[i] += *(*(p + i) + j); printf(“%d, ”, sum[i]); } } A. 16, 48, 80 B. 164880 C. 144 D. 80 分析:考察用指针变量遍历二维数组的方法。重点在理解,否则考试时不可能有机会上机验证。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服