aopeng 发表于 2017-5-19 08:25:12

华师17春《C语言程序设计B》在线作业答案

华师17春《C语言程序设计B》在线作业
一、单选题:【20道,总分:40分】

1.以下能对一维数组a进行正确初始化的语句是          (满分:2)
    A. int a=(0,0,0,0,0);
    B. int a={};
    C. int a[]={0};
    D. int a={10*1};
2.下面四个选项中,均是合法转义字符的选项是          (满分:2)
    A. ‘\’’ ‘\\’‘\n’
    B. ‘\’ ‘\017’ ‘\”’
    C. \018’ ‘\f’‘xab’
    D. \\0’ ‘\101’ ‘x1f’
3.对以下说明语句的正确理解是(    )。 int a={6,7,8,9,10};          (满分:2)
    A. 将5个初值依次赋给a至a
    B. 将5个初值依次赋给a至a
    C. 将5个初值依次赋给a至a
    D. 因为数组长度与初值的个数不相同,所以此语句不正确
4.有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当是          (满分:2)
    A. A) 132<回车>
    B. 1,3,2<回车>
    C. a=1 b=3 c=2<回车>
    D. a=1,b=3,c=2<回车>
5.在一个C程序中,main函数的位置(    )。          (满分:2)
    A. 必须在程序的开头
    B. 可以在程序的任何地方
    C. 必须在其它函数中间
    D. 必须在程序的后面
6.以下能对二维数组a进行正确初始化的语句是          (满分:2)
    A. int a[]={{1,0,1},{5,2,3}};
    B. int a[]={{1,2,3},{4,5,6}};
    C. int a={{1,2,3},{4,5},{6}};
    D. int a[]={{1,0,1},{},{1,1}};
7.下列四个选项中,均是C语言关键字的选项是          (满分:2)
    A. auto enum include
    B. switch typedef continue
    C. signed union scanf
    D. if   struct type
8.以下说法正确的是          (满分:2)
    A. 输入项可以为一实型常量,如scanf(“%f”,3.5);
    B. 只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);
    C. 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f);
    D. 当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);
9.下面四个选项中,均是不合法的转义字符的选项是          (满分:2)
    A. ‘\”’‘\\’‘\xf
    B. ‘\1011’ ‘\’‘\a’
    C. ‘\011’‘\f’‘\}’
    D. ‘\abc’‘\101’‘xlf’
10.将两个字符串连接起来组成一个字符串时,选用(    )函数。          (满分:2)
    A. strlen(    )
    B. strcpy(    )
    C. strcat(    )
    D. strcmp(    )
11.在位运算中,操作数每右移一位,其结果相当于(    )。          (满分:2)
    A. 操作数乘以2
    B. 操作数除以2
    C. 操作数乘以4
    D. 操作数除以4
12.已知x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<‘B’&&!y)的值是          (满分:2)
    A. 0
    B. 语法错
    C. 1
    D. “假”
13.下面不正确的字符串常量是          (满分:2)
    A. ‘abc’
    B. “12’12”
    C. “0”
    D. “ ”
14.以下不是无限循环的语句为          (满分:2)
    A. for(y=0,x=1;x>++y;x=i++) i=x
    B. for(;;x++=i)
    C. while(1) { x++; }
    D. for(i=10;;i--) sum+=i;
15.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为          (满分:2)
    A. char<int<long int<=float<double
    B. char=int<long int<=float<double
    C. char<int<long int=float=double
    D. char=int=long int<=float<double
16.若有说明:int a;则对a数组元素的正确引用是          (满分:2)
    A. a
    B. a
    C. a(5)
    D. a
17.下面正确的字符常量是          (满分:2)
    A. “c”
    B. ‘\\’’
    C. ‘W’
    D. ‘’
18.以下不正确的C语言标识符是(    )。          (满分:2)
    A. AB1
    B. ab3
    C. 4ab
    D. a2b
19.为求出s=10!的值,则变量s的类型应当为(    )。          (满分:2)
    A. int
    B. unsigned
    C. long
    D. 以上三种类型均可
20.若有说明:int a={0};则下面正确的叙述是          (满分:2)
    A. 只有元素a可得到初值0
    B. 此说明语句不正确
    C. 数组a中各元素都可得到初值,但其值不一定为0
    D. 数组a中每个元素均可得到初值0
二、多选题:【15道,总分:30分】

1.若有?char?ch;,下面可以对变量c正确赋值的语句是:          (满分:2)
    A. ch?=‘A’;
    B. getchar(ch);
    C. ch?=?getchar(    );
    D. scanf(“%c”,&ch);
2.下列函数中,能够输出字符数据的函数有          (满分:2)
    A. puts(?)
    B. printf(?)
    C. scanf(?)
    D. putchar(?)
3.以下正确的说法有          (满分:2)
    A. C语言程序的基本组成单位是函数;
    B. 函数必须要有返回值;
    C. 一个函数的类型为void,在定义时,可以省略void;
    D. 函数声明是一条C语句
4.在C语言中,包括以下哪几类标识符?          (满分:2)
    A. 关键字
    B. 系统预定义的标识符
    C. 用户标识符
5.关于条件运算符的叙述正确的是          (满分:2)
    A. 条件运算符的优先级别比关系运算符和算术运算符都低;
    B. 条件运算符是C语言中惟一的一个三目运算符;
    C. 条件运算符的结合方向是“自右至左” ;
    D. 条件运算符可以替代任何if语句的功能
6.以下关于函数定义描述正确的是?          (满分:2)
    A. 指定函数的名字,以便以后按名调用
    B. 指定函数的类型,即函数值的类型
    C. 指定函数的参数的名字和类型,以便在调用函数时向它们传递数据。
    D. 指定函数应当执行什么操作,也就是函数是做什么的。
7.以下关于函数的叙述正确的有          (满分:2)
    A. 一个C语言程序有且仅有一个main函数;
    B. C语言程序中,main函数是没有参数的;
    C. 一个函数通过其他函数间接的调用了自身,这种情况也是一种递归调用;
    D. main函数是由系统调用的
8.关于switch语句叙述正确的是          (满分:2)
    A. 语句中,case的冒号后面允许没有语句。
    B. switch语句中,每一个case的冒号后面都允许跟有多条语句。
    C. 在与switch语句配套的case语句中所使用的表达式可以是变量或常量。
    D. switch语句中,可以没有default语句。
9.以下关于二维数组初始化的描述正确的是?          (满分:2)
    A. 分行给二维数组赋初值
    B. 可以将所有数据写在一个花括号内,按数组排列的顺序对各元素赋初值
    C. 可以对部分元素赋初值
    D. 如果对全部元素都赋值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。
10.定义了一维int型数组a后,下面正确的引用有:          (满分:2)
    A. a=1;
    B. a=2;
    C. a=5*2;
    D. a=a*a;
11.假设float?x,y,z;,并通过scanf("%f%f%f?",&a,&b,&c);对a赋于10.0,b赋予22.0,c赋予33.0的值,下面正确的输入形式是(注:符号【代表空格):          (满分:2)
    A. 10<回车>22<回车>?33<回车>
    B. 10.0<回车>22.0<回车>33.0<回车>
    C. 10.0,22.0,33.0<回车>
    D. 10.0【22.0【33.0<回车>
12.下面叙述中,正确的有          (满分:2)
    A. 函数的定义不能嵌套,但函数调用可以嵌套;
    B. 为了提高可读性,编写程序时应该适当使用注释;
    C. 变量定义时若省去了存储类型,系统将默认其为静态型变量;
    D. 函数中定义的局部变量的作用域在函数内部
13.下列语句中,正确的有:          (满分:2)
    A. char?str="hello";
    B. char?str[]={'h','e','l','l','o','\0'};
    C. char?str={"hi"};
    D. char?str="";
14.下面属于转义符的有:          (满分:2)
    A. ‘\t?’
    B. ‘\n’
    C. ‘%d’
    D. ‘\376’
15.以下哪些函数可以实现字符的输入?          (满分:2)
    A. putchar函数
    B. getchar函数
    C. printf函数
    D. scanf函数
三、判断题:【15道,总分:30分】

1.设i,j,k均为int型变量,则执行完for(i=0,j=10;i<=j;i++,j--) k=i+j;语句后,k的值为11。          (满分:2)
    A. 错误
    B. 正确
2.如果被定义函数的返回值类型是整型或字符型,使用前可以不必进行说明。          (满分:2)
    A. 错误
    B. 正确
3.在一个函数定义中,只能有一个return语句。          (满分:2)
    A. 错误
    B. 正确
4.代数式(x-y)2×(a+b)对应的C语言表达式为(x-y)*(x-y)*(a+b)。          (满分:2)
    A. 错误
    B. 正确
5.若有定义:int a,*p;,则操作p=a;是合法的操作。          (满分:2)
    A. 错误
    B. 正确
6.实际上,可以用顺序、分支、循环三种结构构造任何算法。          (满分:2)
    A. 错误
    B. 正确
7.C语言在判断一个量是否为真时,以非0值代表“真”,以0值代表“假”。          (满分:2)
    A. 错误
    B. 正确
8.C程序有且仅有一个main(    )函数。          (满分:2)
    A. 错误
    B. 正确
9.在C程序中,函数调用可以作为函数的形参。          (满分:2)
    A. 错误
    B. 正确
10.当主程序执行完毕时,亦即程序执行完毕。          (满分:2)
    A. 错误
    B. 正确
11.两个char 型数据相加,其结果为char型。          (满分:2)
    A. 错误
    B. 正确
12.变量分为全局和局部两种,自动局部变量没有赋初值时,其值是不确定的。          (满分:2)
    A. 错误
    B. 正确
13.在C语言中,任何一个表达式的最后加上一个分号就构成一个合法的语句。          (满分:2)
    A. 错误
    B. 正确
14.若a=1,b=2,c=3,则执行表达式(a>b)&&(c++)后,c的值为4。          (满分:2)
    A. 错误
    B. 正确
15.C语言中,任意两个函数间不能嵌套定义,但可以互相调用。          (满分:2)
    A. 错误
    B. 正确


zr123 发表于 2017-5-20 12:13:13

在做作业,求解题参考资料。
页: [1]
查看完整版本: 华师17春《C语言程序设计B》在线作业答案