计算机二级C练习题目和答案2_第1页
计算机二级C练习题目和答案2_第2页
计算机二级C练习题目和答案2_第3页
计算机二级C练习题目和答案2_第4页
计算机二级C练习题目和答案2_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。(1)程序流程图中带有箭头的线段表示的是 A)图元关系 B)数据流 C)控制流 D)调用关系(2)下面不属于软件设计原则的是 A)抽象 B)模块化 C)自底向上 D)信息隐蔽(3)下列选项中,不属于模块间耦合的是 A)数据耦合 B)标记耦合 C)异构耦合 D)公共耦合(4)下列叙述中,不属于软件需求规格说明书的作用的是 A)便于用户、开发人员进行理解和交流 B)反映出用户问题的结构,可以作为软件开发工作的基础和依据 C)作为确认测试和验收的依据 D)便于开发人员

2、进行需求分析(5)算法的时间复杂度是指 A)执行算法程序所需要的时间 B)算法程序的长度 C)算法执行过程中所需要的基本运算次数 D)算法程序中的指令条数(6)已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是 A)堆排序 B)直接插入排序 C)快速排序 D)B)和C)(7)栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是 A)ABCED B)DCBEA C)DBCEA D)CDABE(8)数据库设计包括两个方面的设计内容,它们是 A)概念设计和逻辑设计 B)模式设计和内模式设计 C)内模式设计和物理设计 D)结构特性设计和行为特性

3、设计(9)关系表中的每一横行称为一个 A)元组 B)字段 C)属性 D)码(10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字 (键或码)为 A)课号,成绩 B)学号,成绩 C)学号,课号 D)学号,姓名,成绩(11)以下不正确的叙述是 A)在C程序中,逗号运算符的优先级最低 B)在C程序中,APH和aph是两个不同的变量 C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变 D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值(12)请选出

4、可用作C语言用户标识符的是 A)void,define,WORD B)a3_b3,_123,IF C)FOR,-abc,Case D)2a,Do,Sizeof(13)以下选项中,不能作为合法常量的是 A)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0(14)在C语言中,运算对象必须是整型数的运算符是 A) % B) C)%和 D )*(15)若变量均已正确定义并赋值,以下合法的C语言赋值语句是 A) x=y=5; B) x=n%2.5; C) x+n=i; D) x=5=4+1; (16)有以下程序段 char ch; int k; ch=a;k=12; p

5、rintf("%c,%d,",ch,ch,k); printf("k=%d n",k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是 A)因变量类型与格式描述符的类型不匹配输出无定值 B)输出项与格式描述符个数不符,输出为零值或不定值 C)a,97,12k=12 D)a,97,k=12(17)已知字母A的ASCII代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是 A)kk>=A&& kk<=Z B)!(kk>=A|kk<=Z) C)(kk+32)>=a&

6、amp;&(kk+32)<=Z D)isalpha(kk)&&(kk<91) (18)当变量c的值不为2、4、6时,值也为"真"的表达式是 A)(c=2)|(c=4)|(c=6) B)(c>=2&& c<=6)|(c!=3)|(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&& c<=6)&&(c%2!=1)(19)若有条件表达式 (exp)?a+:b-,则以下表达式中能完全等价于表达式(exp)的

7、是 ( 默认下不为0 ) A)(exp=0) B)(exp!=0) C)(exp=1) D)(exp!=1)(20)以下不正确的定义语句是 A)double x5=2.0,4.0,6.0,8.0,10.0; B)int y5=0,1,3,5,7,9; C)char c1=1,2,3,4,5; D)char c2=x10, xa, x8;(21)下列程序执行后的输出结果是 main() int a33, *p,i; p=&a00; for(i=1; i<9; i+)pi=i+1; printf("%dn",a12;) A)3 B)6 C)9 D)随机数(22)设

8、有以下程序段 int x=0,s=0; while(!x!=0)s+=+x; printf("%d",s); 则 A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中的控制表达式是非法的 D)程序段执行无限次(23)(23)下面程序段的运行结果是 char *s="abcde" s+=2;printf("%d",s); A)cde B)字符c C)字符c的地址 D)无确定的输出结果(24)阅读下列程序,则执行后的结果为 #include "stdio.h" main() int c4=1,2,3,4,5,6

9、,7,34,213,56,62,3,23,12,34,56; printf("%x,%xn",c22,*(*(c+1)+1); A)3e,6 B)62,5 C)56,5 D)3E,6 (25)下面判断正确的是 A)char *a="china"等价于 char *a;*a="china" B)char str5="china"等价于char str="china" C)char *s="china"等价于 char *s;s="china" D)char

10、c4="abc",d4="abc"等价于char c4=d4="abc" (26)若有定义:int a23;,以下选项中对a数组元素正确引用的是 A)a2!1 B)a23 C)a03 D)a1>2!1 (27)有定义语句:char s10;,若要从终端给s输入5个字符,错误的输入语句是 A)gets(&s0); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s1);(28)有以下程序 #include <stdio.h> #def

11、ine N 5 #define M N+1 #define f(x) (x*M) main() int i1,i2; i1=f(2); i2=f(1+1); printf("%d %dn",i1,i2); 程序的运行结果是 A)12 12 B)11 7 C)11 11 D)12 7(29)若有以下说明和定义 union dt int a; char b; double c;data; 以下叙述中错误的是 A)data的每个成员起始地址都相同 B)变量data所占内存字节数与成员c所占字节数相等 C)程序段:data.a=5;printf("%fn",da

12、ta.c);输出结果为5.000000 D)data可以作为函数的实参 (30)有以下程序 #include<stdio.h> main() FILE *fp;int k,n,a6=1,2,3,4,5,6; fp=fopen("d2.dat","w"); fprintf(fp,"%d%d%dn",a0,a1,a2); fprintf(fp,"%d%d%dn",a3,a4,a5); fclose(fp); fp=fopen("d2.dat","r"); fscanf

13、(fp,"%d%d",&k,&n);printf("%d%dn",k,n);fclose(fp); 程序运行后的输出结果是 A)1 2 B)1 4 C)123 4 D)123 456(31)若已定义 int a=0,1,2,3,4,5,6,7,8,9, *p=a,i; 其中则对a数组元素不正确的引用是 A)ap-a B)*(&ai) C)pi D)a10(32)有以下程序 #include <stdio.h> void fun(int *s,int n1,int n2) int i,j,t; i=n1; j=n2; w

14、hile(i<j) t=si;si=sj;sj=t;i+;j-; main() int a10=1,2,3,4,5,6,7,8,9,0,k; fun(a,0,3); fun(a,4,9); fun(a,0,9); for(k=0;k<l0;k+)printf("%d",ak); printf("n"); 程序的运行结果是 A)0987654321 B)4321098765 C)5678901234 D)0987651234 (33)阅读下列程序,当运行函数时,输入asd af aa z67,则输出为 #include <stdio.h&

15、gt; #include <ctype.h> #include <string.h> int fun (char *str) int i,j=0; for(i=0;stri!= 0;i+) if(stri!= )strj+=stri; strj= 0; main() char str81; int n; printf("Input a string : "); gets(str); puts(str); fun(str); printf("%sn",str); A)asdafaaz67 B)asd af aa z67 C)asd

16、D)z67(34)有以下程序 int fun(int n) if(n=1)return 1; else return(n+fun(n-1); main() int x; scanf("%d",&x); x=fun(x);printf("%dn",x) 执行程序时,给变量x输入10,程序的输出结果是 A)55 B)54 C)65 D)45(35)下面程序段中,输出*的个数是 char *s="ta018bc" for(;*s!='0's+)printf("*"); A)9 B)5 C)6 D)

17、7 (36)C语言结构体类型变量在程序运行期间 A)TC环境在内存中仅仅开辟一个存放结构体变量地址的单元 B)所有的成员一直驻留在内存中 C)只有最开始的成员驻留在内存中 D)部分成员驻留在内存中(37)已知函数的调用形式为fread(buf,size,count,fp),参数buf的含义是 A)一个整型变量,代表要读入的数据项总数 B)一个文件指针,指向要读的文件 C)一个指针,指向要读入数据的存放地址 D)一个存储区,存放要读的数据项(38)设有以下语句 char x=3,y=6,z; z=xy<<2; 则z的二进制值是 A)00010100 B)00011011 C)0001

18、1100 D)00011000(39)在C语言中,只有在使用时才占用内存单元的变量,其存储类型是 A)auto和register B)extern和register C)auto和static D)static和register(40)设有定义语句int (*f)(int);,则以下叙述正确的是 A)f是基类型为int的指针变量 B)f是指向函数的指针变量,该函数具有一个int类型的形参 C)f是指向int类型一维数组的指针变量 D)f是函数名,该函数的返回值是基类型为int类型的地址二、填空题请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不给分。(1)测试用例包括输入值集和 输出

19、值集。(2)在树形结构中,树根结点没有 前件 。(3)数据结构分为逻辑结构与存储结构,线性链表属于 存储结构 。(4)一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体"项目主管"与实体"项目"的联系属于 一对多(或1N) 的联系。(5)数据库设计分为以下6个设计阶段:需求分析阶段、 概念设计阶段 、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。(6)阅读下面程序段,则执行后输出的结果是 N 。 #include "stdio.h" main() char fun(char,int); char a=A; int b

20、=13; a=fun(a,b); putchar(a); char fun(char a,int b) char k; k=a+b; return k;(7)函数fun的返回值是 字符串a和b的长度之和 fun(char *a,char *b) int num=0,n=0; while(*(a+num)!='0')mm+; while(bn)*(a+num)=bn;num+;n+; return num; (8)以下程序的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,若一维数组中的数据是: 2 2 2

21、 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10 删除后,数组中的内容应该是: 2 3 4 5 6 7 8 9 10。 请填空。 #include <stdio.h> #define N 80 int fun(int a, int n) int i,j=1; for(i=1;i<n;i+) if(aj-1 != ai) aj+=ai; return j ; main() int aN= 2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10, i, n=19; printf("The original data : n

22、"); for(i=0; i<n; i+)printf("%3d",ai); n=fun(a,n); printf("nThe data after deleted: n"); for(i=0; i<n; i+)printf("%3d",ai); printf("nn"); (9)以下程序的运行结果是 a=2,b=1 。 #include <stdio.h> main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0:a+; break; case 1: b+; break; case 2:a+; b+; break; case 3:a+; b+; printf("a=%d,b=%dn",a,b); (10)以下程序的输出结果是 31 。 fun (int x,int y,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论