网院作业 发表于 2017-10-9 11:45:47

北交17秋《C语言程序设计》在线作业12资料

北交《C语言程序设计》在线作业一
一、单选题:【15道,总分:30分】
1.若有初始化语句“ int a={1,2,3,4,5}; ”,值为 4 的表达式是(    )。          (满分:2)
    A. a    B. a+1]
    C. a]    D. a+1
2.若变量已正确定义,执行语句scanf("%d%d%d ",&k1,&k2,&k3);时,(    )是正确的输入。          (满分:2)
    A. 2030,40
    B. 20 30 40
    C. 20, 30 40
    D. 20, 30,40
3.已定义c为字符型变量,则下列语句中正确的是(    )。          (满分:2)
    A. c=''97''
    B. c="97";
    C. c=97;
    D. c="a";
4.以下说法下确的是(    )。          (满分:2)
    A. C语言程序总是从第一个的函数开始执行
    B. 在C语言程序中,要调用的函数必须在main(    )函数中定义
    C. C语言程序总是从main(    )函数开始执行
    D. C语言程序中的main(    )函数必须放在程序的开始部分
5.下面说法错误的是(    )。          (满分:2)
    A. 整型变量可以存放字符型数据
    B. 字符型变量可以存放任意整型常量的值
    C. 变量必须限定以后使用
    D. 字符串的长度不等于它占的字节数
6.合法的数组定义是(    )(    )。          (满分:2)
    A. int a[]="string";
    B. int a={0,1,2,3,4,5};
    C. vhst s="string";
    D. char a[]={0,1,2,3,4,5};
7.数组int**a占据多大空间          (满分:2)
    A. 64
    B. 12
    C. 48
    D. 128
8.已知:int x=4,y=5,z;,则执行z=x=x>y;后,z的值为(    )。(    )          (满分:2)
    A. 0
    B. 1
    C. 4
    D. 5
9.在C程序中,若对函数类型未加说明,则函数的隐含类型为(    )。          (满分:2)
    A. int
    B. double
    C. void
    D. char
10.已知int m,n,i=2;执行语句m=-i++;n=++i;后,m和n的值分别是(    )。          (满分:2)
    A. -34
    B. -24
    C. -33
    D. -23
11.下面程序的结果是什么?Int i=3,j=4;i?i++:j++;printf(“%d %d\n”,i,j);          (满分:2)
    A. 3 3
    B. 4 4
    C. 3 4
    D. 4 3
12.不合法的八进制数是(    )          (满分:2)
    A. 0
    B. 028
    C. 077
    D. 01
13.在C语言中,while语句中的条件为(    )时,结束该循环。          (满分:2)
    A. 0
    B. 1
    C. true
    D. 非0
14.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是(    )。          (满分:2)
    A. 1
    B. 2.0
    C. 2
    D. 2.5
15.C语言程序从main(    )函数开始执行,所以这个函数要写在(    )。          (满分:2)
    A. 程序文件的开始
    B. 程序文件的最后
    C. 它所调用的函数的前面
    D. 程序文件的任何位置
二、多选题:【15道,总分:45分】

1.关于文件的打开方式描述正确的是:(    )。          (满分:3)
    A. r:打开只读文件
    B. a+:打开或建立用于更新数据的文件,数据追加到文件尾
    C. a:打开或建立一个把数据追加到文件尾的文件
    D. r+:打开用于更新数据的文件
2.以下(    )是正确的转义字符。(    )          (满分:3)
    A. ‘\\'
    B. ‘\’
    C. ‘\81'
    D. ‘\0'
3.下列字符中能构成标识符的是(    )。          (满分:3)
    A. 数字字符
    B. 连接符
    C. 下划线字符
    D. 大写字母
4.以下对一维数组a进行初始化,错误的语句是(    )。          (满分:3)
    A. int a=(0,0,0,0,0);
    B. int a={};
    C. int a={0};
    D. int a={10,9,8}
5.以下不正确的叙述是(    )。          (满分:3)
    A. C语言的主函数是无参函数
    B. C语言的主函数最多允许有1个参数
    C. C语言的主函数最多允许有2个参数
    D. C语言的主函数可以有2个以上参数
6.以下正确的C语言标识符是(    )。          (满分:3)
    A. ABC
    B. abc
    C. abc
    D. ab.c
7.以下对C语言函数的有关描述中,错误的是:(    )。          (满分:3)
    A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
    B. 函数既可以嵌套定义又可以递归调用
    C. 函数必须有返回值,否则不能使用函数
    D. 程序中有调用关系的所有函数必须放在同一个源程序文件中
8.若有以下定义和语句:double r=99,*p=&r; *p=r;则以下不正确的叙述是:(    )          (满分:3)
    A. 以上两处的*p含义相同,都说明给指针变量p赋值
    B. 语句“*p=r;”把变量r的地址值赋给指针变量p
    C. 语句“*p=r;”取变量r的值放回r中
    D. 在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元
9.C语言程序中,下列(    )(    )标识符是合法。          (满分:3)
    A. scanf
    B. if
    C. float
    D. 3d
    E. str2
    F. AB
    G. 5a
    H. His.age
10.关于宏定义的说法正确的是:          (满分:3)
    A. <p>宏名一般习惯用大写字母表示,以便与变量名相区别</p>
    B. 使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
    C. 宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
    D. 宏定义不是C语句,不必在行末加分号
11.下列(    )(    )数据类型属于C语言提供的基本数据类型。          (满分:3)
    A. 数组类型
    B. 指针类型
    C. 整型
    D. 结构体类型
    E. 空类型
    F. 字符型
    G. 实型
    H. 共用体类型
12.关于实参和形参的说法正确的是(    )。          (满分:3)
    A. 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元
    B. 实参可以是变量、常量或表达式
    C. 实参与形参的类型应相同或赋值兼容
    D. 实参变量对形参变量的数据传递是“值传递”
13.C语言中函数返回值的类型与下列哪项无关?          (满分:3)
    A. 定义函数时所指定的函数类型
    B. 调用函数时临时
    C. 调用该函数的主函数类型
    D. return语句中的表达式类型
14.以下说法不正确的是(    )。          (满分:3)
    A. 定义函数时,形参的类型说明可以放在函数体内
    B. return后边的值不能为表达式
    C. 如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
    D. 如果形参与实参的类型不一致,以实参类型为准
15.已知:int x;,则下面的说明指针变量pb的语句(    )不是正确的。          (满分:3)
    A. int pb=&x;
    B. int *pb=x;
    C. int *pb=&x;
    D. *pb=*x
三、判断题:【10道,总分:25分】

1.C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。(    )          (满分:2.5)
    A. 错误
    B. 正确
2.‘ a’和“a”在内存中所占字节数相同。(    )          (满分:2.5)
    A. 错误
    B. 正确
3.表达式a=a+b可以写成a+=b。          (满分:2.5)
    A. 错误
    B. 正确
4.free函数只能释放malloc(    )函数分配的存储空间。          (满分:2.5)
    A. 错误
    B. 正确
5.对于任何函数,它都有一个返回值。          (满分:2.5)
    A. 错误
    B. 正确
6.C语言中,函数的隐含存储类别是extern          (满分:2.5)
    A. 错误
    B. 正确
7.break是结束本次循环,而continue是结束所有的循环。          (满分:2.5)
    A. 错误
    B. 正确
8.在定义数组变量时,可以不指定数组的长度。          (满分:2.5)
    A. 错误
    B. 正确
9.逻辑运算符的优先级比算术运算符高。          (满分:2.5)
    A. 错误
    B. 正确
10.自增运算符和自减运算符只能用于变量,不能用于常量或表达式 。(    )          (满分:2.5)
    A. 错误
    B. 正确
北交《C语言程序设计》在线作业二
一、单选题:【15道,总分:30分】

1.合法的数组定义是(    )(    )。          (满分:2)
    A. int a[]="string";
    B. int a={0,1,2,3,4,5};
    C. vhst s="string";
    D. char a[]={0,1,2,3,4,5};
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**a占据多大空间          (满分:2)
    A. 64
    B. 12
    C. 48
    D. 128
4.调用strlen("abcd\0\ef\0g")的返回值是(    )。          (满分:2)
    A. 4
    B. 5
    C. 8
    D. 9
5.在C程序中,若对函数类型未加说明,则函数的隐含类型为(    )。          (满分:2)
    A. int
    B. double
    C. void
    D. char
6.不合法的八进制数是(    )          (满分:2)
    A. 0
    B. 028
    C. 077
    D. 01
7.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值(    )。          (满分:2)
    A. 不定值
    B. 4
    C. 3
    D. 1
8.若变量已正确定义,执行语句scanf("%d%d%d ",&k1,&k2,&k3);时,(    )是正确的输入。          (满分:2)
    A. 2030,40
    B. 20 30 40
    C. 20, 30 40
    D. 20, 30,40
9.C语言程序中,下列(    )组用户标识符是合法。          (满分:2)
    A. abc、2id、while
    B. 4d、DO、oodb
    C. str1、print、aBc
    D. WORD、oodb、I\amm
10.二进制语言是属于面向(    )的语言。          (满分:2)
    A. 机器
    B. 过程
    C. 问题
    D. 对象
11.已知:char c='A';int i=1,j;,执行语句j=!c&&i++;,则i和j的值是(    )。(    )          (满分:2)
    A. 1,1
    B. 1,0
    C. 2,1
    D. 2,0
12.下面说法错误的是(    )。          (满分:2)
    A. 整型变量可以存放字符型数据
    B. 字符型变量可以存放任意整型常量的值
    C. 变量必须限定以后使用
    D. 字符串的长度不等于它占的字节数
13.已定义c为字符型变量,则下列语句中正确的是(    )。          (满分:2)
    A. c=''97''
    B. c="97";
    C. c=97;
    D. c="a";
14.下面程序的结果是什么?Int i=3,j=4;i?i++:j++;printf(“%d %d\n”,i,j);          (满分:2)
    A. 3 3
    B. 4 4
    C. 3 4
    D. 4 3
15.已知int a=4;执行语句a+=a-=(a-2)*(a-2);后,a的值是(    )。          (满分:2)
    A. 0
    B. 6
    C. -24
    D. -60
二、多选题:【15道,总分:45分】

1.已知: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++;
2.关于宏定义的说法正确的是:          (满分:3)
    A. <p>宏名一般习惯用大写字母表示,以便与变量名相区别</p>
    B. 使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
    C. 宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
    D. 宏定义不是C语句,不必在行末加分号
3.下列说法不正确的是(    )。          (满分:3)
    A. C程序由符号构成
    B. C程序由标识符构成
    C. C程序由函数构成
    D. C程序由C语句构成
4.下列关于#include命令的叙述中,正确的是(    )。          (满分:3)
    A. 一个#include命令中只能指定一个被包含文件
    B. 一个#include命令中可以指定多个被包含文件
    C. 一个被包含文件中又可以包含另一个被包含文件
    D. #include命令中,文件名可以用双引号或尖括号括起来
5.以下不正确的叙述是(    )。          (满分:3)
    A. C语言的主函数是无参函数
    B. C语言的主函数最多允许有1个参数
    C. C语言的主函数最多允许有2个参数
    D. C语言的主函数可以有2个以上参数
6.以下对一维数组a进行初始化,错误的语句是(    )。          (满分:3)
    A. int a=(0,0,0,0,0);
    B. int a={};
    C. int a={0};
    D. int a={10,9,8}
7.关于文件的打开方式描述正确的是:(    )。          (满分:3)
    A. r:打开只读文件
    B. a+:打开或建立用于更新数据的文件,数据追加到文件尾
    C. a:打开或建立一个把数据追加到文件尾的文件
    D. r+:打开用于更新数据的文件
8.下列说法中错误的是(    )。          (满分:3)
    A. 不允许设置参数的默认值
    B. 设置参数的默认值只能在定义函数时设置
    C. 设置参数的默认值时,应该设置右边的参数
    D. 设置参数的默认值时,应该全部参数都设置
9.不与while(x)语句中的x等价的是(    )。          (满分:3)
    A. x= =0
    B. x= =1
    C. x!=1
    D. x!=0
10.以下说法不正确的是(    )。          (满分:3)
    A. 定义函数时,形参的类型说明可以放在函数体内
    B. return后边的值不能为表达式
    C. 如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
    D. 如果形参与实参的类型不一致,以实参类型为准
11.下列(    )(    )数据类型属于C语言提供的基本数据类型。          (满分:3)
    A. 数组类型
    B. 指针类型
    C. 整型
    D. 结构体类型
    E. 空类型
    F. 字符型
    G. 实型
    H. 共用体类型
12.若有以下定义和语句:double r=99,*p=&r; *p=r;则以下不正确的叙述是:(    )          (满分:3)
    A. 以上两处的*p含义相同,都说明给指针变量p赋值
    B. 语句“*p=r;”把变量r的地址值赋给指针变量p
    C. 语句“*p=r;”取变量r的值放回r中
    D. 在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元
13.带参宏定义与函数的区别是:(    )。          (满分:3)
    A. 函数调用时,先求出实参表达式的值,然后代入形参,带参的宏只是进行简单的字符替换
    B. 函数调用是在程序运行时为形参分配临时的存储单元,而宏展开是在编译前进行的
    C. 宏不存在类型问题,宏名和参数都不存在类型问题
    D. 调用函数只能得到一个返回值,而使用宏可设法得到几个结果
14.下列字符中能构成标识符的是(    )。          (满分:3)
    A. 数字字符
    B. 连接符
    C. 下划线字符
    D. 大写字母
15.下列说法中错误的是(    )。          (满分:3)
    A. C程序总是从第一个定义的函数开始执行
    B. C程序总是从main函数开始执行
    C. C函数必须有返回值,否则不能使用函数
    D. C程序中有调用关系的所有函数必须放在同一个程序文件中
三、判断题:【10道,总分:25分】

1.宏定义就是用宏名代替一个字符串,也就是简单的置换,不作对性检查。          (满分:2.5)
    A. 错误
    B. 正确
2.自增运算符和自减运算符只能用于变量,不能用于常量或表达式 。(    )          (满分:2.5)
    A. 错误
    B. 正确
3.变量的指针就是指向该变量指针变量的值。          (满分: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.C语言中,函数的隐含存储类别是extern          (满分:2.5)
    A. 错误
    B. 正确
7.下列程序段的输出结果是hello main(    ){ char b[]="Hello,you";b=0;printf("%s \n", b ); }          (满分:2.5)
    A. 错误
    B. 正确
8.switch语句中,多个case可以共用一组执行语句。(    )          (满分:2.5)
    A. 错误
    B. 正确
9.在使用C语言库函数时,要用预编译命令“#include”将有关的头文件包括到用户源文件中。(    )          (满分:2.5)
    A. 错误
    B. 正确
10.若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是4。          (满分:2.5)
    A. 错误
    B. 正确

页: [1]
查看完整版本: 北交17秋《C语言程序设计》在线作业12资料