一、选择题
1. 对于if (表达式)语句,以下叙述正确的是( )。
A. “表达式”的值可以是任意合法的数值
B. 在“表达式”中不能出现变量
C. 在“表达式”中不能出现常量
D. “表达式”的值必须是逻辑值
答:A
【解析】单分支选择语句if 语句格式如下:if (表达式)语句体。“表达式”可以是任意合法的C 语言表达式,包括关系表达式和逻辑表达式等,也可以是任意的数值类型(包括整型、实
,A 项正确。“表达式”中可以出现变量或者常量,也不一定必须是逻辑值,B 、型、字符型等)
C 、D 项错误。
2. 有以下程序:
程序运行后的输出结果是( )。
A.256
B.652
C.2560
D.52
答:A
【解析】程序的执行过程为:调用函
数
即
回
输出字符是256, 故A 项正确。
3. 设有定义:
intk=0;
即条件成立,调
用
返条件成立,
调用返回
输出字符条件不成立,跳出循环,输出字符函数调用结束。程序运行后的输出结果
以下选项的四个表达式中与其他三个表达式的值不相同的是( )。
A.++k
B.k+=l
C.k++
D.k+1
答:C
【解析】k++表达式值为k 的值,其余为k+1的值。
4. 若变量己正确定义并赋值,则错误的赋值语句是( )。
A.a=a+l;
B.a=sizeof(double );
C.a=dllc;
D.a+l=a;
答:D
【解析】赋值号的左边必须是一个代表某个存储单元的变量名,赋值号的右边必须是C 语言
中合法的表达式。赋值运算的功能是先求出右边表达式的值,然后把此值赋给赋值号左边的变量。
5. 有以下程序:
程序的运行结果是( )。
A.aa
B.ma
C.am
D.mm
答:A
;,函数的作用是在内存的动态存储区分配一个【解析】malloc 函数的原型为:malloc (size )
长度为size 的连续空间。程序执行过程为:定义两个字符类型指针p1和p2,动态开辟10个字符类型的内存单元,并且使指针p1与P2均指向这10个内存单元的第一个单元。调用strcpy 函数,将字符串“malloc ”赋值给这10个内存单元的前7个单元,存储情况为:malloc\0,此时p1指向10个内存单元的第一个单元。再次调用strcpy 函数,这10个内存单元的第2个单元到第7个单元元素重新赋值给P2指向的内存单元以及以后的5个单元,存储情况为:alloc\0\0,此时p1和p2均指向10个内存单元的第一个单元。输出两个指针指向单元的数据值,结果为:aa ,故A 选项正确。
6. 有以下程序:
程序的运行结果是( )。
A.2,4,6,8,10,9,7,5, 3,1,
B.10,8, 6, 4,2,1, 3,5,7,9,
C.1,2,3,4, 5,6,7, 8,9,10,
D.1,3,5,7,9,10,8,6, 4, 2,
答:A
【解析】程序的执行过程为:调用函数fun ,将数组c 地址与n 数值传入函数,此函数实现,将数组偶数位置元素从中间向前依次放入数组前半段,数组奇数位置元素从中间向后依次放入数组后半段,调用结果为
7. 有如下程序:
之后依次输出。
程序运行后的输出结果是( )。