open 发表于 2017-5-6 14:10:14

北交17春《C语言程序设计》在线作业一二答案

北交17春《C语言程序设计》在线作业一

一、单选题:
1.以下可作为函数 fopen 中第一个参数的正确格式是(    )。          (满分:2)
    A. c:\user\file.txt
    B. "c:\user\file.txt"
    C. "c:\\user\\file.txt"
    D. c:user\file.txt
2.已知: int a[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+2 ;则值为 3 的表达式是(    )。          (满分:2)
    A.(*p)++
    B. *p++
    C. *++p
    D. ++*p
3.已知:int i=6,j;,则执行语句j=(++i)+(i++)后的j值是(    )。(    )          (满分:2)
    A. 4
    B. 14
    C. 13
    D. 15
4.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是(    )。          (满分:2)
    A. float型
    B. int型
    C. long型
    D. double型
5.C语言程序从main(    )函数开始执行,所以这个函数要写在(    )。          (满分:2)
    A. 程序文件的开始
    B. 程序文件的最后
    C. 它所调用的函数的前面
    D. 程序文件的任何位置
6.调用strlen("abcd\0\ef\0g")的返回值是(    )。          (满分:2)
    A. 4
    B. 5
    C. 8
    D. 9
7.若有初始化语句“ int a={1,2,3,4,5}; ”,值为 4 的表达式是(    )。          (满分:2)
    A. a
    B. a+1]
    C. a]
    D. a+1
8.若有输入语句scanf( "%d%d%d", &x,&y,&z);则不能使x值为5, y值为6, z值为7的输入是(    )。          (满分:2)
    A. 5,6 ,7<回车>
    B. 5 6 7<回车>
    C. 5 6 <回车> 7<回车>
    D. 5<回车>,6<回车>,7<回车>
9.以下说法下确的是(    )。          (满分:2)
    A. C语言程序总是从第一个的函数开始执行
    B. 在C语言程序中,要调用的函数必须在main(    )函数中定义
    C. C语言程序总是从main(    )函数开始执行
    D. C语言程序中的main(    )函数必须放在程序的开始部分
10.已知:int a,*p=&a;,则下列函数调用中错误的是(    )。(    )          (满分:2)
    A. scanf("%d",&a);
    B. scanf("%d",p);
    C. scanf("%d",*p);
    D. printf("%d",a);
11.C语言是(    )语言。          (满分:2)
    A. 高级
    B. 中级
    C. 机器
    D. 汇编
12.设n=3;则执行 ++n语句后,n的值为(    )。(    )          (满分:2)
    A. 5
    B. 4
    C. 3
    D. 2
13.有以下程序片段 int n=0,p; do { scanf(%d&quot;,&p); n++; } while(p!=12345&&n<3); 此处 do-while 循环的结束条件是(    )          (满分:2)
    A. p的值不等于12345并且n的值小于3
    B. p的值等于12345并且n的值大于等于3
    C. p的值不等于12345或且n的值小于3
    D. p的值等于12345或且n的值大于等于3
14.数组int**a占据多大空间          (满分:2)
    A. 64
    B. 12
    C. 48
    D. 128
15.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是(    )。          (满分:2)
    A. 1
    B. 2.0
    C. 2
    D. 2.5
二、多选题:
1.下列(    )(    )数据类型属于C语言提供的基本数据类型。          (满分:3)
    A. 数组类型
    B. 指针类型
    C. 整型
    D. 结构体类型
    E. 空类型
    F. 字符型
    G. 实型
    H. 共用体类型
2.带参宏定义与函数的区别是:(    )。          (满分:3)
    A. 函数调用时,先求出实参表达式的值,然后代入形参,带参的宏只是进行简单的字符替换
    B. 函数调用是在程序运行时为形参分配临时的存储单元,而宏展开是在编译前进行的
    C. 宏不存在类型问题,宏名和参数都不存在类型问题
    D. 调用函数只能得到一个返回值,而使用宏可设法得到几个结果
3.函数调用可以(    )。          (满分:3)
    A. 出现在一个表达式中
    B. 出现在执行语句中
    C. 作为一个函数的实参
    D. 作为一个函数的形参
4.关于宏定义的说法正确的是:          (满分:3)
    A. <p>宏名一般习惯用大写字母表示,以便与变量名相区别</p>
    B. 使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
    C. 宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
    D. 宏定义不是C语句,不必在行末加分号
5.关于静态局部变量的说明正确的是(    )。          (满分:3)
    A. 静态局部变量存储在静态存储区
    B. 静态局部变量是在编译时赋初值的,即只赋一次值,在程序运行时它已有初值
    C. 若在定义局部变量时不赋初值,则编译时自动赋初值为0或空字符
    D. 虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的
6.在动态存储区中主要存放以下数据(    )。          (满分:3)
    A. 函数形式参数
    B. 自动变量
    C. 函数调用时的现场保护和返回地址
    D. 全局变量
7.已知:int x,a,b;下列选项中正确的if语句是(    )。          (满分:3)
    A. if(a=b) x++;
    B. if(a=<b) x++;
    C. if(a-b) x++;
    D. if(x) x++;
8.下列说法不正确的是(    )。          (满分:3)
    A. C程序由符号构成
    B. C程序由标识符构成
    C. C程序由函数构成
    D. C程序由C语句构成
9.下列字符中能构成标识符的是(    )。          (满分:3)
    A. 数字字符
    B. 连接符
    C. 下划线字符
    D. 大写字母
10.在C语言中,正确的int类型的常数是:(    )。          (满分:3)
    A. 0
    B. 32768
    C. 037
    D. 0xaf
11.下列关于#include命令的叙述中,正确的是(    )。          (满分:3)
    A. 一个#include命令中只能指定一个被包含文件
    B. 一个#include命令中可以指定多个被包含文件
    C. 一个被包含文件中又可以包含另一个被包含文件
    D. #include命令中,文件名可以用双引号或尖括号括起来
12.内存中供用户使用的存储空间可分为:(    )。          (满分:3)
    A. 程序区
    B. 静态存储区
    C. 动态存储区
    D. 数据存储区
13.以下说法不正确的是(    )。          (满分:3)
    A. 定义函数时,形参的类型说明可以放在函数体内
    B. return后边的值不能为表达式
    C. 如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
    D. 如果形参与实参的类型不一致,以实参类型为准
14.以下(    )是正确的转义字符。(    )          (满分:3)
    A. ‘\\'
    B. ‘\’
    C. ‘\81'
    D. ‘\0'
15.设有如下定义:int(*ptr)(    );则以下叙述中不正确的是(    )。          (满分:3)
    A. ptr是指向一维数组的指针变量
    B. ptr是指向int型数据的指针变量
    C. ptr是指向函数的指针,该函数返回一个int型数据
    D. ptr是一个函数名,该函数的返回值是指向int型数据的指针
三、判断题:
1.在C语言中,不区分字母的大小写。(    )          (满分:2.5)
    A. 错误
    B. 正确
2.对于二维数组a,则a表示是第二行的首地址。          (满分:2.5)
    A. 错误
    B. 正确
3.free函数只能释放malloc(    )函数分配的存储空间。          (满分:2.5)
    A. 错误
    B. 正确
4.假定x和y为double型,则表达式x=2,y=x+3/2的值是3。          (满分:2.5)
    A. 错误
    B. 正确
5.在C语言中,变量不区分大小写。          (满分:2.5)
    A. 错误
    B. 正确
6.逻辑运算符的优先级比算术运算符高。          (满分:2.5)
    A. 错误
    B. 正确
7.C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。(    )          (满分:2.5)
    A. 错误
    B. 正确
8.若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是4。          (满分:2.5)
    A. 错误
    B. 正确
9.宏定义就是用宏名代替一个字符串,也就是简单的置换,不作对性检查。          (满分:2.5)
    A. 错误
    B. 正确
10.c程序是由c文件构成,而c文件是由函数构成。          (满分:2.5)
    A. 错误
    B. 正确
北交《C语言程序设计》在线作业二

一、单选题:
1.已知: int a[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+2 ;则值为 3 的表达式是(    )。          (满分:2)
    A.(*p)++
    B. *p++
    C. *++p
    D. ++*p
2.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是(    )。          (满分:2)
    A. float型
    B. int型
    C. long型
    D. double型
3.二进制语言是属于面向(    )的语言。          (满分:2)
    A. 机器
    B. 过程
    C. 问题
    D. 对象
4.执行以下程序段后, x, y和z的值分别是(    )。int x=10,y=20,z=30;if(x>y) z=x; x=y; y=z;          (满分:2)
    A. 10,20,30
    B. 20,30,30
    C. 20,30,10
    D. 20,30,20
5.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(    )。          (满分:2)
    A. INPUT x、y、z;
    B. scanf(“%d%d%d”,&x,&y,&z);
    C. scanf(“%d%d%d”,x,y,z);
    D. read(“%d%d%d”,&x,&y,&z);
6.已知int a=4;执行语句a+=a-=(a-2)*(a-2);后,a的值是(    )。          (满分:2)
    A. 0
    B. 6
    C. -24
    D. -60
7.若有初始化语句“ int a={1,2,3,4,5}; ”,值为 4 的表达式是(    )。          (满分:2)
    A. a
    B. a+1]
    C. a]
    D. a+1
8.以下说法下确的是(    )。          (满分:2)
    A. C语言程序总是从第一个的函数开始执行
    B. 在C语言程序中,要调用的函数必须在main(    )函数中定义
    C. C语言程序总是从main(    )函数开始执行
    D. C语言程序中的main(    )函数必须放在程序的开始部分
9.若变量已正确定义,执行语句scanf("%d%d%d ",&k1,&k2,&k3);时,(    )是正确的输入。          (满分:2)
    A. 2030,40
    B. 20 30 40
    C. 20, 30 40
    D. 20, 30,40
10.C语言中最简单的数据类型包括(    )。          (满分:2)
    A. 整型、实型、逻辑型
    B. 整型、实型、字符型
    C. 整型、字符型、逻辑型
    D. 整型、实型、逻辑型、字符型
11.数组int**a占据多大空间          (满分:2)
    A. 64
    B. 12
    C. 48
    D. 128
12.不合法的八进制数是(    )          (满分:2)
    A. 0
    B. 028
    C. 077
    D. 01
13.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是(    )。          (满分:2)
    A. 1
    B. 2.0
    C. 2
    D. 2.5
14.若w=1,x=2,y=3,z=4;,则条件表达式w>x?w:y<z?y:z的结果为(    )。(    )          (满分:2)
    A. 4
    B. 3
    C. 2
    D. 1
15.C语言是(    )语言。          (满分:2)
    A. 高级
    B. 中级
    C. 机器
    D. 汇编
二、多选题:
1.不与while(x)语句中的x等价的是(    )。          (满分:3)
    A. x= =0
    B. x= =1
    C. x!=1
    D. x!=0
2.以下对C语言函数的有关描述中,错误的是:(    )。          (满分:3)
    A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
    B. 函数既可以嵌套定义又可以递归调用
    C. 函数必须有返回值,否则不能使用函数
    D. 程序中有调用关系的所有函数必须放在同一个源程序文件中
3.在文件操作中,用于检测和设置文件状态的函数有(    )。          (满分:3)
    A. 文件结束检测函数feof(    )
    B. 读写文件出错检测函数ferror(    )
    C. 文件出错和结束标志文件函数才clearerr(    )
    D. 文件关闭函数fclose(    )
4.关于静态局部变量的说明正确的是(    )。          (满分:3)
    A. 静态局部变量存储在静态存储区
    B. 静态局部变量是在编译时赋初值的,即只赋一次值,在程序运行时它已有初值
    C. 若在定义局部变量时不赋初值,则编译时自动赋初值为0或空字符
    D. 虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的
5.以下对一维数组a进行初始化,错误的语句是(    )。          (满分:3)
    A. int a=(0,0,0,0,0);
    B. int a={};
    C. int a={0};
    D. int a={10,9,8}
6.关于宏定义的说法正确的是:          (满分:3)
    A. <p>宏名一般习惯用大写字母表示,以便与变量名相区别</p>
    B. 使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
    C. 宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
    D. 宏定义不是C语句,不必在行末加分号
7.下列说法中错误的是(    )。          (满分:3)
    A. 不允许设置参数的默认值
    B. 设置参数的默认值只能在定义函数时设置
    C. 设置参数的默认值时,应该设置右边的参数
    D. 设置参数的默认值时,应该全部参数都设置
8.在动态存储区中主要存放以下数据(    )。          (满分:3)
    A. 函数形式参数
    B. 自动变量
    C. 函数调用时的现场保护和返回地址
    D. 全局变量
9.带参宏定义与函数的区别是:(    )。          (满分:3)
    A. 函数调用时,先求出实参表达式的值,然后代入形参,带参的宏只是进行简单的字符替换
    B. 函数调用是在程序运行时为形参分配临时的存储单元,而宏展开是在编译前进行的
    C. 宏不存在类型问题,宏名和参数都不存在类型问题
    D. 调用函数只能得到一个返回值,而使用宏可设法得到几个结果
10.下列说法中错误的是(    )。          (满分:3)
    A. C程序总是从第一个定义的函数开始执行
    B. C程序总是从main函数开始执行
    C. C函数必须有返回值,否则不能使用函数
    D. C程序中有调用关系的所有函数必须放在同一个程序文件中
11.函数调用可以(    )。          (满分:3)
    A. 出现在一个表达式中
    B. 出现在执行语句中
    C. 作为一个函数的实参
    D. 作为一个函数的形参
12.以下(    )是正确的转义字符。(    )          (满分:3)
    A. ‘\\'
    B. ‘\’
    C. ‘\81'
    D. ‘\0'
13.已知:int x,a,b;下列选项中正确的if语句是(    )。          (满分:3)
    A. if(a=b) x++;
    B. if(a=<b) x++;
    C. if(a-b) x++;
    D. if(x) x++;
14.关于实参和形参的说法正确的是(    )。          (满分:3)
    A. 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元
    B. 实参可以是变量、常量或表达式
    C. 实参与形参的类型应相同或赋值兼容
    D. 实参变量对形参变量的数据传递是“值传递”
15.以下说法不正确的是(    )。          (满分:3)
    A. 定义函数时,形参的类型说明可以放在函数体内
    B. return后边的值不能为表达式
    C. 如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
    D. 如果形参与实参的类型不一致,以实参类型为准
三、判断题:
1.若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是4。          (满分:2.5)
    A. 错误
    B. 正确
2.在C语言中,不区分字母的大小写。(    )          (满分:2.5)
    A. 错误
    B. 正确
3.break是结束本次循环,而continue是结束所有的循环。          (满分:2.5)
    A. 错误
    B. 正确
4.字符型变量用来存放字符常量,可以存放多个字符。(    )          (满分:2.5)
    A. 错误
    B. 正确
5.假定x和y为double型,则表达式x=2,y=x+3/2的值是3。          (满分:2.5)
    A. 错误
    B. 正确
6.getch(    )和getche(    )函数的功能相同。          (满分:2.5)
    A. 错误
    B. 正确
7.数据结构指的是数据的组织形式,数组就是一种数据结构(    )          (满分:2.5)
    A. 错误
    B. 正确
8.逻辑运算符的优先级比算术运算符高。          (满分:2.5)
    A. 错误
    B. 正确
9.下列程序段的输出结果是hello main(    ){ char b[]="Hello,you";b=0;printf("%s \n", b ); }          (满分:2.5)
    A. 错误
    B. 正确
10.C语言中,函数的隐含存储类别是extern          (满分:2.5)
    A. 错误
    B. 正确

jasonsun114 发表于 2017-5-11 15:57:47

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