2007年9月二级C语言笔试真题及答案 |
第1题:软件是指() A.程序 B.程序和文档 C.算法加数据结构 D.程序、数据和相关文档的集合 |
【单选题】: |
第2题:软件调试的目的是() A.发现错误 B.改正错误 C.改善软件的性能 D.验证软件的正确性 |
【单选题】: |
第3题:一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为() A.219 B.221 C.229 D.231 |
【单选题】: |
第4题:C语言源程序名的后缀是() A..exe B..C C..obj D..cp |
【单选题】: |
第5题:可在C程序中用做用户标识符的一组标识符是() A.and B.Date C.Hi D.case |
【单选题】: |
第6题:若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是() A.scanf("%d",a,b,c); B.scanf("%d%d%d",a,b,c); C.scanf("%d",p); D.scanf("%d",&p); |
【单选题】: |
第7题:以下关于long、int和short类型数据占用内存大小的叙述中正确的是() A.均占4个字节 B.根据数据的大小来决定所占内存的字节数 C.由用户自己定义 D.由C语言编译系统决定 |
【单选题】: |
第8题:若变量均已正确定义并赋值,以下合法的C语言赋值语句是() A.x=y==5; B.x=n%2.5; C.x+n=I; D.x=5=4+1; |
【单选题】: |
第9题:有以下程序段() int j; float y; char name[50]; scanf("%2d%f%s",&j,&y,name); 当执行上述程序段,从键盘上输入55566 7777abc后,y的值为 A.55566.0 B.566.0 C.7777.0 D.566777.0 |
【单选题】: |
第10题:有以下计算公式 若程序前面已在命令中包含math.h文件,不能够正确计算上述公式的程序段是() A)if(x>=0) y=sqrt(x); B)y=sqrt(x)else y=sqrt(-x); if(x<0) y=sqrt(-x); C)if(x>=0)y=sqrt(x); D)y=sqrt(x>=0?x:-x); |
【单选题】: |
第11题:设有条件表达式:(EXP)?i++;j--,则以下表达式中(EXP)完全等价的是() A.(EXP= =0) B.(EXP!=0) C.(EXP= =1) D.(EXP!=1) |
【单选题】: |
第12题:已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是() A.isupper(c) B.’A’<=c<=’Z’ C.’A’<=c&&c<=’Z’ D.c<=(‘2’-32)&&(‘a’-32)<=c |
【单选题】: |
第13题:若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是() A.函数的实参和其对应的形参共占同一存储单元 B.形参只是形式上的存在,不占用具体存储单元 C.同名的实参和形参占同一存储单元 D.函数的形参和实参分别占用不同的存储单元 |
【单选题】: |
第14题:已知字符’A’的ASCⅡ代码值是65,字符变量c1的值是’A’,c2的值是’D’。执行语句printf("%d,%d",c1,c2-2);后,输出结果是() A.A,B B.A,68 C.65,66 D.65,68 |
【单选题】: |
第15题:以下正确的字符串常量是() A."\\\" B.’abc’ C.OlympicGames D."" |
【单选题】: |
第16题:设有定义:char p[]={’1’,’2’,’3’},*q=p; ,以下不能计算出一个char型数据所占字节数的表达式是() A.sizeof(p) B.sizeof(char) C.sizeof(*q) D.sizeof(p[0]) |
【单选题】: |
第17题:)有以下函数 int aaa(char *s) {char *t=s; while(*t++); t--; return(t-s); } 以下关于aaa函数的功能叙述正确的是() A.求字符串s的长度 B.比较两个串的大小 C.将串s复制到串t D.求字符串s所占字节数 |
【单选题】: |
第18题:若有定义语句:int a[3][6]; ,按在内存中的存放顺序,a数组的第10个元素是() A.a[0][4] B.a[1][3] C.a[0][3] D.a[1][4] |
【单选题】: |
第19题:若有定义语句:int a[2][3],*p[3]; ,则以下语句中正确的是() A.p=a; B.p[0]=a; C.p[0]=&a[1][2]; D.p[1]=&a; |
【单选题】: |
第20题:有以下程序 #include void fun(int *a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/ {int t,i,j; for(i=0;ifor(j=i+1;jif (a} main() {int c[10]={1,2,3,4,5,6,7,8,9,0},i; fun(c+4,6); for (i=0;i<10;i++) printf("%d,",c); printf("\n"); } 程序运行的结果是() A.1,2,3,4,5,6,7,8,9,0, B.0,9,8,7,6,5,1,2,3,4, C. 0,9,8,7,6,5,4,3,2,1, D.1,2,3,4,9,8,7,6,5,0, |
【单选题】: |
第21题:当用户要求输入的字符串中含有空格时,应使用的输入函数是() A.scanf() B.getchar() C.gets() D.getc() |
【单选题】: |
第22题:以下关于字符串的叙述中正确的是() A.C语言中有字符串类型的常量和变量 B.两个字符串中的字符个数相同时才能进行字符串大小的比较 C.可以用关系运算符对字符串的大小进行比较 D.空串一定比空格打头的字符串小 |
【单选题】: |
第23题:有以下程序: #include void fun(char *t,char *s) { while(*t!=0)t++; while((*t++=*s++)!=0); } main() { char ss[10]=”acc”,aa[10]=”bbxxyy”; fun(ss,aa); printf(“%s,%s\n”,ss,aa); } 程序运行结果是() A. accxyy , bbxxyy B. acc, bbxxyy C. accxxyy,bbxxyy D. accbbxxyy,bbxxyy |
【单选题】: |
第24题:在一个C语言源程序文件中所定义的全局变量,其作用域为:() A.所在文件的全部范围 B.所在程序的全部范围 C.所在函数的全部范围 D.由具体定义位置和extern 说明来决定范围 |
【单选题】: |
第25题:若程序中有宏定义行:#define N 100 则以下叙述中正确的是() A.宏定义行中定义了标识符N的值为整数100 B.在编译程序对C源程序进行预处理时用100替换标识符N C.对C源程序进行编译时用100替换标识符N D.在运行时用100替换标识符N |
【单选题】: |
第26题:以下关于typedef的叙述错误的是() A.用typedef可以增加新类型 B.typedef只是将已存在的类型用一个新的名字来代表 C.用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名 D.用typedef为类型说明一个新名,通常可以增加程序的可读性 |
【单选题】: |
第27题:设有以下定义 union data { int d1; float d2; }demo; 则下面叙述中错误的是() A.变量demo与成员d2所占的内存字节数相同 B.变量demo中各成员的地址相同 C.变量demo和各成员的地址相同 D.若给demo.d1赋99后, demo.d2中的值是99.0 |
【单选题】: |
第28题:读取二进制文件的函数调用形式为:fread(buffer,size,count,fp); ,其中buffer代表的是() A.一个文件指针,指向待读取的文件 B.一个整型变量,代表待读取的数据的字节数 C.一个内存块的首地址,代表读入数据存放的地址 D.一个内存块的字节数 |
【单选题】: |
第29题:软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最重要的____. |
【填空题】: |
第30题:在两种基本测试方法中,_______测试的原则之一是保证所测模块中每一个独立路径至少要执行一次. |
【填空题】: |
第31题:线性表的存储结构主要分为顺序存储结构和链式存储结构.队列是一种特殊的线性表,循环队列是队列的_______存储结构. |
【填空题】: |
第32题: 对下列二叉树进行中序遍历的结果为________ F / \ C E / \ \ A D g / / \ B h p |
【填空题】: |
第33题:在E-R图中距形表示_______. |
【填空题】: |
第34题:执行以下程序时输入1234567,则输出结果是________. #include main() {inta=1,b; scanf("%2d%2d",&a&b);printf("%d%d\n",a,b); } |
【填空题】: |
第35题:以下程序的功能是:输出a、b、c三个变量中的最小值.请填空。 #include main() {inta,b,c,t1,t2; scanf("%d%d%d",&a,&b,&c); t1=a t2=c printf("%d\n",t2); } |
【填空题】: |
第36题:以下程序的输出结果是________. #include main() {intn=12345,d; while(n!=0){d=n%10;printf("%d",d);n/=10;} } |
【填空题】: |