2010计算机等级考试二级C语言模拟题.ppt_第1页
2010计算机等级考试二级C语言模拟题.ppt_第2页
2010计算机等级考试二级C语言模拟题.ppt_第3页
2010计算机等级考试二级C语言模拟题.ppt_第4页
2010计算机等级考试二级C语言模拟题.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.下列定义变量的语句中错误的是 A)int _int; B)double int_; C)char For; D)float U$ 2.若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是 A)+x,y=x- B)x+1=y C)x=x+10=x+y D)double(x)/10,一、 选择题,3.以下关于逻辑运算符两侧运算对象的叙述中正确的是 A)只能是整数0或1 B)只能是整数0或非0的整数 C)可以是结构体类型的数据 D)可是任意合法的表达式 4.若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x+): (y+)中的条件表达式(x-y)等价的是 A)(x-y0) B)(x-y0) D)(x-y=0),5.有以下程序 main() int x,y,z; x=y=1; z=x+,y+,+y; printf(“%d,%d,%dn”,x,y,z); 程序运行后的输出结果是_。 A)2,3,3 B)2,3,2 C)2,3,1 D)2,2,1,6.有以下程序 main() int a=0,b=0; a=10; /*给a赋值 b=20; 给b赋值 */ printf(“a+b=%dn”,a+b); /* 输出计算结果 */ 程序运行后输出结果是_。 A)a+b=10 B)a+b=30 C)30 D)出错,7.在嵌套使用if语句时,C语言规定else总是_。 A)和之前与其具有相同缩进位置的if配对 B)和之前与其最近的if配对 C)和之前与其最近的且不带else的if配对 D)和之前的第一个if配对,8.下列叙述中正确的是_。 A)break语句只能用于switch语句 B)在switch语句中必须使用default C)break语句必须与switch语句中的case配对使用 D)在switch语句中,不一定使用break语句,9.有以下程序 main() int k=5; while(- -k) printf(“%d”,k-=3); printf(“n”) 执行后的输出结果是_。 A)1 B)2 C)4 D)死循环,10.有以下程序 main() int i; for(I=1;I=40;I+) if(I+%5=0) if (+I%8=0) printf(“%d“,i) printf(“n“) 执行后的输出结果是_。 A)5 B)24 C)32 D)40,11.以下选项中,值为1的表达式_。 A)1-“0“ B)1-”0” C)“1“-0 D)“0“-“0“,12.有以下程序 fun(int x,int y)return(x+y); main() int a=1,b=2,c=3,sum; sum=fun(a+,b+,a+b),c+); printf(“%dn”,sum); 执行后的输出结果是_。 A)6 B)7 C)8 D)9,13.有以下程序 main() char s = “abcde”; s+=2; printf(“%dn”,s0); 执行后的结果是_。 A)输出字符a的ASCII码 B)输出字符c的ASCII码 C)输出字符c D)程序出错,14.有以下程序 fun(int x,int y) static int m=0,I=2; I+=m+1;m=I+x+y; return m; main() int j=1,m=1,k; k=fun(j,m); printf(“%d”,k); k=fun(j,m); printf(“%dn”,k) 执行后的输出结果是_。 A)5,5 B)5,11 C)11,11 D)11,5,15.有以下程序 fun(int x) int p; if(x=0x= =1) return(3); p=x-fun(x-2); retum p; main() prinf(“%dn”,fun(7); 执行后的输出结果是_。 A)7 B)3 C)2 D)0,16.在16位编译系统上,右有定义int a =10,20,30,*p=,当执行p+;后,下列说法错误的是_。 A)p向高地址移了一个字节 B)p向高地址移了一个存储单元 C)p向高地址移了两个字节 D)p与a+1等价,17.有以下程序 main() int a=1,b=3,c=5; int *p1= 执行后的输出结果是 A)1 B)2 C)3 D)4,18.若有定义语句:int k23,*pk3;,则以下语句中正确的是_。 A)pk=k; B)pk0=,19.有以下程序 void change(int k )k0=k5; main() int x10=1,2,3,4,5,6,7,8,9,10,n=0 while(n=4) change( 程序运行后输出的结果是_。 A)678910 B)13579 C)12345 D)62345,20.若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是 A)#define N 10 Int aN B)#define n 5 Int a2*n C)int a5+5 D)int n=10,an,21.有以下程序 main() char s = “aeiou”,*ps; ps=s; printf(“%cn”,*ps+4); 程序运行后的输出结果是_。 A)a B)e C)u D)元素s4的地址,22.以下语句中存在语法错误的是_。 A)char ss620;ss1= “right? “; B)char ss20= “right? “; C)char *ss6;ss1= “right? “; D)char *ss=“right? “;,23.若有定义:char *x= “abcdefghi”;,以下选项中正确运用了strcpy函数的是_。 A)char y10; strcpy(y,x4); B)char y10; strcpy(+y,24.有以下程序 int add(int a,int b)return (a+b; main() int k,(*f)(),a=5,b=10; f=add; 则以下函数调用语句错误的是_。 A)k=(*f)(a,b); B)k=add(a,b); C)k=*f(a,b); D)k=f(a,b);,25.有以下程序 void fun2(char a, char b)printi(“%b%c”,a,b); char a= A,b= B; void fun1( ) a= Cl l b= D; main( ) fun1( ) printf( “%c%c”,a,b); fun2(E, F); 程序的运行结果是_。 A)CDEF B)ABEF C)ABCD D)CDAB,26.有以下程序 #include #define N 5 #define M N+1 #define f(x) (x*M) main() int i1,i2; i1=f(2); i2=f(1+1); printf(“%d %dn”,i1,i2); 程序的运行结果是_。 A)12 12 B)11 7 C)11 11 D)12 7,二、填空题,1.已知字符A的ACSII码值为65,以下语句的输出结果是【1】 char ch=B; printf(“%c %dn“,ch,ch);,B , 66,2.有以下语句段 int n1=10,n2=20; printf(“【2】“,n1.n2); 要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。 n1=10 n2=20,N1=%dn,n2=%d,3.有以下程序 main( ) int t=1,i=5; for(;i=0;i-) t*=i; printf(“%dn“,t); 执行后输出结果是【3】。,0,4.有以下程序 main( ) int n=0,m=1,x=2; if(!n) x-=1; if(m) x-=2; if(x) x-=3; printf(“%dn“,x); 执行后输出结果是【4】。,-4,5.有以下程序 #include main( ) char ch1,ch2; int n1,n2; ch1=getchar(); ch2=getchar(); n1=ch1-0; n2=n1*10+(ch2-0); printf(“%dn“,n2); 程序运行时输入:12,执行后输出结果是【5】。,12,6.有以下程序 void f( int y,int *x) y=y+*x; *x=*x+y; main( ) int x=2,y=4; f(y, 执行后输出的结果是【6】。,8 4,7.函数fun的功能是计算xn double fun(double x,int n) int i; double y=1; for(i=1;i=n;i+) y=y*x; return y; 主函数中已经正确定义m,a,b变量并赋值,并调用fun函数计算:m=a4+b4-(a+b)3。实现这一计算的函数调用语句为【7】。,m=fun(a,4)+fun(b,4)-fun(a+b,3),8.下面rotate函数的功能是:将n行n列的矩阵A转置为A,例如: 当A=,则B= 请填空 #define N 4 void rotate( int a N ) int i,j,t; for(i=0;iN;i+) for(j=0;【8】;j+) t=aij; 【9】; aji=t; ,ji aij=aji,9.以下sstrcpy( )函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。请填空。 void sstrcpy(char *s,char *t) while(*s+=【10】); main( ) char str1100,str2=“abcdefgh“; sstrcpy(str1,str2); printf(“%sn“,str1); ,*t+或*(t+),10.下列程序的运行结果是:【11】 #include char *ss(char *s) return s+strlen(s)/2; main( ) char *p,*str=“abcdefgh“; p=ss(str); printf(“%sn“,p); ,efgh,11.下面程序的运行结果是:【12】 int f( int a, int n) if(n1) return a0+f( ,6,12.以下sum函数的功能是计算下列级数之和。 S=1x+x2/2!+x3/3!+xn/n! 请给函数中的各变量正确赋初值。 double sum( double x, int n ) int i; double a,b,s; 【13】 for( i=1;i=n;i+) a=a*x; b=b*i; s=s+a/b; return s; ,a=1;b=1;s=1,13. #include【14】 void main( ) char s=”159”, *p=s; printf(“%cn” , *p+); printf(“%c”,*p+); ,1 5,三、程序设计,找出一个二维数组中的鞍点。,找出一个二维数组中的鞍点。,#include #define N 4 #define M 4 void m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论