1、武汉地大 计算机高级语言C作业答案计算机高级语言C作业答案总分: 100分 考试时间:分钟单选题说明:1. 软件与程序的区别是_。(4分)(A) 程序价格便宜、软件价格昂贵(B) 程序是用户自己编写的,而软件是由厂家提供的(C) 程序是用高级语言编写的,而软件是由机器语言编写的(D) 软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序只是软件的一部分参考答案:D2. C语言规定,必须用_作为主函数名。 (4分)(A) :Function(B) :include(C) :main(D) :stdio参考答案:C3. 在 C 语言中,下列类型属于构造类型的是_。(4分)(A) 整型(B)
2、 字符型(C) 实型(D) 数组类型参考答案:D4. 在 C 语言中,下列类型属于构造类型的是_。(4分)(A) 整型(B) 字符型(C) 实型(D) 数组类型参考答案:D5. 在 C 语言中,下列类型属于构造类型的是_。(4分)(A) 整型(B) 字符型(C) 实型(D) 数组类型参考答案:D6. 在 C 语言中,下列类型属于基本类型的是_。(4分)(A) 整型、实型、字符型(B) 空类型、枚举型(C) 结构体类型、实型(D) 数组类型、实型参考答案:A7. 下列类型属于基本类型的是_。(4分)(A) 结构体类型和整型(B) 结构体类型、数组、指针、空类型(C) 实型(D) 空类型和枚举类型
3、参考答案:C8. 在一个C程序中_。(4分)(A) 用户标识符中可以出现下划线和中划线(减号)(B) 用户标识符中不可以出现中划线,但可以出现下划线(C) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头(D) 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头参考答案:B9. 以下选项中不合法的标识符是_。(4分)(A) :print(B) : FOR(C) : &a(D) : _00参考答案:C10. 以下选项中不属于C语言类型的是_。(4分)(A) : signed short int(B) :unsigned long int(C) : unsigned int(
4、D) :long short参考答案:D11. C语言中的基本数据类型包括_。(4分)(A) 整型、实型、逻辑型(B) 整型、实型、字符型(C) 整型、逻辑型、字符型(D) 整型、实型、逻辑型、字符型参考答案:B12. 以下选项中正确的定义语句是_(4分)(A) : double a;b;(B) :double a=b=7;(C) : double a=7,b=7;(D) : double,a,b;参考答案:C13. 下列常数中,合法的 C语言常量是_。(4分)(A) n(B) e-310(C) DEF(D) 1234参考答案:A14. 下列符号中,可以作为变量名的是_。 (4分)(A) +c
5、(B) *X(C) _DAY(D) next day参考答案:C15. 已知int j,i=1;执行语句j=-i+;后,j的值是_。(4分)(A) 1(B) 2(C) -1(D) -2参考答案:C16. 字符串22a,0n的长度_。(4分)(A) 8(B) 7(C) 6(D) 5参考答案:C17. 已知:char a=70;则变量a中_。(4分)(A) 包含1个字符(B) 包含2个字符(C) 包含3个字符(D) 说明非法参考答案:A18. 不能进行+和-运算的数据类型是_。(4分)(A) :指针(B) :double(C) :int(D) :long参考答案:B19. 已知:float x=1
6、,y;则:y=+x*+x的结果为_。(4分)(A) y=9(B) y=6(C) y=1(D) 表达式是错误的参考答案:D20. 以下_是错误的转义字符。(4分)(A) (B) (C) 81(D) 0参考答案:C21. 下列可以正确表示字符型常数的是_。(4分)(A) a(B) t(C) n(D) 297参考答案:B22. a、b是整型变量,执行语句scanf(a=%d,b=%d, &a,&b);使a和b的值分别为1和2,正确的输入是_。(4分)(A) 1 2(B) 1,2(C) a=1;b=2;(D) a=1 b=2参考答案:C23. 下面程序的输出结果是_。mian() int x=2,y=
7、0,z; x *= 3+2; printf(“%d”,x); x *= y=z=4; printf(“%d”,x); (4分)(A) 8 40(B) 10 40(C) 10,4(D) 8,4参考答案:B24. 运行以下程序后,输出_。main() int k=-3;if(k=0) printf(*n) else printf(&n);(4分)(A) *(B) &(C) #&(D) 有语法错误不能通过编译参考答案:D25. 已知在ASCII 集中,字母 A的序号为 65,下面程序的输出结果为_。main() char c1=B,c2=Y; printf(“%d,%dn”,+c1,-c2); (4
8、分)(A) 输出格式不合法,输出错误信息(B) 67,88(C) 66,89(D) C,X参考答案:B总分: 100分 考试时间:分钟单选题说明:1. 以下说法中正确的是_。(4分)(A) C语言程序总是从第一个定义的函数开始执行。(B) 在C语言程序中,要调用的函数必须在main函数中定义。(C) C语言程序总是从main函数开始执行。(D) C语言程序中的main函数必须放在程序的开始部分。参考答案:C2. 下列各叙述中,正确的叙述项是_。(4分)(A) 定义函数时,必须要有形参。(B) 函数中可以没有return语句,也可以有多条return语句。(C) 函数f可以用f(f(x)形式调用
9、,这种调用形式是递归调用。(D) 函数必须有返回值。参考答案:B3. 下列各叙述中,不正确的叙述项是_。(4分)(A) : 函数调用时,形参只有在被调用时才被创建(分配存储单元)。(B) : 函数调用时,实参可以是常量、变量或表达式。(C) : 定义局部变量时,省略对变量的存储类别定义,则变量是自动型变量。(D) : 语句return(a,b);则函数可以返回两个值。参考答案:D4. 如果在函数的复合语句中定义一个变量,有关该变量作用域正确的是_。(4分)(A) 只在该复合语句中有效(B) 在该函数中有效(C) 在本程序中有效(D) 为非法变量参考答案:A5. C语言规定,简单变量作实参,它与
10、对应形参之间的数据传递方式是:_。(4分)(A) 地址传递;(B) 单向值传递;(C) 双向值传递;(D) 由用户指定传递方式参考答案:B6. 以下关于语言程序中函数的说法正确的是:_。(4分)(A) :函数的定义可以嵌套,但函数的调用不可以嵌套(B) :函数的定义不可以嵌套,但函数的调用可以嵌套(C) :函数的定义和调用均不可以嵌套(D) :函数的定义和点用都可以嵌套参考答案:B7. C语言允许函数值类型缺省定义,此时该函数值隐含的类型是_。(4分)(A) float 型(B) int 型(C) long 型(D) double 型参考答案:B8. 若用数组名作为函数调用的实参,传递给形参的
11、是_。(4分)(A) 数组的首地址(B) 数组第一个元素的值(C) 数组中全部元素的值(D) 数组元素的个数参考答案:A9. 以下不正确的说法为_。 (4分)(A) 在不同函数中可以使用相同名字的变量(B) 形式参数是局部变量(C) 在函数内定义的变量只在本函数范围内有效(D) 在函数内的复合语句中定义的变量在本函数范围内有效参考答案:D10. 若有定义:int x,*pb;,则以下正确的赋值表达式是_。(4分)(A) : pb=&x(B) : pb=x(C) : *pb=&x(D) : *pb=*x参考答案:A11. 下列语句定义p为指向float型变量d的指针,其中正确的是_。(4分)(A
12、) : float d,*p=d;(B) : float *p=&d,d;(C) : float d,*p=&d;(D) : float d,p=d;参考答案:C12. 变量的指针,其含义是指该变量的_。 (4分)(A) 值(B) 地址(C) 名(D) 一个标志参考答案:B13. 设有说明 int (ptr)M;其中 ptr是_。 (4分)(A) M 个指向整型变量的指针(B) 指向 M 个整型变量的函数指针(C) 一个指向具有 M 个整型元素的一维数组的指针(D) 具有 M 个指针元素的一维指针数组,每个元素都只能指向整型量参考答案:C14. 已有定义 int k=2,*ptr1,*ptr2
13、;且 ptr1 和 ptr2 均已指向同一个变量 k,下面不正确执行的赋值语句是:_。 (4分)(A) : k=*ptr1+*ptr2;(B) :ptr2=k;(C) :ptr1=ptr2;(D) :k=*ptr1*(*ptr2);参考答案:B15. 调用strlen(abcd0ef0g)的返回值为_。(4分)(A) 4(B) 5(C) 8(D) 9参考答案:A16. 在C语言中,引用数组元素时,其数组下标的数据类型允许是_。(4分)(A) 整型常量(B) 整型表达式(C) 整型常量或整型表达式(D) 任何类型的表达式参考答案:C17. 已知int a10;则对a数组元素的正确引用是 _。(4
14、分)(A) : a10(B) :a3.5(C) :a(5)(D) :a10-10参考答案:D18. 已知int a34;则对数组元素引用正确的是 _。(4分)(A) : a24(B) :a1.3(C) :a1+10(D) :a(2)(1)参考答案:C19. 下列程序段的运行结果为_。char s = ab0cd; printf(%s,s);(4分)(A) : ab0(B) : ab(C) : abcd(D) : ab cd参考答案:B20. 有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5); 该函数调用语句中,含有的实参个数是_(1)_。(4分)(A) 3(B)
15、 4(C) 5(D) 有语法错参考答案:A21. 以下错误的描述是_。函数调用可以(4分)(A) 出现在执行语句中(B) 出现在一个表达式中(C) 做为一个函数的实参(D) 做为一个函数的形参参考答案:D22. 以下正确的说法是_。如果在一个函数中的复合语句中定义了一个变量,则该变量(4分)(A) 只在该复合语句中有效(B) 在该函数中有效(C) 在本程序范围内有效(D) 为非法变量参考答案:A23. 对下面函数f,选出f(f(3)的值是_。int f(int x) static int k=0;x+=k-;return x;(4分)(A) 5(B) 3(C) 2(D) 4参考答案:C24.
16、若有以下定义,则对 a数组元素的正确引用是 _。int a5, p=a;(4分)(A) &a5(B) a+2(C) (p+5)(D) (a+2)参考答案:D25. 若有以下定义,则(p+5)表示_。int a6, p=a;(4分)(A) :元素 a5的地址(B) :元素 a5的值(C) :元素 a6的地址(D) :元素 a6的值参考答案:B总分: 100分 考试时间:分钟单选题说明:1. 对于基类型相同的两个指针变量之间,不能进行的运算是_。(4分)(A) :next=p2-next; free(p2);(C) :*p1.next=*p2.next;free(p2);(D) : p1=p2-n
17、ext;free(p2);参考答案:B5. 已建立一单向链表, 指针变量p1指向链表中某一结点, p2指向下一结点; 指针变量p指向新申请结点, 将p所指结点插入到链表中p1与p2之间的语句为_。(4分)(A) :p-next=p2;p1-next=p;(B) : p1=p; p=p2;(C) :p=p2; p1-next=p;(D) : p1=p; p-next=p2;参考答案:A6. fread(buf,64,2,fp)的功能是_。(4分)(A) :从 fp 文件流中读出整数 64,并存放在 buf 中;(B) :从 fp 文件流中读出整数 64 和 2,并存放在 buf 中;(C) :从
18、 fp 文件流中读出 64 个字节的字符,并存放在 buf 中;(D) :从 fp 文件流中读出 2 个 64个字节的字符,并存放在buf 中;参考答案:D7. 系统的标准输出文件stdout是指_。(4分)(A) : 键盘(B) :显示器(C) : 软盘(D) : 硬盘参考答案:B8. 若执行fopen函数时发生错误,则函数的返回值是_。(4分)(A) 地址值(B) 0(C) 1(D) EOF参考答案:B9. 为了显示一个文本文件的内容,在打开文件时,文件的打开方式应当为_。(4分)(A) r+(B) w+(C) wb+(D) ab+参考答案:A10. 若要用fopen函数打开一个新的二进制
19、文件,该文件要既能读也能写,则文件方式字符串应该是_。(4分)(A) ab+(B) wb+(C) rb+(D) ab参考答案:B11. 在C语言中,从计算机内存中将数据写入文件中,称为_。(4分)(A) 输入(B) 输出(C) 修改(D) 删除参考答案:B12. 以下定义语句中,错误的是_。(4分)(A) :int a=1,2;(B) :char *a3;(C) :char s10=test;(D) :int n=5,an;参考答案:D13. 执行以下程序段后 y的值为_。static int a=1,3,5,7,9; int y,x,*ptr; y=1; ptr=&a1; for(x=0;x
20、no(D) :work-no参考答案:D20. 有如下定义:struct date int year, month, day; ; struct worklist char name20; char sex; struct date birthday; person; 对结构体变量 person 的出生年份进行赋值时,下面正确的赋值语句是_(1)_。(4分)(A) :year=1958(B) : birthdayyear=1958(C) : personbirthdayyear=1958(D) : personyear=1958参考答案:C21. 有以下定义浯句:struct node int
21、 n; struct node *next; x, y, *p=&x, *q=&y;则能将y结点链接到x结点之前的语句为_。(4分)(A) x.next=p;(B) x.next=q;(C) y.next=p;(D) y.next=q;参考答案:C22. 有以下的结构体变量定义语句:struct student int num;char name9; stu;则下列叙述中错误的是 _。(4分)(A) :结构体名为student(B) :结构体类型名为stu(C) :num是结构体成员名(D) :struct是C的关键字参考答案:B23. 以下程序的输出结果是_。#includevoid mai
22、n() struct cmplx int x; int y; cnum2=1,3,2,7; printf(%dn,cnum0.y/cnum0.x*cnum1.x); (4分)(A) 0(B) 1(C) 3(D) 6参考答案:D24. 以下程序的输出结果为_。#includevoid main() struct node int n; struct node *next; a4;int i;for(i=0;in=i+1; (a+i)-next=a+i+1;(a+i)-next=a;printf(%d,%dn,(a1.next)-n, a3.next-n);(4分)(A) 1,2(B) 2,1(C
23、) 1,3(D) 3,1参考答案:D25. 若要利用下面的程序片段使指针变量p指向一个存储整型变量的存储单元,则应向空格处填入以下哪一选项_。(4分)(A) : int(B) :int *(C) : (* int)(D) : (int *)参考答案:D总分: 100分 考试时间:分钟单选题说明:1. 下列各语句序列中,能够将变量u、s中最大值赋值到变量t中的是_。(5分)(A) : if(us)t=u;t=s;(B) :t=s;if(us)t=u;(C) :if(us)t=s;else t=u;(D) :t=u;if(us)t=s;参考答案:B2. C 语言中调用 printf 进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。如果格式说明的个数小于输出项的个数,多余的输出项将_;如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或 0)。(5分)(A) 不予输出(B) 输出空格(C) 照样输出(D) 输出不定值或 0参考答案:A3.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1