很好C语言练习题及答案免财富值下载.docx

上传人:牧羊曲112 文档编号:3512656 上传时间:2023-03-13 格式:DOCX 页数:41 大小:50.72KB
返回 下载 相关 举报
很好C语言练习题及答案免财富值下载.docx_第1页
第1页 / 共41页
很好C语言练习题及答案免财富值下载.docx_第2页
第2页 / 共41页
很好C语言练习题及答案免财富值下载.docx_第3页
第3页 / 共41页
很好C语言练习题及答案免财富值下载.docx_第4页
第4页 / 共41页
很好C语言练习题及答案免财富值下载.docx_第5页
第5页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《很好C语言练习题及答案免财富值下载.docx》由会员分享,可在线阅读,更多相关《很好C语言练习题及答案免财富值下载.docx(41页珍藏版)》请在三一办公上搜索。

1、很好C语言练习题及答案免财富值下载单项选择题: 1是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2C语言程序从 C 开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 3、以下说法中正确的是。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是 。 A) C程序的工作过程是编辑、编译、连接、运行 B

2、) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是。 A.-a1 B.ai C.a2_i D.int t 6下列C语言用户标识符中合法的是。 A)3ax B)x C)case D)-e2 E)union 7下列四组选项中,正确的C语言标识符是。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是。 A、print _3d db8 aBc B、Iam one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My-

3、book line# His.age 9.C语言中的简单数据类型包括。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11如果int a=3,b=4;则条件表达式ab? a:b的值是_A_。 A) 3 B) 4 C) 0 D) 1 12若int x=2,y=3,z=4 则表达式xage D) (*p).age 33.设有如下定义: struck sk int a; float b; data; int *p; 若要使P指向data中的a域,正确的赋

4、值语句是 C A) p=&a; B) p=data.a; C) p=&data.a; D)*p=data.a; 34.设有以下说明语句: typedef struct stu int a; float b; stutype; 则下面叙述中错误的是。 A、struct是结构类型的关键字 B、struct stu是用户定义的结构类型 C、a和b都是结构成员名 D、stutype是用户定义的结构体变量名 35 语句int *p;说明了 C 。 A)p是指向一维数组的指针 B)p是指向函数的指针,该函数返回一int型数据 C)p是指向int型数据的指针 D)p是函数名,该函数返回一指向int型数据的指

5、针 36下列不正确的定义是。 A. int *p=&i,i; B.int *p,i; Cint i,*p=&i; D.int i,*p; 37. 若有说明:int n=2,*p=&n,*q=p,则以下非法的赋值语句是: A)p=q B)*p=*q C)n=*q D)p=n 38有语句:int a10,;则 B 是对指针变量p的正确定义和初始化。 A)int p=*a; B)int *p=a; C)int p=&a; D)int *p=&a; 39.若有说明语句“int a5,*p=a;”,则对数组元素的正确引用是( C )。 A.ap B.pa C.*(p+2) D.p+2 40. 有如下程序

6、 int a10=1,2,3,4,5,6,7,8,9,10,*P=a; 则数值为9的表达式是 B A) *P+9 B) *(P+8) C) *P+=9 D) P+8 41. 在C语言中,以 D 作为字符串结束标志 A)n B) C) 0 D)0 42.下列数据中属于“字符串常量”的是。 A.“a” B.ABC C.abc0 D.a 43.已知char x=hello, y=h,e,a,b,e;, 则关于两个数组长度的正确描述是 B . A)相同 B)x大于y C)x小于y D)以上答案都不对 44. 下面各函数中能实现打开文件功能的是 A A) fopen B) fgetc C) fputc

7、A) FILE *fp; B) FILE fp; C) file *fp; D) file fp; 46以读写方式打开一个已有的文本文件file1,并且FILE *fp,下面fopen函数正确的调用方式是( B )。 A.fp=fopen(“file1”,“r”) B.fp=fopen(“file1”,“r+”) C.fp=fopen(“file1”,“rb”) D.fp=fopen(“file1”,“w”) D) fclose 45. 下列语句中,把变量fp说明为一个文件型指针的是( A ) 。 一、 读程序 基本输入输出及流程控制 1. #include main int a=1,b=3,

8、c=5; if (c=a+b) printf(yesn); else printf(non); 运行结果为:no 2. #include main int a=12, b= -34, c=56, min=0; min=a; if(minb) min=b; if(minc) min=c; printf(min=%d, min); 运行结果为: min=-34 3. #include main int x=2,y= -1,z=5; if(xy) if(y0) z=0; else z=z+1; printf(“%dn”,z); 运行结果为:5 4. #include main float a,b,c

9、,t; a=3; b=7; c=1; if(ab) t=a;a=b;b=t; if(ac) t=a;a=c;c=t; if(bc) t=b;b=c;c=t; printf(%5.2f,%5.2f,%5.2f,a,b,c); 运行结果为:1.00, 2.00, 7.00 5 #include main ( ) float c=3.0 , d=4.0; if ( cd ) c=5.0; else if ( c=d ) c=6.0; else c=7.0; printf ( “%.1fn”,c ) ; 运行结果为:7.0 6. #include main int m; scanf(%d, &m);

10、if (m = 0) if (m%2 = 0) printf(%d is a positive evenn, m); else printf(%d is a positive oddn, m); else if (m % 2 = 0) printf(%d is a negative evenn, m); else printf(%d is a negative oddn, m); 若键入9,则运行结果为: -9 is a negative odd 7. #include main int num=0; while(num=2) num+;printf(%dn,num); 运行结果为: 1 2

11、3 8 #include main( ) int sum=10,n=1; while(n3) sum=sum-n; n+; printf(“%d,%d”,n,sum); 运行结果为:3,7 9. #include main int num,c; scanf(%d,&num); do c=num%10; printf(%d,c); while(num/=10)0); printf(n); 从键盘输入23,则运行结果为:32 10 #include main int s=0,a=5,n; scanf(%d,&n); do s+=1; a=a-2; while(a!=n); printf(%d,%d

12、n,s,a); 若输入的值1,运行结果为: 2,1 11 #include stdio.h main char c; c=getchar; while(c!=?) putchar(c); c=getchar; 如果从键盘输入abcde?fgh 运行结果为:abcde 12 #include main char c; while(c=getchar)!=$) if(A=c&c=Z) putchar(c); else if(a=c&c=z) putchar(c-32); 当输入为ab*AB%cd#CD$时,运行结果为:ABABCDCD 13. #include main int x, y =0;

13、for(x=1;x=10) break; y=y+x; printf(“%d %d”,y,x); 运行结果为:10 5 14. #include main( ) char ch; ch=getchar( ); switch(ch) case A : printf(“%c”,A); case B : printf(“%c”,B); break; default: printf(“%sn”,”other”); 当从键盘输入字母A时,运行结果为:AB 15. #include main( ) int a=1,b=0; scanf(“%d”,&a); switch(a) case 1: b=1;bre

14、ak; case 2: b=2;break; default : b=10; printf(%d , b); 若键盘输入5,运行结果为:10 16. #include main_ char grade=C; switch(grade) case A: printf(“90-100n”); case B: printf(“80-90n”); case C: printf(“70-80n”); case D: printf(“60-70n”); break; case E: printf(“60n”); default : printf(“error!n”); 运行结果为: 70-80 60-70

15、 17. #include main int y=9; for(;y0;y- -) if(y%3=0) printf(%d”,- -y); continue; 运行结果为: 852 18. #include main int i,sum=0; i=1; do sum=sum+i; i+; while(i=10); printf(“%d”,sum); 运行结果为: 55 19. #include #define N 4 main int i; int x1=1,x2=2; printf(n); for(i=1;i=N;i+) printf(%4d%4d,x1,x2); if(i%2=0) pri

16、ntf(n); x1=x1+x2; x2=x2+x1; 运行结果为: 1 2 3 5 8 13 21 34 20 #include main( ) int x, y; for(x=30, y=0; x=10, y10; x-, y+) x/=2, y+=2; printf(“x=%d,y=%dn”,x,y); 运行结果为: x=0,y=12 21. #include #define N 4 main( ) int i,j; for(i=1;i=N;i+) for(j=1;ji;j+) printf( ); printf(*); printf(n); 运行结果为: * * * * 数组 1. #

17、include main int i, a10; for(i=9;i=0;i-) ai=10-i; printf(“%d%d%d”,a2,a5,a8); 运行结果为: 852 2. #include main int i,a6; for (i=0; i=0 ; i-) printf(%3d,ai); 运行结果为: 5 4 3 2 1 0 3. #include main( ) int i,k,a10,p3; k=5; for(i=0;i10;i+) ai=i; for(i=0;i3;i+) pi=ai*(i+1); for(i=0;i3;i+) k+=pi*2; printf(%dn,k);

18、运行结果为:21 4. #include int m33=1,2,3; int n33=1,2 ,3; main( ) printf(“%d,”, m10+n00); printf(“%dn”,m01+n10); 运行结果为: 3,0 5. #include main int i; int x33=1,2,3,4,5,6,7,8,9; for (i=1; i3; i+) printf(%d ,xi3-i); 运行结果为: 6 8 6. #include main( ) int n33, i, j; for(i=0;i3;i+ ) for(j=0;j3;j+ ) nij=i+j; printf(

19、“%d ”, nij); printf(“n”); 运行结果为: 0 1 2 1 2 3 2 3 4 7 #include main char diamond5=_,_,*,_,*,_,*, *,_,_,_,*,_,*,_,*,_,_,*; int i,j; for(i=0;i5;i+) for(j=0;j5;j+) printf(“%c”,diamondij); printf(“n”); 注:“_”代表一个空格。 运行结果为: * * * * * * * * 8. #include main( ) int i, f10; f0=f1=1; for(i=2;i10;i+) fi=fi-2+fi

20、-1; for(i=0;i10;i+) if(i%4=0) printf(“n”); printf(“%d ”,fi); 运行结果为: 1 1 2 3 5 8 13 21 34 55 9 #include “stdio.h” func(int b ) int j; for(j=0;j4;j+) bj=j; main( ) int a4, i; func(a); for(i=0; i4; i+) printf(“%2d”,ai); 运行结果为: 0 1 2 3 10. #include main float fun(float x); float ave,a3=4.5,2,4; ave=fun;

21、 printf(“ave=%7.2f”,ave); float fun int j; float aver=1; for (j=0;j3;j+) aver=xj*aver; return; 运行结果为: ave= 36.00 11. #include main int a23=1,2,3,4,5,6; int b32,i,j; for(i=0;i=1;i+) for(j=0;j=2;j+) bji=aij; for(i=0;i=2;i+) for(j=0;j=1;j+) printf(%5d,bij); 运行结果为: 1 4 2 5 3 6 12 #include f(int b,int n)

22、 int i,r; r=1; for (i=0;i=n;i+) r=r*bi; return (r); main int x,a=1,2,3,4,5,6,7,8,9; x=f(a,3); printf(“%dn”,x); 运行结果为: 24 13. #includestdio.h main int j,k; static int x44,y44; for(j=0;j4;j+) for(k=j;k4;k+) xjk=j+k; for(j=0;j4;j+) for(k=j;k4;k+) ykj=xjk; for(j=0;j4;j+) for(k=0;k4;k+) printf(%d,yjk); 运

23、行结果为: 0,0,0,0,1,2,0,0,2,3,4,0,3,4,5,6 函数 1. #include int Sub(int a, int b) return (a- b); main int x, y, result = 0; scanf(%d,%d, &x,&y ); result = Sub(x,y ) ; printf(result = %dn,result); 当从键盘输入:6,3运行结果为: result =3 2. #include int min( int x, int y ) int m; if ( x y ) m = x; else m = y; return(m);

24、main int a=3,b=5,abmin ; abmin = min(a,b); printf(“min is %d”, abmin); 运行结果为: min is 5 3. #include func(int x) x=10; printf(“%d, ”,x); main( ) int x=20; func(x); printf(“%d”, x); 运行结果为: 10, 20 4. #include int m=4; int func(int x,int y) int m=1; return(x*y-m); main int a=2,b=3; printf(%dn,m); printf(

25、%dn,func(a,b)/m); 运行结果为: 4 1 5. #include int fun(int a, int b) if(ab) return(a); else return(b); main int x=15, y=8, r; r= fun(x,y); printf(r=%dn, r); 运行结果为:r=15 6. #include int fac(int n) int f=1,i; for(i=1;i=n;i+) f=f * i; return(f); main int j,s; scanf(“%d”,&j); s=fac(j); printf(%d!=%dn,j,s); 如果从

26、键盘输入3, 运行结果为: 3!=6 7. #include unsigned fun6(unsigned num) unsigned k=1; do k*=num%10; num/=10; while(num); return k; main unsigned n=26; printf(“%dn”,fun6(n); 运行结果为:12 8. #include int max(int x, int y); main int a,b,c a=7;b=8; c=max(a,b); printf(Max is %d,c); max(int x, int y) int z; z=xy? x : y; r

27、eturn(z) ; 运行结果为: Max is 8 指针 1. # include main ( ) int x = 10, 20, 30, 40, 50 ; int *p ; p=x; printf ( “%d”, *(p+2 ) ); 运行结果为: 30 2. #include main( ) char s=”abcdefg”; char *p; p=s; printf(“ch=%cn”,*(p+5); 运行结果为: ch=f 3. #include main ( ) int a=1, 2, 3, 4, 5 ; int x, y, *p; p=a; x=*(p+2); printf(%d

28、:%d n, *p, x); 运行结果为: 1:3 4. #include main int arr =30,25,20,15,10,5, *p=arr; p+; printf(“%dn”,*(p+3); 运行结果为:10 5. #include main( ) int a =1, 2, 3, 4, 5, 6; int x, y, *p; p = &a0; x = *(p+2); y = *(p+4); printf(“*p=%d, x=%d, y=%dn”, *p, x, y); 运行结果为: *p=1, x=3, y=5 6. #include main( ) static char a

29、=”Program”, *ptr; for(ptr=a, ptra+7; ptr+=2) putchar(*ptr); 运行结果为: Prom 7. #include char s=”ABCD”; main char *p; for(p=s;ps+4;p+) printf(“%c %sn”,*p,p); 运行结果为: A ABCD B BCD C CD D D 结构体 1. #include struct st int x; int y; a2=5, 7, 2, 9 ; main printf(%dn,a0.y*a 1.x); 运行结果是: 14 2. #include main( ) struct stu int num; c

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号