当前位置:首页 > 2012大连理工大学C语言模拟题机房题库单选、判断、填空(分章节,共十一章)
12.静态局部变量是在编译时被初始化的,故它只被赋初值一次.T 13.没有初始化的数值型静态局部变量的初值是不确定的值. F 14.对静态变量的初始化不是在编译阶段完成的.F 15.对静态数组的初始化是在编译阶段完成的. T
16.每次调用函数时,都要对静态局部变量重新进行初始化.F 17.函数调用结束后,静态局部变量所占用的空间被释放.F
18.在一个函数中定义的静态局部变量可以被另一个函数调用.F 19.在一个函数中定义的静态局部变量不能被另外一个函数所调用.T
20.当全局变量与局部变量同名时,在局部变量的作用域范围之内,全局变量起作用.F 21.计算机编译系统对宏定义在编译时进行语法检查.F
22.若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t没定义, 所以此宏定义是错误的。F
23.如果字符串与宏名相同,则不管其是否在双撇号内,都要进行宏替换.F 24.在定义宏时,在宏名与带参数的括弧之间不应加空格.T 25.一个include 命令只能指定1个被包含的文件。T
26.被包含文件是在编译时先单独生成目标文件,然后连接到可执行文件中去.F
27.被包含文件与其所在的文件(即用#include命令的源文件),在预编译后,成为同一个文件.T
28.如果被包含文件中有全局静态变量,它们在用#include命令的源文件中有效.T 29.#define 和printf 都不是C语句。T
30.数组名可以作为函数的实参和形参.T ?1556
31.数组名作为函数调用时的实参,实际上传递给形参的是数组第一个元素的值.F 32.数组名作为函数调用时的实参,实际上传递给形参的是数组全部元素的值.F
三、填空题
1. C语言中一个函数由函数首部和_____两部分组成. 函数体 2. 函数不可以进行嵌套定义,但可以进行嵌套_____. 调用
3. 如果函数不要求返回值,可用_____来定义函数为空类型. void
4. 从函数的形式上看,函数分为无参函数和_____两种类型. 有参函数【8】 5. 函数调用语句func((e1,e2),(e3,e4,e5))中含有_____个实参. 2 6. 函数的_____调用是一个函数直接或间接地调用它自身. 递归 7. 函数调用时的实参和形参之间的数据是单向的_____传递.值
8. 静态变量和外部变量的初始化是在_____阶段完成的,而自动变量的赋初值是 在_____时进行的. (编译),(运行/函数调用/调用) ?1752
第9章 指针
一、单选题
1. 下列关于指针定义的描述,错误的是(A)。 A、指针是一种变量,该变量用来存放某个变量的值 B、指针是一种变量,该变量用来存放某个变量的地址值 C、指针变量的类型与它所指向的变量类型一致 D、指针变量的命名规则与标识符相同
2. 以下程序的输出结果是(A). main()
{char str[ ]=\A、68
B、不确定的值 C、字符D的地址 D、0
3. 若有 char s1[]=\则下列语句中能够实现当字符串s1大于字符串s2时,输出s2的语句是(C)。 A、if(strcmp(s2,s1)>0)puts(s2); B、if(strcmp(s2,t)>0)puts(s2); C、if(strcmp(s1,t)>0)puts(s2); D、if(strcmp(s1,s1)>0)puts(s2);
4. 若有说明:int *p,m=5,n;以下正确的程序段是(D)。 A、scanf(\B、p=&n;scanf(\C、p=&n;scanf(\D、p=&n;scanf(\
5. char h,*s=&h;可将字符H通过指针存入变量h中的语句是(A)。 A、*s='H'; B、s='H' C、*s=H; D、s=H;
6. 函数fun用于将一字符串按相反次序显示,则横线上的表达式为(D). void fun(char *s) { if(! *s) return; _____;
printf(\
}
A、printf(\B、fun(*(s+1));
C、printf(\D、fun(s+1);
7. 若有说明:int *p1,*p2,m=5,n; 以下均是正确赋值语句的选项是(A)。 A、p1=&m;p2=p1; B、p1=&m;p2=&p1 C、p1=&m;*p2=*p1;
D、p1=&m;p2=&n;*p1=*p2;
8. 下列程序的运行结果是:(B). void fun(int *a, int *b) { int *k;
k=a;a=b;b=k; }
main( )
{ int a=3,b=6,*x=&a, *y=&b; fun(x, y);
printf(\}
A、6 3 B、3 6 C、0 0 D、编译出错
9. 字符串指针变量中存入的是(A)。 A、字符串的首地址 B、字符串变量 C、第一个字符 D、字符串
10. 以下程序的输出结果是 (D). main( )
{char str[ ]=\
A、68
B、字符D的地址 C、不确定的值 D、0
11.以下程序段给数组所有的元素输入数据,请选择正确答案填入(C)。 #include
{ int a[10],i=0;
while(i<10) scanf(\ . . . }
A、&a[i+1] B、a+i C、a+(i++) D、&a[++i]
12. 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是(C)。 A、*p=*q; B、n=*q; C、p=n; D、p=q;
13.下述函数的功能是(C). int fun(char *x) { char *y=x; while(*y++); return y-x-1; }
A、比较两个字符串的大小 B、求字符串存放位置 C、求字符串的长度
D、将字符串x连接到字符串y后面
14.在说明语句:int *f();中,标识符f代表的是(A)。 A、一个返回值为指针型的函数名 B、一个用于指向函数的指针变量 C、一个用于指向一维数组的行指针 D、一个用于指向整型数据的指针变量
15.下面程序的输出结果应该是(B ). char s[ ]=\ main() {char *p;
for ( p=s;p
共分享92篇相关文档