一、选择题
1. 有以下程序
{
程序执行后的输出结果是( )。 A.Prohsbn B.Prphsbn C.Progsbn D.Program 答:B
【解析】函数funl 功能是将字符串中元素加1,main 函数将数组第4个元素的指针传进funl 函数中,结果为Prohsbn 。
2. 有以下程序:
程序的运行结果是( )。 A.grameamee B.g a e C.programe
D. 无输出字符 答:A
【解析】定义两个指针变量p1、p2, 分别指向数组Sl 、S2首地址,在for 循环中,比较两个指针对应地址 的元素是否相等,如果相等,则输出当前指针指向地址的字符串,故答案为A 选项。
3. 若有函数声明
:
A. 函数参数array ,ptr 都是指针变量
B. 函数参数array 不是指针变量,ptr 是指针变量 C. 调用函数时,实参数组的值将一一复制给array 数组 D. 调用函数时,array 是按值传送,ptr 是按地址传送 答:A
【解析】数组名为数组的首地址,也是指向数组的指针,所以array 和ptr 都是指针,A 项正确,B 项错误。调用函数时,将实参数组首地址赋给指针array , 而不是传递整个数组元素,C 项错误。调用函数时,ar-ray 与ptr 都是按地址传送的,D 项错误。
4. 有以下程序
程序运行后的输出结果是( )。
A.
B.
c.
以下叙述正确的是( )。
答:A
【解析】外层循环i 的值分别为123,内层循确分别为123、23和3, 所以答案为A 。
5. 有以下程序:
程序运行后的输出结果是。 A.2 B.4 C. D.8 答:D
a 的初始值为2, 程序中将a 左移2位的结果赋值给b , 即相当于十进制乘以4, 结果为【解析】8。
6. 有以下程序段
当执行上述程序段,从键盘上输入555667777123后,y 的值为( )。 A.566.0 B.55566.0 C.7777.0 D.566777.0 答:A
【解析】本题考查的是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中,其中的格式命令可以说明最大域宽。在百分号(%)与格式码之间的整数用于限制从对应域读入的最大字符数。因此j 的值为55,y 的值为566.0,字符数组name 的值为7777123。
7. 对于if (表达式)语句,以下叙述正确的是( )。
A. “表达式”的值可以是任意合法的数值 B. 在“表达式”中不能出现变量 C. 在“表达式”中不能出现常量 D. “表达式”的值必须是逻辑值 答:A
【解析】单分支选择语句if 语句格式如下:if (表达式)语句体。“表达式”可以是任意合法的C 语言表达式,包括关系表达式和逻辑表达式等,也可以是任意的数值类型(包括整型、实,A 项正确。“表达式”中可以出现变量或者常量,也不一定必须是逻辑值,B 、型、字符型等)C 、D 项错误。