2016年陕西科技大学电气与信息工程学院822微机原理与程序设计(加试)之C程序设计复试笔试仿真模拟题
● 摘要
一、选择题
1. 以下叙述中正确的是( )。
A. 只要是用户定义的标识符,都有一个有效的作用域
B. 只有全局变量才有自己的作用域,函数中的局部变量没有作用域
C. 只有在函数内部定义的变量才是局部变量
D. 局部变量不能被说明为static
答:A
【解析】A 项正确,标识符的“作用域”是指程序中的某一部分中,标识符是有定义的,可以被C 编译和 连接程序所识别。在C 语言中,由用户命名的标识符都有一个有效的作用域。B 项
;C 项错误,在函数内部或复合语句内错误,局部变量的作用域是所 在的函数体(或复合语句)
部定义的变量,称为局部变量;D 项错误,在 函数体(或复合语句)内部用static 来说明一个变量时,变量为静态局部变量。
2. 有以下程序:
程序的运行结果是( )。
A.2,4,6,8,10,9,7,5, 3,1,
B.10,8, 6, 4,2,1, 3,5,7,9,
C.1,2,3,4, 5,6,7, 8,9,10,
D.1,3,5,7,9,10,8,6, 4, 2,
答:A
【解析】程序的执行过程为:调用函数fun ,将数组c 地址与n 数值传入函数,此函数实现,将数组偶数位置元素从中间向前依次放入数组前半段,数组奇数位置元素从中间向后依次放入数组后半段,调用结果为
3. 文件不存在或是被锁定!
答:
4. 有以下程序:
程序运行后的输出结果是( )。
A.5, 11
B.7, 1
C.7, 11
D.6, 1
答:B
【解析】第一' 次循环,a=l,b=b+a=3,a=a+2=3,b=b%10=3;
第二次循环,a=3,b=b+a=6,a=a+2=5,b=b%10=6;
第二次循环,a=5,b=b+a=ll,a=a+2=7,b=b%10=l; 结束循环。
5. 若变量已正确定义为int 型,要通过语句
之后依次输出。 给a 赋值1,给b 赋值2, 给C 赋值3,以下输入形式中错误的是(u 代表一个空格)( )。
A. B. C. D.
答:B
【解析】格式化输入函数scanf ,每个输入格式说明之间加一个逗号作为通配符,要求除格式控制符以外的字符都要原样输入,逗号为非格式符,需要原样输入,否则就不能正确读入数据。
6. 有以下程序:
若要使程序的运行结果为248, 应在下画线处填入的是( )。
A.
B.1248 C. D.
答:D
【解析】要输入248,是124的两倍,124为01111100,248为11111000,因此只要左移一位即可。
7. 有以下程序段:
当执行上述程序段,并从键盘输入:name=Lilinum=1001<回车>后,name 的值为( )。
A.Lili
B.name=Lili
C.Lilinum=
D.name=Lilinum=1001
答:A
【解析】在C 语言中输入多个字符串时,系统会把空格字符作为输入的字符串之间的分隔符。本题中,由于输入两个变量,所以中间应该以回车键为间隔,当从键盘输入name=Lilinum=1001只是输入第一个变量,并且只将Lili 赋值给了name 。
8. 有如下程序:
程序运行后的输出结果是( )。
A.5 4 3 2 1
B.0 1 2 34
C.4 5 6 7 8
D.1 2 3 4 5
答:D
【解析】本题程序执行过程为:在依次输出1、2、3、4、5,D 项正确。
时依次输出即调用sum 函数后