收藏 分销(赏)

C语言练习题带答案.doc

上传人:二*** 文档编号:4540853 上传时间:2024-09-27 格式:DOC 页数:41 大小:198KB
下载 相关 举报
C语言练习题带答案.doc_第1页
第1页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、. .一、 单项选择题1 A 是构成C语言程序的根本单位。A、函数 B、过程 C、子程序 D、子例程2C语言程序从C开场执行。A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数D) 包含文件中的第一个函数3、以下说法中正确的选项是 C 。 A、C语言程序总是从第一个定义的函数开场执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开场执行 D、C语言程序中的main( )函数必须放在程序的开场局部4.以下关于C语言的说法错误的选项是 B 。A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写

2、。C) C程序的三种根本构造是顺序、选择、循环 D) C程序从main函数开场执行5.以下正确的标识符是C。A.-a1 B.ai C.a2_i D.int t6以下C语言用户标识符中合法的是 B 。 A)3ax B)x C)case D)-e2 E)union7以下四组选项中,正确的C语言标识符是 C 。A %xB a+b Ca123D1238、以下四组字符串中都可以用作C语言程序中的标识符的是 A 。 A、print _3d db8 aBc B、Iam one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My-book line# His.a

3、ge 9.C语言中的简单数据类型包括D 。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型10.在C语言程序中,表达式5%2的结果是C。 A)2.5 B)2 C)1 D)311如果int a=3,b=4;那么条件表达式ab? a:b的值是_A_。A) 3B) 4 C) 0D) 112假设int x=2,y=3,z=4 那么表达式xage D) (*p).age33.设有如下定义:struck skint a;float b;data;int*p;假设要使P指向data中的a域,正确的赋值语句是CA) p=&a;B) p=data.a;C

4、) p=&data.a;D)*p=data.a;34.设有以下说明语句: typedef struct stu int a; float b; stutype;那么下面表达中错误的选项是 D。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型数据的指针36以下不正确的定义是A 。A. int *p=&i,i; B.in

5、t *p,i;Cint i,*p=&i; D.int i,*p;37. 假设有说明:int n=2,*p=&n,*q=p,那么以下非法的赋值语句是: D Ap=q B*p=*q Cn=*q Dp=n38有语句: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+240. 有如下程序int a10=1,2,3,4,5,6,7,8,9,10,*P=a;那么数值为9的表

6、达式是BA) *P+9 B) *(P+8) C) *P+=9 D) P+841. 在C语言中,以 D 作为字符串完毕标志A)n B)C) 0 D)042.以下数据中属于“字符串常量的是A 。A.“a B.ABC C.abc0 D.a43.char x=hello, y=h,e,a,b,e;, 那么关于两个数组长度的正确描述是B .A)一样 B)x大于y C)x小于y D)以上答案都不对44. 下面各函数中能实现翻开文件功能的是AA)fopen B) fgetcC) fputcD) fclose45. 以下语句中,把变量fp说明为一个文件型指针的是( A ) 。A) FILE *fp; B) F

7、ILE 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)二、 读程序根本输入输出及流程控制1.#include main() int a=1,b=3,c=5;if (c=a+b) printf(yesn);else printf(non);运行结果为:no2. #include main() in

8、t a=12, b= -34, c=56, min=0;min=a;if(minb) min=b; if(minc) min=c;printf(min=%d, min);运行结果为:min=-343.#include main() int x=2,y= -1,z=5; if(xy)if(y0) z=0;else z=z+1;printf(“%dn,z); 运行结果为:54. #include main() float a,b,c,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

9、,%5.2f,%5.2f,a,b,c); 运行结果为:1.00, 2.00, 7.005#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.06.#include main()int m;scanf(%d, &m);if (m = 0)if (m%2 = 0)printf(%d is a positive evenn, m);elseprintf(%d is a positive oddn, m);else if

10、(m % 2 = 0) printf(%d is a negative evenn, m);else printf(%d is a negative oddn, m);假设键入9,那么运行结果为:-9 is a negative odd7. #include main() int num=0;while(num=2) num+;printf(%dn,num);运行结果为:1238#include main( ) int sum=10,n=1;while(n3)sum=sum-n; n+; printf(“%d,%d,n,sum);运行结果为:3,79.#include main() int n

11、um,c; scanf(%d,&num); doc=num%10; printf(%d,c);while(num/=10)0);printf(n); 从键盘输入23,那么运行结果为:3210#include main() int s=0,a=5,n;scanf(%d,&n);do s+=1; a=a-2; while(a!=n);printf(%d,%dn,s,a);假设输入的值1,运行结果为: 2,1 11#include stdio.h main() char c; c=getchar(); while(c!=?) putchar(c); c=getchar(); 如果从键盘输入abcde

12、?fgh回车运行结果为:abcde12#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$时,运行结果为:ABABCDCD13. #include main() int x, y =0;for(x=1;x=10) break; y=y+x; printf(“%d %d,y,x);运行结果为:10 514.#include main( ) char ch; ch=getchar( ); switch(ch) cas

13、e A : printf(“%c,A);case B : printf(“%c,B); break; default: printf(“%sn,other); 当从键盘输入字母A时,运行结果为:AB15. #include main( ) int a=1,b=0; scanf(“%d,&a);switch(a) case 1: b=1;break;case 2: b=2;break;default : b=10;printf(%d , b);假设键盘输入5,运行结果为:1016. #include main()_ char grade=C; switch(grade) case A: prin

14、tf(“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-8060-7017.#include main() int y=9; for(;y0;y- -)if(y%3=0) printf(%d,- -y); continue;运行结果为:85218. #include main() int i,sum=0;i=1;dosum=sum+i;i+;whil

15、e(i=10);printf(“%d,sum);运行结果为:5519.#include #define N 4main() int i; int x1=1,x2=2;printf(n);for(i=1;i=N;i+) printf(%4d%4d,x1,x2);if(i%2=0) printf(n);x1=x1+x2;x2=x2+x1;运行结果为:1 2 3 58 13 21 3420#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

16、=1221. #include #define N 4main( ) int i,j; for(i=1;i=N;i+) for(j=1;ji;j+) printf( ); printf(*); printf(n);运行结果为:* * *数组1.#include main() int i,a10;for(i=9;i=0;i-) ai=10-i;printf(“%d%d%d,a2,a5,a8);运行结果为:8522. #include main()int i,a6; for (i=0; i=0 ; i-) printf(%3d,ai); 运行结果为:5 4 3 2 1 03. #include m

17、ain( ) 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);运行结果为:214.#include int m33=1,2,3;int n33=1,2 ,3;main( ) printf(“%d, m10+n00); printf(“%dn,m01+n10);运行结果为:3,05.#include main()int i;int x33=1,2,3,4,5,6,7,8,9; for (i=1; i3; i+)printf(%d,xi3-i);

18、 运行结果为:6 8 6.#include main( ) int n33, i, j;for(i=0;i3;i+ )for(j=0;j3;j+ )nij=i+j;printf(“%d , nij);printf(“n);运行结果为:0 1 21 2 32 3 47#include main()char diamond5=_,_,*,_,*,_,*,*,_,_,_,*,_,*,_,*,_,_,*;int i,j;for(i=0;i5;i+)for(j=0;j5;j+)printf(“%c,diamondij);printf(“n);注:“_代表一个空格。运行结果为:* * * * *8.#in

19、clude main( ) int i, f10; f0=f1=1; for(i=2;i10;i+) fi=fi-2+fi-1; for(i=0;i10;i+) if(i%4=0) printf(“n);printf(“%d ,fi); 运行结果为:1 1 2 35 8 13 2134 559 #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 310.#include main

20、float fun(float x); float ave,a3=4.5,2,4;ave=funa; printf(“ave=%7.2f,ave); float funfloat x int j;float aver=1;for (j=0;j3;j+)aver=xj*aver; returnaver;运行结果为:ave= 36.0011.#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,bi

21、j); 运行结果为: 1 4 2 5 3 612#include f(int b,int n)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.hmain()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;

22、j4;j+) for(k=0;k4;k+) printf(%d,yjk);运行结果为: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 =32.#include int min( int x, int y ) int m; if ( x y ) m

23、= x;else m = y; return(m);main() int a=3,b=5,abmin ;abmin = min(a,b);printf(“min is %d, abmin);运行结果为:min is 53.#include func(int x) x=10;printf(“%d, ,x); main( ) int x=20; func(x); printf(“%d, x); 运行结果为:10, 204.#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,

24、m);printf(%dn,func(a,b)/m); 运行结果为:415.#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=156.#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);如果从键盘输入3,

25、运行结果为:3!=67.#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); 运行结果为:128.#include int max(int x, int y);main()int a,b,ca=7;b=8;c=max(a,b);printf(Max is %d,c);max(int x, int y) int z;z=xy? x : y;return(z) ;运行结果为:Max

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

27、int arr =30,25,20,15,10,5, *p=arr;p+; printf(“%dn,*(p+3);运行结果为:105.#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=56.#include main( ) static char a =Program, *ptr; for(ptr=a, ptra+7; ptr+=2) putchar(*ptr); 运行结果为: Prom7.#include char s=ABCD;main() char *p; for(p=s;ps+4;p+) printf(“%c %sn,*p,p); 运行结果为: A ABCDB BCDC CDD D构造体1.#includestruct st int x;int y; a2=5, 7, 2, 9;main() printf(

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服