C语言练习题及答案 .pdf
《C语言练习题及答案 .pdf》由会员分享,可在线阅读,更多相关《C语言练习题及答案 .pdf(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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 语言不区分大小写。C)C 程序的三种基本结构
2、是顺序、选择、循环D)C 程序从 main 函数开始执行5.下列正确的标识符是(C)。A.-a1 B.ai C.a2_i D.int t 6下列 C 语言用户标识符中合法的是(B)。A)3ax B)x C)case D)-e2 E)union 7下列四组选项中,正确的C 语言标识符是(C)。A)%x B)a+b C)a123 D)123 8、下列四组字符串中都可以用作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.age
3、9.C 语言中的简单数据类型包括(D)。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 域,正确的赋值语句是CA)p=&a;B)p=data.a
4、;C)p=&data.a;D)*p=data.a;34.设有以下说明语句:typedef struct stu int a;float b;stutype;则下面叙述中错误的是(D)。A、struct 是结构类型的关键字B、struct stu是用户定义的结构类型名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 36 页 -C、a 和 b 都是结构成员名D、stutype 是用户定义的结构体变量名35 语句 int*p;说明了C。A)p 是指向一维数组的指针B)p 是指向函数的指针,该函数返回一int 型数据C)p 是指向 int 型数据的指针D)p 是函数名,该函数返回一指向in
5、t 型数据的指针36下列不正确的定义是(A)。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,则以下非法的赋值语句是:(D)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.有如下程序int a10=1,2
6、,3,4,5,6,7,8,9,10,*P=a;则数值为 9 的表达式是BA)*P+9 B)*(P+8)C)*P+=9 D)P+8 41.在 C 语言中,以D作为字符串结束标志A)?n?B)?C)?0?D)?0?42.下列数据中属于“字符串常量”的是(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)fgetc C)fputc D)fclose 45.下列语句中,把变量fp 说明
7、为一个文件型指针的是(A)。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”)名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 36 页 -一、读程序基本输入输出及流程控制1.#include main()int a=1,b=3,c=5;if(c=a+b
8、)printf(yesn);else printf(non);运行结果为:no2.#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(“%d n”,z);运行结果为:5 4.名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 36 页 -#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.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.0 6.#include main()int m;scanf(%d,&m);if(m=0)if(m%2=0)printf(%d is a positive
10、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 名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 36 页 -main()int num=0;while(num=2)num+;printf(%dn,num);运行结果为:1 2 3 8#include main()int sum=10,
11、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,%dn,s,a);若输入的值1,运行结果为:2,1 11#include stdio.h main(
12、)char c;c=getchar();while(c!=?)putchar(c);c=getchar();名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 36 页 -如果从键盘输入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;for(x=1;x=10)b
13、reak;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(“%s n”,”other”);当从键盘输入字母A 时,运行结果为:AB 15.#include main()int a=1,b=0;scanf(“%d”,&a);switch(a)名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 36 页 -case 1:b=1;
14、break;case 2:b=2;break;default:b=10;printf(%d,b);若键盘输入5,运行结果为:10 16.#include main()_ char grade=?C?;switch(grade)case,A?:printf(“90n”);case,B?:printf(“80n”);case,C?:printf(“70n”);case,D?:printf(“60n”);break;case,E?:printf(“60n”);default:printf(“error!n”);运行结果为:70-80 60-70 17.#include main()int y=9;f
15、or(;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);名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 36 页 -运行结果为: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)printf(n);x1=x1+x2
16、;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();名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 36 页 -printf(*);printf(n);运行结果为:*数组1.#include main()int
17、 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+)名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 36 页 -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(“%d”,nij);printf(“n”);运行结果为:0 1 2
19、名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 36 页 -1 2 3 2 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.#include main()int i,f10;f0=f1=1;for(i=2;i10;i+)fi=fi-2+fi-1
20、;for(i=0;i10;i+)if(i%4=0)printf(“n”);printf(“%d”,fi);运行结果为:1 1 2 3 5 8 13 21 34 559#include“stdio.h”名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 36 页 -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;
21、ave=fun(a);printf(“ave=%7.2 f”,ave);float fun(float x)int j;float aver=1;for(j=0;j3;j+)aver=xj*aver;return(aver);运行结果为: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+)名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 36 页 -for(j=0;j=1;j+)printf(%5d,bij)
22、;运行结果为:1 4 2 5 3 6 12#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(“%d n”,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
23、;k4;k+)printf(%d,yjk);运行结果为:0,0,0,0,1,2,0,0,2,3,4,0,3,4,5,6 名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 36 页 -函数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
24、;else m=y;return(m);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 名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 36 页 -4.#include int m=4;int func(int x,int y)int m=1;return(x*y-m);main()in
25、t a=2,b=3;printf(%dn,m);printf(%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,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言练习题及答案 2022 语言 练习题 答案
限制150内