湖北经济学院2019年C语言程序设计模拟试卷(八)及完整答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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()