安徽考区C语言考试真题笔试.pdfVIP

  • 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)

1亿VIP精品文档

相关文档