阶段一C语言题库.pdf
《阶段一C语言题库.pdf》由会员分享,可在线阅读,更多相关《阶段一C语言题库.pdf(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、单选题.1二、多选题.12三、填空题.13四、判断题.23五、简答题.23六、程序分析题.35七、编程题.43一、单选题1.break关键字在哪一种语法结构中不能使用?(C)A.for 语句 B.switch 语句C.if语 句 D.while语句2.现在最快且最通用的排序算法是什么?(A)A.快速排序B.冒泡排序C.选择排序D.外部排序3.设 x 和 y 均为bool变量,贝 IJx&y为 真 的 条 件 是(A)。A.它们均为真 B.其中一个为真 C.它们均为假 D.其中一个为假4.下面的哪个保留字不能作为函数的返回类型(C)。A.void B.int C.new D.long5.假定
2、a 为一个整型数组名,则元素a4的字节地址为(A)。A.a+4 B.a+8 C.a+16 D.a+326.C 库函数strstr的功能是?(A)A.查找子串B,计算字符串长度C.字符串比较D.连结字符串7.在程序中可以用来作为变量名的合法的标识符是:c_oA static B 23_b 1 C stu_lt D#338.下列运算符运算级别最高的是:d _oA&B+=C=D!9.已知:char strl,str210;选择正确的输入语句:_ d_ _。A scanf(,%s%cH,&strl,str2);B scanf(%s%sn,&strl,str2);C scanf(n%c%c&strl,s
3、tr2);D scanf(%c%s&strl,str2);10.有一个二维数组s 4,其第2 行第3 列元素的正确表示是:_ A _。A*(*(s+2)+3)B*(s+2)+3 C s2,3 D s3211.以下正确的描述是:_ d _oA continue语句的作用是终止整个循环的执行。B continue语句的作用是结束本次循环的执行。C continue语句和break语句都可以在switch语句中使用。D break语句的作用是结束本次循环的执行。12.假定x 和 y 为 double型,则表达式x=2,y=x+3/2的值是:_ b。A)3.500000 B)3 C)2.000000
4、D)3.00000013.C 语言规定,数组名做实参时,它和对应形参之间的数据传递方式是:d _0A 用户指定传递方式 B 无传递 C 单向值传递 D 地址传递14.若有以下说明语句:struct STUDENT int num;char name10;float cj;al=1001,liming,97.5,*p=&al;不正确的输出语句是:_ d_ _oAprintf(%F,al.cj);B printf(%F,p-cj);C printfC%f(*p).cj);D printf(u%f*p.cj);15.已知int a;则对指针变量正确的说明和初始化是:_ d 。A int*p=a;B
5、int p=a;C int p=&a;D int*p=&a;16.若有定义:intaa8J;则以下表达式中不能代表数组元aa山 的地址的是:c _。A)&aa0+l B)&aal C)&aa0+D)aa+117.若有下面的说明和定义,贝 II sizeof(struct a a)的值是:_ c。struct aa double r2;int rl;float r3;union uuchar ul 5;long u2 2;ua;mya;A)30 B)29 C)24 D)2218.若有以下定义和语句:_ c_oints45,(*ps)5;ps=s;则对飞数组元素的正确引用形式是A)ps+1 B)*
6、(ps+3)C)ps 2 D)*(ps+l)+3191.假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为:_ d _,A)log2n B)n2 C)O(nl.5)D)n(n-l)/220.在说明语句:int*f();中,标识符f 代表的是:dA)一个用于指向整型数据的指针变量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 nextdata nextI 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;23.设有以下说明语句:btypedef struct int n;char ch8;PER;则下面
8、叙述中正确的是A)PE R 是结构体变量名C)typedef struct是结构体类型B)p.next=q;q.next=p.next;D)(*p).next=q;(*q).next=&b;B)PER是结构体类型名D)struct是结构体类型名24.若有说明:inta 口 4=0,0;则下面不正确的叙述是:dA)数组a 的每个元素都可得到初值0B)二维数组a 的第一维大小为1C)当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第维的大小D)只有元素a 0 0 和 a 0 1 可得到初值,其余元素均得不到确定的初值25.以下叙述正确的是:dA)可以把define和 if定义为用户标识符
9、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)I B)10 C)6 D)死循环,不能确定次数28.若有以下程序:#includevoid f(
10、int n);main()void f(int n);f(5);)void f(int n)printf(H%dnn,n);则以下叙述中不正确的是:_ c _.A)若只在主函数中对函数f 进行说明,则只能在主函数中正确调用函数fB)若在主函数前对函数f 进行说明,则在主函数和其后的其它函数中都可以正确调用函数fC)对于以上程序,编译时系统会提示出错信息:提示对对f 函数重复说明D)函数f 无返回值,所以可用void将其类型定义为无值型29.有如下定义struct person char name 9;int age;struct person class 10=John,17,paul,19,
11、Mary,18,Adam,16,;根据上述定义,能输出字母M 的语句是:d _ oA)printf(%c n,class 3.nam e);B)printf(%c n,class 3.name 1 );C)printf(%c n,class 2.name 1 );D)printf(%cn,class 2.name 0 );30.在C 语言中,形参的缺省存储类是:_ a _ oA)auto B)register C)static D)extern31.若要打开A 盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是:b _ A)fopen(A:userabc
12、.txt,r)B)fopen(A:userabc.txt,r+)C)fopen(A:userabc.txt,rb)C)fopen(A:userabc.txt,w)32.若有定义:char*st=how are you 下列程序段中正确的是:_ _ _a。A)char a 11,*p;strcpy(p=a+l,&st 4);B)char a 11;strcpy(+a,s t);C)chara 11;strcpy(a,s t);D)char a ,*p;strcpy(p=&a 1 ,st+2);33.下列用于printf函数的控制字符常量中,代表“竖向跳格”的转义字符常量是:_c_。A)b B)t
13、 C)v D)f34.设变量n 为 float类型,m 为 int类型,则以下能实现将n 中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是:a _。A)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 _,A)x&y B)xpkB)*p.pkC)*p-pkD)*x.pk44.设有 int a=10,11,12,*p=&aO;则执行完*p+;*p+=l;后 的值依次
14、是:A)10,11,12 B)11,12,12 C)10,12,12 D)11,11,1245.表达式 sizeof(hello)与 str1en(hello)的值分别是:_c _oA)6,6 B)5,5 C)6,5 D)5,646.假定建立了以下链表结构,指针p、q 分别指向如图所示的结点,则以下可以将q 所指结点从链表中删除并释放该结点的语句组是:_ b _。A)free(q);p-next=q-next;B)(*p).next=(*q).next;free(q);C)q=(*q).next;(*p),next=q;free(q);D)q=q-next;p-next=q;p=p-next;
15、free(p);47._ d _ 是合法的用户自定义标识符。A、b-b float C、D、_isw48.(:_ 把乂、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 typedef continueC.signed union scanfD.if struct type50.下列一维数组说明中,正确的是:a,c_oA.
16、#define SIZE 8+2float bSIZE;B.int n;scanf(u%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 c12=newspaper;52.设x、y、z 都是整型变量,x y 的初值都是5,执行z=(+x)+(y-)+1后,x、y z 三变量的值按顺序是:_ d _ oA.5,5,11 B.6,6,
17、13 C.4,6,12 D.6,4,1253.以下转义字符中,表 示“换页”的是:_ b _ oA.v B.f C.b D.t54.在内存中要开辟多少字节来存放字符:_a _oA.1 B.2 C.3 D.455.有变量说明int a=3,则表达式avl&-al和运算完后a 的值应该是:B _。A.0 和 2 B.0 和 3 C.1 和 2 D.1 和 356.设x 和 y 都是int类型的数,则下列表达式的值不为7 的是:c_oA.(x=y=6,x+y,x+1)B.(x=y=6,x+y,y+1)C.(x=6,x+1,y=6,x+y)D.(y=6,y+l,x=y,x+1)57.extern关键字
18、的作用是什么?(D)A.声明外部链接B.声明外部头文件引用C.声明使用扩展C+语 句 D.声明外部成员函数、成员数据。58.for(int x=0,y=o;!x&y0);printf(a=%d,b=%d,a,b);)A a=2,b=-1 B a=2,b=-2 C a=4,b=-l D a=4,b=-22.以下程序的输出结果是:_ b _ main()inlb33=0,l,2,(M20,l,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.以下程序的输出结果是:_ a _。main()int a=O,i;for
19、(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(M%dnH,d);)A)1 B)0 C)非 0 的数 D)-l6.有以下程序main()chara 口=a b c d,e,f,g h 0 ;inti,j;i=sizeof(a);j=strlen(a);printf(%d,%db,i,j);程序运行后的输出结果是:d
20、 _ A)9,9 B)8,9 C)1,8 D)9,87.以下程序的运行结果是:b _o#define MIN(x,y)(x)(y)?(x):(y)main()int i=10,j=15,k;k=10*MIN(i,j);printf(%d n,k);)A)10 B)15 C)100 D)1508.以下程序的输出结果是:d _ int f()static int i=0;int s=l;return s;main()int i,a=O;for(i=0;i5;i+)a+=f();printf(%dnn,a);A)20 B)24 C)59.有如下程序int func(int a,int b)retur
21、n(a+b);main()D)15 int x=2,y=5,z=8,r;r=func(func(x,y),z);printf(d n”,r);)该程序的输出的结果是:_ d _ oA)12 B)13 C)14 D)1510.以下程序的输出结果是:b _omain()char ch35=”AAAA,“BBB,“CC”;printf(”s”n”,chl);)A)“AAAA B)“BBB C)BBBCC11.以下程序执行后a 的值是:d _omain()int x,y=252,i=386,*m=&y,*z=&i;x=(z=y);printf(d”,x);)A)252 B)1 C)012.下列程序的输
22、出结果是:_ 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(%dnH,t);)A)5 B)6 C)7D)-CCD)运行时出错,x 无定值D)813.下列程序的运行结果是:b _ovoid fun(int*a,int*b)int*k;k=a;a=b;b=k;)m a i n ()i n t a=3,b=6,*x=&a,*y=&b;f un (x,y);p r i n t f (n%d%d ,a,b);36xzAB)3 6 C)编译出错 D)0 01 4.以下程序段的输出
23、结果是:_c_。i n t a=1 2 3 4;p r i n t f(,%2 d n ,a);A)1 2 B)3 4 C)1 2 3 4 D)提示出错、无结果1 5.有以下程序voi d f un (i n t a,i n t b,i n t c)a=4 5 6,b=5 6 7,c=6 7 8;m a i n ()i n t x=1 0,y=2 0,z=3 0;f un (x,y,z);p r i n t f (n%d,%d,%d n ,x,y,z);)输出结果是:_ b _oA)3 0,2 0,1 0 B)1 0,2 0,3 0 C)4 5 6,5 6 7,6 7 8 D)6 7 8,5
24、6 7,4 5 61 6.以下程序的输出结果是:_31_of un(i n t x,i n t y,i n t z)z=x*x+y*y;m a i n()i n t a=3 1;f un(5,2,a);p r i n t f(“d”,a);)A)0 B)2 9 C)3 1 D)无定值1 7.以下程序的输出结果是:d_,m a i n()(c h a r w 1 0 =“A BC D”,“E F GH”,“I J K L”,“MNOP”,k;f or (k=1 ;k 3;k+)p r i n t f(4 4%s ”,w k );)A)A BC D F G H K L B)A BC D E F G
25、 C)E F G J K D)E F G HI J K L1 8.以下程序的输出结果是:2 5 _ oi n t f(voi d)(s t a t i c i n t i =0;s t a t i c i n t s =1;s +=i;i+;return s;)int main(void)(int i,a=0;for(i=0;i 0;x)if(x%3)printfC%d,x);continue;printfC%d;-x);)A.7,4,2 B.8,7,5,2 C.9,7,6,421.以下程序的输出结果是:_ c _ oint main(void)int a,b;for(a=l,b=1 ;a=1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 阶段 语言 题库
限制150内