1、远程满分北交15秋C语言程序设计专在线作业一答案远程满分北交15秋C语言程序设计(专)_在线作业一_答案北交C语言程序设计(专) 在线作业一 一、单选题(共 10 道试题,共 40 分。) 1. 设有定义:int n=0,*p=&n,*q=&p,则下列选项中正确的赋值语句是 A. p=1; B. *q=2; C语言程序设计报告C. q=p; D. *p=5; 正确答案:D 2. 有如下程序: long fib(int n) if(n2)return(fib(n-1)+fib(n-2); else return(2); main() printf(%dn,fib(3); 该程序的输出结果是 A.
2、 2 B. 4 C. 6 D. 8 正确答案:B 3. 假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入: PROG ABCDEFGH IJKL,则输出结果为 main( int argc, char *argv) while(-argc0) printf(%s,argvargc); printf(n); A. ABCDEFG B. IJHL C. ABCDEFGHIJKL D. IJKLABCDEFGH 正确答案:D 4. 下列各数据类型不属于构造类型的是 A. 枚举型 B. 共用型 C. 结构型 D. 数组型 正确答案:A 5. 以下
3、程序有错,错误原因是 main() int *p,i;char *q,ch; p=&i; q=&ch; *p=40; *p=*q; . A. p和q的类型不一致,不能执行*p=*q;语句 B. *p中存放的是地址值,因此不能执行*p=40;语句 C. q没有指向具体的存储单元,所以*q没有实际意义 D. q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果 正确答案:D 6. sizeof(float)是 A. 一个双精度型表达式 B. 一个整型表达式 C. 一种函数调用 D. 一个不合法的表达式 正确答案:B 7. 函数 rewind
4、 的作用是 A. 使文件位置指针重新返回文件的开始位置 B. 将文件位置指针指向文件中所要求的特定位置 C. 使文件位置指针指向文件的末尾 D. 使文件位置指针自动移至下一个字符位置 正确答案:A 8. 有以下程序: #include union pw int i; char ch2;a; main() a.ch0=13;a.ch1=0;printf(%dn,a.i); 程序的输出结果是 A. 13 B. 14 C. 208 D. 209 正确答案:A 9. 下列程序的输出结果是 int b=2; int func(int *a) b += *a; return(b); main() int
5、a=2, res=2; res += func(&a); printf(%dn,res); A. 4 B. 6 C. 8 D. 10 正确答案:B 10. 下面程序的输出结果是 main() int a10=1,2,3,4,5,6,7,8,9,10,*p=a; printf(%dn,*(p+2); A. 3 B. 4 C. 1 D. 2 正确答案:A 北交C语言程序设计(专) 在线作业一 二、多选题(共 10 道试题,共 40 分。) 1. 以下_是正确的转义字符。( ) A. B. C. 81 D. 0 正确答案 :ABD 2. 若定义:int a230,2,4,6,8,10;以下描述正确的
6、有 A. *(a+1)为元素6的地址 B. *(a1+1)的值为2 C. *(a+1)+2的值为8 D. a0与a相同 正确答案:ACD 3. 下列说法中错误的是_。 A. C程序总是从第一个定义的函数开始执行 B. C程序总是从main函数开始执行 C. C函数必须有返回值,否则不能使用函数 D. C程序中有调用关系的所有函数必须放在同一个程序文件中 正确答案:ACD 4. 函数调用可以_。 A. 出现在一个表达式中 B. 出现在执行语句中 C. 作为一个函数的实参 D. 作为一个函数的形参 正确答案:ABC 5. 若有以下定义和语句:double r=99,*p=&r; *p=r;则以下不
7、正确的叙述是:_ A. 以上两处的*p含义相同,都说明给指针变量p赋值 B. 语句*p=r;把变量r的地址值赋给指针变量p C. 语句*p=r;取变量r的值放回r中 D. 在double r=99,*p=&r;中,把r的地址赋值给了p所指的存储单元 正确答案:ABC 6. 下列描述正确的是 A. 由main 函数及其参数argc和* argv可以实现命令行方式 B. 使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中 C. 字符数组并不要求它的最后一个字符是0 D. A和A都是字符串常量 正确答案:AC 7. 关于静态局部变量的说明正确的是_。 A. 静态局部变量存储在静态存储
8、区 B. 静态局部变量是在编译时赋初值的,即只赋一次值,在程序运行时它已有初值 C. 若在定义局部变量时不赋初值,则编译时自动赋初值为0或空字符 D. 虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的 正确答案:ABCD 8. 已知:int x;,则下面的说明指针变量pb的语句_不是正确的。 A. int pb=&x; B. int *pb=x; C. int *pb=&x; D. *pb=*x 正确答案:ABD 9. 以下正确的C语言标识符是_。 A. ABC B. abc C. a_bc D. ab.c 正确答案:ABC 10. 以下说法不正确的是_。 A. 定义函数时,
9、形参的类型说明可以放在函数体内 B. return后边的值不能为表达式 C. 如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准 D. 如果形参与实参的类型不一致,以实参类型为准 正确答案:ABD 北交C语言程序设计(专) 在线作业一 三、判断题(共 5 道试题,共 20 分。) 1. 主函数和其它函数可以相互调用 A. 错误 B. 正确 正确答案:A 2. 数据结构指的是数据的组织形式,数组就是一种数据结构( ) A. 错误 B. 正确 正确答案:B 3. 语句int *pt中的*pt是指针变量名。 A. 错误 B. 正确 正确答案:A 4. 若打开文件的方式为w而该文件已经存在,
10、则文件中原有数据被清除。 A. 错 误 B. 正确 正确答案:B 5. 调用函数只可得到一个返回值,而用宏可以设法得到几个结果。 A. 错误 B. 正确 正确答案:B 北交C语言程序设计(专) 在线作业一 一、单选题(共 10 道试题,共 40 分。) 1. 下面程序的输出结果是 main() int a10=1,2,3,4,5,6,7,8,9,10,*p=a; printf(%dn,*(p+2); A. 3 B. 4 C. 1 D. 2 正确答案:A 2. 函数 rewind 的作用是 A. 使文件位置指针重新返回文件的开始位置 B. 将文件位置指针指向文件中所要求的特定位置 C. 使文件位
11、置指针指向文件的末尾 D. 使文件位置指针自动移至下一个字符位置 正确答案:A 3. 以下程序有语法错误,有关错误原因的正确说法是 main() int G=5,k; void prt_char(); . k=prt_char(G); . A. 语句 void prt_char();有错,它是函数调用语句,不能用void说明 B. 变量名不能使用大写字母 C. 函数说明和函数调用语句之间有矛盾 D. 函数名不能使用下划线 正确答案:C 4. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为 A. 4 B. 16 C. 32 D. 52 正确答案:C
12、5. 以下不正确的叙述是 A. 在C程序中,逗号运算符的优先级最低 B. 在C程序中,APH和aph是两个不同的变量 C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变 D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值 正确答案:D 6. 以下程序的输出结果是 void reverse(int a,int n) int i,t; for(i=0;i t=ai; ai=an-1-i;an-1-i=t; main() int b10=1,2,3,4,5,6,7,8,9,10; int i,s=0; reverse(b,8); f
13、or(i=6;i2)return(fib(n-1)+fib(n-2); else return(2); main() printf(%dn,fib(3); 该程序的输出结果是 A. 2 B. 4 C. 6 D. 8 正确答案:B 9. 有以下程序: #include union pw int i; char ch2;a; main() a.ch0=13;a.ch1=0;printf(%dn,a.i); 程序的输出结果是 A. 13 B. 14 C. 208 D. 209 正确答案:A 10. 在16位IBM-PC机上使用C语言,若有如下定义 struct data int i; char ch
14、; double f; b; 则结构变量b占用内存的字节数是 A. 1 B. 2 C. 7 D. 11 正确答案:D 北交C语言程序设计(专) 在线作业一 二、多选题(共 10 道试题,共 40 分。) 1. 以下叙述中正确的是_。 A. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出 B. 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出下标越界的出错信息 C. 可以通过赋初值的方式确定数组元素的个数 D. 数组名代表的是数组所占存储区的首地址,其值不可改变 正确答案:ACD 2. 下列关于#include命令的叙述中,正确的是_。 A. 一个#inclu
15、de命令中只能指定一个被包含文件 B. 一个#include命令中可以指定多个被包含文件 C. 一个被包含文件中又可以包含另一个被包含文件 D. #include命令中,文件名可以用双引号或尖括号括起来 正确答案:ACD 3. 以下对一维数组a进行初始化,错误的语句是_。 A. int a10=(0,0,0,0,0); B. int a10=; C. int a10=0; D. int a2=10,9,8 正确答案:ABD 4. 不与while(x)语句中的x等价的是_。 A. x= =0 B. x= =1 C. x!=1 D. x!=0 正确答案:ABC 5. 在动态存储区中主要存放以下数据
16、_。 A. 函数形式参数 B. 自动变量 C. 函数调用时的现场保护和返回地址 D. 全局变量 正确答案:ABC 6. 关于实参和形参的说法正确的是_。 A. 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元 B. 实参可以是变量、常量或表达式 C. 实参与形参的类型应相同或赋值兼容 D. 实参变量对形参变量的数据传递是值传递 正确答案:ABCD 7. 下列说法中错误的是_。 A. 不允许设置参数的默认值 B. 设置参数的默认值只能在定义函数时设置 C. 设置参数的默认值时,应该设置右边的参数 D. 设置参数的默认值时,应该全部参数都设置 正确答案:ABD 8. 对静态变
17、量的正确描述 A. 静态局部变量在静态存储区内分配单元 B. 静态外部变量可以赋初值,也可以不赋初值 C. 静态外部变量的作用与外部变量相同 D. 静态局部变量在函数调用结束时,仍保存其值,不会随着消失。 正确答案:ABD 9. 在文件操作中,用于检测和设置文件状态的函数有_。 A. 文件结束检测函数feof() B. 读写文件出错检测函数ferror() C. 文件出错和结束标志文件函数才clearerr() D. 文件关闭函数fclose() 正确答案:ABC 10. 以下不正确的描述是_。 A. 函数的定义可以嵌套,函数的调用不可以嵌套 B. 函数的定义不可以嵌套,函数的调用可以嵌套 C
18、. 函数的定义和函数的调用均可以嵌套 D. 函数的定义和函数的调用均不可以嵌套 正确答案:ACD 北交C语言程序设计(专) 在线作业一 三 、判断题(共 5 道试题,共 20 分。) 1. 模运算符要求两侧均应为整型数据。( ) A. 错误 B. 正确 正确答案:B 2. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。 A. 错误 B. 正确 正确答案:B 3. C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。( ) A. 错误 B. 正确 正确答案:B 4. 若打开文件的方式为w而该文件已经存在,则文件中原有数据被清除。 A. 错误 B. 正确
19、正确答案:B 5. 宏定义就是用宏名代替一个字符串,也就是简单的置换,不作正确性检查。 A. 错误 B. 正确 正确答案:B 北交C语言程序设计(专) 在线作业一 一、单选题(共 10 道试题,共 40 分。) 1. C语言中,能识别处理的文件为 A. 文本文件和数据块文件 B. 文本文件和二进制文件 C. 流文件和文本文件 D. 数据文件和二进制文件 正确答案:B 2. 假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入: PROG ABCDEFGH IJKL,则输出结果为 main( int argc, char *argv) whil
20、e(-argc0) printf(%s,argvargc); printf(n); A. ABCDEFG B. IJHL C. ABCDEFGHIJKL D. IJKLABCDEFGH 正确答案:D 3. 以下不正确的定义语句是 A. double x5=2.0,4.0,6.0,8.0,10.0; B. int y5=0,1,3,5,7,9; C. char c1=1,2,3,4,5; D. char c2=x10,xa,x8; 正确答案:B 4. 一个C语言程序是由 A. 一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成 正确答案:B 5. 设有int x
21、=11;则表达式(x+*1/3)的值是 A. 3 B. 4 C. 11 D. 12 正确答案:A 6. 下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。 #include main() int i=0,j,k; doi+;k=316-13*i;while(_); j=k/11; printf(316=13*%d+11*%d,i,j); A. k/11 B. k C. k/11=0 D. k=0 正确答案:B 7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为 A. 4 B. 16 C. 32 D. 52
22、正确答案:C 8. 请选出可用作C语言用户标识符的是 A. void,define,WORD B. a3_b3,_123,IF C. FOR,-abc,Case D. 2a,Do,Sizeof 正确答案:B 9. 下面程序段的运行结果是 char *format=%s,a=%d,b=%dn; int a=11,b=10; a+=b; printf(format,a+=b,a,b); A. for,a+=b,ab B. format,a+=b C. a+=b,a=21,b=10 D. 以上结果都不对 正确答案:C 10. 函数 rewind 的作用是 A. 使文件位置指针重新返回文件的开始位置
23、B. 将文件位置指针指向文件中所要 求的特定位置 C. 使文件位置指针指向文件的末尾 D. 使文件位置指针自动移至下一个字符位置 正确答案:A 北交C语言程序设计(专) 在线作业一 二、多选题(共 10 道试题,共 40 分。) 1. 已知:int x;,则下面的说明指针变量pb的语句_不是正确的。 A. int pb=&x; B. int *pb=x; C. int *pb=&x; D. *pb=*x 正确答案:ABD 2. 对静态变量的正确描述 A. 静态局部变量在静态存储区内分配单元 B. 静态外部变量可以赋初值,也可以不赋初值 C. 静态外部变量的作用与外部变量相同 D. 静态局部变量
24、在函数调用结束时,仍保存其值,不会随着消失。 正确答案:ABD 3. 以下不正确的叙述是_。 A. C语言的主函数是无参函数 B. C语言的主函数最多允许有1个参数 C. C语言的主函数最多允许有2个参数 D. C语言的主函数可以有2个以上参数 正确答案:ABC 4. 以下对一维数组a进行初始化,错误的语句是_。 A. int a10=(0,0,0,0,0); B. int a10=; C. int a10=0; D. int a2=10,9,8 正确答案:ABD 5. 在C语言中,正确的int类型的常数是:_。 A. 0 B. 32768 C. 037 D. 0xaf 正确答案:ACD 6.
25、 函数调用可以_。 A. 出现在一个表达式中 B. 出现在执行语句中 C. 作为一个函数的实参 D. 作为一个函数的形参 正确答案:ABC 7. C语言中函数返回值的类型与下列哪项无关? A. 定义函数时所指定的函数类型 B. 调用函数时临时 C. 调用该函数的主函数类型 D. return语句中的表达式类型 正确答案:BCD 8. 以下说法不正确的是_。 A. 定义函数时,形参的类型说明可以放在函数体内 B. return后边的值不能为表达式 C. 如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准 D. 如果形参与实参的类型不一致,以实参类型为准 正确答案:ABD 9. 关于实参
26、和形参的说法正确的是_。 A. 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元 B. 实参可以是变量、常量或表达式 C. 实参与形参的类型应相同或赋值兼容 D. 实参变量对形参变量的数据传递是值传递 正确答案:ABCD 10. 下列说法中错误的是_。 A. 不允许设置参数的默认值 B. 设置参数的默认值只能在定义函数时设置 C. 设置参数的默认值时,应该设置右边的参数 D. 设置参数的默认值时,应该全部参数都设置 正确答案:ABD 北交C语言程序设计(专) 在线作业一 三、判断题(共 5 道试题,共 20 分。) 1. 共用体所占的内存空间大小取决于占空间最多的那个成员
27、变量。 A. 错误 B. 正确 正确答案:B 2. 模运算符要求两侧均应为整型数据。( ) A. 错误 B. 正确 正确答案:B 3. 主函数和其它函数可以相互调用 A. 错误 B. 正确 正确答案:A 4. C程序的执行总是从第一个定义的函数开始 A. 错误 B. 正确 正确答案:A 5. for(;)语句相当于while(1)语句 A. 错误 B. 正确 正确答案:B 北交C语言程序设计(专) 在线作业一 一、单选题(共 10 道试题,共 40 分。) 1. 下面程序段的运行结果是 char *format=%s,a=%d,b=%dn; int a=11,b=10; a+=b; printf(format,a+=b,a,b); A. for,a+=b,ab B. format,a+=b C. a+=b,a=21,b=10 D. 以上结果都不对 正确答案:C 2. 下列程序的输出结果是 main() double d=3.2; int x,y; x=
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1