[计算机类试卷]国家二级(C语言)笔试模拟试卷278及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷278及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷278及答案与解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 278 及答案与解析 1 C语言的基本单位是 ( )。 ( A)函数 ( B)过程 ( C)子程序 ( D)子函数 2 设有如下三个关系表 下列操作中正确的是 ( A) T=RS ( B) T=R S ( C) T=RS ( D) T=R/S 3 串的长度是 ( )。 ( A)串中不同字符的个数 ( B)串中不同字母的个数 ( C)串中所含字符的个数且字符个数大于 0 ( D)串中所含字符的个数 4 若进栈序列为 1, 2, 3, 4,进栈过程中可以出栈,则下列不可能的 个出 栈序列是 _。 ( A) 1, 4, 3, 2 ( B) 2, 3, 4, 1 (
2、C) 3, 1, 4, 2 ( D) 3, 4, 2, 1 5 在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率。与程序的效率相比,人们更重视程序的 ( A)安全性 ( B)一致性 ( C)可理解性 ( D)合理性 6 对于 n个结点的单向链表 (无表头结点 ),需要指针单元的个数至少为 _。 ( A) n-1 ( B) n ( C) n+1 ( D) 2n 7 两个或两个以上的模块之间关联的紧密程度称为 _。 ( A)耦合 度 ( B)内聚度 ( C)复杂度 ( D)数据传输特性 8 下列对队列的叙述正确的是 ( A)队列属于非线性表 ( B)队列按 “先进后出 ”原则组织数据 (
3、 C)队列在队尾删除数据 ( D)队列按 “先进先出 ”原则组织数据 9 设有表示学生选课的三张表,学生 S(学号,姓名,性别,年龄,身份证号 ),课程 C(课号,课名 ), Q选课 SC(学号,课号,成绩 ),则表 SC的关键字 (键或码 )为( )。 ( A)课号,成绩 ( B)学号,成绩 ( C)学号,课号 ( D)学号,姓名,成绩 10 两次运行下列的程序 ,如果从键盘上分别输入 3和 1,则输出结果是 ( )。 main() int x; scanf(“%d“, if(x+ 2) printf(“%d“,x); else printf(“%dn“,x-); ( A) 4和 2 ( B
4、) 4和 1 ( C) 4和 0 ( D) 3和 1 11 在数据流图中,带有箭头的线段表示的是 ( )。 ( A)控制流 ( B)数据流 ( C)模块 调用 ( D)事件驱动 12 有以下程序 #include main() int a; scanf(“%d”, if(a+,则输出结果是 ( A) 11 ( B) 10 ( C) 9 ( D) 8 13 若要求从键盘读人含有空格字符的字符串,应该使用函数 ( )。 ( A) getc() ( B) gets() ( C) getchar() ( D) scanf() 14 下列程序的运行结果为 _。 main() int n; for (n=
5、1; n =10; n+) if(n%3=0) continue; printf(“%d“, n); ( A) 12457810 ( B) 369 ( C) 12 ( D) 12345678910 15 C语言中各种基本数据类型的存储空间长度排列为 ( ) ( A) charlongintfloatdouble ( B) doublefloatlongintchar ( C) charintlongfloatdouble ( D) floatintlongchardouble 16 以下合法的赋值语句是 _。 ( A) X=Y=100 ( B) D-; ( C) X+Y; ( D) C=int
6、( + ) 17 设 x为 int型变量,执行以下语句, x=10;x+=x-=x-x;x的值为 _。 ( A) 10 ( B) 20 ( C) 30 ( D) 40 18 下列能正确定义一维数 组的选项是 ( )。 ( A) int a5=0,1,2,3,4,5); ( B) char a=0,1,2,3,4,5; ( C) char a=A,B,C; ( D) int a5=“0123“; 19 已知 i、 j、 k为 int型变量,若要从键盘输入 2、 3、 4 CR,使 i、 j、 k的值分别为 2、 3、 4下列正确的输入语句是 ( )。 ( A) scanf(“%3d,%3d, %
7、3d”, ( B) char c20“goodmoming“; ( C) charc=a,b,c,d; ( D) char c=“goodmorning“; 25 设变量 a、 b、 c、 d和 y都己正确定义并赋值。若有下列 if语句 if(a b) if(c d) y 0; else y 1; 该语句所表示的含义是 ( )。 ( A) ( B) ( C) ( D) 26 下列程序的输出结果是 ( )。 #include main() int a=0, i; for(i=1; i 5; i+) switch(i) case 0; case 3: a+=1; case 1: case 2: a
8、=2; default: a+=3; printf(“ d“, a); ( A) 19 ( B) 18 ( C) 6 ( D) 8 27 以下程序的输出结果是 _。 ( A) 54321 ( B) 12345 ( C) 1 2 3 4 5 ( D) 5 4 3 2 1 0 main() int w=5; fun(w); printf(“n“); fun (int k) if(k 0) fun(k-1); printf(“%d“, k); 28 C语言规定,简单变量作实参时,它和对应形参之间的数据传递方式是_。 ( A)由实参传给形参,再由形参传回给实参 ( B)地址传递 ( C)单向值传递 (
9、 D)由用户指定传递方式 29 有以下程序: #include stdio.h main() FILE *fp; int i,k,n; fp=fopen(“data.dar“,“w+“); for(i=1;i 6;i+) fprintf(fp,“%d “,i); if(i%3=0) fprintf(fp,“n“); rewind(fp); fscanf(fp,“%d%d“, printf(“%d%dn“,k,n); fclose(fp); 程序运行后的输出结果是 ( )。 ( A) 0 0 ( B) 123 45 ( C) 1 4 ( D) 1 2 30 有如下程序: main() int a
10、33=1,2,3,4,5,6,i,j,s=0; for(i=1;i3; i+) for(j=0;j =i;j+) s+=aij; printf(“%dn“,s); 该程序的输出结果是 _。 ( A) 18 ( B) 19 ( C) 20 ( D) 21 31 下列程序的运行结果为 _。 #define MS DOS #ifdef MS DOS #define INTEGER SIZE 32 #else #define INTEGER SIZE 16 #endif main () printf (“integer_size=%dn“, INTEGER_SIZE); ( A) integersiz
11、e=32 ( B) integer_size=16 ( C) integersize=32,integer_size=16 ( D)错误 32 已知字母 A的 ASCII码值是 65,字母 a的 ASCII码值是 97,以下程序_。 maini() char a=A; int b=20; printh(“%d,%o“,(a=a+a,a+b,b),a+a-A,b); ( A)表达式非法,输出零或不确定值 ( B)因输出项过多,无输出或输出不确定值 ( C)输出结果为 20,141 ( D)输出结果为 20,141,20 33 运行下面程序时,从键盘输入字母 H,则输出结果是 #include s
12、tdio.h main() char ch; ch=getchar(); switch(ch) case H: printf(“Hello!n“); case G: printf(“Good morning!n“); default: printf(“Bye_Bye!n“); ( A) Hello! ( B) Hello! GoodMoring! ( C) Hello! Goodmorning! Bye_Bye! ( D) Hello! Bye_Bye! 34 以下说法正确的是 ( ) ( A)宏定义是 C语句,所以要在行末加分号 ( B)可以使用 #undef命令来终止宏定义的作用域 ( C
13、)在进行宏定义时,宏定义不能层层置换 ( D)对程序中用双引号括起来的字符串内的字符,与宏名相同的要进行置换 35 若有说明: int*p,m=5,n;,以下正确的程序段是 ( )。 ( A) p= scanf(“%d“, scanf(“%d“, ( D) p= p= 36 有以下程序 main() char s=“159“,*p; p=s; printf(“%c“,*p+);printf(“%c“,*p+); 程序运行后的输出结果是 ( A) 15 ( B) 16 ( C) 12 ( D) 59 37 若有定义 float a15,*p=a;,且数组 a的首地址为 300H,则 p+13所指
14、向的数组元素的地址为 ( )。 ( A) 334H ( B) 30DH ( C) 352H ( D) 31AH 38 下列叙述中不正确的是 ( )。 ( A)在 C语言中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 ( B)在 C的函数中,最好使用全局变量 ( C)外部变量可以在函数之间传递数据 ( D)自动变量实质上是一个函数内部的局部变量 39 有以下程序 #include stdio.h main() int n,*p=NULL; *p= a=b; b=t; main() swap(p,q); printf(“%d %dn“,*p,*q); 48 C语言用于结 构化程序设
15、计的 3种基本结构是 _、选择结构和循环结构。 49 以下程序的输出结果是【 】。 #include main() printf(“%dn“,strlen(“IBMn0121“); 50 设 C语言中,一个 int型数据在内存中占两个字节,则 int型数据的取值范围为【 】。 51 若有如下程序: main() int s 1, 2, 3, 4, 5, 6, *p=s; printf(“%d, %dn“, *(p+3), *(p+6); 则程序运行后的输出结果是【 】。 52 下面程序的运行结果是【 】。 typedef union student char name10; long sno;
16、 char sex; float score4; STU; main() STU a5; printf(“%dn“,sizeof(a); 53 下列程序的输出结果是【 】。 int t(int x,int y,nt cp,int dp) cp=x*x+y*y; dp=x*x-y*y; main() int a=4, b=3, c=5, d=6; t(a,b,c,d); printf(“%d%dn“,c,d); 54 求任意一个数 (用 16位二进制码表示 )的补码。 main() unsigned int a; 【 】; scanf(“%o“, printf(“%d %dn“, m,n );
17、国 家二级( C语言)笔试模拟试卷 278 答案与解析 1 【正确答案】 A 【试题解析】 C语言是函数式的语言。它的基本组成单位是函数,在 C语言中任何程序都是由一个或者多个函数组。 2 【正确答案】 C 【试题解析】 对于两个关系的合并操作可以用笛卡尔积表示。设有 n 元关系 R和 m元关系 S,它们分别有 p和 q 个元组 ,则 R与 S 的笛卡儿积记为 RS 它是一个m+n 元关系 ,元组个数是 pq由题意可得 ,关系 T 是由关系 R与关系 S 进行笛卡尔积运算得到的。 3 【正确答案】 D 【试题解析】 串的长度是指串中 字符的个数,且其字符个数可以为 0。 4 【正确答案】 C
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 278 答案 解析 DOC
