2014年9月二级C语言程序设计模拟(2)试题
更新时间:2024-04-14 18:35:01 阅读量: 综合文库 文档下载
2014年9月二级C语言程序设计模拟(2)
单项选择题
1. 算法的时间复杂度是指( )。 A: B: C: D:
算法的长度
执行算法所需要的时间 算法中的指令条数
算法执行过程中所需要的基本运算次数
2. 以下数据结构中,属于非线性数据结构的是( )。 A: B: C: D:
栈 线性表 队列 二叉树
3. 数据结构中,与所使用的计算机无关的是数据的( )。 A: B: C: D:
存储结构 物理结构 逻辑结构 线性结构
4. 内聚性是对模块功能强度的衡量,下列选项中,内聚性较弱的是( )。 A: B: C: D:
顺序内聚 偶然内聚 时间内聚 逻辑内聚
5. 在关系中凡能惟一标识元组的最小属性集称为该表的键或码。二维表中可能有若干个键,它们称为该表的( )。 A:
连接码
B: C: D:
关系码 外码 候选码
6. 检查软件产品是否符合需求定义的过程称为( )。 A: B: C: D:
确认测试 需求测试 验证测试 路径测试
7. 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是( )。 A: B: C: D:
控制流 加工 存储文件 源和潭
8. 待排序的关键码序列为(15,20,9,30,67,65,45,90),要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码15被放到第( )个位置。 A: B: C: D:
2 3 4 5
9. 对关系S和关系R进行集合运算,结果中既包含关系S中的所有元组也包含关系R中的所有元组,这样的集合运算称为( )。 A: B: C: D:
并运算 交运算 差运算 除运算
10. 下列选项中,不属于数据管理员(DBA)职责的是( )。 A: B: C: D:
数据库维护 数据库设计
改善系统性能,提高系统效率 数据类型转换
11. C语言规定,在一个C程序中,main()函数的位置( )。 A: B: C: D:
必须在系统调用的库函数之后 必须在程序的开始 必须在程序的最后 可以在任意位置
12. 以下叙述中正确的是( )。 A: B: C: D:
C语言比其他语言高级
C语言可以不用编译就能被计算机识别执行
C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 C语言出现的最晚,具有其他语言的一切优点
13. 已知int a=6;则执行a+=a-=a*a;语句后,a的值为( )。 A: B: C: D:
36 0 -24 -60
14. 下列叙述中错误的是( )。 A: B: C: D:
C语句必须以分号结束
复合语句在语法上被看作一条语句
空语句出现在任何位置都不会影响程序运行 赋值表达式末尾加分号就构成赋值语句
15. 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )。 A: B: C: D:
2.5 2.75 3.5 0
16. 若下列选项中的各变量均为整型且已有值,其中不正确的赋值语句是( )。 A: B: C: D:
++i;
n1=(n2/(n3=2)); k=i=j; a=b+c=2;
17. 下列关于逻辑运算符两侧运算对象的叙述中正确的是( )。 A: B: C: D:
只能是整数0或1 只能是整数0或非0整数 可以是结构体类型的数据 可以是任意合法的表达式
18. 若有说明int a[3][4];则a数组元素的非法引用是( )。 A: B: C: D:
a[0][2*1] a[1][3] a[4-2][0] a[0][4]
19. 下列说法不正确的是( )。 A: B: C:
int*ptr;//指针指向整形数据 char*ptr;//指针的类型是字符型指针 int**ptr;//指针的类型是双重指针
D:针
int(*ptr)[3];//是一个指针数组,数组共有三个元素,而三个元素是int型指
20. 有以下程序 #include〈 stdio.h 〉 void main() {
char s[]={\;int i,n=0; for(i=0;s[i]!=0;i++)
if(s[i]〈 =′a′&&s[i] 〉=′z′)n++; printf(\%d\n\,n); }
程序运行后的输出结果是( )。 A: B: C: D:
0 2 3 5
21. 有以下程序: #include〈 stdio.h 〉 main()
{int a[]={1,2,3,4),y,*p=&a[3]; --p;y=*p;printf(\%d\n\,y); }
程序的运行结果是( )。 A: B: C: D:
y=0 y=1 y=2 y=3
22. 下面的for语句的循环次数为( )。
for(x=1,y=0;(y!=19)&&(x〈 6);x++); A: B:
是无限循环 循环次数不定
C: D:
最多执行6次 最多执行5次
23. 下列程序的输出结果是( )。 #include〈 stdio.h 〉 void main()
{ int a=0,b=1,c=2; if(++a 〉0‖++b 〉0) ++c;
printf(\%d,%d,%d\,a,b,c); } A: B: C: D:
0,1,2 1,2,3 1,1,3 1,2,2
24. 有以下程序: #include 〈 stdio.h 〉 main() { int c;
while((c=getchar())!=′\n′) { switch(c-′3′) { case 0:
case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); case 4:putchar(c+3);break; }}
printf(\\n\;}
从第一列开始输入数据(〈 CR 〉代表一个回车符):3845〈 CR 〉,则程序输出结果为( )。 A: B: C: D:
77889 77868 776810 7.78866e+007
25. C语言规定,函数返回值的类型是( )。 A:
由调用该函数时的主调函数类型所决定
B: C: D:
由return语句中的表达式类型所决定 由调用该函数时系统临时决定
由定义该函数时所指定的数值类型决定
26. 执行下列程序时输入456〈 空格 〉789〈 空格 〉123〈 回车 〉,输出结果是( )。 #include〈 stdio.h 〉 main()
{ char m[80]; int c,i;
scanf(\%c\,&c); scanf(\%d\,&i); scanf(\%s\,&m);
printf(\%c,%d,%s\n\,c,i,m); } A: B: C: D:
4.56789e+008 4.78912e+006 4,56,789,1 23 4,56,789
27. 已知下列函数定义: fun(int *b,int c,int d) { int k;
for(k=0;k〈 c*d;k++) { *b=c+d; b++;} }
则调用此函数的正确写法是(假设变量a的说明为int a[10])( )。 A: B: C: D:
fun(*a,6,14); fun(&a,6,8); fun(a,8,4); fun((int)a,8,6);
28. 设Y为整型变量,A=1,A的地址为EF01;B=2,B的地址为EF02;执行语句B=&A;Y=&b;后Y的值( )。 A:
1
B: C: D:
2 EF01 EF02
29. 有以下程序: #include〈 stdio.h 〉 int flint t[],int n); main()
{ int a[4]={1,2,3,4},s; s=f(a,2);printf(\%d\n\,s); }
int flint t[],int n)
{ if((n 〉0)&&(n〈 5))return t[n+1]+f(t,n-1); else return 0: }
程序运行后的输出结果是( )。 A: B: C: D:
4 7 10 6
30. 以下语句定义正确的是( )。 A: B: C: D:
int a[1][4]={1,2,3,4,5);
float a[3][]={{1,2},{2,3},{3,1}};
long a[2][3]={{1},{1,2},{1,2,3},{0,0}}; double a[][3]={8);
31. 下列一维数组说明中,不正确的是( )。 A: B: C: D:
int N; scanf(\%d\,&N); int b[N]; float a[]={1,6,6,0,2}; #define S 10 int a[S+5];
32. 下面函数的功能是( )。 SSS(S,t) char*s,*t;
{ while((*s)&&(*t)&&(*t++==*s++)); return(*s-*t); } A: B: C: D:
将字符串s复制到字符串t中 比较两个字符串的大小 求字符串的长度
将字符串S接续到字符串t中
33. 有以下程序: #include〈 stdio.h 〉 #include\.h\void fun(char*s[],int n) {
char*t;int id; for(i=0;i〈 n-1;i++) for(j=i+1;j〈 n;j++)
if(strlen(s[i]) 〉strlen(s[j])) {t=s[i];s[i]=s[j];s[j]=t;} } main() {
char *ss[]={\,\,\,\,\; fun(ss,5);printf(\%s,%s\n\,ss[0],ss[4]); }
程序的运行结果是( )。 A: B: C: D:
xy,aaaacc aaaacc,xy bcc.aabCC aabcc,bcc
34. 若已定义:
int a[]={0,1,2,3,4,5,6,7,8,9),*p=a,i; 其中0≤i≤9,则对a数组元素不正确的引用是( )。 A: B:
a[p-a] *(&a[i])
C: D:
p[i] a[10]
35. 以下选项中可用作C程序合法实数的是( )。 A: B: C: D:
0.1 3.0e0.2 E9 9.12E
36. 以下叙述中不正确的是( )。 A: B: C: D:
预处理命令行都必须以#号开始,结尾不加分号 在程序中凡是以#号开始的语句行都是预处理命令行 C程序在执行过程中对预处理命令进行处理 预处理命令可以放在程序中的任何位置
37. 以下程序的输出结果是( )。 #include〈 stdio.h 〉 #define F(x)2.84+x
#define w(y)printf(\%d\,(int)(y)) #define P(y)w(y) main() { int x=2; P(F(5)*x); } A: B: C: D:struct st { int a; float b: }d;
12 13 14 16
38. 设有下面的定义:
int*p;
要使p指向结构变量d中的a成员,正确的赋值语句是( )。 A: B: C: D:
*p=d.a; p=&a; p=d.a; p=&d.a;
39. 交换两个变量的值,不允许用临时变量,应该使用下列( )位运算符。 A: B: C: D:
& ^ ‖ ~
40. 如果需要打开一个已经存在的非空文件“FILE”并进行修改,正确的语句是( )。 A: B: C: D:
fp=fopen(\,\; fp=fopen(\,\; fp=fopen(\,\; fp=fopen(\,\;
程序填空题
41. 用筛选法可得到2~n(n〈 10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序列:
2,3,5,7,1 l,1 3,17,1 9,23,??????
函数fun用筛选法找出所有小于等于n的素数,并统计素数的个数作为函数值返回。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include 〈 stdio.h 〉 int fun(int n)
{ int a[10000],i,j,count=0; for(i=2;i〈 =n;i++)a[i] =i; i=2;
while(i〈 n){
/**********found**********/ for (j=a[i]*2;j〈 =n;j+=____1____) a[j]=0; i++;
/**********found**********/ while(____2____==0) i++; }
printf(\\nThe prime number between 2 to %d\n\,n); for (i=2; i〈 =n; i++)
/**********found**********/ if(a[i]!=____3____)
{ count++;print f(count%15? \%5d\:\\n%5d\,a[i]);} return count; } main()
{ int n=20,r; r=fun(n);
printf(\\nThe number of prime is: %d\n\,r); }
程序修改题
42. 给定程序MODI1.C中函数fun的功能是:根据以下公式求x值,并作为函数值返回。 例如,给指定精度的变量eps输入0.0005时,应当输出Pi=3.141480。
请改正程序中的错误,使它能得出正确结果。________
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 #ihclude〈 math.h 〉 #include〈 stdio.h 〉 double fun(double eps) { double s,t;int n=1; s=0.0;
/**********found**********/ t=0;
while(t 〉epS) { s+=t;
t=t * n/(2*n+1); n++; }
/**********found**********/ return(s);
} main() { double x;
printf(\\nPlease enter a
precision:\;scanf(¨%1f¨,&x);
printf(\\neps=%1f,Pi=%if\n\n¨,x,fun(x)); }
程序设计题
43. 学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组S中,请编写函数fun,它的功能是:把分数最高的学生数据放在h所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。 注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include 〈 stdio.h 〉 #define N 16 typedef Struct { char num[10]; int s; } STREC;
int fun(STREC *a,STREC*b) {
________ } main()
(STREC S[N]={{\,85},{\,76},{\,69},{\,85},{\,91},{\,72},{\,64},{\,87},{\,85},{\,91},{\,64},{\,91},{\,77},{\,64}, {\,64},{\,72}};STREC h[N]; int i,n;FILE *out; n=fun(s,h);
printf(\%d highest score:\n\,n); for(i=0;i〈 n; i++)
printf(\%s %4d\n\,h[i].num,h[i].S); print f(\\n\;
out=fopen(\.dat\,\; fprintf(out,\%d\n\,n); for(i=0;i〈 n; i++)
fprintf(out,\%4d\n\,h[i].s); fclose(out); }
正在阅读:
《灯光》评课04-08
干部行政处罚实施细则09-18
宽带接入及小区信息化建议书04-28
江津区建设工程档案报送责任书01-10
高2018届-生物-周练14(含答案)08-09
动人心魄的蓝MauriceLacroix艾美MP6607银面蓝针全历月相男士机械腕表04-30
账务处理操作指引 - 图文10-16
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 程序设计
- 试题
- 二级
- 模拟
- 语言
- 2014
- 《图形的旋转(一)》教学设计
- 承压水突涌计算
- 大学普通化学总复习
- 小学三年级语文阅读训练(含答案)
- 最新华南师范大学实习报告
- 集团公司印章使用G管理制度
- 我心中的许嵩 - 图文
- 总务后勤主管岗位职责
- 北语15春《英语电影赏析》作业2满分答案
- 古代文学笔记
- 五年级数学上册 梯形面积的计算教学反思1 苏教版
- 新部编人教版二下语文第1单元B卷 及参考答案
- 2017-2018年整体经济情况分析
- 四川2015安装定额说明 - 图文
- 财务部部门文化建设工作汇报
- 培训游戏大全-HR猫猫
- 2012年江西省青少年游泳比赛秩序册
- 中国海上救生设备行业市场前景分析预测报告(目录) - 图文
- 2012年秋季学期期中检测试卷八年级语文
- 权保护执行分配中优先权冲突下的工资债