《C语言程序设计》第17章在线测试
剩余时间: 46:14
答题须知:1、本卷满分20分。
2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题1分,5道题共5分)
1、以下程序运行后,main(){char *s=\"abcde\"; s+=2; printf(\"%d\\n\},输出结果是:
A、cde
C、字符c的地址
B、字符c的ASCII码值 D、值不确定
2、已知int a[]={1,2,3,4,5,6,7,8,9},*p = a; 则值为3的表达式是()
A、p+=2,*(p++) C、p+=3,*p++
B、p+=2,*++p D、p+=2,++*p
3、声明一个函数为外部函数,应该在声明函数的函数类型的前面加( )。
A、auto C、extern
B、static D、register
4、在主函数中定义的变量( )。
A、只在主函数中有效 C、可以在所有函数中有效
B、可以在整个文件中有效 D、可以在被调用的函数中有效
5、如果全局的外部变量和函数体内定义的局部变量重名,则( )。
A、出错
C、外部变量优先
B、局部变量优先 D、全局的外部变量优先
第二题、多项选择题(每题2分,5道题共10分)
1、以下叙述中,正确的叙述是:
A、预处理命令须以#开始
B、在程序中凡以#开始的语句都是预处理命令 C、预处理行不是c的可编译语句
D、C程序在执行过程中对预处理命令进行处理
2、下列描述中,错误的描述是:
A、凡是C源程序中行首以#标示的控制行都是预处理指令 B、预处理是指完成宏替换和文件包含指定的文件调用 C、预处理指令只能位于程序首部
D、预处理就是完成c编译程序对C源程序第一遍扫描,为编译的词法分析和语法分析做准备
3、以下叙述中,正确的叙述是:
A、预处理命令必须在程序编译前进行处理 B、在程序中凡以#开始的语句都是预处理命令 C、C程序在执行过程中对预处理命令进行处理 D、预处理行在编译阶段进行处理
4、以下叙述中,不正确的叙述是( )。
A、函数的形参都属于全局变量
B、全局变量的作用域不比局部变量的作用域范围大
C、静态(static)类别变量的生存期贯穿整个程序的运行期间
D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值
5、下列关于局部变量的说法中,正确的说法是( )。
A、不能在复合语句中定义变量 B、局部变量是在函数内部定义说明的
C、形参变量属于被调函数的局部变量 D、允许在不同的函数中使用相同的变量名
第三题、判断题(每题1分,5道题共5分)
1、在C语句中,&后跟指针变量名,表示该指针变量的地址。
正确
错误
2、设int x=5,*p=&x;则&(*p)与p是同一回事。
正确
错误
3、若有int a[10],*p=a;,则p++可以使p指向下一个字节。
正确
错误
4、若形参是简单变量形式,则对应的实参不能是数组名。
正确
错误
5、C函数可以递归调用。
正确
错误
恭喜,交卷操作成功完成!你本次进行的《C语言程序设计》第17章在线测试的得分为 20分(满分20分),本次成绩已入库。若对成绩不满意,可重新再测,取最高分。
测试结果如下:
[单选] [对] 以下程序运行后,main(){char *s=\"abcde\"; s+=
2; printf(\"%d\\n\},输出结果是:
[单选] [对] 已知int a[]={1,2,3,4,5,6,7,8,9},*p = a; 则值
为3的表达式是()
[单选] [对] 声明一个函数为外部函数,应该在声明函数的函数类
型的前面加( )。
[单选] [对] 在主函数中定义的变量( )。
[单选] [对] 如果全局的外部变量和函数体内定义的局部变量重
名,则( )。
[多选] [对] 以下叙述中,正确的叙述是: [多选] [对] 下列描述中,错误的描述是: [多选] [对] 以下叙述中,正确的叙述是: [多选] [对] 以下叙述中,不正确的叙述是( )。
[多选] [对] 下列关于局部变量的说法中,正确的说法是( )。 [判断] [对] 在C语句中,&后跟指针变量名,表示该指针变量的地
址。
[判断] [对] 设int x=5,*p=&x;则&(*p)与p是同一回事。 [判断] [对] 若有int a[10],*p=a;,则p++可以使p指向下一个
字节。
[判断] [对] 若形参是简单变量形式,则对应的实参不能是数组名。
[判断] [对] C函数可以递归调用。
因篇幅问题不能全部显示,请点此查看更多更全内容