《历届重庆市计算机C语言二级考试试题及答案.pdf》由会员分享,可在线阅读,更多相关《历届重庆市计算机C语言二级考试试题及答案.pdf(73页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、二级c语言笔试试卷(A)2 0 0 7 年 1注意事项:1.一、二题为客观题,请将答案涂在机读答题卡上2.三、四、五、六题为主观题,请将答案做在答题纸上一、单项选择题。(每小题1分,共20分)1 .在 C 程序的函数调用时,主调函数中的实参和被调函数中的形参()o(A)个数、次序必须相同,但数据类型可以不考虑(B)个数、次序和对应参数的数据类型都应该相同(C)个数、次序和数据类型均可以不相同(D)对应参数数据类型应相同,但个数和次序可以不考虑2 .如 a为 i nt型,则与表达式a 等价的C 语言关系表达式是()(A)a 0 (B)a!=0 (C)a=0 (D)a 03.循环语句f o r(a
2、=0,b=0;(b!二 45)|(a 5);a+);的循环次数是()(A)4(B)3(C)5(D)无数多次4.设有字符数组a,则正确的输入语句是()o(A)g e ts(,a );(B)sc a nf (%c ,a);(C)sc a nf (%s,a);(D)g e ts(a);5.e numc o lo r(re d,g re e n,ye llo w=5,wh i te,b la c k;定义了一枚举类型。编译程序为值表中各标识符分配的枚举值依次为()。(A)1、2、3、4、5(B)0、1、5、2、3(C)0、1、5、6、7(D)3、4、5、6、76 .运行完下列程序后,在屏幕上的内容是(
3、)ovo i d ma i n()i nt a=0;a+=(a=1 2);p ri ntf(%d n”,a);(A)0 (B)6 (C)1 2 (D)2 47.若x,y为实数类型的变量,要判断x,y相等,最好使用下列关系表达 式()o(A)x二 二y(B)x-y=0(C)f a b s(x-y)le-8(D)la b s(x-y)bp-a+(p-a)(p+)-a9.以下程序的输出结果是()oi nt x=3,y=4;vo i d ma i n()i nt x,y=5;x=y+;p ri ntf(%d,x);(A)3(B)4(C)5(D)61 0.在C语言中,函数默认的存储类 型 为()o(A)
4、a uto (B)re g i ste r(C)sta ti c(D)e xte rn1 1.有定义:f lo a ty,*p=&y;,假定变量y在内存中所占地址为1 0 0 1 0 3o 那么P的值为()o(A)1 0 0(B)1 0 1(C)1 0 2(D)1 0 31 2.有定义:i nta 1 0,n,*p l=a,*p 2=&a 9;,则正确的赋值语句为()o(A)n=p 2-p l;(B)n=p 2*p l;(C)n=p 2+p l;(D)n=p l/p 2;1 3.调用strle n(a b c d 0 ef ng 0z/)的结果为()。(A)4(B)5(C)8(D)1 01 4
5、.执行下面程序中输出语句后,a的值是()o#i nc lud e ma i n()i nt a;p ri ntf(%d n,(a=3*5,a*4,a);(A)6 5(B)2 0(C)1 5(D)1 01 5.若有定义i nta,b,x;且变量都已正确赋值,下面选项中合法的i f语句是()o(A)i f (a=b)x+;(B)i f (a=b)x+;(C)i f (a O b)x+;(D)i f (a二 b)x+;1 6 .执行下面的程序后,变量a的值是()。#i nc lud e d e f i ne S Q R (X)X*Xvo i d ma i n()i nta=1 0,k=2,m=3;a
6、/=S Q R(m)/S QR(k);p ri ntf(%dn,a);(A)1 0(B)l(C)5(D)01 7 .若变量t为d o ub le类型,表达式(t=l,t+5,t)的值是()o(A)l(B)6.0(C)l.O(D)61 8 .在C语言中,下面关于数组的描述中正确的是()o(A)数组的大小是固定的,但可以有不同类型的数组元素(B)数组的大小是可变的,但所有数组元素的类型必须相同(C)数组的大小是固定的,所有数组元素的类型必须相同(D)数组的大小是可变的,可以有不同的类型的数组元素1 9.下述程序的输出结果是()oi nc lud evo i d ma i n()i nta,b,c=
7、2 41;a=c/1 0 0%9;b=-l&-l;p ri ntf (d,%d n,a,b);)(A)2,0(B)2,1(C)6,1(D)0,-l2 0.若有以下说明和语句,则下列引用方式中不正确的 是()ostruc two rke r i nt no;c h a r*na me;wo rk,*p=&wo rk(A)wo rk,no(B)(*p).no(C)p-no(D)wo rk-no二、基本概念选择填空题(本大题后面有若干备选项,请选择合适的备选项并将其号码填入各小题的空白处。每空2分,共1 0分)1.在C语言中,函数一般由两个部分组成,它们是函数首部和_O2.任何程序都可调用标准函数e
8、x i t(),当它被调用时就 程序的执行。3.一个C语言程序在可以被执行之前,需要经过的4个处理程序是:编辑程序、预处理程序、编译程序和4.在C语言中无固有的输入和输出语句,但是用C语言编写的程序可以用函数调用的形式来实现输入、输出,这些函数由_ _ _ _ _ 提供。5.C标准库函数rew i nd的作用是O备选项:(A)(B (C)主 函)函数数 函 首 部数体(D)(E (F)用 户)使读自 定 终 写 指义 函 止 针 指数 向文(G)(H标 准)I/O 连库/系接统 程序的头断件针否向件尾件开(J判文指是指文末三、程序填空题。(每空2分 共20分)。1 .下面程序的功能是从键盘上输
9、入一行字符,将其中的小写字母转换为大写字母后输出。请填空完善程序。tti ncl u d ev oi d m a i n()cha r c;_)!二,n)i f(c=,a&c二z )p ri ntf(%c,c-32);)2 .下面程序的功能是从当前目录下的文本文件“fl.tx t”中读取前1 0个字符,依次显示在屏幕上;如果文本文件中不足1 0个字符,则读完为止;请填空完善程序。tti ncl u d ev oi d m a i n()F I L E *fp;i nt i;cha r c;i f(_ _ _ _ _ _ _ _ 二 二N U L L)(p ri ntf(C a nt op en
10、 thi sfi l e!n);retu rn;for(i=0;i 1 0;i+)i f(feof(fp)b rea k;c=fgetc(fp);p u tcha r(c);fcl ose(fp);)3.下面程序的功能是输出数组中的各字符串,请填空完成程序。tti ncl u d ev oi d m a i n()cha r*a口=a b cd,1 2 345,efghi jk ,6789 0 ;cha r;i nt j=0;P=a;for(;j 4;j+4.下面函数m fc用于求取两个正整数的最大公因子,请填空完善函数。i nt m cf(i nta,i nt b)i nt tem p;w
11、hi l e(b)tem p=a二 b;b=tem p;retu rn a;5.下面程序的功能是将字符串str的内容颠倒过来并输出,请填空完善程序。i ncl u d ev oi d m a i n()cha rstr =z za b cd efg,*p l,*p 2,chp l=p 2=str;w hi l e(*p 2!=0 )p 2+;_ _ _ _ _ _;w hi l e(p l p 2)(ch=*p l,*p l=*p 2,*p 2=ch;_ _ _ _ _;p 2 ;p u ts(str);6.下面函数y h的功能是构成一个杨辉三角形,请填空完成该函数。tti ncl u d e
12、#d efi ne N 1 1v oi d y h(i nta N )i nt j,k;for(j=l;j N;j+)a j 1 =1;a j j二一_;)for(_ _ _ _ _ _ _;j N;j+)for(k=2;k j;k+)a j k =_ _ _ _ _ _+a j-l k ;)四、阅读程序题(每小题5分,共30分1.下面程序的输出结果是()otti ncl u d ev oi d m a i n()v oi d fu n(i nt*k);i nt w=5;fu n(&w);v oi d fu n(i nt*k)(*k)+;p ri ntf(%d n”,*k+);2.下面程序的输
13、出结果是()otti ncl u d evoid main()charch25=1234”,“5678”,*p2;int j,k,s=O;for(k=0;k2;k+)pk=chk;for(k=0;k,0,&pkj=,9;j+=2)s=10*s+pkj-O;printf(s=%dnn,s);)3.下面程序的输出结果是()o#includeint func(int,int);void main()int k=4,m=l,p;p=func(k,m);printf(n%d;p);p=func(k,m);printf(n%dnn,p);)int func(int a,intb)static intm=l
14、,n=2;n+=m+1;m=n+a+b;return m;)4.下面程序的输出结果是()o#includevoid main()inta10=l,2,3,4,5,6,7,8,9,10,k,s,i;double ave;for(k=s=i=0;i10;i+)if(ai%2)continue;s+=ai;k+;)if(k!=O)ave=s/k;printf(n%d,%fn,k,ave);)5.在下列程序中,若输入为:tod a yi sM o n d a y!,则输出结果是()o#includevoid main()chars40,c,*str=s;intnum=0,word=0;gets(str
15、);while(c=*str+)!=,0,)if(c=)word=0;elseif(word=0)word=1;num+;printf(%dwordsn,num);)6.下列程序的输出结果是()o#includeunsignedf(unsigned num)unsigned k=l;do(k*=num%10;num/=10;while(num);return k;)void main()intx=35,y=550;printf(n%d,%dn,f(x),f(y);五、编程序。(每小 题10分,共20分)1.函数 d e lsp a c e的功能是删除一个字符串中所有的空格。例如,输入字符串为
16、Th i si s a st r i n g”,则输出结果为“Th i si sa st r ing测试用主函数如下所示,请编制函数 d e lsp a c eot t i n c lu d et t i n c lu d ev o i d m a i n ()c h a r*d e lsp a c e(ch a r *st r);c h a rs8 1 ,*d s;g e t s(s);d s=d e lsp a c e(s);p r i n t f(n Re su lt:%sn,d s);2.已知两个3 位数abc和cba之和为1333(即abc+cba=1333),编程序求出3个数字a、
17、b 和Co二级C语言笔试试卷(A)2 0 0 7 年 2注意事项:1.一 题为客观题,请将答案涂在机读答题卡上2.请将二、三、四、五题的答案做在答题纸上单项选择题。(每小题1分,共20分)1.-个 C 程序的执行是从()。(A)本程序的main函数开始(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束2.设有C语句:intx=3,y=4,z=5;,则下面表达式中值为0的 是()o(A)x&y(B)x=y(C)x|y+z&y-z(D)!(xy)&!z|11)3.以
18、下有关宏替换的叙述不正确的 是()o(A)宏替换不占用 运 行 时 间(B)宏名无类型(C)宏替换只是字 符 串 替 换;(D)宏替换是在运行时进行的4.在标准库函数的 调 用 形 式“fread(buffer,size,count,fp);”中,参数buffer代表的是()o(A)一个整型变量,代表要读入的数据总数(B)一个文件指针,指向要读的文件(C)一个指针,指向读入数据存放的首地址(D)一个存储区,存放要读的数据项5.位运算中,操作数每左移一位,在没有溢出的情况下其结果相当于()O(A)操作数乘以2(B)操作数除以2(C)操作数除以4(D)操作数乘以46.下面程序运行后 变 量 m 的
19、值为()o#i n c lu d e v o i d m a i n()i n t m,n,k;m=(n=4)+(k=1 0-7)*p r i n t f(m=%d n,m);)(A )4(B)3(C)7(D)1 47.下面程序运行结果(或出现的情况)是()o#i n c lu d e v o i d m a i n()i n tx=3,y=0,z=0;i f (x=y+z)p r i n t f(*);e lsep r i n t f();)(A)有语法错误不能通过编译(B)输出:*(C)可以通过编译,但不能通过连接,因而不能运行(D)输出:#8.已 有 定 义 intk=2;int*ptr
20、l,*ptr2,且 p trl和 ptr2均已指向变量k,下面不能正确执行的 赋 值 语 句 是()o(A)k=*ptrl+*ptr2;(B)ptr2=k;(C)ptrl=ptr2;(D)k 二*p t r l*(*p t r 2);9.若有已经建好的链表结构如下,指针平P、q 分别指向图示节点(b 节点为插入c 节点前 的 链 表 末尾;abAcPq不能实现将q所指节点插入到链表末尾的一组语句是()。(A)qnext=NULL;p=p next;p next=q;(B)p=p next;q next=p next;p next=q;(C)p=p next;qnext=p;p next=q;(
21、D)p=(*p).next;(*q).next=(*p).next;(*p).next=q;1 0.有 定 义inta=3,b=4,c=5;执行 完 表 达 式a+-b&b+c&+C后,a,b,c的值分别为()(A)345(B)4 3 5(C)4 4 4(D)4 4 51 1.下列程序的执行结果是()o#includeunion ss short int1;charc2;);void main()union ss x;x.c0=10;x.cl=l;printf(v%d,x.i);)(A )11(B)266(C)265(D)13812.若有C语言inti=1 0;,则执行下面程序段后变量i的值是
22、()oswitch(i)case9:i+=l;case10:case11:i-=l;default:i+=l;)(A)10(B)11(C)12(D)91 3.在下列选项中,不正确的赋值语句是()o(A)t/=5;(B)nl=(n2=(n3=0);(C)k=i=j;(D)a=b+c=1 ;1 4.下面C程序运行后变量x的值是()o#i nc lu d e vo i d mai n()inta,b,c,x;a=b=c=O;x=35;if(!a)x-;else if(b)if(c)x=3;elsex=4;printfC%dn,x);)(A)34(B)4(C)35(D)31 5.设有以下宏定义:#de
23、fine N 3#define Y(n)(N+l*n)则 执 行 语 句:z=2*(N*Y(5+1);后,z的值为()o(A )3 0(B)7 2(C)4 8(D)5 41 6.在以下的四个运算符中,优先级最低的运算符是()o(A )=(B)/(C)!=(D)&1 7.已 知 E 的AS CII码是6 9,则执行下面C语句的结果是()op ri ntf(%c ;D 8 +5 );(A )6 6(B)A(C)B(D)E1 8 .设有以下语句:i nt a=3,b=6,c;c=aAb2;执行后c的低8位二进制值 是()o(A)0 0 0 1 1 0 1 1(B)0 0 0 1 0 1 0 0(C)
24、0 0 0 1 1 1 0 0(D)0 0 0 1 1 0 0 01 9 .在C语言中,以下叙述错误的是()。(A)函数被调用时,系统才为形参分配内存(B)实参和对应形参的数据类型必须一致(C)实参可以是变量、常量或表达式(D)形参可以是变量、常量或表达式2 0.字符串常量abcnt012xal*2 在内存中所占的存储空间节数是()o(A)11(B)13(C)15(D)18二.基本概念选择填空题(本大题后面有若干备选项,请选择合适的备选项,并讲其号码填入各小题的空白处。每空2 分,共 10分)1.函 数 首 部 intmain(int argc,char*argv)中 argc 表示 的 是。
25、2.C语言能处理的文件类型可以是文 本 文 件 和。3.下面语句定义了共用体(联合体)变 量a,则a占用 个字节。union data shortint i;char c;double d;a;4.为了避免嵌套的 if-else 语句的二义性,C语言规定else一与 组 成 配 对 关系。5.宏定义中前宏名 不 能 包 含。备选项:(A)空格(B)二 进制 文件(C)数字(D)在其N刖(E)参 数字 符(F)命令行参未配 申数的对的个i f数(G)(H)(J)81 1在 其N刖最 近的 未配 对的i f(K)(L)(M)在下 划程序定线文件义该函数时所指定的数据类型三.程 序 填 空 题(每
26、空2分,共2 0分)1.下面程序的功能是:从键盘上 输 入 若 干个 学 生 的 成绩(用负数结束 输 入 过程),统计计算 出 平 均 成绩;请填空完成程序。#includevoid main()floatsum=0.0,ave,a;printf(Entermarkn);scanf(%f”,&a);while(a=0.0)sum=sum+a;int n=0;s c a n f(%f ”,&a);)a ve=s u m/n;p r i n t f(a ve=%f n ,a ve);2.下面程序的功能 是 将 一 个字符串s t r的内 容 颠 倒 并输出,请填空完成程序。#i n c l u
27、d e vo i d m a i n()c h a rs t r =na bc d e f g );c h a r*p l,*p 2,c h;p l=s t r;p 2=s t r;wh i l e(*p 2!=p 2+wh i l e (p l p 2)c h =*p l,*p l=*p 2,*p 2=c h;;p 2 ;)p u t s (s t r);3.下面程序从终端 输 入 一 行字 符 串 存 入字符数组,然后输出;请填空完成程序。#i n c l u d e vo i d m a i n()c h a rs t r 8 0 ,*s pi n t n;f o r(n=0;n 80;
28、n+)s p=s t r;wh i l e(*s p)t s t r L n;i f (s t r n 二 二 nz)br e a k;)s t r n =p u t c h a r();4.下 面 函 数f u n的 功 能 是 比较 两 个 字 符串的大小,若两 字 符 串 相同 则 返 回0值,否则返回两 个 字 符 串中 第 一 个 不相 同 字 符 之差;请填空完成函数。#i n c l u d e i n t f u n(c h a r*s,c h a r *t)wh i l e(*t+十 二 二*s+&*t!二/0&*s!=/OZ)r e t u r n();vo i d m a
29、 i n ()c h a rs t r l 8 0 ,s t r 2 8 0 ;g e t s (s t r l);g e t s (s t r 2);p r i n t f (%d n ”,f u n (s t r l,s t r 2);5.下面程序的功能是统计字符串中大小写字母的个数,请填空完成程序。#i n c l u d e#d e f i n e IA(x)vo i d m a i n()c h a rs t r 8 0 ,*s,c h;i n tc o u n t=0;g e t s(s t r);s=s t r;wh i l e (*s)c h=*s+;i f (IA(c h)c
30、 o u n t+;)p r i n t f(t h e s u mi s%d n ,c o u n t);6.下面函数在一维数组v中将x插入到下标为i (i=0)的元素前,如 果i大于等于元素的个数,则x添加到v数组原 数 据 的 末尾。V数组原有元素个数保存在指针n所指向的变量中,插入后元素个数加1;请填空完成程序。#i n c l u d e vo i di n s l i n e (d o u bl e _,i n t *n,d o u bl ex,i n t ,i)i n t j;i f(f o r(j=*n-1;;j-)=vj ;e l s ei 二*n;vi =x;(*n)+;)
31、vo i d m a i n()d o u bl es 1 0 =l l,2 3,6 5,7 8 ,x;i n tm=4,k;x=9 9;s c a n f(%d ,&k);i n s l i n e (s,p,x,k);f o r(k=0;k m;k+)p r i n t f (%f n,s k );p u t c h a r (z nz);)四.阅读程序题(每小题5分,共3 0分)1.写出下面程序的运行结果。#i n c l u d e i n t f(i n tn u m,i n t r u n)s t r t i ci n t f a c t,i;i f (r u n=O)f a c
32、t=l;i=l;)f a c t*二 i;i f (+i 二 n u m)f (n u m,1);r e t u r n(f a c t);)vo i d m a i n()i n t i=0;p r i n t f(f=%d n ,f 0);2.写出下面程序的运行结果。#i n c l u d e vo i d m a i n()i n t a,b;f o r(a=l,b=l;a=2 0)br e a k;i f (b%3=l)b+=3;c o n t i n u e;)b-=5;p r i n t f(n%d,%d n n,a,b);3.写出下面程序的运行结果。#i n c l u d e
33、 vo i d m a i n()c h a rc h 2 5 =”1 2 3 4 “,”5 6 7 8 ”,*p 2 ;i n tj,k,s=0;f o r (k=0;k 2;k+)p k =c h k ;f o r (k=0;k 2;k+)f o r (j=O;p k j 0&p k j=9,;j+=2)s=1 0*s+p k j -/0,;p r i n t f(s=%d nn,s);4.写出下面程序在输入数据为:a 4 BZ!CR 表示按En t e r键)时的运行结果。#i n c l u d e vo i d m a i n()c h a rp s 8 0 ,*s t r;c h
34、a r c;g e t s (p s);s t r=p s;wh i l e(c=*s t r)!0 )i f (c=fa/&c=/A7&c 二 Z,)c=c+4;i f(c Z&c二 V+4|c z7)c二c-2 6;*s t r=c;)s t r+;)p r i n t f (%s n ,p s);5 .写出下面程序的运行结果。#i n c l u d e vo i d m a i n()l o n gf u n(i n t n);p r i n t f(%l d n,f u n (4);)l o n g f u n (i n t n)l o n g s;i f (n=l|n=2)s=2;
35、e l s es=n+f u n (n-1);r e t u r n s;6 .写出下面程序的运行结果。#i n c l u d e vo i d m a i n()vo i df u n(i n t *x,i n t*y);i n ta 二 1,2,3,4 ,j,x=0;f o r(j=0;j 4;j+)f u n (a,&x);p r i n t f (n%d n,x);)p r i n t f(n n n);i n t t=3;vo i d f u n(i n t*x,i n t *y)*y=x t ;t一;五.程序设计题(每 小 题10分,共2 0分)1.若一个数出现在自己平方数的右边
36、,则称该 数 为 同 构数。如,因有5*5=25,2 5 2 5=6 2 5,所以5和2 5都是同构数;请编制 程 序 找 出1 1 0 0 之间的全部同构数。2.编程序实现功能:在一个元素值按升序存放的整型数组中 插 入 一 个数,使得插入后的数组元素仍然有序二级c 语言笔试试卷(A)2 0 0 8 年 1注意事项:1.一题答案填涂在答题卡上2.二、三、四、五题答案做在答题纸上一.单项选择题。(每小题1 分,共20分)1.C 程序的源程序由预处理命令和()组成。(A)函 数(B )语 句(C )保 留 字(D)标始符2.下 面 程 序 段中,与 i f (x%2)中的x%2所表示条件等价的是
37、()os ca n f(%d”,&x);(A )x%2=0(B )x%2!=1(C)x%2!=0(D)x%2=l3.执行下面C语言序列后,变 量b的值是()oIn t a,b,c;a=b=c=l;+a +b&+c;(A )错误(B )0(C)2(D)14.设有C语句i n ta 3 4 ;,则每次移动过a数组一行元素的指针变量 定 义 形 式 是()o(A )i n t*p;(B )i n t*p;(C)i n t(*p)4;(D)i n t*p 4;5.设有整型变量a,实型变量f,双精度型变量x,则表 达 式 10+7 b,+x*f 值的类型为()o(A )i n t(B )f loa t(
38、C)dou ble(D)不能确定6.C 语言中规定,函数调用中用简单变量做实参时,它和对应形参之间的数据传递方式 是()o(A)地址传递(B)单向值传递(C)由实参传给形参,再由形参 传 回 给 实 参(D)由用户指定传递方式7.下面程序的输出 是()o#i n clu de v oi d m a i n ()(i n tx=10,y=3;pr i n tf(%d n ,y=x/y);(A )0(B )1(C)3(D)不确定的值8.执行下面的程序段后,B的值为()oi n t x=35;ch a r z=A,;i n t B;B=(X&5)&(z /a,);(A )0(B )1(C)2(D)3
39、9.以下程序的输出结果为()o#i n clu de v oi d m a i n()i n t i=0;f or(;)i f (i+二=5)break;printf(v%dn,i);(A)0(B)5(C)6(D)前3个选项都错1 0.已 知:charAs L4J=cba ;char*p;执 行 语 句 列p=s;printf(v%cn,*p+l);后,其输出为()o(A)c(B)b(C)a(D)d1 1.运行完下列程序后,在屏幕上的内容是()o#includevoid main()int a=0;a+=a=12;pr i n tf(%d n ,a);(A )0(B )6(C)12(D)241
40、 2.已知:i n t x二1,y =2,z =0,则 执 行z=x y?(10+x,10-x):(20+y,20-y)后,z的t为()o(A )11(B )9(C)18(D)2213.若已定义x和y为dou ble类型,则表达式x=2,y=x+10/4 的值 是()(A )2(B )4(C)4.0(D)4.51 4.以下程序的输出结果是()o#i n clu de i n t x=3,y=4;v oi d m a i n()i n t x=0;X+=y+;pr i n tf(v%d”,x);(A )3(B )4(C)5(D)61 5.在下面C语言的函数说明语句中,正 确 的 是()o(A )
41、i n tf u n(i n t x,i n t y);(B)i n t f u n(i n tx,y);(C)i n tf u n(x,y);(D)i n t f u n(i n t x;i n t y);1 6.有定义:i n tx,y=10,*p=&y;,则能使得x的值也等 于1 0的语句是()o(A )x=p;(B )x=&p;(C)x=&y;(D)x=*p;1 7.有定义:i n tB )16a 5 4,(*p)4 =a;,则*(*(p+2)+3)等价 于()o(A)a 2 0(B )a 2 1(C)a 2 2(D)a 2 31 8.有 定 义:ch a r*s二 t Na m e
42、A ddr e s s ;,那 么s tr le n(s)等 于()o(A )15(C)17(D)1819.设 有 定 义i n tm=l,n=T;则执行语 句pr i n tf (%d n,(m-&+n);后的输出结果是()。(A )-1(B )0(C)1(D)22 0.设有C语句:s tr u ct T i n t n;dou ble x;d,*p;,若要使P指向结构体变量中的成员n,正确的赋值语句是()。(A )p=&d.n(B)*p=d.n(C)p=(s tr u ct T*)&d.n(D)p=(s tr u ct T*)d.n二.基 本 概 念 选择填空题(本大题后面有若干备选项,请
43、选择合适的备选项并将其号码填入各个小题的空白处。没 空 2分,共 10分)1.一个C 程序无论由多少个函数组成,只能有一个主函数,其函数名是。2.表 达 式 x*=x+b等 价 于 表 达 式。3.在 C语言中,语句是一条限定转移语句,其功能是提前结束本次循环体的执行过程而直接进入下一次循环。4.结构体数据类型仍然是一类变量的抽象形式,系统不会为数据类型分配存储空间。要使用结构体类型数据,必须要 05.调 用f eo f库函数可以判断文件内部读写位置指针是否达到文件尾,当读写位置指针到达文件尾时,该函数的返回值是:0备选项:(A)v o i d(B)x=x*x+b(C)co n t i n u
44、 e(D)x =x*(x+b)(E)br ea kIF)定义结构体成员定义结构体类型 变 量(H)定义联合体类型 变 量(Do(J)非 o(K)ma i n(L)g o t o三.程 序 填 空 题。(每空2分 共20分。1.程 序 的 功 能是:统计输入字符串中小写字母的个数。#i n cl u de ch a r c;i n tn u m=O;w h i l e(c=g et ch ar 0)!=)_ i f(c,z,)co n t i n u e;v o i d ma i n ()p r i n t f(%d n ,n u m);2.下面程序的功能是输出数组中的各字符串,请填空完成程序。
45、#i n cl u dev o i d ma i n ()ch a r*a口 二 a bcd,1 2 3 4 5 ,ef g h i j k ,6 7 8 9 0 ;i n tj=0;f o r (;;j+)p u t s ();3.下面程序实现计算 1+(1+2)+(1+2+3 )+(1+2+3+.+1 0),请填空完善程序。#i n cl u devoid main()inttotal,sum,m,n;total=0;for(m=l;m=10;m+)sum=0;for(n=l;;n+)sum=sum+n;;printf(total二%dn ,totai);4.函数f u n的功能是判断一个
46、3位整数的各位数和百位数之和是否等于其十位上的数字,是则返回yes!,否则返回 no!,请填空完成函数。#i n cl u def u n (i n t n)i n tg,s,b;g=n%1 0;s=n/1 0%1 0;b=n/1 0 0;,r et u r n y es ;el s er et u r n;v o i d ma i n ()i n t n;s ca n f(%d”,&n);p r i n t f (f,%s n,f u n(n);i f (g+b)=s)5.下面程序的功能是打印出整数r i o o o 中满足条件:个位数字的立 方 等 于 其 本身的所有数,请填空完成程序。#
47、i n cl u dev o i d ma i n()i n t n;f o r(i=l;i 1 0 0 0;i+)g 二i f(p r i n t f(v%4 d”,i);p r i n t f n );)四.阅读程序,填写结果(每小题5分,共 30分)1.下列程序的运行结果是()o#i n cl u dev o i d ma i n ()v o i da dd();i n t i;f o r(i=0;i 3;i+)a dd()s t a t i c i n tx=0;x+;p r i n t f(v%d”,x);2.以下程序的输出结果为()o#i n cl u dev o i d ma i
48、 n ()i n tv o i d a dd()a,o,c,x;a=b=c=O;x=3 5;i f (!a)x ;el s ei f (b)i f (c)x=3;el s ex=4p r i n t f(v%d n ,x);3.以下程序的输出结果为()o#i n cl u dev o i d ma i n()i n ti,j,r o w,co l u m,ma x;i n ta 3 4 =1,2,3,4,9,8,7,6,-1 0,10,-5,2);co l u m=j;ma x=a 0 0 ;f o r(i=0;i =2;i+)f o r(j=0;j ma x)ma x=a i j ;r o
49、w=i;p r i n t f(ma x=%d,r o w=%d,co l u m=%d n ,ma x,r o w,co l u m);4.下面程序的执 行 结 果 是()o#i n cl u de#def i n eMi n(x,y)(x)(y)?(x):(y)v o i d ma i n ()i n ta=l,b=2,c=3,d=4,t;t=Mi n(a+b,c+d)*1 0 0 0;p r i n t f(t=%d n/,t);)5.下列程序的运行结果是()o#i n cl u dev o i d f u n (i n tx)p u t ch a r(0,+x%1 0);i f (x/
50、1 0)f u n (x/1 0);)v o i d ma i n ()i n tm=1 2 3 4;f u n(m);p u t ch a r(n,);6.以下程序的运行结果是()o#i n cl u dev o i d ma i n ()i n ta =l,3,5,s=l,j,*P=a;f o r (j=0;j=y)&(y=z)(B )(x=y)A ND(y=z)(C)(x=y=z)(D)(x=y)&(y=z)6.若有C语句i n tk=5;f l o a t x=l.2;,则表达式(i n t)(x+k)的值是()(A )5(B )6.2(C)7(D)67.设有定义:i n tx,*p;