湖北经济学院2019年C语言程序设计模拟试卷(八)及完整答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

湖 北 经 济 学 院 2019年C 语言程序设计模拟试卷(八) 考试方式:【闭卷】 总分: 【100分】 考试时间:【120分钟】 出题人 :【刘琳】

3. 若所用变量都已正确定义,则在以下选项中,非法的表达式是 ( ) A) a!=4||b==1

B) 'a'%3 C) 'a'=1/2

D) 'a'+32

4. 在以下给出的表达式中,与while(e)中的(e)不等价的表达式是________。 A) (! E==0)

B) (E >0 ‖ E<O)

C)

(E==0)

………………………………………密………………………………

…………………封……………………………………………………………………

线……………………………………………………………………………………….. 学号-

----------------------------

姓名-

---------------------

D)(E! =0)

5.设有如下定义: struct sk

{

int a;

float b;

}

data,*p;

若有p=&data;

则对data中成员a的引用正确的是________

A)(*p).data.a

B)(*p).a

C)p->data.a

D)p.data.a

6.若有以下定义:int t[3][2]; 能正确表示t数组元素地址的表达式是______。

A)&t[3][2]

B)t[3]

C)t[1]

D)*t[2]

7.关于数组和指针,以下说法错误的是()

A)数组名本身就是一个指针,指向数组内存的起始位置

B)既可以读入数据到数组中,也可以读入数据到未赋初值的指针中

C)可以让一个指针指向一个同类型的数组

D)指针可以指向同类型的数组中的任意一个元素

8.一个算法应当具有五个特性,以下叙述中正确的是()

A)有穷性、确定性、复杂性、有零个或多个输入、有一个或多个输出

B)有穷性、确定性、可行性、有零个或多个输入、有一个或多个输出

C)有穷性、确定性、可行性、必须要有一个以上的输入、有一个或多个输出

D)有穷性、确定性、复杂性、有零个或多个输入、必须要多个输出

9.下面说明不正确的是

A)char a[10]="china";

B)char a[10],*p=a;p="china"

C)char*a;a="china";

D)chara[10],*P;P=a="china"

10.在最坏情况下,冒泡排序所需要的比较次数为

A)n/2

B)(n+1)/2

C)n(n-1)/2

D)n(n+1)/2

11.下列叙述中正确的是

A)每个C程序文件中都必须有一个main()函数

B)在C程序的函数中不能定义另一个函数

C)C程序可以由一个或多个函数组成

D)在C程序中main()函数的位置是固定的

12.以下叙述正确的是________。

A)在C语言程序中,main函数必须位于程序的最前面

B)C语言程序的每行中只能写一条语句

C)C语言本身没有输入输出语句

D)在对一个C语言程序进行编译的过程,可发现注释中的拼写错误

13.以下程序运行后的输出结果是main( ) char s[]="abcd",*p;

for(p=s+1;p<s+4;p++)printf("%s\n",p);

A)ABCD

BCD

CD

D

B) A

B

C

D

C) B

C

D

D)BCD

CD

D

14.c语言结构体类型变量在程序执行期间,( )。

A)所有成员一直驻留在内存中

B)没有成员驻留在内存中

C)部分成员驻留在内存中

D)只有一个成员驻留在内存中

15.有以下程序:

#include<stdio.h>main() int a=1,b=0;

printf("%d,",b=a+b);

printf("%d\n",a=2+b);

程序运行后的输出结果是________。

A)0,0

B)1,0

C)3,2

D)1,2

16.下面程序的功能是将从键盘输入的偶数写成两个素数之和。请选择填空。

#include <stdio.h>

#include <math.h>

main()

{

int a, b, c, d;

scanf("%d", &a);

for (b = 3, b <= a / 2; b += 2)

{

for (c = 2; c <= sqrt(c); c++) if (b % c == 0) break;

if (c > sqrt(b)) d = ________;

else continue;

for (c = 2; c <= sqrt(d); c++) if (d % c == 0) break;

if (c > sqrt(d)) printf("%d=%d+%d\n", a, b, d);

}

}

A)a+b

B)a-b

C)a*b

D)a/b

17.有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结

点b连接到结点a之后的语句是struct node char data;

struct node*next;

a,b,*p=&a,*q=&b;

A)next=q;

B)next=&b;

C)p->next=&b;

D)(*p).next=q;

18.以下程序的输出结果是______。main()

相关文档
最新文档