《计算机等考二级C语言冲刺题及答案集锦.doc》由会员分享,可在线阅读,更多相关《计算机等考二级C语言冲刺题及答案集锦.doc(91页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流计算机等考二级C语言冲刺题及答案集锦.精品文档.2011年9月计算机等考二级C语言冲刺试题及答案1一、选择题1.一个C语言程序是由( )构成。A.语句B.行号C.数据D.函数2.下面标识符中正确的是( )。A.a#bcB.123ABCC.simeD.YMD3.在C语言中,存储一个整型、字符型、双精度实型变量所需的字节数是( )。 )。 )。 )。A.2、1、8B.4、1、4C.4、1、4D.2、2、84.为了避免嵌套的条件分支语句 if-else中的else总是与( ) 组成成对关系。A. 缩排位置相同的B. 在其之前未配对的C. 在其之前未
2、配对的最近的ifD. 在同一行上的if5.下列表达式的结果正确的是( )。int a,b,c,d;a=b=c=d=2;d=a+1=3?b=a+2:a+3A.2 B.4 C.3 D.5二、填空题1.在C语言中,正确的标识符是由_组成的,且由_开头的。2. 设x=3,那么表达式y=(+x)+(+x)的结果为_,表达式执行后,变量x的结果为_。3. 一个变量的指针是指_。4. 组成数组元素的特点是_;组成结构体元素的特点是_。5. 在C语言程序中,对文件进行操作首先要_;然后对文件进行操作,最后要对文件实行_操作,防止文件中信息的丢失。6. 对字符串进行操作的函数有_等。7. C语言程序是由_构成的
3、,而C语言的函数是由_构成的。8. 要想定义整型变量a , 实型变量 b , 字符型的变量c,应该使用的正确语句为_。9. 写出下面表达式的值3*5/7+7%3_ x=2 ; y=4; (x+)+y _3+4=7-10_ 34 ? 3%2: 1 _x=2,y=2;+x&+y_ x=3 ; x+=x-=2 _三、判断题1. C语言的一个特点是可以对计算机硬件进行操作 ( )2. 在循环过程中,使用break语句和continue语句的作用是一样的 ( )3. 在函数的定义和调用过程中,形式参数和实在参数数目可以不一致 ( )4. 指针变量可以接收任何类型的值 ( )5. 在C语言程序设计中,字符
4、数组和字符串不是完全一样的概念 ( )6. 文件指针是结构体类型,用符号file来表示 ( )7. 选择结构(if语句)和循环结构都可以使用嵌套形式 ( )8. 在定义二维数组时,可以将该数组的两个维数全部省略 ( )9. 逻辑运算符 & | ! 的运算顺序是 ! 优先于 & 优先于 | ( )10. 任何数组都可以实现整体使用操作 ( )四、程序填空题1.下面是实现打印九九乘法表的程序,请在画线的位置填上适当的语句,使程序(段)完整。main() int i , j , k;for(i=1;_; i+) for(j=1;_; j+)printf(“%d*%d=%d”,_);printf(_)
5、;2.自己设计一个自定义函数,实现求两个数的最大数的功能,自定义函数如下:int max(x,y)int x , y ;3.设有如下面的结构体,请用C语言的语句定义出正确的结构体形式:学生信息:包括(姓名,性别,年龄,分数),并且定义变量stud和数组stud130struct student4. 根据给出的程序段,请写出正确的结果x=1 ; sum=1 ;for (x=1 ; x=5 ; x+)sum=sum*x;上面的程序段实现的功能是:_ ;其运行结果为_。5.设有如下的语句。int a=43,b,c;b=23;c=a+ * -b;(1)上面的语句段执行后a= b= c= ;(2)简述a
6、+和+a的相同点和不同点:6.设有如下的程序:main( ) int i=3,*p1;int a3=15,30,45,*p2;p1=&i; p2=a;p1=p2+2;printf(“%d,%dn”,*p1,*p2);程序运行结果是:_。五、编程题 (25分)1.编程实现对10个整数进行冒泡排序(要求排成升序)。2.编程实现求下面的式子的结果3.编程实现将文本文件file1.dat中的内容复制到文本文件file2.dat中去六、附加题用C语言程序实现在已知链表中的第三个位置插入数值为a的程序参考答案 一、选择题1.D 2. C 3. A 4. C 5. B二、填空题1.字母、数字、下划线;以字母
7、、下划线开头。2.10;5。3. 该变量的地址。4.一组数据类型相同的元素构成的;一组数据类型不同的元素构成的。5. 打开;关闭。6.字符串长度、取子字符串、字符串替换、字符串复制等。7. 函数;语句。8. int a ; float b ; char c ;9 9 9.3 6 1 1 1 2三、判断题1. 对 2. 错 3. 错 4. 错 5. 对6. 错 7. 对 8. 错 9.对 10. 错四、程序填空题1. i=9 j=y) z=x;else z=y;return z;3. char name20;char sex;int age;float score;4. 实现功能:计算连续数之积
8、, 即sum=1*2*3*4*5 ;运行结果:sum=1205. 44 22 946a+:先加1,后使用表达式的值;+a表示先加1,后使用表达式的值,它们最后的结果使a加1。6.45,15五、编程题1.编程实现对12个整数进行冒泡排序(要求排成升序)。Main() int a12; int m,n,p;for (m=0;m=11;m+)(m=0;m=11;m+)scanf(“%d”,&am);for (m=0;m=11;m+)for(n=0;nan+1) p=an; an=an+1; an+1=p; for (m=0;m6) y=(x-3)/(2*x-12);else y=-2*x*x+4*x
9、-10;printf(“y=%f”,y); 3.编程实现将文本文件file1.dat中的内容复制到文本文件file2.dat中去main() char ch;FILE *fp1,*fp2;Fp1=fopen(“file1.dat”, “r”);Fp2=fopen(“file2.dat”, “w”);Ch=fgetc(fp1);While(ch!=EOF) fputc(ch,fp2);Ch=fgetc(fp1); Fclose(fp1);Fclose(fp2); 六、附加题p=H;K=0;While(p!=NULL & k p=p-next;k+; if(p=NULL & H!=NULL) pr
10、intf(“this is invilid”);else q=(Struct Linklist *)malloc(sizeof(Struct Linklist);q-data=x; q-data=x;q-next=p-next;p-next=q; 2011年9月计算机等考二级C语言冲刺试题及答案2一、选择题1.一个C语言程序是由( )构成。A.语句B.行号C.数据D.函数2.下面标识符中正确的是( )。A.d&efB.6aC.z4x5cD.a3/b43.在C语言中,存储一个字符型、整型、单精度实型变量所需的空间是()。型、单精度实型变量所需的空间是()。A.1、2、4B.1、1、4C.1、2、
11、8D.2、2、84.为了避免嵌套的条件分支语句 if-else中的else总是与( ) 组成成对关系。A. 缩排位置相同的B. 在其之前未配对的C. 在其之前未配对的最近的ifD. 在同一行上的if5.下列表达式的结果正确的是( )。int aa,bb,cc,dd;aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;(aa+1=2)?bb=aa+2:aa+3A.2B.3C. 1D.56.设有int x=11 ;则表达式(x+1/3)的值是( )。A.3B. 4C. 11D.127.设有字符串A=“He has 钱!”,则该字符串的长度为( )。A
12、. 9B. 10C. 11D. 88.有如下程序段,则正确的执行结果是( )int m=3;while(m=5) printf(“%d ”,m-3); m+;A. 0 0 0B.0 1 2C.1 2 3D.无结果9.执行语句:printf(%d,(a=2)&(b= -2);后,输出结果是( )。A.无输出B.结果不确定C.-1D. 110.有如下定义类型语句,若从键盘输入数据,正确的输入语句是( )。int x; char y; char z20;A. scanf(%d%c%c,&x,&y,&z);B. scanf(%d%c%s,&x,&y,&z);C. scanf(%d%c%c,&x,&y,
13、z);D. scanf(%d%c%s,&x,&y,z);11. struct ex int x ; float y; char z ; example;则下面的叙述中不正确的是( )。A. struct结构体类型的关键字B. example是结构体类型名C. x,y,z都是结构体成员名D. struct ex是结构体类型12.在C语言中对于实型数组,其每个数组元素的类型是( )。A. 实型B. 整型C. 可以为任何类型D. 不确定13. 若已定义:int a9,*p=a;不能表示a1 地址的表达式是( )。A. p+1B. a+1C. a+D. +p14. 在TC2.0环境中,对文件进行保存使
14、用的命令是( )。A. OPENB. SAVEC. LOADD. WRITE TO15.在C+的类中,用于表示公共类型的关键字是( )。A. classB. privateC. protectD. public二、填空题1.在C语言中,正确的标识符是由_组成的,且由_开头的。2. 设p=30,那么执行q=(+p)后,表达式的结果q为_,变量p的结果为_。若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是_。3. 一个变量的指针是指_。4. 在C语言程序中,对文件进行操作首先要_;然后对文件进行操作,最后要对文件实行_操作,防止文件中信息的丢失。5. 以下程序运行后的输出
15、结果是_。该程序的功能是_ 。main() int x=10,y=20 ,t=0;if(x!=y) t=x; x=y; y=t;printf(%d,%dn,x,y); 6. 若fp已正确定义为一个文件指针,d1.dat为二进制文件,请填空,以便为读而打开此文件:fp=fopen( );。7. 有以下程序,当输入的数值为2,3,4时,输出结果为_。main() int x,y,z;cout xyz;sum=x*x+y*2+z;cout“sum of number is :”8. 有以下程序main() char c;while(c=getchar()!=?) putchar( - - c );
16、程序运行时,如果从键盘输入:YDG?N?,则输出结果为_ 。9.在循环中,continue语句与break语句的区别是:continue语句是语句的区别是:continue语句是 _ ,break 是 _。三、程序填空与算法题1. 下面程序是计算10个整数中奇数的和及其偶数的和,请填空。#includemain() int a,b,c,i;a=c=0;for(i=1;i=10;i+) scanf(“%d”,&b);canf(“%d”,&b);_ printf(偶数的和=%dn,a);printf(奇数的和=%dn,c); 2.编写一个自定义函数,实现求两个实数的平方和3. 以下程序运行后的输出
17、结果是_。main() char s =GFEDCBA;int p=6;while(sp!=D) printf(%c , p);p=p-1; 4.定义一个反映学生信息的结构体,包括学生的姓名,性别,年龄,成绩等。5.以下程序输出的结果是 _。int ff(int n) static int f=l;f=f*n;return f; main() int i;for(i=1;i=5;i+) printf(%dn,ff(i); 6. 设有以下程序:main() int n1,n2;scanf(%d,&n2);while(n2!=0) n1=n2;n2=n2/10;printf(%d ,n1); 程序
18、运行后,如果从键盘上输入1298;则输出结果为_。7.下面程序的功能是:输出 100以内(不包含100)能被 3整除且个位数为 6的所有整数,请填空。#Includemain() int i, j;for(i=1; _; i+)if (_)printf(%d, j); 8.现有一个单链表Head,如下图所示,如果要在元素B和D之间插入一个字符型元素C。所需要的语句为:(如果用到指针,在图中标出指针的位置)四、编程题1. 编程实现求解下面的式子的结果s=1*2+2*3+3*4+20*212.编程实现求下面的式子的结果3.编程实现将文本文件file1.dat的内容读出来,显示到屏幕上。参考答案 一
19、、选择题1.D 2. C 3. A 4. C 5. B6.C 7. B 8. B 9. D 10. D11.B 12. A 13. C 14. B 15. D二、填空题1.字母、数字、下划线;以字母、下划线开头。2.4,4 -123.该变量的地址。4.打开;关闭。5.20 , 10 变量的交换6.“d1.dat”, “rb”7. sum of number is :148. xcf 9 9 99.结束本次循环,进入下一次循环;结束循环。三、程序填空与阅读程序题(参考答案)1. if (b%2=0) a=a+b else c=c+b2. float sum(float x,float y) re
20、turn x*x+y*y; 3. A B C4. struct studentchar name10;char sex;int age;float score; 5. 1 2 6 24 1206.8 9 2 17.iNEXT=Q-NEXT; P-NEXT=NEW;四、编程题1.参考答案main() int m,n,sum=0;for (m=1;m6)y=(x-3)/(2*x-12);elsey=-2*x*x+4*x-10;printf(“y=%f”,y); 3.main() char ch;FILE *fp1,*fp2;fp1=fopen(“file1.dat”, “r”);fp2=fopen
21、(“file2.dat”, “r”);fp3=fopen(“file3.dat”, “w”);Ch=fgetc(fp1);While(ch!=EOF) fputc(ch,fp3); fputc(ch,fp3);Ch=fgetc(fp1); Ch=fgetc(fp2);While(ch!=EOF) fputc(ch,fp3); fputc(ch,fp3);Ch=fgetc(fp2); Fclose(fp1);Fclose(fp2);Fclose(fp3);2011年9月计算机等考二级C语言冲刺试题及答案3一、 单项选择题(共30分,每题1分)1. 下列不正确的转义字符是( )A.B.C.074D
22、.02. 不是C语言提供的合法关键字是( )A.switchB.cherC.caseD.default3.正确的标识符是( )A.?aB.a=2C.a.3D.a_34.下列字符中属于键盘符号的是( )A.B.nC.tD.b5.下列数据中属于“字符串常量”的是( )A.ABCB.“ABC”C.ABCD.A6.char型常量在内存中存放的是( )A.ASCII码B.BCD码C.内码值D.十进制代码值7.设a为5,执行下列语句后,b的值不为2的是( )A.b=a/2B.b=6-(-a)C.b=a%2D.b=a3?2:28.在以下一组运算符中,优先级最高的运算符是( )A.=B.=C.%D.&9.设整
23、型变量i的值为3,则计算表达式i-i后表达式的值是()A.0B.1C.2D.表达式出错10.设整型变量a,b,c均为2,表达式a+b+c+的结果是( )A.6B.9C.8D.表达式出错11.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是( )A.1B.2C.2.0D.2.512.设a=1,b=2,c=3,d=4,则表达式:aA.4B.3C.2D.113.设a为整型变量,不能正确表达数学关系:10A.10B.a= =11 | a= =12 | a= =13 | a= =14C.a10&a15D.!(a=15)14.若有以下定义:char a、 int b 、 float
24、c 、 double d,则表达式a*b+d-c值的类型为()A.floatB.intC.charD.double15.表达式“10!=9”的值是( )A.trueB.非零值C.0D.116.循环语句 for (x=0,y=0; (y!=123)| (x4);x+);的循环执行( )A.无限次B.不确定次C.4次D.3次17.在C语言中,下列说法中正确的是( )A. 不能使用“do while”的循环B.“do while”的循环必须使用break语句退出循环C.“do while”的循环中,当条件为非0时将结束循环D.“do while”的循环中,当条件为0时将结束循环。18.设a,b为字符
25、型变量,执行scanf(“a=%c,b=%c”,&a,&b)后使a为A,b为B,从键盘上的正确输入是( )A.A BB.A,BC.A=A,B=BD.a=A,b=B19.设i,j,k均为int型变量,执行完下面的for循环后,k的值为( )for (i=0,j=10;i=j;i+,j-)k=i+j;A.10B.9C.8D.720.设有定义:char s12=“string”;则printf (“%dn”,strlen(s);的输出是( )A.6B.7C.11D.1221.合法的数组定义是()A.int a=“string”;B.int a5=0,1,2,3,4,5;C.char a=“strin
26、g”;D.char a=0,1,2,3,4,522.函数调用strcat(strcpy(str1,str2),str3)的功能是()A.将字符串str2复制到字符串str1中后再将字符串str3连接到字符串str1之后B.将字符串str1复制到字符串str2中后再连接到字符串str3之后C.将字符串str1复制到字符串str2中后再复制到字符串str3之后D.将字符串str2连接到字符串str1中后再将字符串str1复制到字符串str3中23.设有如下定义,则正确的叙述为( )char x=“abcdefg”;char y=a,b,c,d,e,f,g;A.数组x和数组y等价B.数组x和数组y的
27、长度相同C.数组x的长度大于数组y的长度D.数组x的长度小于数组y的长度24.设有单精度变量f,其值为13.8。执行语句“n=(int)f)%3;”后,n的值是()A.4B.1C.4.333333D.4.625.执行语句“f=(3.0,4.0,5.0),(2.0,1.0,0.0);”后,单精度变量f的值是( )A.3.0B.5.0C.2.0D.0.026.设a、b均为整型变量,下列表达式中不是赋值表达式的是( )A.a=3,4,5B.a=3*2C.a=a&bD.a=b=427.表达式“1?(0?3:2): (10?1:0)”的值为( )A.3B.2C.1D.028.sizeof(double)
28、的结果值是( )A.8B.4C.2D.出错29.指出下面正确的输入语句是( )A.scanf (“a=b=%d”,&a,&b);B.scanf(“a=%d,b=%f”,&m,&f);C.scanf(“%3c”,c);D.scanf(“%5.2f,&f);30.若有以下定义和语句,且0=i5,则( )是对数组元素地址的正确表示int a=1,2,3,4,5,*p,i;p=a;A.&(a+i)B.&pC.a+D.&pi二、 填空(20分,每空1分)1.在内存中存储“A”要占用( )个字节,存储A要占用( )字节。2.符号常量的定义方法是( )。3.能表述“20x30或x0;y-)if (y%3=
29、= 0) printf (“%d”,-y);continue;3. main() int x,y;for (y=1,x=1;y=10) break;if (x%2= =1) x+=5;continue;x-=3; printf (“%d”,y);4. main() static int a3=9,7,5,3,1,2,4,6,8;int i,j,s1=0,s2=0; i,j,s1=0,s2=0;for (i=0;i3;i+)for (j=0;j3;j+) if (i= =j )s1=s1+aij;if (i+j= =2) s2=s2+aij;printf (“%dn%dn”,s1,s2);5.
30、main()static char a=*,*,*,*,*;int i,j,k;for (i=0;i5;i+)printf (“n”);for (j=0;jfor (k=0;k5;k+) printf (“%c”,ak); 6. int fac(int n)static int f=1;f=f*n; return(f);main()int i;for (i=1;i20 & x30) | x-1004.分支结构,循环结果5. while do for6. #include “stdio.h” # include “string.h”7. a11=0 , a21=08. * 指针运算符, &地址运
31、算符9. 分号;10. 复合语句11. a=12,b=24,c=3612. 13. 非0三、 读程序(30分)1.结果:10,4,32.结果:8 5 23.64.18105. *6. 5!=120四、 编写程序(20分)1.Main()int x,y;scanf (“%d”,&x);if (x=1) y=x; (x1&x10) y=2*x-1;else y=3*x-11;printf (“x=%d,y=%dn”,x,y);bsp; 2. Main()float E;int n;s=0;E=1;2011年9月计算机等考二级C语言冲刺试题及答案4一、 单项选择题(共30分,每题1分)1.在PC机中,n在内存占用的字节数是( )A.1B.2C. 3D.42.字符串“ABC”在内存占用的字节数是( )A.3B.4C.6D.83.在C语言中,合法的长整型常数是( )A.0LB.4962710C.0.054838743D.2.1869 e104.执行语句“x=(a=3,b=a-)”后,x,a,b的值依次是( )A.3,3,2B.3,2,2C.3,2,3
限制150内