2013-2014-2C语言模拟题题.doc_第1页
2013-2014-2C语言模拟题题.doc_第2页
2013-2014-2C语言模拟题题.doc_第3页
2013-2014-2C语言模拟题题.doc_第4页
2013-2014-2C语言模拟题题.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

模拟题一一、单项选择题(每题2分, 30分)1. 结构化程序设计方法中有三种基本结构,不正确的是_。A顺序结构B选择结构C循环结构D数组结构2. 在C语言中,下列变量名称中合法的是_。A7x Bint CELse Da-b3.合法的字符常量是_。A. 084 B. ab C. x43D. “0”4. 下列变量的定义及赋值正确的是_。A. int i=0;j; B. char c=”A”;C. double x,y,z; D. float a=b=100;x=y=z=100;5.如有以下变量定义:int a=5,b=6,c=12;那么下列表达式结果为真的是_。A. a-b B. ab C. b/c D. c%b6.下列的数组定义中合法的是_。 Aint a=string;Bint a5=0,1,2,3,4,5; Cchar s=string;Dchar a=0,1,2,3,4,5;7.下列循环语句中,不能够正常结束的是_。 A. int i=0; B. int i=0; for(;i100)break;C. int i=0,j=0; D. int i=0,j=0;while(i=j)j+; doi+=j;i+;j+;while(ij);8. 若有:int a = 1,2,3,4,5,6,7,8,*p=a ; 不能正确表示a5的表达式是_。A. p + 5 B. p5 C. *(a +5) D. *(p +5)9. 设有int x=15,y=20则表达式(x/=2+1,y*5),y+25的值和执行表达式后x、y的值分别是_。A. 125 8 100 B. 45 5 20 C. 125 5 100 D. 45 8 2010. 以下程序运行后,输出结果是_。 #include int b=1;int f() int b=-5; return b*b;void main() printf(%d,%dn,b,f();A. -5,25 B. 1,1 C. 1,25 D. 1,111. 以下程序运行后,输出结果是_。 #include #define S(a,b) a*b main() int a=3 ,area; area=S(a,a+1) ; printf(area=%dn,area); A. 15 B. 12 C. 9 D. 1012.能正确表示a10或a 0的关系表达式是_。A. a=10 or a=10a=10 | a=0 D. a10 | a 013. 以下叙述中正确的是_。A主函数中定义的变量子函数可以使用B局部变量都是自动变量C只要是全局变量,所有函数都可以使用D不同位置定义的变量有效范围不一样14. 当a=1,b=3,c=5,d=4,x=3时,执行下面一段程序后,x的值为_。 if(ad) x=1; else if(ad)x=2; else x=0;A. 1 B. 2 C. 3 D. 015. 现有一个文本文件,想以追加方式打开,下列方式正确的是_。if(fp=fopen(fname.dat,_)=NULL)printf(can not open file!n,num); exit(0);A. w B.ab C.b D.a二判断题:本大题共10个小题,每小题1分,共10分。1、函数既可以嵌套定义,也可以嵌套调用。 ( )2、表达式i+表示对变量i自身加1。 ( )3、 while语句的循环体至少执行一次。 ( )4、函数的递归调用不过是一个函数直接或间接的调用自己。( )5、通过return语句 可以带回一个或多个值。 ( )6、字符串只能存放到字符型数组中。 ( )7、在标准C中“=”是判断2个数是否相等。 ( )8、静态外部变量只能在本文件使用。 ( )9、C 语言是一种结构化的程序设计语言。 ( )10、语句scanf(“%7.2f”,&x)是合法的。 ( )三填空题:本大题共15个空,每空2分,共30分。1下面程序的运行结果是 。#include void main( ) int i=3;switch(i) case 1:printf(%dn, i+ ); break;case 2:printf(%dn, i ); break;case 3:printf(%dn, +i ); break;default:printf(*n);2输入一个不超过3位的正整数,判断它是个几位数, weishu ()是判断位数的函数,将程序补充完整。 #include int weishu(int x) if(x/1000) return(3); else if( ) return(2); else return(1); void main() int a; doscanf(%d,&a) ;printf(%d是%d位数n,a, ); while(a!=0) ; 3计算100到188之间的所有奇数的平均值,将程序补充完整。 #include void main() int i,j=0; float average=0,sum=0; for(i=101, ;i188;i+=2) sum+=i; ; average =sum/j; printf(average =%.2fn,average); 4.判断数组中的整数是不是素数, 将程序补充完整。#include int prime(int n) int flag=1,i; for(i=2; ;i+) if(n%i=0) flag=0;break; return flag; void main() int i,a6=3,7,9,11,10,6; for(i=0;i6;i+) if( )printf(a%d=%d是素数n,i,ai);5下面程序的运行结果是 #include int fun(int k) static int b=1;int m;b=b+1;m=k*2+b;return m;void main( ) int i, s; for(i=0; i=2; i+) s=fun(i);printf( %d , s); /* %d前有空格 */printf(n);6下面程序的运行结果是 #include void main( )int a10=3,9,7,8,5,10,1,2,4,6, *p;for ( p=a; pa+10; p+ )if ( *p % 2 = 0 ) printf(%d,%dn, *p, p-a);break;7以下程序的功能是:在一个34的二维数组中,将每行中的最小值与第0列元素对调。#include void main( )int a34=6,3,5,8, 10,4,2,9, 1,7,15,11, i, j, t, k;for( i=0; i3; i+ )k=0;for ( j=1; ; j+ )if(aijaik) ;if(k!=0)t=ai0; ;aik=t;8以下程序功能是:输出低于平均成绩的学生姓名,请填空。# include typedef structchar name20;float score;STU;void main( )STU s10, *p;int i;float ave=0;for (i=0; i10; i+) /* 读入10人的姓名和成绩 */scanf(%s%f, , );for (i=0; iscore 0 /*答案不唯一*/ weishu(a)3. i+=2 j+4. in prime(ai)5. 2 5 86. 8, 37. j 4 k = j ai0=aik8. &si.score pname模拟题二一、选择题(每题2分,共30分) 1、 C语言源程序的基本单位是( ) (易)A.程序行 B.语句 C.函数 D.字符 2、 C语言规定:在一个源程序中,main函数的位置( )。 A.必须在最开始 B.必须在系统调用的库函数的后面 C.可以任意位置 D.必须在最后 3、 在下列字符列中,合法的标识符是( ) A.p12&.a B.stud_100 C. water$12 D.88sum4、 已知“int a=0,b=1.*p=&a,*q=&b;”,下列错误的语句是( )A.a=*q; B.p=&b; C.b=(*p)+; D.a=*&q;5、 设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a b)&(n=cd)后n的值为( ) A.1 B.2 C.3 D.4 6、 下述程序的输出结果是( ) #include void main() int x=-1,y=4; int k; k=+x=0&!(y-5)printf(“%d”,x); else printf(“%dn”,x-); A.7和5 B.6和3 C.7和4 D.6和4 9、若变量c为char类型,能正确判断出c为小写字母的表达式是( ) A. a=c= a)|(c= z) C. (a=c) D. (c= a)&(c= z) 10、在定义int a10;之后,对a的引用正确的是( )。 A.a10 B.a6.3 C.a(6) D.a10-10 11、定义如下变量的数组: int i; int x33=1,2,3,4,5,6,7,8,9; 则下列语句的输出结果是( ) for(i=0;i3;i+)printf(“%d”,xi2-i); A.357 B.147 C.159 D.369 12. 在C语言中,形参的缺省存储类是( ) A. auto B. register C. static D. extern13. C语言函数返回值的类型是由( ) 决定的。 A.return语句中的表达式类型 B.调用函数的主调函数类型 C.调用函数时临时分配的 D.定义函数时所指定的函数类型14.设#define NUM 1 + 2,则int var = 2 * NUM * 3 - NUM; var的值是多少?( ) A. 15 B. 19 C. 9 D. 515.若有以下定义和语句:char strl = string, str25; 则用以复制字符串的正确方法是( )。 A. strcpy(str2, Hello); B. strcpy(strl, Hello); C. str2 = str1; D. str1 = Hello;二、填空题(每空2分,共30分) 1、结构化设计中的三种基本结构是顺序结构、 、 。 2、若函数调用语句f(a, b, f(a + b, a - b, b);,则函数f的参数个数是 。3、定义int x,y;执行y=(x=1,+x,x+2);语句后,y的值是 。 4、若用数组名作为函数调用的实参,则实参传递给形参的是_ _。5、在C语言中,表示逻辑真值用_表示。6、设int a34 = 1, 2, 5, 3, 2, 4, 7, 9, 3, 6, 5, 8;则表达式a12 + a23的值是_。7、scanf函数是一个标准库函数,它的函数原型在头文件_中。8、设char s10 = abcd,t = 12345;,则s和t在内存中分配的字节数分别是_和 。9、有以下程序段: int a10=1,2,3,4,5,6,7,8,9,10,*p=&a3,b; b=*(p+5);b中的值是 。10、设char s = E_mail;,则执行printf(%dn, strlen(s);后输出的值是_。11、在循环中,结束单次循环用哪条语句 。12、有如下语句:swich(t) case 0:s=2;break; case 1:case 2:s=3;break;case 3:s=4;case 4:s=5; cefault:s=6; 当t=1时,s为 ;当t=3时,s为 。三、判断题(每题1分,共10分)1、逻辑运算符的优先级别高于算术运算符。( )2、在C语言中,不允许在函数中再定义函数。( )3、C语言中可以把一个字符串赋给一个字符变量。( )4、getchar函数的功能是接收从键盘输入的一串字符。( )5、语句int *num=“china”,”japan”,”usa”;数组num中元素都是指针。( )6、结构体比共用体更节省内存空间。( )7、c语言编译生成的文件名后缀为*.exe。( )8、函数参数值传递中,实参不随形参的改变而改变。( )9、有语句int a34,(*p)4;p=a;,则*(p+1)表示的数组a01元素。( )10、局部变量和全局变量可以重名。( )模拟题二答案一、 选择题:本大题共15个小题,每小题2分,共30分。1C2C3B4D5B6C7C8A9D 10D11A12A13D14C15B 二、 填空题:本大题共15个小题,每小题2分,共30分1. 循环结构 、 选择结构 2. 3 3. 44. 地址5. 16. 157. stdio.h8. 10 69. 910. 611. continue12. 3 6三、 判断题:本大题共10个小题,每小题1分,共10分。1-5 6-10模拟题三一、选择题:本大题共15个小题,每小题2分,共30分。在每小题给出的四个选项中,只有一项是正确的。 1C语言源程序的基本单位是 。(易)(A)过程 (B)函数 (C)子程序 (D)标识符2 是合法的用户自定义标识符。(易)(A)b-b (B)float (C) (D)_isw 3以下程序的输出结果是 (中)# include void main() int i=010,j=10; printf(%d,%dn,+i,j-);(A)11,10 (B)9,10 (C)9,9 (D)10,94设变量定义为“int a, b;”,执行下列语句时,输入 ,则a和b的值都是10。scanf(a=%d, b=%d,&a, &b);(易)(A)10 10 (B)10, 10 (C)a=10 b=10 (D)a=10, b=105若变量已正确定义,有以下程序段(中)int a=3,b=5,c=7;if(ab)a=b;c=a;if(c!=a)c=b;printf(%d,%d,%dn,a,b,c);其输出结果是 。(A)程序段有语法错 (B)3,5,3 (C)3,5,5 (D)3,5,76有以下程序(难)# include void main() int i; for (i=0; i3; i+)switch (i) case 1: printf(%d , i); case 2: printf(%d , i); default : printf(%d , i); 执行后输出结果是 (A)011122 (B)012 (C)012020 (D)1207若k为整型,则while循环执行 次(中) k=3; while(k=0) printf(“%d”,k); k-; printf(“n”);(A) 1 (B) 3 (C) 2 (D)08有以下程序(难)#includevoid main() int i, j;for(i=3; i=1; i-) for(j=1; jx=2.0 (B)(*p).y=3.0 (C)point.x=2.0 (D)*p-y=3.0二填空题:本大题共15个小题,每小题2分,共30分。请将要填入的内容写在横线上。1 C语言中结构化程序设计的三种结构是:顺序结构、 结构、循环结构。(易)2若整型变量m和n中的值分别为1和2,要求按以下格式输出m 和n 的值:(中)m=1,n=2请完成输出语句:printf (_ ,m,n); 3若a是int型变量,则下面表达式(a=4*5,a*2),a+6的值为 。(中)4当x=2,y=3,z=1时,执行以下程序段后,输出结果是 。(中) if(xy) if(xz) printf(%dn,z); else printf (%dn,y); printf(endn);5设i,n,p均为int型变量,则执行以下程序段后,p的值为 。(中) p=1;n=4; for(i=1;i=n;i+) p=p*i;6下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。请填空。(难) int n=0,c; c=getchar(); while( ) if( )n+; c=getchar(); 7以下程序的输出结果是 。(中)#include void main ( ) int a33 =1,2,3,4,5,6,7,8,9,i,s=0; for(i=0;i=2;i+) s=s+aii; printf (“s=%dn”,s);8下面程序段的运行结果是 。(中)char c5=a, b, 0, c , 0;printf(“%s”,c);9. 下面程序的输出结果是 。(难)# include int f(int b8 , int n) int i , r ; r=1 ; for (i=0 ; i=n ; i+) r=r*bi ; return (r) ;void main( ) int x , a =2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ; x=f(a , 3) ; printf(%d , x) ;10以下程序的输出结果是 。(中)#define f(x) x*x#include void main() int a=6, c;c=f(a);printf(“%dn”, c);11以下定义数组的语句中正确的是 。(中)#include void main( ) int i,a33=1,2,3,4,5,6,7,8,9; for(i=0;i3;i+) printf(%d,ai2-i);12下面程序段的运行结果是 (难)void main( ) int f(int x); int a=2 , i ; for (i=0 ; i3 ; i+) printf(%d , f(a) ; printf(n) ;int f(int x) int y=0 ; static z=3 ; y+ ; z+ ; return(x+y+z) ;13以下函数的功能是,把两个指针变量所指的存储单元中的内容进行交换。(中)void exchange(int *p1, int *p2) int t; t=*p2; *p2 = ; *p1 = ;14以下程序的输出结果是 。(中)#include main() int a=1,2,3,4,5,*p; p=a; printf(%dn,*(+p); 15下面程序段的运行结果是 。(中) char *p=abcde; p+=3;printf(%s,p);三判断题:本大题共10个小题,每小题1分,共10分。将答案写在括号内。1若已定义int a=4,b=5;则a&b的值为1。 (易)( )2在C程序中C 源程序中不能表示的数制是八进制。 (易)( )3用scanf(%7.2f,&a);输入时,整个数据占7位,小数部分占2位。(中)( ) 4当if语句嵌套时,else总和前面与其具有相同缩进位置的if配对。(中)( )5break语句的作用是结束本次循环。 (易) ( )6表达式strcmp(“box”, “boss”) 的值是一个正数。(中)( )7函数可以嵌套定义但不能嵌套调用。(易) ( )8char *p=“good”;的含义是定义字符型指针变量p,p的值是字符串“good”。(中)( )9有二维数组a34,*(*(a+2)+3)代表数组元素a23的值。(难) ( )10在定义一个结构体变量时,系统分配给它的存储空间是该结构体中所有成员所需存储空间的总和。 (易) ( )模拟题三参考答案一、 选择题:本大题共15个小题,每小题2分,共30分。1B2D3B4D5B6A7D8D9D10B11C12C13B14D15D二、 填空题:本大题共15个小题,每小题2分,共30分1. 选择2. m=%d,n=%d3. 264. end5. 246. c!=n c=0&c=97. s=158. ab9. 12010. 3611. 3 5 712. 789 13. *p1 t14. 215. de三、 判断题:本大题共10个小题,每小题1分,共10分。1-5 6-10模拟题四一、选择题:本大题共15个小题,每小题2分,共30分。在每小题给出的四个选项中,只有一项是正确的。1下列选项中不属于结构化程序设计原则的是 。 (易)(A) 可封装 (B) 自顶向下 (C) 逐步细化 (D) 模块化设计2以下C语言用户自定义标识符中,合法的是 。(易)(A)int (B)a b (C)7y (D)_123 3以下程序的输出结果是 。 (易)# include void main() int a=8,b=9,c,d;c=+a; d=b-; printf(%d,%d,%d,%d n,a,b,c,d);(A)9,8,9,8 (B)9,8,9,9 (C)9 8 9 8 (D)9 8 9 94已知i、j、k为int型变量,若从键盘输入:1,2,3,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是 。(易) (中)(A)scanf(“%2d%2d%2d”,&i,&j,&k);(B)scanf(“%d %d %d”,&i,&j,&k);(C)scanf(“%d,%d,%d”,&i,&j,&k);(D)scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);5已知char ch=d;则表达式ch=(ch=a & ch=z)?(ch-32):ch;的值是 。(易) (A) a (B) d (C) A (D) D6有以下程序 #include main( ) char ch; ch=getchar( ); switch(ch) case A : printf(“%c”,A); case B : printf(“%c”,B); break; default: printf(“%sn”,”other”); 当从键盘输入字母A时,运行结果为: 。(中)(A) AB (B) A (C)B (D) other7执行语句for(i=1;10;+i); 其中表达式i=1将被执行_次.(易) (A)0 (B)1(C)无穷次 (D)不确定8执行语句for(i=1;i+4; );后变量i的值是_. (A)3 (B)4 (C)5 (D)不定9下面程序段的运行结果是_. char a7=abcdef;char b4=ABC; strcpy(a,b); printf(%c,a5); (A)空格 (B)0 (C)e (D)f10若有以下程序: void main() int m 3=1,3,2,4,5,7,6,8,9,10,11; int i,k=2; for(i=0;i3;i+) printf(“%d”,mki);程序执行后的输出结果是: 。(中)a) 4 5 7 b) 2 7 9 c) 9 10 11 d) 6 8 911有以下程序: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,%dn,x,y,z);输出结果是 。(中) A)30,20,10 B)10,20,30 C)456,567,678 D)678,567,45612以下叙述中正确的是 。 (易)(A) 构成C程序的基本单位是函数 (B) 可以在一个函数中定义另一个函数 (C) 函数不能嵌套调用(D) 被调函数的定义位置一定要在主调函数之前 13已知int a=1,2,3,4,5,6,7,8,9,0,*p=a;则printf(“%d”,*p+9);的运行结果为 。(难)(A)0 (B)1 (C)10 (D)914若有定义:int a5,*p=a;则对a数组元素地址的正确引用是 。 (易)(A)p+5 (B)*a+1 (C)&a+1 (D)&a015定义共用体的关键字是_ 。(易)(A)union(B)enum(C)struct(D)typedef二判断题:本大题共15个小题,每小题1分,共15分。将答案写在括号内。1C程序总是从main函数开始执行,无论main函数的位置如何。 (易) ( )2 当if语句嵌套时,else总是与它前面最近的一个未匹配的if相匹配,不受缩进格式影响。(中)( )3在循环过程中,使用break语句和continue语句的作用是一样的。 (易) ( )4表达式1/8的值是0。 (易)( )5C语言编绎系统以0代表“假”,以1代表“真”。 (易) ( )6已知char *array=china; 则array的值是字符串china。 (中) ( )7函数中的形参和调用时的实参都是数组名时,传递方式为地址传递。 (中) ( )8当判断两个字符串s1和s2是否相等,可以使用用:if (s1= =s2) 。 (中)( )9假设有int a10, *p;则P=&a0与p=a相等。 (易) ( )10 共用体变量所占的内存长度等于最长的成员的长度 (中) ( )三、填空题:本大题共15个小题,每小题2分,共30分。请将要填入的内容写在横线上。1.C语言中运算对象必需是整型的运算符是 (易)2设n=10,i=4,则赋值表达式n=n%i+1执行后的n值是 。(易)3当10x100时,y值为50,用C语言描述为if( ) y=50; (易)4. 输入两个实数,按代数值由大到小的次序输出这两个数。(中)void main() float m,n,t; scanf(“%f,%f”,&m,&n); if (mb) if(ac) printf(%dn,a); else printf (%dn,b); printf(OKn);6有以下程序段s=1.0for(k=1;k=n;k+) s=s+1.0/(k*(k+1); printf(“%fn”,s);请填空,使以下程序段的功能与上面的程序段完全相同。(中)s=1.0,k=1;while( ) s=s+1.0/(k*(k+1); ; printf(“%fn”,s);7以下程序运行后的输出结果是 。(中)#includevoid main() int i,sum=0; for(i=

温馨提示

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

评论

0/150

提交评论