阶段一C语言题库含答案.pdf
《阶段一C语言题库含答案.pdf》由会员分享,可在线阅读,更多相关《阶段一C语言题库含答案.pdf(97页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、单选题.1二、多选题.12三、填空题.13四、判断题.34五、简答题.34六、程序分析题.46七、编程题.55一、单选题1.break关键字在哪一种语法结构中不能使用?(C)A.for 语句 B.switch 语句C.if语 句 D.while语句2.现在最快且最通用的排序算法是什么?(A)A.快速排序B.冒泡排序C.选择排序D.外部排序3.设 x 和 y 均为bool变量,则 x&y为 真 的 条 件 是(A)。A.它们均为真 B.其中一个为真 C.它们均为假 D.其中一个为假4.下面的哪个保留字不能作为函数的返回类型(C)。A.void B.int C.new D.long5.假定a
2、为一个整型数组名,则元素a4的字节地址为 A。A.a+4 B.a+8 C.a+16 D.a+326.C 库函数stN r的功能是?(A)A.查找子串B.计算字符串长度C.字符串比较D.连结字符串7.在程序中可以用来作为变量名的合法的标识符是:c _,A static B23_bl Cstu_lt D#338.下列运算符运算级别最高的是:_ _ d _ A&B+=C=D!9.已知:char str 1,str210;选择正确的输入语句:_ d_ _。Ascanf(%s%c,&strl,str2);B scanf(%s%s,&strl,str2);C scanf(%c%c,&strl,str2);
3、D scanf(%c%s,&strl,str2);10.有一个二维数组s34,其第2 行第3 列元素的正确表示是:_ _ oA*(*(s+2)+3)B*(s+2)+3 C s2,3 Ds32I L以下正确的描述是:_ d _ _ oA continue语句的作用是终止整个循环的执行。B continue语句的作用是结束本次循环的执行。C continue语句和break语句都可以在switch语句中使用。D break语句的作用是结束本次循环的执行。12.假定x 和 y 为 double型,则表达式x=2,y=x+3/2的值是:_ a _ A)3.500000 B)3 C)2.000000 D
4、)3.00000013.C 语言规定,数组名做实参时,它和对应形参之间的数据传递方式是:_d_A 用户指定传递方式 B 无传递 C 单向值传递 D 地址传递14.若有以下说明语句:struct STUDENT int num;char name10;float cj;al=1001,liming”,97.5,*p=&al;不正确的输出语句是:_ d _ oA printfC%r,al.cj);B printf(4cj);C printfC%f(*p).cj);D printf(%,*p.cj);15.已知int a;则对指针变量正确的说明和初始化是:_d_A int*p=a;B int p=a
5、;C int p=&a;D int*p=&a;16.若有定义:int aa 8;则以下表达式中不能代表数组元aal的地址的是:a _。A)&aa0+l B)&aal C)&aa0+D)aa+117.若有下面的说明和定义,则 sizeof(struct a a)的值是:_ c_。struct aa double r2;int rl;float r3;union uuchar ul 5 Jong u2 2;ua;mya;A)30 B)29 C)24 D)2218.若有以下定义和语句:_ c _.ints45,(*ps)5;ps=s;则对s 数组元素的正确引用形式是A)ps+1 B)*(ps+3)C
6、)ps02|D)*(ps+l)+3191.假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为:_ _ d _ oA)log2n B)n2 C)O(nl.5)D)n(n-1)/220.在说明语句:int*f();中,标识符f 代表的是:d _ A)一个用于指向整型数据的指针变量B)个用于指向一维数组的行指针C)一个用于指向函数的指针变量D)一个返回值为指针型的函数名21.线性表L=(al,a2,a3,a i,a n),下列说法正确的是:_d 。A)每个元素都有一个直接前件和直接后件B)线性表中至少要有一个元素C)表中诸元素的排列顺序必须是由小到大或由大到小D)除第一个元素和最后一个元
7、素外,其余每个元素都有一个且只有一个直接前件和直接后件22.若以下定义:struct link int data;struck link*next;a,b,c,*p,*q;且变量a 和 b 之间已有如下图所示的链表结构:a bdata next data nextI 5|+一|9|0|l _ I _I l _ I _lf Pcdata nextI I II 7|t q指针p 指向变量a,q指向变量c。则能够把c 插入到a 和 b 之间并形成新的链表的语句组 是:_ c 。A)a.next=c;c.next=b;C)q-next=p-next;p-next=&c;B)p.next=q;q.nex
8、t=p.next;D)(*p).next=q;(*q).next=&b;23.设有以下说明语句:b _otypedef struct int n;char ch8;PER;则下面叙述中正确的是A)PE R 是结构体变量名 B)PER是结构体类型名C)typedef struct是结构体类型 D)struct是结构体类型名24.若有说明:int a 4=0,0;则下面不正确的叙述是:dA)数组a 的每个元素都可得到初值0B)二维数组a 的第一维大小为1C)当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小D)只有元素a 0 0 和 a 0 1 可得到初值,其余元素均得不到确定
9、的初值25.以下叙述正确的是:dA)可以把define和 if定义为用户标识符B)可以把define定义为用户标识符,但不能把if定义为用户标识符C)可以把if定义为用户标识符,但不能把define定义为用户标识符D)define和 if都不能定义为用户标识符26.若定义:inta=511,*b=&a;,则 printf(%dn,*b);的输出结果为:_ d _ _ A)无确定值 B)a的地址 C)512 D)51127.以下程序中,while循环的循环次数是:_ d 。main()int i=0;while(i10)if(il)continue;if(I=5)break;i+;A)1 B)1
10、0 C)6 D)死循环,不能确定次数28.若有以下程序:#includevoid f(int n);main()void f(int n);f(5);)void f(int n)printf(H%dn,n);则以下叙述中不正确的是:_ c _oA)若只在主函数中对函数f 进行说明,则只能在主函数中正确调用函数fB)若在主函数前对函数f 进行说明,则在主函数和其后的其它函数中都可以正确调用函数fC)对于以上程序,编译时系统会提示出错信息:提示对对f 函数重复说明D)函数f 无返回值,所以可用void将其类型定义为无值型29.有如下定义struct person char name 9;int a
11、ge;struct person class 10=John,17,npaul,19,Mary,18,*Adam1,16,;根据上述定义,能输出字母M 的语句是:-d oA)printf(n%c n,class 3.nam e);B)printf(n%c n,class 3.name 1 );C)printf(M%cnn,class 2.name E 1 );D)printf(M%c nM,class 2.name 0 );30.在 C 语言中,形参的缺省存储类是:a _oA)auto B)register C)static D)extern31.若要打开A 盘上user子目录下名为abc.t
12、xt的文本文件进行读、写操作,下面符合此要求的函数调用是:b _oA)fopen(A:userabc.txt,T)B)fopen(,A:userabc.txt,r+u)C)fopen(,A:userabc.txt,rbn)C)fopen(,A:userabc.txt,w)32.若有定义:char*st二 how are you ;下列程序段中正确的是:_ a 。A)char a 11,*p;strcpy(p=a+1 ,&st 4);B)char a 11;strcpy(+a,s t);C)char a 11;strcpy(a,s t);D)char a ,*p;strcpy(p=&a 1,st
13、+2);33.下列用于printf函数的控制字符常量中,代表“竖向跳格”的转义字符常量是:_c_。A)b B)t C)v D)f34.设变量n 为 float类型,m 为 int类型,则以下能实现将n 中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是:_ _ a _ oA)n=(n*100+0.5)/100.0B)m=n*100+0.5,n=m/100.0C)n=n*100+0.5/100.0D)n=(n/1 0 0+0.5)*1 0 0.03 5.设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是:d _ oA)x&y B)xpk B)*p.p
14、k C)*p-pk D)*x.pk44.设有 int a=10,11,12),*p=&aO;则执行完*p+;*p+=l;后 a,al,a2的值依次是:_ C _oA)10,11,12 B)11,12,12 C)10,12,12 D)11,11,1245.表达式 sizeof(,hello)与 stHen(hello)的值分别是:c _oA)6,6 B)5,5 C)6,5 D)5,646.假定建立了以下链表结构,指针p、q 分别指向如图所示的结点,则以下可以将q 所指结点从链表中删除并释放该结点的语句组是:_b_oA)free(q);p-next=q-next;B)(*p).next=(*q).
15、next;free(q);C)q=(*q).next;(*p).next=q;free(q);D)q=q-next;p-next=q;p=p-next;free(p);47.d _ 是合法的用户自定义标识符。A、b-b B、float C、D _isw48.C_ J CX、y 定义成float类型变量,并赋同一初值3.14。A、float x,y=3.14;B、float x,y=2*3.14;C、float x=3.14,y=x=3.14;D float x=y=3.14;49.下面四个选项中,均是C 语言关键字的选项是:a,b _A.auto enum includeB.switch ty
16、pedef continueC.signed union scanfD.if struct type50.下列一维数组说明中,正确的是:a,c_oA.#define SI ZE 8+2float bSI ZE;B.int n;scanf(d”,&n);float bn;C.const int m=7;float am;这个要区分c 文件和C+文件D.int a(10);51.下列字符数组初始化语句中,正确的是:A_oA.char c=newspaper”;B.char c8=newspaper;C.char c10=newspaper;D.char c 12=newspaper;52.设x、y
17、、z 都是整型变量,x、y 的初值都是5,执行z=(+x)+(y-)+1后,x、y、z 三变量的值按顺序是:d _oA.5,5,11 B.6,6,13 C.4,6,12 D.6,4,1253.以下转义字符中,表 示“换页”的是:_ b _ _ oA.v B.f C.b D.t54.在内存中要开辟多少字节来存放字符n :_a _oA.1 B.2 C.3 D.455.有变量说明int a=3,则表达式a0);printf(na=%d,b=%dH,a,b);)A a=2,b=-l B a=2,b=-2 C a=4,b=-l2.以下程序的输出结果是:_b 。main()int b33=0,l,2,0,
18、l,2Al,2,i,j,t=l;for(i=0;i3;i+)for(j=i;j b?(a c?a:c):b);)A)5 B)4 C)6 D)不确定4.以下程序的输出结果是:main()int a=O,i;fbr(i=l;i5;i+)switch(i)case 0:case 3:a+=2;case 1:case 2:a+=3;default:a+=5;)printf(%dn;a);)A)31 B)13 C)10 D)205.以下程序的输出结果是:_ a _。main()int a=4,b=5,c=0,d;d=!a&!bll!c;printf(H%dnn,d);)A)1 B)0 C)非 0 的数
19、D)-l6.有以下程序main()chara =z a b c d,e,f,g h 0 ;inti,j;i=sizeof(a);j=strlen(a);printf(%d,%db,i,j);)程序运行后的输出结果是:d _ A)9,9 B)8,9 C)1,8 D)9,87.以下程序的运行结果是:b _#define MI N(x,y)(x)(y)?(x):(y)main()inti=10,j=15,k;k=10*MI N(i,j);printf(%d n,k);)A)10 B)15 C)100 D)1508.以下程序的输出结果是:d _。int f()static int i=0;int s=
20、l;s+=i;i+;return s;main()int i,a=O;fbr(i=0;i 5;i+)a+=f();printf(n%dnn,a);)A)2 0 B)2 4 C)5 D)1 59.有如下程序int func(int a,int b)return(a+b);main()int x=2,y=5,z=8,r;r=func(func(x,y),z);printf(n%d n ,r);)该程序的输出的结果是:d-oA)1 2 B)1 3 C)1 4 D)1 51 0.以下程序的输出结果是:b _ Omain()char ch3 5=“AAAA”,“BBB“J C C ;printf(”s“
21、n”,chl);)A)A A A A B)nB B B C),B B B C C,1 1.以下程序执行后a的值是:d _ omain()int x,y=2 5 2,i=3 8 6,*m=&y,*z=&i;x=(z=y);printf(d”,x);A)2 5 2 B)1 C)01 2,下列程序的输出结果是:b _ostruct abc int a,b,c,s;main()struct abc s 2 =1,2,3,4,5,6;int t;t=s 0 .a+s 1 .b;printf(H%d n t);A)5 B)6 C)71 3.下列程序的运行结果是:b _ ovoid fun(int int*
22、b)D)HC C D)运行时出错,x无定值D)8 int*k;k=a;a=b;b=k;)main()int a=3,b=6,*x=&a,*y=&b;fun(x,y);printf(u%d%dn,a,b);)A)63 B)36 C)编译出错 D)0014.以下程序段的输出结果是:int a=1234;printf(n%2dn,a);A)12 B)34 C)1234 D)提示出错、无结果15.有以下程序void fun(int a,int b,int c)a=456,b=567,c=678;main()int x=10,y=20,z=30;fun(x,y,z);printf(%d,%d,%d nu
23、,x,y,z);)输出结果是:b _ oA)30,20,10 B)10,20,30 C)456,567,678 D)678,567,45616.以下程序的输出结果是:3 1 _ofun(int x,int y,int z)z=x*x+y*y;main()int a=31;fun(5,2,a);printf,%d”,a);)A)0 B)29 C)31 D)无定值17.以下程序的输出结果是:d _.main()char w10=“ABCD”,“EFGH”JTJKL”,“MNOP”,k;for(k=1 ;k3;k+)printf(4t%s t wk);A)ABCD FGH KL B)ABCD EFG
24、 C)EFG JK D)EFGHI JKL18.以下程序的输出结果是:2 5 _Oint f(void)(static int i=0;static int s=1;+=i+;return s;)int main(void)(int i,a=0;for(i=0;i 0;x-)if(x%3)printf(“%d,”,x-);continue;printf(d,”,-x);)A.7,4,2 B.8,7,5,2 C.9,7,6,42 1.以下程序的输出结果是:c _ oint main(void)int a,b;fbr(a=l,b=l;a=1 0)break;if(b%3=1)b+=3;contin
25、ue;b-=5;D.8,5,4,2printf(u%dn;a);return 0;)A.6 B.5C.4 D.3二、多选题1.在C语言中,每个变量必须在使用前进行类型说明或定义,这样可以(A B C D ).(A)为 变 量 赋 初 值(B )规定该变量的取值范围(C )规定该变量所能进行的运算操作(D)方便在编译时为其分配存储单元(E )规定变量的个数2.以 下 是 死 循 环 的 程 序 段 是。(A)for(i=l;)(if(+i%2=0)continue;if(+i%3=0)break;)(B)i=32767;do if(i=0);3.设有以下说明和定义语句,则下面表达式中值为3 的是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 阶段 语言 题库 答案
限制150内