一、选择题
1. 以下不合法的数值常量是( )。
A.8.0E0.5
B.lei
C.011
D.Oxabcd
【答案】A
【解析】E 前E 后有数字,E 后数字为整数,A 项E 后面为小数,错误。
2. 以下不能将键盘输入的字符串:This is a string〈回车〉读入到str 中的程序段是( )。
A.
B.
C. D.
【答案】A
【解析】在使用scanf 函数时,在输入数据时,遇到空格,或按“回车”键或按“跳格”(Tab )键时该数据 认为结束。A 项中输入This 后有一个空格,认为数据输入结束,以后的数据不能再读入到str 中,故选择A 项。 B 项用getchar 读人字符,键盘输入的所有字符均被认为是有效字符读入,用while 循环控制读入,当读入字符为 回车时结束读入,字符串被正确的读入到str 中。C 项用gets 函数读入字符串,它读入键盘输入的所有字符,遇到回车自动结束读入,所以也能正确读入字符串到str 中。D 项用do...while 和指针循环控制字符输入,依次判断输入字符是否为回车符,若不是回车符则放人字符数组中,直到读入回车符,结束循环,数组str 中正确存放人指定的字符串。
3. 若有以下程序
专注考研专业课13年,提供海量考研优质文档!
则程序的输出结果是( )。
【答案】A
【解析】当把结构体变量中的数据作为一个整体传送给相应的形参时
,传递的是实参结构体变量中的值,系统将为结构体类型形参开辟相应的存储单元,并将实参中各成员的值一一对应赋给形参中的成员,函数中形参结构体变量的改变不会影响到实参结构体变量。所以,在函数f 中对a , b 的操作不会影响main 函数中a , b 的值。
4. 若a 是数值类型,则逻辑表达式的值是( )。
A.1
B.0
C.2
D. 不知道a 的值,不能确定
【答案】A
【解析】C 语言没有专门提供逻辑类型,0作为逻辑数据代表假,非0的数作为逻辑数据代表真。C 语言同时规定,逻辑数据真为1,逻辑数据假为0。根据题意可知逻辑表达式的值为恒为“真”。
5. 以下关于C 语言数据类型使用的叙述中错误的是( )。
A. 若要准确无误差地表示自然数,应使用整数类型。
B. 若要保存带有多位小数的数据,应使用双精度类型。
C. 若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型。
D.
若只处理“
真”
和“
假”
两种逻辑值,应使用逻辑类型。
【答案】D
【解析】C 语言的数据类型有:整型、字符型、实型、枚举类型、数组类型、结构体类型、共同体类型、指针类型和空类型。在C 语言中没有逻辑类型,而是借用整型、字符型、实型来描述逻辑数据。
6. 有以下程序:
专注考研专业课13年,提供海量考研优质文档!
程序运行的结果是( )。
【答案】C
【解析】题目在定义结构体st 的同时便定义了结构体数组data 。可
知
结构体指针P 指向数组的首地址,指向
向
所以输出即输出和
7. 以下叙述中错误的是( )。
A. —个C 程序可以包含多个不同名的函数
B. —个C 程序只能有一个主函数
C.C 程序在书写时,有严格的缩进要求,否则不能编译通过
D.C 程序的主函数必须用main 作为函数名
【答案】C
【解析】一个C 程序有且只有一个主函数main 。一个C 程序可以包含多个不同名字的子函数。C 程序在书写时没有严格的缩进要求。
8. 以下关于结构化程序设计的叙述中正确的是( )。
A. —个结构化程序必须同时由顺序、分支、循环三种结构组成
B. 结构化程序使用goto 语句会很便捷
C. 在C 语言中,程序的模块化是利用函数实现的
D. 由三种基本结构构成的程序只能解决小规模的问题
【答案】C
【解析】A 项错误,一个结构化程序是顺序、分支、循环三种结构的结合,不是必须由此组成;B 项错误,程序虽然能够对输入数据的各种情况进行正确的处理,但由于程序中使用goto 语句进行流程的跳转,使得程序 的执行流程混乱,程序的可读性、可维护性均较差;D 项错误,C 语言能够编写非常强大的程序。
9. 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是 ( )。
A.C 语言程序仅可以编译执行
B.C 语言程序仅可以解释执行
C.C 语言程序既可以编译执行,又可以解释执行
D. 以上说法都不对
【答案】A
则指