一、选择题
1. 以下选项中,能用作数据常量的是( )。
答:D
【解析】A 项错误,十六进制数用数学0和字符x (或大写字母X )开头;B 项错误,八进制整数常量以数字0开始,有效数字为0〜7; C项错误,C 语言中实型常量有两种表示:小数形式和指数形式。指数形式中,字母e (或E )之前必须要有数字,且后面的指数必须为整数。
2. 为了避免在嵌套的if-else 语句中产生二义性,C 语言规定与else 子句配对是( )。
A. 与其在同一行上的if 子句
B. 在其之后最近的不带else 的if 子句
C. 与其缩排位置相同的if 子句
D. 在其之前最近的不带else 的同层if 子句
答:D
【解析】if 总是与它上面最近的、未配对的else 配对。
3. 若有定义语句A.char
B.int
C.double
D.float
答:c 则表达式值的类型是( )。
【解析】在多目运算符相关联的运算数中,如果类型不一致,系统将自动进行类型转换,使两边的类型达到一直后,再进行运算,转换的规则是由“低到高”。
double 型,即选择答案C 。
4. 以下关于函数的叙述正确的是( )。
A. 当程序中对文件的所有写操作完成之后,必须调用
B. 当程序中对文件的所有写操作完成之后,不一定要调用
C. 只有对文件进行输入操作之后,才需要调用
D. 只有对文件进行输出操作之后,才能调用
是字符型,a 是整型,b 是double 型。字符型数据占1个字节,整型占2个字节,double 型占8个字节,故三者相加后为函数关闭文件 _函数关闭文件 函数关闭文件 函数关闭文件
答:A
【解析】程序编写者应该在程序终止之前关闭所有文件,如果不关闭,文件将会丢失数据。用fdose 函数关闭文件,它先把缓冲区中的数据输出到磁盘文件,然后才释放文件指针变量。所以对文件的所有写操作完成之后必须要关闭文件,A 项正确,B 项错误。只要对文件进行操作后,都要调用fclose 文件关闭文件,C 、D 项错误。
5. 表达式:(int )((double )9/2-(9)%2)的值是( )。
A.0
B.3
C.4
D.5
答:B
,【解析】运算符“/”“%”的优先级高于“-”故先进行除法和求余运算,再进行减法运算。
强制类型转换表达式的形式为:(类型名)(表达式)。“9/2”转换成double 类型,再转换成int 类型,结果为4, 减号后面的结果为1,故结果为3。
6. 有如下程序:
程序运行时,从键盘输入2,输出结果是( )。
A.ykpf
B.wind
C.xjoe
D.2222
答:A
【解析】程序执行过程为:定义字符数组str 并且初始化为:“wind”,定义password 并通过scanf 函数从 键盘为其赋值2。定义指针p 并使其指向字符串。通过while 循环,将字符数组中每一个字符的码加2, 并且按字符格式输出每一个字符。程序运行后输出结果是:ykpf 。
7. 以下关于逻辑运算符两侧运算对象的叙述中正确的是( )。
A. 可以是任意合法的表达式
B. 只能是整数0或非0整数
C. 可以是结构体类型的数据
D. 只能是整数0或1
答:A
【解析】C 语言的逻辑运算符比较特别,它的操作数没有明确的数据类型,可以是任意合法的表达式。
8. 有以下程序(其中的函数头部格式为:确定p2字符串是否在pi 中出现,并返回p2第一次出现的字符串首地址):
程序的运行结果是( )。
A.to Bering!
B.you to Bering!
C.Welcome you to Bering!
D.Bering!
答:A
【解析】调用strstr 函数,可知a 指向的字符串在b 指向的字符串中第一次出现的位置,并将
,并且作为函此地址赋给指 针p 。strlen ( )函数是求字符串的实际长度(不包含结束标志)
数值返回。strstr 函数返回的地址 下标值为9, 加上a 长度3, 再加1,此时P 指向的地址下标值为13, 输出“toBeijing! ”,故A 选项正确。
9. 有以下程序(strcpy 为字符串复制函数,strcat 为字符串连接函数):
程序运行后的输出结果是( )。
A.al2xyz
B.12yz
C.a2yz
D.bc2yz