《C语言程序设计》第17章在线测试 剩余时间: 59:54
答题须知:1、本卷满分20分。
2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分) 1、若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a, i; 其中 0 ≤ i ≤ 9, 则对a数组元素不正确的引用是:D A、a[p-a] B、*(&a[i]) C、p[i] D、a[10]
2、已知int a[]={1,2,3,4,5,6,7,8,9},*p = a; 则值为3的表达式是(A) A、p+=2,*(p++) B、p+=2,*++p C、p+=3,*p++ D、p+=2,++*p
3、若有int f(int a,int b);,则说明函数f( B)。
A、是一个内部函数 B、能被同一源程序其他文件中的函数调用 C、是一个外部函数 D、只能在本文件中使用
4、声明一个函数为外部函数,应该在声明函数的函数类型的前面加( C)。 A、auto B、static C、extern D、register
5、在主函数中定义的变量(A )。
A、只在主函数中有效 B、可以在整个文件中有效
C、可以在所有函数中有效 D、可以在被调用的函数中有效
第二题、多项选择题(每题2分,5道题共10分) 1、以下叙述中,正确的叙述是:ABC A、预处理命令须以#开始
B、在程序中凡以#开始的语句都是预处理命令 C、预处理行不是c的可编译语句
D、C程序在执行过程中对预处理命令进行处理
2、下列描述中,错误的描述是:BCD
A、凡是C源程序中行首以#标示的控制行都是预处理指令 B、预处理是指完成宏替换和文件包含指定的文件调用 C、预处理指令只能位于程序首部
D、预处理就是完成c编译程序对C源程序第一遍扫描,为编译的词法分析和语法分析做准备
3、下列对宏定义的描述中,正确的描述是:ABD A、宏不存在类型问题,宏名无类型,参数也无类型 B、宏替换不占用运行时间
C、宏替换是先求出实参表达式的值,然后带入形参运算求值 D、宏替换只不过是字符替代而已
4、以下叙述中,正确的叙述是:AB
A、预处理命令必须在程序编译前进行处理 B、在程序中凡以#开始的语句都是预处理命令 C、C程序在执行过程中对预处理命令进行处理 D、预处理行在编译阶段进行处理
5、函数中的形参若为指针,则调用时对应位置上的实参可以是( ABCD)。 A、地址 B、数组名
C、简单变量的地址 D、指针变量
第三题、判断题(每题1分,5道题共5分) 1、允许在不同的函数中使用相同的变量名。 错误
2、设int x=5,*p=&x;则&(*p)与p是同一回事。 正确
3、可以利用全局变量从函数中得到多个返回值。 正确
4、可以利用实参从函数中得到多个返回值。 正确
5、若形参是简单变量形式,则对应的实参不能是数组名。 正确