精品C语言程序设计模拟试题一0套_第1页
精品C语言程序设计模拟试题一0套_第2页
精品C语言程序设计模拟试题一0套_第3页
精品C语言程序设计模拟试题一0套_第4页
精品C语言程序设计模拟试题一0套_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言程序设计模拟试题(一)、填空题 (每空2分,总计 20分)1. 假定 p 所指对象的值为 25,p+1 所指对象的值为 46,则执行 (*p)+ ;语句后,p 所指对象的值为 。2. 如果变量定义有:int a = 9, c = 8;则表达式( a! = c + + ) ? a: +c 的值为 。3. 假定一个二维数组为 aMN , 则 ai 的地址值(以字节为单位)为04. 已有int i,j; float x;为将-10赋给i , 12赋给j , 410.34赋给x;则对应scanf(%d,%d,%d,&i,&j,&f) 调用语句的数据输入形式是 5. 若x=5, y=10,则xy和

2、x=y的逻辑值分别为 和6. C语言提供三种逻辑运算符,按优先级高低它们分别是 7. 空字符串的长度是 二、选择题 (10 题, 每题 2分,总计 20 分)若 a,b 均为 int 型变量, x,y 均为 float 型变量, 正确的输入函数调用是 ( ) scanf( “%d%”f ,&a,&b); scanf( “%d%”d ,a,b);若变量均已正确定义并赋值,x=y=5;x+n=i;1.AC2.AC3. C 语言对嵌套 if 语句的规定是:A.其之前最近的ifC.缩进位置相同的if4. 有以下程序:#include B. scanf( “%d%”f ,&a,&x);D. scanf(

3、 “%f%f”,x,y);以下合法的C语言赋值语句是( )Bx=n%2.5;x=5=4+1;else 总是与( )配对。 第一个 if其之前最近且不带 else 的 ifDBDvoid main() int a=0,b=0,c=0,d=0; if (a=1)b=1;c=2;else d=3;,a,b,c,d);printf( “%d,%d,%d,%dn” 其输出结果是( )A. 0,1,2,0 B. 0,0,0,3 C. 1,1,2,0 D.编译有错5. 下面程序的输出结果是( ) #include void main()int k=0,m=0,i,j;for (i=0;i2;i+)for(j

4、=0;jnoDwork-no三、程序阅读题,写出程序结果(每题1.有以下程序:4 分,共 20 分)#includevoid main() char c1,c2;int a,b;sca nf(%c,%c,&c1,&c2);a=c1+32;b=c2-2;prin tf(%c,%cn,a,b);prin tf(%d,%dn,c1,c2);程序运行时,若从键盘输入(第1列开始)A,d回车则输出结果是2. 有以下程序: #in cludevstdio.h void mai n() int i,sum;i=5; sum=109;while(i) sum=sum-i;i=i-2;if (i=1) brea

5、k;prin tf(i=%d,sum=%dn,i,sum);程序运行后输出结果是3. 有以下程序: #i nclude int main() int i,j,n=4; for(i=1;i=n ;i+);/双引号内为一个空格字符); for(j=1;ji;j+) printf( “” for(j=1; j=9-2*i ;j+) printf(“ * ”);printf( “ n”程序运行后输出结果是:4. 有以下程序: #i nclude stdio.h #defi ne N 4 int fun (i nt i ) static int a=1;a=a*i; return a; mai n()i

6、nt i,j;for(i=1;iv=N;i+)j=fu n(i);prin tf(%dn,j);程序运行后输出结果是:5. 有以下程序: #i nclude stdio.h #defi ne N 4 int fun (i nt b4) int i,j;int m4=0,0,0,0,* p=m;for(j=0;jN;j+)for(i=0;iN;i+)*(P +j)+=bij;for(i=0;iN;i+)prin tf(%dn,*( p+i);mai n()int i,j,k=0;int a44;for(i=0;iN;i+) for(j=0;j4;j+)aij=k+;fun( a);程序运行后输出

7、结果是:四、程序填空题(每题4分,共20分)1. 有以下程序,功能是求出a,b,c三个数的最大值。#in clude void mai n()int a, b, c, max;max=a;if() max=b;n”,max);判断是否是素数if() max=c;printf(“最大值2. 任意输入一个数mmai n()int m,i,k;k=sqrt(m+1);for(i=2; imain ()float A10, sum=0;for(i=0;i10;i+)scanf( “ f ,sum+=Ai;printf(“ sum=_” ,sum);4.输入10个浮点数,计算并输出相应的函数值。X*x+

8、2x+1x0#in elude main () float x,y;sca nf( if(x0)else“f , &x);else y= 3; printf( “ %f n” , y);5.函数sort使用冒泡法将一维数组中各元素按值从大到小排序。void sort(i nt a ,i nt n ) int k,j,t;for(k=1;kv n;k+)for( ; jn-k; j+)if( ) t=aj; aj=aj+1; aj+1=t; 五、程序设计题(每题10分,共20分)1. 输入一个整数,判断它能否同时被 3, 5, 7整除,如是则输出YES否则输出NO2. 编写程序,在有序的数列中查

9、找某数,若该数在此数列中,则输出它所在的位 置,否则输出no found.。C语言程序设计模拟试题(二)一、填空题(每空 2分,总计20分)1. 为表示关系:xyz,应使用的C语言表达式是。2. 字符串是以 为结束标志的一维字符数组。有定义: char a=; 则则表达式 10+a+i*f 值的数据类型是a 数组的长度是 。3. 设 int a; float f; double i ;则 a02 的初始化4. 设有说明语句 int a34=1,2,3,4,5,6,7,8;值为 ,a22 的初始化值为 5. 假定P所指对象的值为25, P+1所指对象的值为46,则执行(*p)+ ;语句后, p

10、所指对象的值为 。6. 文件使用方式“ r”表示 “w+表示。7. 有函数调用 fun1 (x+ y, (y, z), 10, fun (x, y 1);函数 fun1 有个参数。二、选择题(10 题,每题2分,总计 20分)若 x,y 均为 double 型变量,正确的输入函数调用是( scanf( “ %f%f” ,&x,&y);scanf( “ %lf%lf ” ,&x,&y);若 x,y,z 均为 int 型变量,x=(y=(z=10)+5)-5;Printf(“ x=%d,y=%d,z=%dn”y=(z=x=0,x+10);Printf(“ x=%d,y=%d,z=%dn”1. AC

11、2.)Bscanf( “%d%”d ,&x,&y);Dscanf( “ %lf%lf ” , x, y);则执行以下语句后的输出为( ),x,y,z);Ax=10,y=15,z=10Bx=10,y=10,z=10x=0,y=10,z=0x=0,y=10,z=0Cx=10,y=15,z=10Dx=10,y=10,z=10x=10,y=10,z=0x=0,y=10,z=0,x,y,z);3. 判断 char 型变量 c1 是否为小字字母的正确表达式为( A a=c 1 =zB( a=c1)若有说明语句: int w=1,x=2,y=3,z=4;4B 3C 2D1以下程序执行后的输出结果是( )C4

12、. A5.#include (c1=a)&(c1= a)&(c1x?w:zy?z:x 的值是( )void main() int i=0,a=0;while(i20) for(; ;) if(i%10)=0) break; else i-;i+=11; a+=i; printf(A%d”,a);6.A21以下正确的函数定义形式是( double fun(int x, int y) double fun(int x, y)DB32C33D11)Bdouble fun(int x; int y) double fun(int x, y;)C7.以下对一维数组a中的所有元素进行正确初始化的是( Ai

13、nt a10=(0,0,0,0);Cint a=(0); 8以下关于数组的描述正确的是(A. 数组的大小是固定的,B. 数组的大小是可变的, C数组的大小是固定的,D.数组的大小是可变的, 9若有定义 int a=5; int *p1,*p2;确执行的赋值语句是( )。A. a=*p1+*p2; B. p2=a; C. p1=p2; D. a=*p1*(*p2);10.正确的 k 值是( ) enum a,b=5,c,d=4,e k;k=a;A. 0B. 1 C. 4 D. 6Bint a10=;Dint a10=10*2;)但可以有不同类型的数组元素 但所有数组元素的类型必须相同 所有数组元

14、素的类型必须相同 可以有不同类型的数组元素,且p1和p2均已指向变量a,下面不能正三、程序阅读题,写出程序结果(每题 4分,共 20 分)1 有以下程序:#includevoid main() char c1,c2,c3,c4,c5,c6;c6=getchar(); pu tchar(c2); n”,c5,c6);scanf( “ %c%c%c%c&c1,&c2,&c3,&c4); c5=getchar();pu tchar(c1); printf( “ 若从键盘输入(第1列开始)程序运行时,abc 45678回车则输出结果是2. 有以下程序: #in cludevstdio.h void m

15、ai n() int i,sum;i=10; sum=0;for(;) sum=sum+i;i=i+10;if (i=50) break;prin tf(i=%d,sum=%dn,i,sum);程序运行后输出结果是3. 有以下程序: #i nclude #defi ne WIDTH 4 mai n()int i,j;for(i=0;iv=WIDTH;i+) for(j=1;j=i;j+) printf();for(j=i;j=WIDTH-1;j+) prin tf(*);prin tf(n);程序运行后输出结果是:4. 有以下程序: #i nclude stdio.h int fun c(i

16、nt x,i nt y)int 乙z=x+y; retur n z+;mai n()int i=3,j=2,k=1;do k+=fu nc(i,j);prin tf(%dn,k);i+;j+;while(i=6);程序运行后输出结果是:5. 有以下程序:#i nclude stdio.h #defi ne N 4 int fun (i nt *m ) int *n;n=m+3;return *n;mai n()int i,j;int a10=0,1,2,3,4,5,6,7,8,9;int *p 二a;for(i=1;ivoid mai n()int a, b, t;a=10; b=20;pri

17、ntf( “a=%d, b=%d n”a=b;printf( “a=%d, b=%d n” , a, b);2. 任意输入一个年数,判断该年是否是润年。mai n()int year,y n;if( year%4=0 & year%100!=0 |year%400=0) yn=1;else;if(yn=0) printf( “ %d 不是润年else printf(“d是润年 nn ” ,year);” ,year);3.有以下程序,功能是输入二个数组,输出相对应位置元素的积。#in cludemain ()int A5, B5, s; for(i=0;i5;i+) scanf( “ d%”,

18、_ s=Ai*Bi;printf( “ %dt ” );4.输入10个浮点数,计算并输出相应的函数值。x*X-2x+1 x0#in elude main () float x,y;sca nf( if(x0)else“ f ” , &x);else y= 0; printf( “ %f n” , y);5.函数DEL是把字符串a中的非大写字母赋值给bovoid DEL(char a) char *b;int i=0, j=0;While( ai!= 0) if() bj+=ai;i+; /* 字符串 b 结束 */五、程序设计题(每题 10 分,共 20分)1. 编写输入整数a,b,c,当a为

19、1时显示b和c之和,a为2时显示b与c之差, a为3时显示b*c之积,a为4时显示b/c之商,a为其他数值时不做任何操作的程序。,现要将 a 的行和列的元素互换2. 若有说明: int a23=1,2,3,4,5,6; 后存到另一个二维数组 b 中,试编程。C语言程序设计模拟试题(三)一、填空题 (每空 2分,总计 20分),列下标的则 a02 的初始化1. 若有定义: double x35, 则 x 数组中行下标的下限为 下限为2. 设有说明语句 int a34=1,2,3,4,5,6,7,8;值为 ,a22 的初始化值为 。3. 表达式 7/2 的结果是 。表达式 7%2的结果是4. 若已

20、知a= 1.5 , b= 15, c = 1,则表达式a*b&c的运算结果是5. C 语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个 字符必须为6. 定义 int a= 1 , 2, 3, 4, 5, 6, *p = a;表达式(* + + p)+ +的值是7. 已有int i,j; float x;为将-10赋给i , 12赋给j , 410.34赋给x;则对应scanf(%d,%d,%d,&i,&j,&f) 调用语句的数据输入形式是 。二、选择题 (10 题, 每题 2分, 总计 20分)若x为char型变量,y为int型变量,x,y1.)A均为有值,正确的输出函数调用

21、是C2.printf( “%c%”d ,x,y);printf( “%f%c”,x,y);D若 x 是 int 型变量, y 是 float 型变量,所用的 scanf 调用语句格式为:“x=%d,y=%” , &x,&y);,则为了将数据10和66.6分别赋给x和y,正确的输 )Bprintf( “%c%”s ,x,y); printf( “%f%d”,x,y);scanf(入应当是(Ax=10, y=66.6C. 1066.6D.3. 以下的 if 语句中,不正确的是(A. if(xy);B.B10 66.6回车回车y=66.6v回车x=10)if(x=y) x+=y;%d” ,&y)C.

22、 if(x!=y)scanf(“%d” ,&x) else scanf(x+;y+;4. 以下关于 switch 语句和 break 语句的描述中,正确的是(A. 在switch语句中必须使用break语句B. break 语句只能用于 switch 语句中C. 在switch语句中,可根据需要用或不用 break语句D. break 语句是 switch 语句的一部分5. 对下面两个循环语句,下面的叙述正确的是(Dif(xy) for( ; ; );都是无限循环B.是无限循环,错误循环一次,错误D.皆错误在一个源文件中定义的全局变量的作用域为( ) 本文件的全部范围B.本程序的全部范围本函数

23、的全部范围D从定义该变量的位置开始至本文件结束为止对于所定义的二维数组 a23 ,元素 a12 是数组的第( )个元素。3B.4C.5D.6字符串” I am a student. ”在存储单元中占( )个字节。14B.15C.16D.17若 int (*p)5; ,其中, p 是(5个指向整型变量的指针指向 5 个整型变量的函数指针一个指向具有 5 个整型元素的一维数组的指针具有 5 个指针元素的一维指针数组,每个元素都只能指向整型量 while(1); AC6.AC7.A8.A9.ABCD)。10.在16位的PC上使用C语言,若有如下定义:struct data int i;char ch

24、;double f;da;则变量 da 占用内存的字节数为()A1 B4 C8 D 11三、程序阅读题,写出程序结果(每题 4分,共 20分)1 .有以下程序:#include void main() char c1,c2;int a,b;scanf(%d,%d,&a,&b);c1=a+3;c2=b-32;printf(%c,%cn,a,b); printf(%c,%dn,c1,c2);程序运行时,若从键盘输入(第1列开始)65,97则输出结果是2. 有以下程序: #in cludevstdio.h void mai n() int i,sum;i=30; sum=100;for(;) sum

25、=sum-i;i=i-10;if (i=0) break;prin tf(i=%d,sum=%dn,i,sum);程序运行后输出结果是 3. 有以下程序: #in elude int main() int i,j,n=4;for(i=1;i=n ;i+) for(j=1; j=8-2*i ;j+)printf( “ ”);/ 双引号内为一个空格字符“ ” );n );for(j=1; j=3);程序运行后输出结果是:5. 有以下程序: #i nclude stdio.h #defi ne N 4 int fun (i nt *m ) int *n;n=m-3; return *n;mai n(

26、)int i,j;int a10=0,1,2,3,4,5,6,7,8,9;int *p=a+9;for(i=1;i共 20 分)a,b的值。void mai n()int a, b, t;a=10; b=20;pnntf(“a=%d, b=%d n”t=a;,a, b);printf( “a=%d, b=%d n” , a, b);2.任意输入一个年数,判断该年是否是润年。mai n()int year,y n;scanf( “%d,&year);if(else yn=0;if() printf( “%d 不是润年 n ” ,year);else printf(“d是润年 n ” ,year)

27、;)yn=1;3. 有以下程序,功能是输入数组中10个元素,并求和。#in cludemain ()float A10, sum=0;for(i=0;i10;i+)scanf( “ f ,&Ai);sum+=” ,sum);“sum=printf(4. 输入10个浮点数,计算并输出相应的函数值。Z- x*x+2x+1 x0#i nclude main () float x,y; if(x0) y=x*x+2*x+1; else;else y= 3; printf( “ %f n” , y);5.函数DEL是把字符串a中的非大写字母赋值给b。void DEL(char a) char *b;in

28、t i=0, j=0;While() if(ai Z ) bj+=ai;bj= O;五、程序设计题(每题 10 分,共 20分)1.编写输入两个整数a和b,若a=b时,求其积c并显示,若a0)A.else y=-1;if(x=0)if(x0) y=1;else y=-1;B. y=1;if(x=0)if(x=0)if(x0) y=1;else y=0;4.若有定义:float x=1.5; int a=1,b=3,c=2A.printf(printf(C.switch(x) case 1.0: printf(“* n”);case 2.0: pnntf( “ * n”); switch(a+b

29、)“* n”* nB.););;则正确的switch语句是()switch(x) case 1:case 2:D. switch(a+b) case 1: printf( case 2+1: printf( 5. 下面程序段的执行结果为( #include “a ”* n”* n”););)case case 1: printf(c: printf(“*“*n”);n”);void main() int x=3;do printf( while(!(-x); getch(); A1 B3 0 6. C 语言规定, A%3dn”,x -=2);C7.A8.A9.D.死循环 调用一个函数时,实参变

30、量和形参变量之间的数据传递是(B.值传递由实参传给形参,并由形参回传给实参D.由用户指定传递方式若有说明:int a20;,则对a数组元素的正确引用是()a20 B . a3.5C. a(5)在执行 int a3=1,2,3,4;3B. 4C. 0设有定义: int a=3,b,*p=&a; b=*&a; B . b=*p;C. b=a;地址传递C 1 -2Da10-10 语句后, a12 的值是( )D2,贝U下列语句中使b不为3的语句是(Db=*a;A10. C 语言结构类型变量在程序执行期间( )A.所有成员一直驻留在内存中 B.只有一个成员驻留在内存中C.部分成员驻留在内存D.没有成员

31、驻留在内存中三、程序阅读题,写出程序结果(每题 4分,共 20分)1.有以下程序:#includevoid main() char c1,c2,c3,c4,c5,c6;c1=getchar(); c2=getchar( ); c3=getchar( );scanf(%c%c%,&c4,&c5,&c6);putchar(c1); putchar(c2);printf(n%c%cn,c4,c5);程序运行时,若从键盘输入(第 1 列开始)12回车7654回车则输出结果是2.有以下程序: #in cludevstdio.h void mai n() int i,sum;i=1; sum=100;wh

32、ile(i) sum=sum+i;i=i+2;if (i=7) break;prin tf(i=%d,sum=%dn,i,sum);程序运行后输出结果是 3. 有以下程序: #in elude #defi ne WIDTH 4 mai n()int i,j;for(i=0;ivWIDTH;i+) for(j=1;jvWIDTH-i;j+) printf();for(j=WIDTH;j=1;j-)prin tf(*);prin tf(n);程序运行后输出结果是:4. 有以下程序: #i nclude stdio.h #defi ne N 5 void fun()static int a=0;in

33、t b=2;prin tf(%d,%d)n,a+=3,a+b);mai n()int i;for(i=1;iN;i+)fun ();程序运行后输出结果是:5. 有以下程序: #i nclude stdio.h #defi ne N 4 int fun (i nt b4) int i,j;int m4=0,0,0,0,* p=m;for(i=0;iN;i+)for(j=0;jN;j+)*(P+i)+=bij;for(i=0;iN;i+)prin tf(%dn,*( p+i);mai n()int i,j,k=0;int a44;for(i=0;iN;i+)for(j=0;jv4;j+)aij=k

34、+;fun( a);程序运行后输出结果是:四、程序填空题(每题4分,共20分)1.有以下程序,功能是求出a,b,c三个数的最小值。#in cludevoid mai n()int a, b, c, min;mi n=a;if() min=b;if() min=c;printf(“最大值2.任意输入一个数mmai n()int m,i,k;scanf( “%d ,&m);k=sqrt(m+1);for(i=2; i+)if() break;if(i=k) printf(“ %d is a p rime nu mberelse printf(“ %d is not a p rime nun” ,

35、min);判断是否是素数,m);n” ,m);3.有以下程序,功能是输入二个数组,输出相对应位置元素的积。#in cludevstdio.hmain ()int A5, B5, s;for(i=0;i5;i+); scanf( “ d%” ,_s=printf( “%dt ” ,s); 4. 输入10个浮点数,计算并输出相应的函数值。x*x-2x+1 x0#in elude main () float x,y;Scanf( “ %f “, &x); if(x0);else if(x=0) y=0 ;else;printf(“ %f n” , y);5. 函数sort使用冒泡法将一维数组中各元素

36、按值从大到小排序。void sort(i nt a ,i nt n ) int k,j,t;for(k=1;kv n;k+)for(j=1; j+);aj+1=t; if(ajaj+1) t=aj; 五、程序设计题(每题10分,共20分)1. 编写输入一个整数,当为65时显示A, 66时显示B,67时显示C,其他值时显 示END的程序。2. 编写程序,在 5行 7列的二维数组中查找第一次出现的负数。C语言程序设计模拟试题(五)1、AC2、A3、AC4、选择题( 20 分,每小题 2分)x为int变量,且值为65,以下不正确的输出函数是 printf( “%d”,x); printf( “%c”

37、,x); 一个 C 语言程序是由 主程序 B 子程序B printf(D printf( 组成。C 函数%3d”,x ); %s”,x );D.过程下列四组选项中,均不是 C语言关键字的选项是 define IF typeBgetcinclude case scanf Dwhile设有以下定义char printfgo powa=0; double b=1.25; char c= A;int#define d 2 则下面语句中错误的是 A a+; B b+ C c+; D5、有以下程序d+;main( ) int i,n=0;for(i=2;i5;i+) do if(i%3) continue

38、;n+; while(!i);n+;printf( “n=%dn”,n); 程序执行后的输出结果是 An=5B n=2C n=3D n=4&执行以下程序时输入:aceg,程序的执行结果是Aa c B a eC a D a c e#include main() char x,y;x=getchar();y=getchar();7、putchar(x);putchar( n);putchar(y); 以下所列的各函数首部中,正确的是 _AC8、AD9、Avoid play (int a, int b); B void play (int a, b)void play (a, b)Dvoid pla

39、y (int a, b );在一个源文件中定义的全局变量的作用域是 。本文件 B.本程序C.本函数从定义该变量的位置开始到本文件结束 引用数组元素是,其下标的数据类型允许是 整型常量B整型表达式整型常量或整型表达式 D 任何类型表达式C10以下程序结果是int a,b,*p1=&a,*p2=&b;printf(p1=p2 is %dn,p1=p2);p2=&a;printf(p1=p2 is %d,p1=p2);A. p1=p2 is 0 p1=p2 is 1B. p1=p2 is 0p1=p2 is0C. p1=p2 is 1 p1=p2 is 1D. p1=p2 is 2 p1=p2 is 1二、填空题:(20分,每小题 2 分) 1写出语 句 printf (%d, %o, %x, 0x12, 12, 012); 的 输出结果2写出下列程序段的输出结果#define F(x) x - 2#define D(x) x*F(x) printf(%d,%d, D(3), D(D(3) ;3用 typedef 定义一个长度为 10 的整型数组 NUM 4写出下列程序段的输出结果 float x1, x2;x1=3/2;x2=x1/2;prin tf(%d, %.1f, (in t)x1, x2);5. 表达式(101八5)的值是6. 写出判断字符变量c是英文字

温馨提示

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

评论

0/150

提交评论