2017年天津工业大学0835软件工程高级语言程序设计复试仿真模拟三套题
● 摘要
一、选择题
1. 以下关于结构化程序设计的叙述中正确的是( )。
A. —个结构化程序必须同时由顺序、分支、循环三种结构组成
B. 结构化程序使用goto 语句会很便捷
C. 在C 语言中,程序的模块化是利用函数实现的
D. 由三种基本结构构成的程序只能解决小规模的问题
【答案】C
【解析】A 项错误,一个结构化程序是顺序、分支、循环三种结构的结合,不是必须由此组成;B 项错误,程序虽然能够对输入数据的各种情况进行正确的处理,但由于程序中使用goto 语句进行流程的跳转,使得程序 的执行流程混乱,程序的可读性、可维护性均较差;D 项错误,C 语言能够编写非常强大的程序。
2. 有以下程序:
程序的运行结果是( )。
【答案】A
【解析】程序执行过程为:将a 赋给b , 调用f 函数,将b 中name 地址与gender 和score 的值传进函数,执行函数体,strcpy 函数改变b 中name 值,但由于后两个成员为值传递不能改变b 中
gender 和score 值。调用函数结束后,结构体
3. 有以下程序
程序的运行结果是( )。
A.a=2.b=l
B.a_2,b-2
C.a=l, b=l
D.a=l, b=0
【答案】A
【解析】当执行swicth 语句时,首先计算紧跟其后一对括号中的表达式的值,然后在switch 语句体内寻找与该值吻合的case 标号。如果有与该值相等的标号,则执行该标号后开始的各语句,包括在其后的所有case 和default 中的语句,直到switch 语句体结束;每当执行到break 语句时,立即跳出switch 语句体。switch 语句通常总是和break 语句联合使用,使得switch 语句真正起到分支的作用。x=l,首先进入外层分支1,接下来y=0,再进入内层分支0,执行a++,此时a=l,接下来遇到break ,跳出内层switch ; 由于外层分支中没有break 语句,会继续执行外层分支2,执行a++, b++,此时a=2, b=l; 然后遇到break 语句,跳出外层switch 。
4. 以下关于函数的叙述中正确的是( )。
A. 函数调用必须传递实参
B. 函数必须要有形参
C. 函数必须要有返回值
D. 函数形参的类型与返回值的类型无关
【答案】D
【解析】函数参数有两种:形式参数和实际参数,前者函数定义时函数名后括号内是形参列表,每个形参由类型和名称两部分组成。在定义函数时,系统并不给形参分配存储单元,当然形参也没有具体的数值,所以称它为形参,也称虚参。形参在函数调用时,系统暂时给它分配存储单元,以便存储调用函数时传来的实参。一旦函数结束运行,系统马上释放相应的存储单元;后
者函数调用时函数名后括号内是实参列表,实参可以是常量、变量或表达式。当函数返回到主调函数时,有时会有数据带给主调函数,也可以没有任何数据返回给主调函数,返 回的数据称为函数的返回值。函数形参的类型与返回值的类型无关,D 选项正确。函数可以没有形参,B 选项错误。函数可以没有返回值,C 选项错误。函数如果没有形参也就不必传递实参,A 选项错误。
5. 设有定义:则以下语句错误的是( )。
A.p=a;
B.p=b;
C.p=c; D.
【答案】A
【解析】p 为指针变量,存放变量的地址。对指针变量赋值,值必须是地址值。a 为整型变量不是地址值, 不能赋值给p , A项错误。数组名为数组首地址,b 为地址可以赋值给p , B项正确。c 为指针变量,初始化为 NULL , 与p 均为整型指针,可以将其赋值给p , C项正确。&为取地址运算符,为数组元素b[0]的地址,可以赋值给p ,D 项正确。
6. 以下选项中不能作为C 语言合法常量的是( )。
【答案】A
【解析】常量包括整型常量、实型常量、字符常量和字符串常量等。B 项,O.le+6是指数形式的常量,是合法的;C 项,是字符串常量;D 项,\011是表示八进制数整型常量。A 项错误,单引号表示字符常量,不能包含字符串,若要包含字符串,需用双引号。
7. 以下程序段中,不能实现条件“如果a
A.
B.
C.
D.
【答案】D
【解析】A 项:条件运算符?运算过程为:如果a>=b,x=—10, 否则x=10, 能实现题目中功能。B 项:如果a=b情况下有x=—10, 能实现题目中功能。如果a
8. 以下程序段中的变量已定义为int 类型,则
程序段的输出结果是( )。
相关内容
相关标签