一、选择题
1. 有以下程序(注:字符a 的ASCII 码值为97):
程序运行后的输出结果是( )。 A.abc B.789 C.7890 D.979800 答:B
【解析】a 、b 、c 的ASCII 值分别为97、98、99。程序中执行输出S 中的内容与10进行模运算后的值,s 是一个指针,首先指向字符a ,先执行97%10, 结果为7; 然后++s,指针指向下一个字符b ,执行98%10, 结果为8, 直到s 所指为空,故最后输出的结果为789。
2. 有以下程序:
程序运行后的输出结果是( )。 A.2, 4, 8, B.3, 6, 9,
C.3, 5, 7, D.1, 3, 5, 答:B
【解析】函数实现的功能是将数组a 中每一行的最大值放于数组b 中
,
第一行最大值为3,第二行最大值为6,第二行最大值为9。
3. 以下叙述正确的是( )
A.C 编译程序把文件后缀为B.C 编译程序把文件后缀为D. 链接程序把文件后缀为答:A
【解析】C 编译程序把文件后缀为C 的源程序文件编译成文件后缀为.obj 的二进制文件,链接将一个或多个 目标文件与程序用到的库文件连接起来,形成一个可以在操作系统直接运行的执行程序.exe , 故排除项,A 选项正确。
4. 以下叙述中正确的是( )。
A. 数组说明符的一对方括号中只能使用整型常量,而不能使用表达式 B. —条语句只能定义一个数组
C. 每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元 D. 在引用数组元素时,下标表达式可以使用浮点数 答:C
【解析】C 项正确,数组内部的变量都是同一类型,在内存中是连续存储的。A 项错误,方括号中应当是整型常量表达式,可以使用表达式,只要计算结果是整型常量即可;B 项错误,可以使用逗号隔开,来定义多个数组;D 项错误,引用数组时,下标必须是自然数,还应保证下标不越界。
5. 有以下程序
程序运行后的输出结果是( )。 A.7 B.-1 C.1 D.0
的源程序文件编译成文件后缀为.obj 的二进制文件 的源程序文件编译成文件后缀为.exe 的可执行文件 的源程序文件链接成文件后缀为.exe 的可执行文件
C.C 编译程序把文件后缀为.obj 的二进制文件编译成文件后缀为.exe 的可执行文件
答:D
【解析】自身与自身异或,结果是0。
6. 设有定义:
紧接着的赋值语句正确的是( )。
A. B. C. D. 答:A
【解析】指针赋值的正确写法:指针。
7. 设有两行定义语句:
int scanf; float case;
则以下叙述正确的是( )。 A. 两行定义语句都不合法 B. 两行定义语句都合法 C. 第1行语句不合法 D. 第2行语句不合法 答:D
【解析】预定义标识符是系统已经有过定义的标识符,用户可以重新定义,可以作为变量名。scanf 为库函 数名,属于预定义标识符,可以被用户重定义,第一行语句合法。C 语言关键字是被保留的,不能用作其他用途 的一些标识符,它们在程序中都代表着固定的含义,用户不可重新定义。case 是选择结构switch 语句中的关键字,不可被用户重定义,第二行语句不合法。
8. 有以下程序:
程序运行后的输出结果是( )。 A.8,16 B.16,32 C.8,32 D.16,16
表示p 指向x 的存储单元;表示p 是空