练习45

二级C语言必过教程

共 1665字,需浏览 4分钟

 ·

2021-08-03 03:03

点击蓝字

关注我们

DRAGON BOAT FESTIVAL




练习45


考试规则:点击你认为正确的选项

1.有以下程序

#include <stdio.h>#include <stdlib.h>void fun(int *p1,int *p2,int *s ){    s=( int * )malloc( sizeof(int) );    *s=*p1 + *(p2++);}main(){    int a[2]={1,2 }, b[2]={10,20}, *s=a;    fun( a,b,s );    printf("%d\n", *s ); .}

程序运行后的输出结果是( ),

A.11

回答错误 ✕

B.10

回答错误 ✕

C.1 

回答正确 √

试题解析

本题考查把数组名作为函数参数,执行fun函数后,s的值并没有发生变化,仍然是指向a,所以输出结果为1,选项C正确。



D.2

回答错误 ✕

点击答题丨点击选项查看对错丨展开动画


2.有以下程序

#include <stdio.h>main(){    char a[4]14]={ ‘’};    int I,j;    for(i=0;i<4; i++)    {     a[i[0]=a[][3]='#; .          for(j=1;j<3; j++)          {     a[0][j]=a[3]j]='#;                if((i!=0)&(i!=3))                     a[i]i]='o';            }        }        for(i=1;i<3; i++)        {            for(j=0; j<4.j+)                print("%2c",a[i][]);            printf("\n");        }}

程序的运行结果是( )。

A.#oo##oo#

回答正确 √


试题解析

程序的执行过程为:定义4行4列二维数组字符a并且初始化为a[0][0]=",其他元素均为0。执行for循环将数组第-列和第四列赋值为'#'。执行for循环将数组第一行和第四行的第二个到第三个元素赋值为'#',然后将剩余元素全部赋值为'o’。此时矩阵为{{#,#,#,#},{#,o,0,#},{#,o,0,#),{#,#,#,#}}。之后输出矩阵第二行与第三行元素为: #oo#<回车> #oo#, A选项正确。



B.#####oo#

回答错误 ✕

C.#oo#####

回答错误 ✕


D.########

回答错误 


点击答题丨点击选项查看对错丨展开动画



3.有以下程序

#include <stdio.h>int new. _div(double a, double b){        returna/b+0.5;} .main( ){    printf("%d", new. _div(7.8, 3.1));}

程序运行后的输出结果是( )。

A.1

回答错误 ✕

B.2

回答错误 ✕

C.3

回答正确 √


试题解析

new_ div()的返回值是int类型,因此, a/b(a, b均为double类型)+0.5的小数部分被将被截断。经计算,7.8/3.1+0.5-2.516+0.5-3.01 6,故打印的结果为3。故答案为C选项





D.0

回答错误 ✕

点击答题丨点击选项查看对错丨展开动画


球分享

球点赞

球在看


浏览 16
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报