- 11
- 0
- 约2.23万字
- 约 15页
- 2022-07-07 发布于上海
- 举报
安徽考区C语言考试真题笔试 2022/7/7
安徽考区C语言考试真题笔试
一、选择题 (请在 【答题】菜单上选择 【选择题】命令,启动选择题测试程序,
照题目上的内容进行答题。作答选择题时键盘被封锁,使用键盘无效,考生须使用
鼠标答题。选择题部分只能进入一次,退出后不能再次进入。选择题部分不单独计
时。)
1、有以下程序
#include stdio.h
#include stdlib.h
void fun(int **s, int x [2][3])
{
**s =*(x [1] 1);
}
void main()
{
int a[2][3]={1,2,3,4,5,6},*p;
p = (int *)malloc(sizeof(int));
fun(p,a);
printf(%d\n,*p);
}
程序的运行结果是 ( )。
A . 5
B. 2
C . 6
D. 3
『正确答案』
A
『答案解析』
malloc()函数的返回值是新分配的存储区的首地址,将该地址赋值给p指针,然后取p指针的地址,调用fun函数。fun函数中对
指向指针的指针s指向的内存单元赋值,其中x[1]表示二维数组x 的第二行的行地址,x[1] 1表示二维数组x 的第二行第二列的
地址,所以fun函数的功能是将二维数组x 的第二行第二列的值,即x[1][1]赋值给**s,*s为p,所以**s代表*p,*p即为a[1]
[1],答案选择A 选项。
2、有如下程序
#include stdio.h
main()
{
int i, *ptr;
int array [5] = {5,3,1};
for (ptr=array , i=0; i5; i , ptr )
{
if (*ptr == 0)
putchar(X);
else
putchar(A *ptr);
}
printf(\n);
}
程序运行后的输出结果是 ( )。
A . A BCDE
B. FFFXX
C . FDBBB
D. FDBXX
编号:f50f68a60b6dfa0b5f33ffe46ab119b0 1
安徽考区C语言考试真题笔试 2022/7/7
『正确答案』
D
『答案解析』
对数组进行初始化时,如果在说明数组时给出了长度,但没有给所有的元素赋予初始值,而只依次给前面的几个数组元素赋
予初值,那么C语言将自动对余下的元素赋初值,即array ={5,3,1,0,0} 。程序执行过程为:执行for循环,将数组首地址赋给
指针ptr,依次遍历每一个元素,如果数组元素为0则输出X,如果不为0则 照字母表输出字符A 后第array[i]个字符。程序运
行后的输出结果为:FDBXX ,答案选择D选项。
3、设有定义:double x =2.12;,以下不能完整输出变量x 值的语句是 ( )。
A . printf(x =%5.0f\n,x);
B. printf(x =%f\n,x);
C . printf(x =%lf\n,x);
D. printf(x =%0.5f\n,x);
『正确答案』
A
『答案解析』
printf函数控制字符%f输出float类型,%lf输出double类型。格式控制%m.nf ,表示数据输出总的宽度为m位
原创力文档

文档评论(0)