2012年9月计算机二级C语言真题及答案
- 格式:doc
- 大小:410.50 KB
- 文档页数:12
2012年9月全国计算机考试上机题库100套第01套:给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
例如,输入一个数:27638496,新的数:为739。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!给定源程序:#include <stdio.h>void fun(unsigned long *n){ unsigned long x=0, i; int t;i=1;while(*n){ t=*n % __1__;if(t%2!= __2__){ x=x+t*i; i=i*10; }*n =*n /10;}*n=__3__;}main(){ unsigned long n=-1;while(n>99999999||n<0){ printf("Please input(0<n<100000000): "); scanf("%ld",&n); }fun(&n);printf("\nThe result is: %ld\n",n);}解题思路:第一处:t是通过取模的方式来得到*n的个位数字,所以应填:10。
第二处:判断是否是奇数,所以应填:0。
第三处:最后通形参n来返回新数x,所以应填:x。
给定程序MODI1.C中函数fun 的功能是:计算n!。
例如,给n输入5,则输出120.000000。
请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!给定源程序:#include <stdio.h> double fun ( int n ){ double result = 1.0 ;if n = = 0return 1.0 ;while( n >1 && n < 170 )result *= n--return result ;}main ( ){ int n ;printf("Input N:") ;scanf("%d", &n) ;printf("\n\n%d! =%lf\n\n", n,fun(n)) ;}解题思路:第一处:条件语句书写格式错误,应改为:if (n==0)。
(1)下列链表中,其逻辑结构属于非线性结构的是_________。
A)双向链表B) 带链的栈 C) 二叉链表D) 循环链表(1)C 【解析】见/uuxzhang上全国计算机二级考试参考资料_数据结构.pps 中第13张说明:链表存储结构是数据的存储结构;排除链表因素,从数据逻辑结构来看,线性结构包括线性表、栈和队;非线性结构包括树形结构和图形结构,所以二叉树是树形结构,即非线性结构。
(2)设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。
现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为A) 20 B) 0或35 C) 15 D) 16(2)B 【解析】见/uuxzhang上全国计算机二级考试参考资料_数据结构.pps中第100-101张关于入队(Q.rear=Q.rear+1)与退队(Q.front=Qfront+1)运算规则,此外第一次入队为Q.rear=1;第一次退队为Q.front=1。
并假定循环队列最大个数为maxsize,其相应存储空间为1: maxsize,则循环队列的入队与退队图例和运算后元素个数的确定原则如下:循环队列中的元素个数或称队列长度通用计算公式:(Q.rear-Q.front+ maxsize)% maxsize 例如,Q.rear=20,Q.front=15,则循环队列中的元素个数=(20-15+35)%35=5;Q.rear=40,Q.front=15,则循环队列中的元素个数=(40-15+35)%35=25;本题根据Q.rear=Q.front=15,maxsize=35,则循环队列中元素个数=(15-15+35)%35=0或35;(3)下列关于栈的叙述中,正确的是A) 栈底元素一定是最后入栈的元素B) 栈操作遵循先进后出的原则C) 栈顶元素一定是最先入栈的元素D) 以上三种说法都不对(3)B 【解析】见/uuxzhang上全国计算机二级考试参考资料_数据结构.pps中第63张幻灯片说明:栈元素入、退原则:先进后出(FILO)或后进先出(LIFO)。
第50套:给定程序中,函数fun的功能是:有N×N矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。
例如,若N=3,有下列矩阵:1 2 34 5 67 8 9计算结果为1 0 06 5 010 14 9请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!给定源程序:#include <stdio.h>#define N 4/**********found**********/void fun(int (*t)___1___ )/* 宏为世纪教育 */{ int i, j;for(i=1; i<N; i++){ for(j=0; j<i; j++){/**********found**********/___2___ =t[i][j]+t[j][i];/**********found**********/___3___ =0;}}}main(){ int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,1 0}, i, j;printf("\nThe original array:\n");for(i=0; i<N; i++){ for(j=0; j<N; j++) printf("%2d ",t[i][j]);printf("\n");}fun(t); printf("\nThe result is:\n");for(i=0; i<N; i++){ for(j=0; j<N; j++) printf("%2d ",t[i][j]);printf("\n");}}解题思路:第一处:形参t的定义,整数数组其宽度为N,所以应填:[N]。
全国计算机等级考试二级C语言机试真题2012年09月(总分:100.00,做题时间:90分钟)一、程序填空题(总题数:1,分数:30.00)1.下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。
函数fun的功能是:把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。
请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!试题程序:#include <stdio.h>#include <stdlib.h>#define N 8typedef struct listint data;struct 1ist * next;SLIST;void fun(SLIST * h, int x)SLIST * P, * q, * s;s=(SLIST* )malloc(sizeof(SLIST));/********** found********** /s->data=______;q=h;p=h->next;while(p! =NULL && x>p->data)/********** found********** /q=______;p=p->next;s->next=p;/********** found********** /q->next=______;SLIST * creatlist(int * a)SLIST * h, * p, * q; int i;h=p=(SLIST * )malloc(sizeof(SLIST));for(i=0; i<N; i ++)q=(SLIST * )malloc(sizeof(SLIST));q->data=a[i]; p->next=q; p=q;p->next=0;return h;void outlist(SLIST * h)SLIST * p;p=h->next;if(p==NULL)printf("/nThe list is NULL! /n");elseprintf("/nHead");do printf("->% d", p->data);p=p->next;while(p!=NULL);printf("->End/n");main()SLIST * head; int x;int a[N]=11, 12, 15, 18, 19, 22, 25, 29;head=creatlist(a);printf("/nThe list before inserting: /n");outlist(head);printf("/nEnter a number: ");scanf("%d", &x);fun(head, x);printf("/nThe list after inserting: /n");outlist(head);(分数:30.00)填空项1:__________________ (正确答案:(1)x (2)p (3)s)解析:[考点] 本题考查:链表的基本操作。
计算机二级c语言上机题库内部资料,切勿外传!..第1套填空题请补充FUN函数,FUN函数的功能是求10的阶乘。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。
试题程序:#include <stdio.h>long fun(int n){if (___1___)return (n*fun(___2___));return ___3___;}main(){p rintf("10!=%ld\n", fun(10));}第1处填空:n>1或1<n第2处填空:n-1第3处填空:1或11或1L改错题下列给定程序的功能是:读入一个整数K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。
例如,若输入整数2310,则应输出:2、3、5、7、11。
请改正程序中的错误,使程序能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include <conio.h>#include <stdio.h>/********found********/IsPrime(int n);{int i, m;m = 1;/********found********/for (i=2; i<n; i++)if !(n%i){m = 0;break;}return(m);}main(){int j, k;printf("\nplease enter an integer number between 2 and 10000:");scanf("%d", &k);printf("\n\nThe prime factor(s) of %d is(are):", k);for (j=2; j<k; j++)if ((!(k%j)) && (IsPrime(j)))printf(" %4d,", j);printf("\n");}第1处:Isprime(int n);应改为Isprime(int n)第2处:if !(n%i)应该为if(!(n%i))编程题M个人的成绩存放在score数组中,请编写函数fun,它的功能是:返回低于平均分的认输,并将低于平均分的分数放在below所指的数组中。
2012年9月全国计算机2级考试(C语言程序设计)笔试模拟试题题附答案2012 9全国计算机2级考试c语言程序设计笔试模拟题(1)下列叙述中正确的是()A)栈是“先进先出”的线性表B)队列是“先进后出”的线性表C)循环队列是非线性结构D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是()A)栈 B)树 C)队列 D)二叉树(3)某二叉树有5个度为z的结点,则该二叉树中的叶子结点数是()A)10 B)8 C)6 D)4 (4)下列排序方法中,最坏情况下比较次数最少的是()A)冒泡排序 B)简单选择排序 C)直接插入排序D)堆排序(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是()A)编译程序 B)操作系统 C)教务管理系统D)汇编程序(6)下面叙述中错误的是()A)软件测试的目的是发现错误并改正错误B)对被调试的程序进行“错误定位”是程序调试的必要步骤C)程序调试通常也称为DebugD)软件测试应严格执行测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个标准。
下列叙述中正确的是()A)提高耦合性降低内聚性有利他哦高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元索间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度(8)数据库应用系统中的核心问题是()A)数据库设计 B)数据库系统设计 C)数据库维护D)数据库管理员培训(9)有两个关系R, S如下:由关系R通过运算得到关系S,则所使用的运算为() A)选择 B)投影 C)插入 D)连接(10)将E-R图转换为关系模式时,实体和联系都可以表示为()A)scarf(“%f%1”,x,y);B)scarf(“%f%f”,&x,&y);C)scarf(“%lf%1e”,px,py);D)scarf(“%lf%lf”,x,y);(17)以下是if语句的基本形式:()if〔表达式)语句其中“表达式”A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式(18)有以下程序#include <stdio.h>main(){int x;scarf(“&d”,&x);i f (x<=3);elseif (x!=10) printf(“ &d\n”。
2012秋江苏省计算机二级C考试真题及答案-副本2012秋江苏省计算机二级C考试真题2012秋江苏省计算机二级C考试真题本试卷的视频请登录/doc/bc14166376.html,查看绝密★启用前2012年秋江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试二级试卷试卷语种:C语言说明:1.本试卷包括计算机基础知识部分和程序设计部分,考试时间共12 0分钟;2.本试卷满分为60分,分选择题和填空题,试卷不分A、B类型;3.计算机基础知识部分全部是选择题(20分),程序设计部分分为选择题(1 0分)和填空题(30分)两种;4.选择题用答题卡答题。
每一项有A、B、C、D四个可供选择的答案,请选择其中一个你认为正确的答案,用HB铅笔涂写在答题卡的相应答题号内。
每选对一项得1分,不选或选错不得分;5.填空题用答题纸答题。
请将答案用蓝、黑色钢笔或圆珠笔填写在答题纸的相应答题号内,每个答案只占一行,不得换行。
每填对一个答案得1分,不填或填错不得分;6.请认真填写并仔细核对答题卡和答题纸上的学校名称、准考证号和姓名是否填写正确。
7.考试结束时将试卷、答题卡和答题纸放在桌上,不得带走。
待监考人员收毕清点后,方可离场。
第一部分计算机基础知识一、选择题(用答题卡答题,答案依次填在1--20题号内)1.下列关于信息、信息技术、信息产业与信息化的叙述中。
错误的是___1___ 。
A.世间一切事物都在运动,都具有一定的运行状态,因而都在产生信息B.现代信息技术的主要特征之一是以数字技术为基础C.信息产业特指利用信息设备进行信息处理与服务的行业,它不包括任何生产制造行业D.信息化是一个推动人类社会从工业社会向信息社会转变的社会转型的过程2.下列关于数字技术与微电子技术的叙述中,错误的是___2___ 。
A.数字技术的处理对象是"比特",它只有两种取值,即数字0和数字1B.数据通信和计算机网络中传输二进制信息时,传输速率的度量单位通常为B/s、KB/s、MB/s等C.微电子技术是实现电子电路和电子系统超小型化及微型化的技术,它以集成电路为核心D.Intel公司创始人之一摩尔曾发表论文预测,单块集成电路的集成度平均每18~24个月翻一番3.以下选项中,数值相等的一组数是___3___ 。
第一章C语言设计的初步知识第一节C语言基本常识及标识符选择题1-13:BDDBDABCBBBCC第二节常量、变量及数据类型选择题1-10:BBBBAAC(CC)BD 11-20:AC(AB)CCBBAAD第三节运算符和表达式选择题1-10:(AH)DDBCDDC(BDBDB)A 11-20:ADADADCCAD21-30:CDACBBADCD 31-40:BDBBDBCBAD41-50:BCCDCBDACD 51-59:(BE)D(BCC)(CB)CBACB填空题1)1.02)-3 3)16 4)2,1 5)3 6)3 7)y%2!=0 8)x==0 9)28 10)-1,1,1,1 11)112)4,3,4,1 13)0 14)x<-5||x>5 15)x>10&&x<100||x<0第四节数据类型转换选择题1-9:DADB(CG)CCDC填空题1)double 2)10.2 3)x+=1第二章顺序结构选择题1-6:ADADDC第一节数据输出选择题1-10:BDBABCAC(CCD)(DDAAC) 11-19:ACBA(AA)B(BCC)BC填空题1)10 20 0 2)261,n1=%d\nn2=%d 3)11 4)25 21 37 5)B 66 6)7 7)0 8)6.6 9)b 10)(4.900000,4)(4.000000,4)第二节数据输入选择题1-13:BABAACDCABDDD填空题1)(a=1,b=2)(i=10,j=20) 2)(a=1,b=1)(a=22,b=6) 3)12 4)1 B第三章选择结构第一节if语句和if语句构成的选择结构选择题1-10:BCDDADBBAB 11-24:CBCCCAADABCCAB填空题1)1 2)yes3)if(a<=b){x=1;printf(“####x=%d\n”,x);}else{y=2;printf(“****y=%d”,y);}4)585858 5)4599 6)5 0 3 7)-4第二节switch语句选择题1-6:CACAAA填空题1)passwarn 2)!# 3)a=2,b=1第四章循环结构第一节while语句和while循环选择题1-8:ABAABAAC填空题1)332)-1 3)8921第二节do-while语句和do-while语句构成的循环选择题1-9:ADBBDDBBD填空题1)522)16第三节for语句和for循环选择题1-10:CCCDDCCACB 11-16:DCAACB填空题1)102)18 3)5 4)0 5)0918273645 6)1 3 2 7)b=i+1循环的嵌套选择题1-5:DCBCA填空题1)6循环中的continue和break语句选择题1-10:DDDBDCDACA 11-17:ABDBBBD填空题1)17 2)20 3)i=3i=1i=-1 4)1,1第五章函数选择题1-10:CACBDCACDB 11-20:DDCABBBADA21-30:DCCBABACAD 31-35:DABAB填空题1)3,2,2,3 2)5 6 3)9 4)12 5)double max 6)1 3 6 7)7 8)4,3,3,4 9)9 10)-1*f,fun(m) 11)sum=0.0,i,sum, mysum(i) *mysum(k)/ mysum(j)第六章数组第一节一维数组选择题1-13:BDACCCDABBAAD填空题1)9,0 2)12 3)1 3 7 15 4)5,4 5)c,scanf(“%c”,&c);,+65第二节二维数组选择题1-10:DDDCACCBDB填空题1)123056009 2)-850,2,0 3)58第三节字符数组选择题1-10:ABDCCCCAAA 11-20:(CC)CDCBBADCB21-34:(CF)AACDBCBDBABAC填空题1)02)X 3)abcbcc 4)QuickC 5)s[i]>=’0’&&s[i]<=’9’6)j+=2,a[i]<a[j] 第四节数组与函数选择题1-11:BABBCABACCD填空题2)void fun(int q[]),void fun(int q[M]),void fun(int q[50]) 20Itis 3)6第七章指针第一节指针的定义,赋值及指针与简单变量间的运算选择题1-10:CBBDDCACDB 11-21:ACDDAACADAC填空题1)0,7 2)k,*k第二节指针与一维数组选择题1-10:CCDBDDADDC 11-20:BAA(CI)BDDACA21-30:BDDDDCACBA 31-40:BBDBDBDDDD41-53:DBCDDBBACAABB填空题1)p=p+7 2)*(p+5) 3)49 4)10 5)60 6)67)s=p+3,s=a+2,66,*(s+1),22 33 44 55 66 8)efgh 9)’\0’,++第五节指针与函数(一)指针,简单变量及函数的结合选择题1-10:DDACBABABC 11-17:CDBBACD填空题1)0 2)7 1 3)8 4 4)a=9,b=6 5)3 5 6)void(*p)() 7)7 8)8 9)abcfg(二) 指针,数组与函数结合选择题1-10:AACDDCBCDC 11-21:DBDDA(ADF)CCABB填空题1)XYZA 2)2 3)cdcab第七章:指针第一节指针的定义、赋值及指针与简单变量间的运算一:选择题1-5 C B B D D6-10 C A C D B11-15 A C D C A16-20 A C A D A21-22 C B二:填空题1 0 72 k *k第二节指针与一维数组一:选择题1-5 C C D B D6-10 D A A D C11-15 B A A CI B16-20 D D A C A21-25 B D D D D26-30 C A C B A31-35 B B B B D36-40 B D D D D41-45 C D B C C46-50 D D B B A51-55 C A A B B 二:填空题1、p=p+7或p+=72、*(p+=5)或*(p+5)3、494、105、606、 67、(1) s=p+3 (2) s=a+2(3) 66 (4) *(s+1)(5) 2 (6) 22 33 44 55 668、efgh9、'\0' ++10、*(++p)第三节指针与二维数组一:选择题1-5 B C D D C6-10 B C C D C11-15 D A D A C16-20 B A C C C21-25 D A A A A26 B第四节二重指针一:练习1-5 D B B C D6-9 C C B D第五节指针与函数(一)指针、简单变量及函数的结合一:选择题1-5 D D A C B6-9 A B A B11-15 C C D B B 16-19 A C C D二:填空题1:02:713:8 44:a=9 b=65:356:void (*p)()或*p(int *,int *)7:78:89:int * *z *x t10:*x t11:&c,&b &a,&c &a,&b12:(-1.0) *sn13:findbig14:abcfg(二)指针、数组与函数结合1-5 A A C D D6-10 C B C D C 11-15 D B B B A 16-20 B A C D ADF 21-25 C C A B B 26-30 C A B D D 31 D二:填空题1、XYZA2、 33、cdeab4、63545、strl is:qwortyabcd6、pa[i] avg/n7、r+b[k] *x8、'\0' n++9、!(s[i]>='0' && s[i]<='9')10、i11、p++ w[i-1]12、i return 113、max<a[row][col] min>max14、row a[row][colum]15、IJKLEFGHABCD16、 3abc file1 file217、int ** int ** **ss **tt18、str+strlen(str)-1 t==0 huiwen(str) 第八章:C语言中用户标识符的作用域和存储域一、选择题1-5 A C B C D 6-10 B A C A D 11-15 D C C D A 16-20 A A B A B 21-25 B C C B D 26-30 C B A C A 31 A二:填空题1、ABCDCD2、81173、2104、24685、30 256、2,5,1,2,3,-27、0248、024*******第九章:编译预处理和动态存储分配第一节编译预处理一:选择题1-5 C D B C C 6-10 A A B D B 11-15 C A A B C 16-17 B D二:填空题1、72、1000 103、814、99115、166、 c第二节动态存储分配一:选择题1-5 C A D A B 6-10 C B A C A 11-12 D二:填空题1、(double *)2、malloc(11)3、3*sizeof(double)4、 a *b第十章:结构体、共用体和用户定义类型第一节用typedef说明一种新的类型名一:选择题1-4 D B C D第二节结构体类型一、选择题1-5 D C A B D 6-10 D D B B A 11-15 C D D B C16-20 B B B C B21-25 A C D D B26-30 B C B A B31-35 D B C A CAB二:填空题1、222、ex3、 5 24、struct node*5、b->day (*b).day6、2002 Shangxian7、DDBBCC8、sizeof(struct node)9、struct link *next;10、struct list *next int data11、struct STRU*12、char *data struct link *next13、x.link = y.link14、15、(struct list*) (struct list *) return h;16、struct node* ch NULL17、struct list * q18、13431第三节共用体一、选择题1-5 C C A A A6-10 B B C D C11-12 B D二:填空题1、10 42、struct STRU3、804、34第十一章位运算一、选择题1-5 D C C B B6-10 A B B D A D11-14 A D D D二:填空题1、11110000第十二章文件一、选择题1-5 C A D B B6-10 C C A B A11-15 B A D CD D16 D二、填空题1、rewind或fseek2、(!feof(fp))3、fopen(fname,"w" ch4、"bi.dat","w" fclose(fp)5、"w" str[i]-32 "r"6、 3 !feof(f1)或feof(f1)==07、fname fp8、"d1.dat","rb"9、学习使人进步,相信能就一定能"bi.dat" fp成功10、fopen11、hell。
2012年9月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列链表中,其逻辑结构属于非线性结构的是A)双向链表B)带链的栈)循环链表C)二叉链表D(2)设循环队列的存储空间为Q(1:35),初始状态为f r on t=r ea r=35。
现经过一系列入队与退队运算后,f r on t=15,r ea r=15,则循环队列中的元素个数为A)20B)0或35 C)15D)16(3)下列关于栈的叙述中,正确的是A)栈底元素一定是最后入栈的元素B)栈操作遵循先进后出的原则C)栈顶元素一定是最先入栈的元素D)以上三种说法都不对(4)在关系数据库中,用来表示实体间联系的是)树状结构A)网状结构B)二维表C)属性D(5)公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。
则实体部门和职员间的联系是)m:n联系A)1:m联系B)m:1联系C)1:1联系D(6)有两个关系R和S如下:RB C31则由关系R得到关系S的操作是)投影)选择D)并CA)自然连接B(7)数据字典(DD)所定义的对象都包含于)方框图A)软件结构图BC)数据流图(D F D图)D)程序流程图(8)软件需求规格说明书的作用不包括A)软件设计的依据B)软件可行性研究的依据C)软件验收的依据D)用户与开发人员对软件要做什么的共同理解(9)下面属于黑盒测试方法的是)路径覆盖A)边界值分析B)逻辑覆盖C)语句覆盖D(10)下面不属于软件设计阶段任务的是A)制定软件确认测试计划B)数据库设计A)在C语言程序中,m a i n函数必须放在其他函数的最前面B)每个后缀为.C的C语言源程序都可以单独进行编译C)在C语言程序中,只有m a i n函数才可单独进行编译D)每个后缀为.C的C语言源程序都应该包含一个m a i n函数(12)C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是A)预定义标识符(如库函数中的函数名)可用作用户标识符,但失去原有含义B)用户标识符可以由字母和数字任意顺序组成C)在标识符中大写字母和小写字母被认为是相同的字符D)关键字可用作用户标识符,但失去原有含义(13)以下选项中表示一个合法的常量是(说明:符号□表示空格)A)9□9□9B)0X a b C)123E0.2D)2.7e(14)C语言主要是借助以下哪个功能来实现程序模块化A)定义函数B)定义常量和外部变量C)三种基本结构语句D)丰富的数据类型(15)以下叙述中错误的是A)非零的数值型常量有正值和负值的区分B)常量是在程序运行过程中值不能被改变的量C)定义符号常量必须用类型名来设定常量的类型D)用符号名表示的常量叫符号常量(16)若有定义和语句:i n t a,b; s c a n f("%d,%d",&a,&b); 以下选项中的输入数据,不能把值3赋给变量a、5赋给变量b的是A)3,5,B)3,5,4C)3,5D)3,5(17)C语言中ch a r类型数据占字节数为A)3B)4C)1D)2(18)下列关系表达式中,结果为“假”的是A)(3+4)>6B)(3!=4)>2C)3<=4||3D)(3<4)==1(19)若以下选项中的变量全部为整型变量,且已正确定义并赋值,则语法正确的s w i t ch语句是A)s w i t ch(a+9) B)s w i t ch a*b {c a s e c1:y=a-b; {c a s e10:x=a+b;c a s e c1:y=a+b;def a u l t :y=a-b;}} C)s w i t ch(a+b) D)s w i t ch (a*b+b*b) {c a s e1 : c a s e3:y=a+b;b r ea k; {d e f a u l t :b r ea k;c a s e0 : c a s e4:y=a-b; c a s e3:y=a+b; b r ea k;}c a s e2:y=}(20)有以下程序#i nc l ud e<s t d i o.h>m a i n(){i n t a=-2,b=0;w h il e(a++&&++b);p r i n t f("%d,%d\n",a,b);}程序运行后的输出结果是A)1,3B)0,2C)0,3D)1,2(21)设有定义:i n t x=0,*p;,立即执行以下语句,正确的语句是A)可以用关系运算符比较字符串的大小B)空字符串不占用内存,其内存空间大小是0C)两个连续的单引号是合法的字符常量D)两个连续的双引号是合法的字符串常量(23)有以下程序#i nc l ud e<s t d i o.h>m a i n(){ch a r a='H';a=(a>='A'&&a<='Z')?(a-'A'+'a'):a;p r i n t f("%c\n",a);}程序运行后的输出结果是A)A B)a C)H D)h (24)有以下程序#i nc l ud e<s t d i o.h>i n t f(i n t x);m a i n(){i n t a,b=0;f o r(a=0;a<3;a++){b=b+f(a);pu t ch a r('A'+b);}}i n t f(i n t x){r e t u r n x*x+1;}程序运行后的输出结果是A)A B E B)BD I C)B CF D)B C D (25)设有定义:i n t x[2][3];,则以下关于二维数组x的叙述错误的是A)x[0]可看作是由3个整型元素组成的一维数组B)x[0]和x[1]是数组名,分别代表不同的地址常量C)数组x包含6个元素D)可以用语句x[0]=0;为数组所有元素赋初值0(26)设变量p是指针变量,语句p=NU LL;,是给指针变量赋NU LL值,它等价于A)p=""; B)p='0'; C)p=0; D)p=''; (27)有以下程序#i nc l ud e<s t d i o.h>m a i n(){i n t a[]={10,20,30,40},*p=a,i;f o r(i=0;i<=3;i++){a[i]=*p;p++;}p r i n t f("%d\n",a[2]);}A)30B)40C)10D)20(28)有以下程序#i nc l ud e<s t d i o.h>#d e fi n e N 3v o i d f un(i n t a[][N],i n t b[]){i n t i,j;{b[i]=a[i][0];f o r(j=1;j<N;j++)if(b[i]<a[i][j]) b[i]=a[i][j];}}m a i n(){i n t x[N][N]={1,2,3,4,5,6,7,8,9},y[N],i;f un(x,y);f o r(i=0;i<N;i++) p r i n t f("%d,",y[i]);p r i n t f("\n");}A)2,4,8B)3,6,9C)3,5,7D)1,3,5(29)有以下程序(s tr cp y为字符串复制函数,s tr c a t为字符串连接函数)#i nc l ud e<s t d i o.h>#i nc l ud e<s tr i ng.h>m a i n(){ch a r a[10]="a bc",b[10]="012",c[10]="xy z";s tr cp y(a+1,b+2);pu t s(s tr c a t(a,c+1));}程序运行后的输出结果是A)a12xy z B)12y z C)a2y z D)bc2y z (30)以下选项中,合法的是A)ch a r s tr3[]={'d','e','b','u','g','\0'};B)ch a r s tr4; s tr4="h e ll o w o r l d";C)ch a r n a m e[10]; n a m e="ch i n a";D)ch a r s tr1[5]="p a ss",s tr2[6]; s tr2=s tr1;(31)有以下程序#i nc l ud e<s t d i o.h>m a i n(){ch a r *s="12134";i n t k=0,a=0;w h il e(s[k+1]!='\0'){k++;if(k%2==0){a=a+(s[k]-'0'+1);con t i nu e;}a=a+(s[k]-'0');}p r i n t f("k=%d a=%d\n",k,a);}程序运行后的输出结果是A)k=6a=11B)k=3a=14C)k=4a=12D)k=5a=15(32)有以下程序#i nc l ud e<s t d i o.h>m a i n(){ch a r a[5][10]={"on e","tw o","t h r ee","f ou r","fi v e"};i n t i,j;ch a r t;f o r(i=0;i<4;i++)f o r(j=i+1;j<5;j++){ t=a[i][0];a[i][0]=a[j][0];a[j][0]=t;}pu t s(a[1]);}程序运行后的输出结果是A)f w o B)fi x C)tw o D)o w o(33)有以下程序#i nc l ud e<s t d i o.h>i n t a=1,b=2;v o i d f un1(i n t a,i n t b){p r i n t f(“%d%d”,a,b); }v o i d f un2( ){a=3; b=4; }m a i n(){f un1(5,6); f un2();p r i n t f("%d%d\n",a,b);}程序运行后的输出结果是A)1256B)5634C)5612D)3456(34)有以下程序#i nc l ud e<s t d i o.h>f unc(i n t n){s t a t i c i n t nu m=1;nu m=nu m+n;p r i n t f("%d",nu m);}v o i d m a i n(){f unc(3);f unc(4);p r i n t f("\n"); }程序运行后的输出结果是A)48B)34C)35D)45(35)有以下程序#i nc l ud e<s t d i o.h>#i nc l ud e<s t d li b.h>f un(i n t *p1,i n t *p2,i n t *s){s=(i n t*)m a ll oc(s i z e o f(i n t));*s=*p1+*p2;f r ee(s);}v o i d m a i n(){i n t a=1,b=40,*q=&a;f un(&a,&b,q);p r i n t f("%d\n",*q);}程序运行后的输出结果是A)42B)0C)1D)41(36)有以下程序#i nc l ud e<s t d i o.h>s tr uc t S TU{ch a r n a m e[9];ch a r s e x;i n t s co r e[2];};v o i d f(s tr uc t S TU a[]){s tr uc t S TU b={"zh a o",'m',85,90};}m a i n(){s tr uc t S TU c[2]={{"Q i a n",'f',95,92},{"S un",'m',98,99}};f(c);p r i n t f("%s,%c,%d,%d,",c[0].n a m e,c[0].s e x,c[0].s co r e[0],c[0].s co r e[1]);p r i n t f("%s,%c,%d,%d\n,",c[1].n a m e,c[1].s e x,c[1].s co r e[0],c[1].s co r e[1]);}程序运行后的输出结果是A)Z h a o,m,85,90,S un,m,98,99B)Z h a o,m,85,90,Q i a n,f,95,92C)Q i a n,f,95,92,S un,m,98,99D)Q i a n,f,95,92,Z h a o,m,85,90(37)以下叙述中错误的是A)可以用tr p e d e f说明的新类型名来定义变量B)tr p e d e f说明的新类型名必须使用大写字母,否则会出编译错误C)用tr p e d e f可以为基本数据类型说明一个新名称D)用tr p e d e f说明新类型的作用是用一个新的标识符来代表已存在的类型名(38)以下叙述中错误的是A)函数的返回值类型不能是结构体类型,只能是简单类型B)函数可以返回指向结构体变量的指针C)可以通过指向结构体变量的指针访问所指结构体变量的任何成员D)只要类型相同,结构体变量之间可以整体赋值(39)若有定义语句i n t b=2; 则表达式(b<<2)/(3||b)的值是A)4B)8C)0D)2(40)有以下程序#i nc l ud e<s t d i o.h>m a i n(){F I L E*f p;i n t i,a[6]={1,2,3,4,5,6};f p=f op e n("d2.d a t","w+");f o r(i=0;i<6;i++) f p r i n t f(f p,"%d\n",a[i]);r e w i nd(f p);f o r(i=0;i<6;i++) f s c a n f(f p,"%d",&a[5-i]);f c l o s e(f p);f o r(i=0;i<6;i++) p r i n t f("%d",a[i]);}程序运行后的输出结果是A)4,5,6,1,2,3B)1,2,3,3,2,1C)1,2,3,4,5,6D)6,5,4,3,2,1二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。