文档库 最新最全的文档下载
当前位置:文档库 › 北交《C语言程序设计》在线作业一

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


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




一、单选题(共 15 道试题,共 30 分。)

1. 以下可作为函数 fopen 中第一个参数的正确格式是______。
A. c:\user\file.txt
B. "c:\user\file.txt"
C. "c:\\user\\file.txt"
D. c:user\file.txt
正确答案:
2. C语言中最简单的数据类型包括()。
A. 整型、实型、逻辑型
B. 整型、实型、字符型
C. 整型、字符型、逻辑型
D. 整型、实型、逻辑型、字符型
正确答案:
3. 若有以下定义和语句: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a数组元素的表达式是____。
A. *p
B. a[10]
C. *a
D. a[p-a]
正确答案:
4. C语言允许函数值类型缺省定义,此时该函数值隐含的类型是______。
A. float型
B. int型
C. long型
D. double型
正确答案:
5. 已定义c为字符型变量,则下列语句中正确的是______。
A. c=''97''
B. c="97";
C. c=97;
D. c="a";
正确答案:
6. 合法的数组定义是________。
A. int a[]="string";
B. int a[5]={0,1,2,3,4,5};
C. vhst s="string";
D. char a[]={0,1,2,3,4,5};
正确答案:
7. 设n=3;则执行 ++n语句后,n的值为_____。( )
A. 5
B. 4
C. 3
D. 2
正确答案:
8. 若w=1,x=2,y=3,z=4;,则条件表达式w>x?w:y<z?y:z的结果为______。( )
A. 4
B. 3
C. 2
D. 1
正确答案:
9. 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值_______。
A. 不定值
B. 4
C. 3
D. 1
正确答案:
10. 下面说法错误的是______。
A. 整型变量可以存放字符型数据
B. 字符型变量可以存放任意整型常量的值
C. 变量必须限定以后使用
D. 字符串的长度不等于它占的字节数
正确答案:
11. C语言是_______语言。
A. 高级
B. 中级
C. 机器
D. 汇编
正确答案:
12. 调用strlen("abcd\0\ef\0g")的返回值是______。
A. 4
B. 5
C. 8
D. 9
正确答案:
13. 有以下语句,下面描述中正确的是_____。typedef struct S{ int g; char h;} T;
A. 可用S定义结构体变量
B. 可用T定义结构体变量
C. S是struct类型的变量
D. T是struct S类型的变量
正确答案:
14. 执行以下程序段后, x, y和z的值分别是______。int x=10,y=20,z=30;if(x>y) z=x; x=y; y=z;
A. 10,20,30
B. 20,30,30
C. 20,30,10
D. 20,30,20
正确答案:
15. 以下说法下确的是_____。
A. C语言程序总是从第一个的函数开始执行
B. 在C语言程序中,要调用的函数必须在main()函数中定义
C. C语言程序总是从main()函数开始执行
D. C语言程序中的main()函数必须放在程序的开始部分
正确答案:



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




二、多选题(共 15 道试题,共 45 分。)

1. C语言中函数返回值的类型与下列哪项无关?
A. 定义函数时所指定的函数类型
B. 调用函数时临时
C. 调用该函数的主函数类型
D. retur

n语句中的表达式类型
正确答案:
2. 下列说法中错误的是______。
A. C程序总是从第一个定义的函数开始执行
B. C程序总是从main函数开始执行
C. C函数必须有返回值,否则不能使用函数
D. C程序中有调用关系的所有函数必须放在同一个程序文件中
正确答案:
3. 以下不正确的叙述是______。
A. C语言的主函数是无参函数
B. C语言的主函数最多允许有1个参数
C. C语言的主函数最多允许有2个参数
D. C语言的主函数可以有2个以上参数
正确答案:
4. 以下______是正确的转义字符。( )
A. ‘\\'
B. ‘\’
C. ‘\81'
D. ‘\0'
正确答案:
5. 以下正确的C语言标识符是_____。
A. ABC
B. abc
C. a_bc
D. ab.c
正确答案:
6. 若有以下定义和语句:double r=99,*p=&r; *p=r;则以下不正确的叙述是:______
A. 以上两处的*p含义相同,都说明给指针变量p赋值
B. 语句“*p=r;”把变量r的地址值赋给指针变量p
C. 语句“*p=r;”取变量r的值放回r中
D. 在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元
正确答案:
7. 关于宏定义的说法正确的是:
A.

宏名一般习惯用大写字母表示,以便与变量名相区别


B. 使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
C. 宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
D. 宏定义不是C语句,不必在行末加分号
正确答案:
8. C语言程序中,下列___________标识符是合法。
A. scanf
B. if
C. float
D. _3d
E. str_2
F. AB
G. 5a
H. His.age
正确答案:F
9. 函数调用可以______。
A. 出现在一个表达式中
B. 出现在执行语句中
C. 作为一个函数的实参
D. 作为一个函数的形参
正确答案:
10. 关于实参和形参的说法正确的是______。
A. 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元
B. 实参可以是变量、常量或表达式
C. 实参与形参的类型应相同或赋值兼容
D. 实参变量对形参变量的数据传递是“值传递”
正确答案:
11. 关于文件的打开方式描述正确的是:______。
A. r:打开只读文件
B. a+:打开或建立用于更新数据的文件,数据追加到文件尾
C. a:打开或建立一个把数据追加到文件尾的文件
D. r+:打开用于更新数据的文件
正确答案:
12. 在动态存储区中主要存放以下数据______。
A. 函数形式参数
B. 自动变量
C. 函数调用时的现场保护和返回地址
D. 全局变量
正确答案:
13. 已知:int x,a,b;下列选项中正确的if语句是______。
A. if(a=b) x++;
B. if(a=<b) x++;
C. if(a-b) x++;
D. if(x) x++;
正确答案:
14. 在文件操作中,用于检测和设置文件状态的函数有______。
A.

文件结束检测函数feof()
B. 读写文件出错检测函数ferror()
C. 文件出错和结束标志文件函数才clearerr()
D. 文件关闭函数fclose()
正确答案:
15. 以下叙述中正确的是______。
A. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B. 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
C. 可以通过赋初值的方式确定数组元素的个数
D. 数组名代表的是数组所占存储区的首地址,其值不可改变
正确答案:



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




三、判断题(共 10 道试题,共 25 分。)

1. 对于二维数组a[2][3],则a[1]表示是第二行的首地址。
A. 错误
B. 正确
正确答案:
2. 在C语言中,变量不区分大小写。
A. 错误
B. 正确
正确答案:
3. C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。( )
A. 错误
B. 正确
正确答案:
4. 在程序运行过程中,其值不能被改变的量称为常量( )
A. 错误
B. 正确
正确答案:
5. 表达式a=a+b可以写成a+=b。
A. 错误
B. 正确
正确答案:
6. 假定x和y为double型,则表达式x=2,y=x+3/2的值是3。
A. 错误
B. 正确
正确答案:
7. 宏定义就是用宏名代替一个字符串,也就是简单的置换,不作对性检查。
A. 错误
B. 正确
正确答案:
8. c语言中,每个函数都必须要有一个且只有一个main函数。
A. 错误
B. 正确
正确答案:
9. c程序是由c文件构成,而c文件是由函数构成。
A. 错误
B. 正确
正确答案:
10. 逻辑运算符的优先级比算术运算符高。
A. 错误
B. 正确
正确答案:



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




一、单选题(共 15 道试题,共 30 分。)

1. 已知:int i=6,j;,则执行语句j=(++i)+(i++)后的j值是______。( )
A. 4
B. 14
C. 13
D. 15
正确答案:
2. 以下说法下确的是_____。
A. C语言程序总是从第一个的函数开始执行
B. 在C语言程序中,要调用的函数必须在main()函数中定义
C. C语言程序总是从main()函数开始执行
D. C语言程序中的main()函数必须放在程序的开始部分
正确答案:
3. 数组int**a[3][4]占据多大空间
A. 64
B. 12
C. 48
D. 128
正确答案:
4. 执行以下程序段后, x, y和z的值分别是______。int x=10,y=20,z=30;if(x>y) z=x; x=y; y=z;
A. 10,20,30
B. 20,30,30
C. 20,30,10
D. 20,30,20
正确答案:
5. 在C语言中,while语句中的条件为()时,结束该循环。
A. 0
B. 1
C. true
D. 非0
正确答案:
6. C语言程序从main()函数开始执行,所以这个函数要写在____。
A. 程序文件的开始
B. 程序文件的最后
C. 它所调用的函数的前面
D. 程序文件的

任何位置
正确答案:
7. 设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为_____。
A. EOF
B. 非0值
C. 0
D. NULL
正确答案:
8. 二进制语言是属于面向_____的语言。
A. 机器
B. 过程
C. 问题
D. 对象
正确答案:
9. 若w=1,x=2,y=3,z=4;,则条件表达式w>x?w:y<z?y:z的结果为______。( )
A. 4
B. 3
C. 2
D. 1
正确答案:
10. 已知int a=4;执行语句a+=a-=(a-2)*(a-2);后,a的值是_______。
A. 0
B. 6
C. -24
D. -60
正确答案:
11. 不合法的八进制数是()
A. 0
B. 028
C. 077
D. 01
正确答案:
12. 若有输入语句scanf( "%d%d%d", &x,&y,&z);则不能使x值为5, y值为6, z值为7的输入是______。
A. 5,6 ,7<回车>
B. 5 6 7<回车>
C. 5 6 <回车> 7<回车>
D. 5<回车>,6<回车>,7<回车>
正确答案:
13. C语言源程序文件经过C编译程序编译连接之后生成一个后缀为()的文件。
A. ”.c”
B. “.obj”
C. “.exe”
D. “.bas”
正确答案:
14. 已知:int a,*p=&a;,则下列函数调用中错误的是______。( )
A. scanf("%d",&a);
B. scanf("%d",p);
C. scanf("%d",*p);
D. printf("%d",a);
正确答案:
15. 已知: int a[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+2 ;则值为 3 的表达式是______。
A. (*p)++
B. *p++
C. *++p
D. ++*p
正确答案:



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




二、多选题(共 15 道试题,共 45 分。)

1. 下列关于#include命令的叙述中,正确的是______。
A. 一个#include命令中只能指定一个被包含文件
B. 一个#include命令中可以指定多个被包含文件
C. 一个被包含文件中又可以包含另一个被包含文件
D. #include命令中,文件名可以用双引号或尖括号括起来
正确答案:
2. 设有如下定义:int (*ptr)();则以下叙述中不正确的是______。
A. ptr是指向一维数组的指针变量
B. ptr是指向int型数据的指针变量
C. ptr是指向函数的指针,该函数返回一个int型数据
D. ptr是一个函数名,该函数的返回值是指向int型数据的指针
正确答案:
3. 以下不正确的叙述是______。
A. C语言的主函数是无参函数
B. C语言的主函数最多允许有1个参数
C. C语言的主函数最多允许有2个参数
D. C语言的主函数可以有2个以上参数
正确答案:
4. 以下对一维数组a进行初始化,错误的语句是______。
A. int a[10]=(0,0,0,0,0);
B. int a[10]={};
C. int a[10]={0};
D. int a[2]={10,9,8}
正确答案:
5. 关于实参和形参的说法正确的是______。
A. 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元
B. 实参可以是变量、常量或表达式
C. 实参与形参的类型应相同或赋值兼容
D. 实参变量对形参变量的数据

传递是“值传递”
正确答案:
6. 以下对C语言函数的有关描述中,错误的是:______。
A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B. 函数既可以嵌套定义又可以递归调用
C. 函数必须有返回值,否则不能使用函数
D. 程序中有调用关系的所有函数必须放在同一个源程序文件中
正确答案:
7. 下列字符中能构成标识符的是______。
A. 数字字符
B. 连接符
C. 下划线字符
D. 大写字母
正确答案:
8. 以下叙述中正确的是______。
A. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B. 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
C. 可以通过赋初值的方式确定数组元素的个数
D. 数组名代表的是数组所占存储区的首地址,其值不可改变
正确答案:
9. 带参宏定义与函数的区别是:______。
A. 函数调用时,先求出实参表达式的值,然后代入形参,带参的宏只是进行简单的字符替换
B. 函数调用是在程序运行时为形参分配临时的存储单元,而宏展开是在编译前进行的
C. 宏不存在类型问题,宏名和参数都不存在类型问题
D. 调用函数只能得到一个返回值,而使用宏可设法得到几个结果
正确答案:
10. 在动态存储区中主要存放以下数据______。
A. 函数形式参数
B. 自动变量
C. 函数调用时的现场保护和返回地址
D. 全局变量
正确答案:
11. 函数调用可以______。
A. 出现在一个表达式中
B. 出现在执行语句中
C. 作为一个函数的实参
D. 作为一个函数的形参
正确答案:
12. 不与while(x)语句中的x等价的是_____。
A. x= =0
B. x= =1
C. x!=1
D. x!=0
正确答案:
13. 关于静态局部变量的说明正确的是______。
A. 静态局部变量存储在静态存储区
B. 静态局部变量是在编译时赋初值的,即只赋一次值,在程序运行时它已有初值
C. 若在定义局部变量时不赋初值,则编译时自动赋初值为0或空字符
D. 虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的
正确答案:
14. C语言程序中,下列___________标识符是合法。
A. scanf
B. if
C. float
D. _3d
E. str_2
F. AB
G. 5a
H. His.age
正确答案:F
15. 关于宏定义的说法正确的是:
A.

宏名一般习惯用大写字母表示,以便与变量名相区别


B. 使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
C. 宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
D. 宏定义不是C语句,不必在行末加分号
正确答案:



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




三、判断题(共 10 道试题,

共 25 分。)

1. switch语句中,多个case可以共用一组执行语句。( )
A. 错误
B. 正确
正确答案:
2. 数据结构指的是数据的组织形式,数组就是一种数据结构( )
A. 错误
B. 正确
正确答案:
3. C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。( )
A. 错误
B. 正确
正确答案:
4. 模运算符要求两侧均应为整型数据。( )
A. 错误
B. 正确
正确答案:
5. break是结束本次循环,而continue是结束所有的循环。
A. 错误
B. 正确
正确答案:
6. free函数只能释放malloc()函数分配的存储空间。
A. 错误
B. 正确
正确答案:
7. c程序是由c文件构成,而c文件是由函数构成。
A. 错误
B. 正确
正确答案:
8. 若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是4。
A. 错误
B. 正确
正确答案:
9. 自增运算符和自减运算符只能用于变量,不能用于常量或表达式 。( )
A. 错误
B. 正确
正确答案:
10. C语言中,函数的隐含存储类别是extern
A. 错误
B. 正确
正确答案:



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




一、单选题(共 15 道试题,共 30 分。)

1. 已知int m,n,i=2;执行语句m=-i++;n=++i;后,m和n的值分别是_____。
A. -3 4
B. -2 4
C. -3 3
D. -2 3
正确答案:
2. 已知:int x=4,y=5,z;,则执行z=x=x>y;后,z的值为______。( )
A. 0
B. 1
C. 4
D. 5
正确答案:
3. 若有初始化语句“ int a[5]={1,2,3,4,5}; ”,值为 4 的表达式是_____。
A. a[4]
B. a[a[2]+1]
C. a[a[2]]
D. a[3]+1
正确答案:
4. C语言源程序文件经过C编译程序编译连接之后生成一个后缀为()的文件。
A. ”.c”
B. “.obj”
C. “.exe”
D. “.bas”
正确答案:
5. 设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为_____。
A. EOF
B. 非0值
C. 0
D. NULL
正确答案:
6. 执行以下程序段后, x, y和z的值分别是______。int x=10,y=20,z=30;if(x>y) z=x; x=y; y=z;
A. 10,20,30
B. 20,30,30
C. 20,30,10
D. 20,30,20
正确答案:
7. x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是______。
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);
正确答案:
8. 设n=3;则执行 ++n语句后,n的值为_____。( )
A. 5
B. 4
C. 3
D. 2
正确答案:
9. 下面说法错误的是______。
A. 整型变量可以存放字符型数据
B. 字符型变量可以存放任意整型常量的值
C. 变量必须限定以后使用
D. 字符串的长度不等于它占的字节数
正确答案:
10. 有以下程序片段 int n=0,p; do { scanf(%d",&p); n++; } while(p!=12345&&n<3); 此处 do-w

hile 循环的结束条件是()
A. p的值不等于12345并且n的值小于3
B. p的值等于12345并且n的值大于等于3
C. p的值不等于12345或且n的值小于3
D. p的值等于12345或且n的值大于等于3
正确答案:
11. 在C语言中,while语句中的条件为()时,结束该循环。
A. 0
B. 1
C. true
D. 非0
正确答案:
12. 合法的数组定义是________。
A. int a[]="string";
B. int a[5]={0,1,2,3,4,5};
C. vhst s="string";
D. char a[]={0,1,2,3,4,5};
正确答案:
13. 不合法的八进制数是()
A. 0
B. 028
C. 077
D. 01
正确答案:
14. 已定义c为字符型变量,则下列语句中正确的是______。
A. c=''97''
B. c="97";
C. c=97;
D. c="a";
正确答案:
15. C语言程序中,下列______组用户标识符是合法。
A. abc、_2id、while
B. 4d、DO、oodb
C. str_1、print、aBc
D. WORD、oodb、I\amm
正确答案:



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




二、多选题(共 15 道试题,共 45 分。)

1. 下列说法不正确的是______。
A. C程序由符号构成
B. C程序由标识符构成
C. C程序由函数构成
D. C程序由C语句构成
正确答案:
2. 下列说法中错误的是______。
A. 不允许设置参数的默认值
B. 设置参数的默认值只能在定义函数时设置
C. 设置参数的默认值时,应该设置右边的参数
D. 设置参数的默认值时,应该全部参数都设置
正确答案:
3. 以下______是正确的转义字符。( )
A. ‘\\'
B. ‘\’
C. ‘\81'
D. ‘\0'
正确答案:
4. 内存中供用户使用的存储空间可分为:______。
A. 程序区
B. 静态存储区
C. 动态存储区
D. 数据存储区
正确答案:
5. C语言程序中,下列___________标识符是合法。
A. scanf
B. if
C. float
D. _3d
E. str_2
F. AB
G. 5a
H. His.age
正确答案:F
6. 下列关于#include命令的叙述中,正确的是______。
A. 一个#include命令中只能指定一个被包含文件
B. 一个#include命令中可以指定多个被包含文件
C. 一个被包含文件中又可以包含另一个被包含文件
D. #include命令中,文件名可以用双引号或尖括号括起来
正确答案:
7. 以下对C语言函数的有关描述中,错误的是:______。
A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B. 函数既可以嵌套定义又可以递归调用
C. 函数必须有返回值,否则不能使用函数
D. 程序中有调用关系的所有函数必须放在同一个源程序文件中
正确答案:
8. 下列_________数据类型属于C语言提供的基本数据类型。
A. 数组类型
B. 指针类型
C. 整型
D. 结构体类型
E. 空类型
F. 字符型
G. 实型
H. 共用体类型
正确答案:FG
9. 关于宏定义的说法正确的是:
A.

宏名一般习惯用大写字母表示,以便与变量名相区别


B. 使用宏名

代替一个字符串,可以减少程序中重复书写某些字符串的工作量
C. 宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
D. 宏定义不是C语句,不必在行末加分号
正确答案:
10. 在C语言中,正确的int类型的常数是:______。
A. 0
B. 32768
C. 037
D. 0xaf
正确答案:
11. 以下说法不正确的是______。
A. 定义函数时,形参的类型说明可以放在函数体内
B. return后边的值不能为表达式
C. 如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
D. 如果形参与实参的类型不一致,以实参类型为准
正确答案:
12. 设有如下定义:int (*ptr)();则以下叙述中不正确的是______。
A. ptr是指向一维数组的指针变量
B. ptr是指向int型数据的指针变量
C. ptr是指向函数的指针,该函数返回一个int型数据
D. ptr是一个函数名,该函数的返回值是指向int型数据的指针
正确答案:
13. 函数调用可以______。
A. 出现在一个表达式中
B. 出现在执行语句中
C. 作为一个函数的实参
D. 作为一个函数的形参
正确答案:
14. 关于文件的打开方式描述正确的是:______。
A. r:打开只读文件
B. a+:打开或建立用于更新数据的文件,数据追加到文件尾
C. a:打开或建立一个把数据追加到文件尾的文件
D. r+:打开用于更新数据的文件
正确答案:
15. 已知:int x,a,b;下列选项中正确的if语句是______。
A. if(a=b) x++;
B. if(a=<b) x++;
C. if(a-b) x++;
D. if(x) x++;
正确答案:



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




三、判断题(共 10 道试题,共 25 分。)

1. 若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是4。
A. 错误
B. 正确
正确答案:
2. 在C语言中,变量不区分大小写。
A. 错误
B. 正确
正确答案:
3. 使用printf和scanf函数时,必须添加#include <stdio.h>命令。( )
A. 错误
B. 正确
正确答案:
4. ‘ a’和“a”在内存中所占字节数相同。( )
A. 错误
B. 正确
正确答案:
5. 在C语言中,不区分字母的大小写。( )
A. 错误
B. 正确
正确答案:
6. free函数只能释放malloc()函数分配的存储空间。
A. 错误
B. 正确
正确答案:
7. 指向不同类型数组的两个指针能进行有意义的比较。
A. 错误
B. 正确
正确答案:
8. 数据结构指的是数据的组织形式,数组就是一种数据结构( )
A. 错误
B. 正确
正确答案:
9. 宏定义就是用宏名代替一个字符串,也就是简单的置换,不作对性检查。
A. 错误
B. 正确
正确答案:
10. 在定义数组变量时,可以不指定数组的长度。
A. 错误
B. 正确
正确答案:


相关文档
相关文档 最新文档