2014年9月二级C语言学习知识程序设计模拟(7)试题.doc
-
资源ID:2527187
资源大小:441.64KB
全文页数:14页
- 资源格式: DOC
下载积分:8金币
快捷下载

会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2014年9月二级C语言学习知识程序设计模拟(7)试题.doc
!-2014年9月二级C语言程序设计模拟(7)单项选择题1.下面关于算法的叙述中,正确的是( )。A:算法的执行效率与数据的存储结构无关B:算法的有穷性是指算法必须能在执行有限个步骤之后终止C:算法的空间复杂度是指算法程序中指令(或语句)的条数D:以上三种描述都正确2.下列二叉树描述中,正确的是( )。A:任何一棵二叉树必须有一个度为2的结点B:二叉树的度可以小于2C:非空二叉树有0个或1个根结点D:至少有2个根结点3.如果进栈序列为A,B,C,D,则可能的出栈序列是( )。A:C,A,D,BB:B,D,C,AC:C,D,A,BD:任意顺序4.下列各选项中,不属于序言性注释的是( )。A:程序标题B:程序设计者C:主要算法D:数据状态5.下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。A:内模式B:外模式C:概念模式D:逻辑模式6.下列叙述中,不属于软件需求规格说明书的作用的是( )。A:便于用户,开发人员进行理解和交流B:反映出用户问题的结构,可以作为软件开发工作的基础和依据C:作为确认测试和验收的依据D:便于开发人员进行需求分析7.下列不属于软件工程3个要素的是( )。A:工具B:过程C:方法D:环境8.数据库系统在其内部具有3级模式,用来描述数据库中全体数据的全局逻辑结构和特性的是( )。A:外模式B:概念模式C:内模式D:存储模式9.将ER图转换到关系模式时,实体与联系都可以表示成( )。A:属性B:关系C:记录D:码10.某二叉树中度为2的结点有10个,则该二叉树中有( )个叶子结点。A:9B:10C:11D:1211.以下叙述中正确的是( )。A:C程序中注释部分可以出现在程序中任意合适的地方B:C程序的书写格式是固定的,每行只能写一条语句C:构成C程序的基本单位是函数,所有函数名都可以由用户命名D:在对C语言程序进行编译时,可以发现注释行中的拼写错误12.下面的程序在编译时产生错误,其出错原因是( )。#include stdioh main() int 1 case;float printF;printf("请输入2个数:");scanf("df",&1_case,&printF);printf("dfn",1_case,printF);A:定义语句出错,1 case不能作为变量名B:定义语句出错,printF不能用作用户自定义标识符C:定义语句无错,scanf不能作为输入函数使用D:定义语句无错,printf不能输出1 case的值13.以下不正确的转义字符是( )。A:B:dC:sD:08814.下面程序的运行结果是( )。y=5;x=14;y=(x=3*y,x+6),X-1); printf("x=d,y=d",x,y);A:x=27,y=27B:x=12,y=13C:x=15,y=14D:x=y=2715.sizeof(char)是( )。A:一种函数调用B:一个整型表达式C:一个字符型表达式D:一个不合法的表达式16.下列4个程序中,完全正确的是( )。A:#include stdioh main(); *programming* printf("programming!n");B:#include stdioh main() *programming* printf("programming!n");C:#include stdioh main() *programming* printf("programming!n");D:include stdioh main() *programming* printf("programming!n");17.设变量均已正确定义,若要通过scanf("dcdc",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。下列所示的输入形式中正确的是(注:代表空格字符)( )。A:10X020Y CR B:10X20Y CR C:10DX CR 20Y CR D:10X CR 200Y CR 18.两次运行下面的程序,如果从键盘上分别输入3和2,则输出结果是( )。#include stdioh main()int x;scanf("d",&x);if(x+ 2)printf("d",x);else printf("dn",x-);A:4和3B:4和2C:4和1D:3和219.以下叙述中不正确的是( )。A:在不同的函数中可以使用相同的名字的变量B:函数中的形式参数是局部变量C:在一个函数内定义的变量只在本函数范围内有效D:在一个函数内的复合语句中定义的变量在本函数范围内有效20.运行下面的程序,输入字符串Microsoft Visual Studio,则程序的执行结果是( )。#include stdioh main() char Chr20;scanf("s",&Chr);printf("sn",Chr);A:Microsoft Visual StudioB:MC:MicrosoftD:MicrosoftVisualStudio21.若有“double a;”,则正确的输入语句是( )。A:scanf("1f",a);B:scanf("f",&a);C:scanf("1f",&a)D:scanf("1e",a);22.if语句的基本形式为:if(表达式)语句,其中“表达式"( )。A:可以是任意合法的表达式B:必须是逻辑表达式C:必须是逻辑表达式或关系表达式D:必须是关系表达式23.若i、i已定义成int型,则以下程序段中内循环体的总执行次数是( )。for(i=6;i 0;i-)for(j=0;j 4;j+)A:20B:24C:25D:3024.以下选项中非法的字符常量是( )。A:B:0201C:xAAD:025.以下程序的输出结果是( )。#include stdioh int m=13:int fun(int x,int Y) int m=2;return(x*y-m);main() int a=7,b=6;printf("d",fun(a,b)m);A:1B:3C:7D:1026.下面程序运行后的输出结果是( )。#include stdioh main() int a5=1,0,4,2,0,b5=1,2,3,4,5),i,s=0;for(i=0;i 5;i+)s=s+bai;printf("dn",s);A:12B:15C:11D:827.己知下列函数定义:fun(int*int c,int amint data)int k;for(k=0;k m*n;k+)*b=data;b+;则调用此函数的正确写法是(假设变量a的说明为int a501)( )。A:fun(*a,4,5,1);B:fun(&a,4,5,1);C:fun(int*)a,4,5,1);D:fun(a,4,5,1);28.以下程序段的输出结果是( )。#include stdioh main() char p4="ABC","DEF","GHI");int i;for(i=0;i 3;i+)puts(pi);A:A B CB:A D GC:A B C D E F G H ID:A B C29.下面程序的运行结果是( )。#include stdioh #include stringh main() char*s1="abDuj";char*s2="ABdUG";int t;t=strcmp(s1,s2);printf("d",t);A:正数B:负数C:零D:不确定的值30.己知:int c34;,则对数组元素引用正确的是( )。A:c14B:c150C:c1+00D:以上表达都错误31.以下程序:#include stdioh #include stringh main() char str="abcdn123xab";printf("d",(str);运行后的输出结果是( )。A:10B:9C:7D:1432.C语言中允许用外部说明来指定变量、函数和其他标识符的特征,这里所说的外部指的是( )。A:冠以关键字externB:位置在函数体外部C:作用范围是全程的D:位置在函数的外部33.有以下程序:#include stdioh int fun(int X,int y) if(x=y)return(x);else return(x+y)2);main() int a=1,b=2,c=3;printf("dn",fun(2*a,fun(b,c);程序运行后的输出结果是( )。A:2B:3C:4D:534.若有char s33="AAA","BBB","CCC”);说明语句,则与它等价的语句是( )。A:char*s="AAA","BBB","CCC");B:char*s3="AAA","BBB","CCC");C:char s5="AAA","BBB","CCC");D:char s3="AAA","BBB","CCC";35.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( )。A:C语言程序仅可以编译执行B:C语言程序仅可以解释执行C:C语言程序既可以编译执行又可以解释执行D:以上说法都不对36.若有如下说明,且int类型占两个字节,则正确的叙述为( )。struct st int a;int b2;a;A:结构体变量a与结构体成员a同名,定义是合法的B:程序只在执行到该结构体时才为结构体st分配存储单元C:程序运行时为结构体st分配8字节存储单元D:类型名struct st可以通过extern关键字提前引用37.有以下程序:#include stdioh int fun(int*k) int b=0;b=*k+b:return(b);)main() int a10=1,2,3,4,5,6,7,8),i;for(i=2;i 4;i+)printf("d",fun(&ai);printf("n");程序运行后的输出结果是( )。A:10 12B:8 10C:3 4D:10 2838.设有一联合体变量定义如下:union data long a;float b:int c;char d;union data x;执行下列语句后,正确的联合体变量x的值是( )。xa=111111;xb=2222;xc=21 546;xd=R:A:111111B:2222C:21 546D:R39.若x=2,y=3,则x&y的结果是( )。A:0B:2C:3D:540.已知一个文件中存放若干工人档案记录,其数据结构如下:struct a char number100;int age;float p6;定义一个数组:struct a number10;假定文件已正确打开,不能正确地从文件中读入 10名工人数据到数组b中的是( )。A:fread(b,sizeof(struct a),10,fp);B:for(i=0;i 10;i+) fread(bi,sizeof(struct a),1,fp);C:for(i=0;i 10;i+) fread(b+i,sizeof(struct a),1,fp);D:for(i=0;i 5;i+=2) fread(b+i,sezeof(struct a),2,fp);程序填空题41.给定程序中,函数fun的功能是:对形参S所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参P所指字符数组中,形成一个新串。例如,形参S所指的字符串为:baawrskjghzlicda,执行后p所指字符数组中的字符串应为:aachjlsw。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1C中。不得增行或删行,也不得更改程序的结构!#inClude stdioh void fun(char *s,char *P) int i,j,n,x,t;n=0;for(i=0; si!=0; i+) n+;for(i=1;i n-2;i=i+2) *found*_1_;*found*for(j=_2_+2;j n;j=j+2)if(st sj) t=j;if(t!=i) x=si;si=st;st=x;for(i=1,j=0;i n;i=i+2,j+)pj=si;*found*Pj=_3_;main() char S80="baawrskjghzlicda,p50;printf(nThe original string is:sn",s);fun(s,P);printf("nThe result is:sn,p);程序修改题42.给定程序MODI1C中函数fun的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。请改正函数fun中指定部位的错误,使它能得出正确的结果。_注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include stdioh #incilude mathh void fun(int a,int *b,int *c) int i,j,d,y;for(i=3;i =a2;i=i+2) *found*Y=1; for(j=2;j =sqrt(double)i);j+)if(ij=0)y=0;if(y=1) *found*d=a-i; for(j=2;j =sqrt(double)d);j+)if(dj=0) y=0;if(y=1) *b=i;*c=d;)main() int a,b,c;do printf("nInput a:");scanf("d",&a);while(a2);fun(a,&b,&c);printf("nnd=d+ dn",a,b,c);程序设计题43.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串的前导*号不得多于n个;若多于n个,则删除多余的宰号:若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。例如,字符串中的内容为:*A*BC*DEF*G*,若n的值为4,删除后,字符串中的内容应当是:*A*BC*DEF*G*;若n的值为8,则字符串中的内容仍为:*A*BC*DEF*G*。n的值在主函数中输入。 在编写函数时,不得使用C语言提供的字符串函数。注意:部分源程序在文件PROG1C文件中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include stdioh void fun(char *a,int n)_mai n() char s81;int n;voi d NONO();print f("Enter a string:n");gets(s);print f("Ente r n:");scanf("d",&n);fun(s,n);printf("The string after deleted:n");puts(s);NONO();void NONO()(*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 *FILE *in,*out ;int i,n ; char S81 ;in=fopen("indat","r");out=fopen("outdat","w");for(i=0;i 10;i+) fscanf(in,"s",s);fscan f(in,"d",&n);fun(s,n);fprintf(out,"sn",s);fclose(in);fcloSe(out);