《C语言程序设计》第17章在线测试
《C语言程序设计》第17章在线测试剩余时间:53:36窗体顶端?答题须知: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数组元素不正确的引用是:A、a[p-a]B、*(&a[i])C、p[i]D、a[10]?2、以下程序运行后,main(){char *s="abcde"; s+=2; printf("%d\n",s); },输出结果是:A、cdeB、字符c的ASCII码值C、字符c的地址D、值不确定?3、有定义char p[]="AB\0CD\0E";,能输出字符串”ABCDE”的语句为:A、printf("%s",p);B、printf("%s%s%s",&p[0],p+3,p+6);C、printf("%s%s%s",&p[0],&p[2],&p[3]);D、printf("%s",&p[0]);?4、声明一个函数为外部函数,应该在声明函数的函数类型的前面加( )。A、autoB、staticC、externD、register?5、以下对C语言函数的有关描述中,正确的描述是( )。A、C函数既可以嵌套定义又可以递归调用B、函数必须有返回值,否则不能使用函数C、C程序中有调用关系的所有函数必须放在同一个源程序文件中D、在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参第二题、多项选择题(每题2分,5道题共10分)?1、以下叙述中,正确的叙述是:A、预处理命令须以#开始B、在程序中凡以#开始的语句都是预处理命令C、预处理行不是c的可编译语句D、C程序在执行过程中对预处理命令进行处理?2、以下叙述中,不正确的叙述是( )。A、函数的形参都属于全局变量B、全局变量的作用域不比局部变量的作用域范围大C、静态(static)类别变量的生存期贯穿整个程序的运行期间D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值?3、下列关于局部变量的说法中,正确的说法是( )。A、不能在复合语句中定义变量B、局部变量是在函数内部定义说明的C、形参变量属于被调函数的局部变量D、允许在不同的函数中使用相同的变量名?4、设char s[10];inti=5;,下列表达式中,不正确的表达式是( )。A、s[i+6]B、*(s+i)C、*(&s+i)D、*((s++)+i?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函数可以嵌套定义。正确错误窗体底端