C语言程序设计习题集ppt课件.ppt
《C语言程序设计习题集ppt课件.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计习题集ppt课件.ppt(171页珍藏版)》请在三一办公上搜索。
1、2023/1/4,1,C程序设计习题,2023/1/4,2,C语言程序设计习题,第一章 程序设计基本概念,第二章 C程序设计的初步知识,第三章 顺序结构,第四章 选择结构,第五章 循环结构,第六章 字符型数据,第七章 函数,第八章 指针,2023/1/4,3,C语言程序设计习题,第九章 数组,第十章 字符串,第十一章 对函数的进一步讨论,第十二章 C语言中标识符的作用域 和存储类,第十三章 编译预处理和动态存储分配,第十四章 结构体、共用体和用户定义类型,第十五章 位运算,第十六章 文件,2023/1/4,4,1.2 C语言源程序文件的后缀是 _,经过编译后,生成文件的后缀是 _,经过连接后,
2、生成文件的后缀是_。,第一章 程序设计基本概念,1.1 在TURBO C环境中用RUN命令运行一个C程序时,所运行的程序的后缀是。,.EXE,1.3 结构化程序由、和 三种基本结构组成。,.C,.OBJ,.EXE,顺序,选择(分支),循环,2023/1/4,5,第二章 C程序设计的初步知识,一、选 择 题,2.1 以下选项中正确的整型常量是。A)12.B)-20 C)1,000 D)4 5 6,2.2 以下选项中正确的实型常量是 A)0 B)3.1415 C)0.329*102 D).871,2.3 以下选项中不正确的实型常量是A)2.607E-1 B)0.8103e 2 C)-77.77 D
3、)456e-2,2.4 以下选项中不合法的用户标识符是A)abc.c B)file C)Main D)PRINTF,2.5 以下选项中不合法的用户标识符是A)_123 B)printf C)A$D)Dim,2023/1/4,6,2.6 C语言中运算对象必需是整型的运算符是 A)%B)/C)!D)*,2.7 可在C程序中用作用户标识符的一组标识符是 A)void B)as_b3 C)For D)2c define _123-abc DO WORD If case SIG,关键字,不能有-,数字开头,2.8 若变量已正确定义并赋值,符合C语言语法的表达式是A)a=a+7;B)a=7+b+c,a+C
4、)int(12.3%4)D)a=a+7=c+b,语句,不是表达式,要求整型数,号前是变量,2023/1/4,7,2.10 以下叙述中正确的是)在C程序中无论整数还是实数,只要在允许的范围内都能准确无误的表示。)C程序由主函数组成。)C程序由函数组成。)C程序由函数和过程组成。,2.9以下叙述中正确的是)a是实型变量,C允许进行以下赋值a=10,因此可以这样说:实型变量允许赋值整型值。)在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式。)执行表达式a=b后,在内存中a 和 b存储单元中的原有值都将被改变,a的值已由原值改变为b 的值,b 的值由原值变为0。)已有a=3,b=5。当执行了表
5、达式 a=b,b=a 之后,已使a 中的值为5,b 中的值为3。,2023/1/4,8,2.11 TURBO C中int 类型变量所占字节数是A)1 B)2 C)3 D)4,2.12 不合法的八进制数是A)0 B)028 C)077 D)01,2.13 不合法的十六进制数是A)oxff B)0Xabc C)0 x11 D)0 x19,二、填空题,2.14 若k为int整型变量且赋值11。请写出运算k+后表达式的值A)_和变量k的值B)_。,2.15 若x为double型变量,请写出运算x=3.2,+x后表达式的值A)_和变量x的值B)_。,11,12,4.2,4.2,2023/1/4,9,2.
6、16 函数体由符号_开始,用符号_结束。函数体的前面是部分,其后是部分。,2.17 C语言中的标识符可分为_、和预定义标识符三类。,2.18 在C语言程序中,用关键字_定义基本整型变量,用关键字_定义单精度实型变量,用关键字_定义双精度实型变量。,2.19把a1、a2定义成单精度实型变量,并赋初值1的定义语句是。,2.20 C程序中定义的变量,代表内存中的一个。,定义说明,执行语句,关键字,用户标识符,int,float,double,float a=1,b=1;,不能用float a=b=1;,存储单元,2023/1/4,10,2.21 表达式3.5+1/2的计算结果是_。,2.22 对以下
7、数学式,写出三个等价的C语言表达式_、。ab c,2.23 表达式s=10应当读做“_”。,2.24 计算机中内存储器的最小存储单位称_,其中能容纳的数是_。,2.25 通常一个字节包含_个二进制位。在一个字节中能存放的最大(十进制)整数是_,它的二进制数的形式是_;最小(十进制)整数是_,它的二进制数的形式是_。,.,不是4.5!,a*b/c,a/c*b,b/c*a,条件:a,b,c是实数,S赋值为10,bit(位),127,01111111,-128,10000000(补码),2023/1/4,11,2.27 在C语言中整数可用_进制数、_进制数和_进制数三种数制表示。,2.26 当计算机
8、用两个字节存放一个整数时,其中能存放的最大(十进制)整数是_、最小(十进制)整数是_,它的二进制数的形式是。,0111111111111111/1000000000000000,32767,-32768,10,8,16,三、上机改错题(读者最好在TURBO C环境下上机试一试,以便熟悉出错信息)。,2.28 请指出以下C程序的错误所在#include stdio.h;main();/*main function*/float r,s;/*/*r is radius*/,/*s is area of circular*/*/r=5.0;s=3.14159*r*r;printf(“%fn”,s),
9、“,”,运行结果:78.539749,2023/1/4,12,2.29 请指出以下C程序的错误所在#include stdio.h main/*main function*/float a,b,c,v;/*a,b,c are sides,v is volume of cube*/a=2.0;b=3.0;c=4.0 v=a*b*c;printf(“%fn”,v),(),;,;,运行结果:24.000000,【2-28】(正确)#include“stdio.h”main()/*main function*/float r,s;/*r is radius,s is area of circular*
10、/r=5.0;s=3.14159*r*r;printf(%fn,s);,2023/1/4,13,【2-29-2】(正确)#include main()/*main function*/float a,b,c,v;/*a,b,c are sides,v is volume of cube*/a=2.0;b=3.0;c=4.0;v=a*b*c;printf(%fn,v);,2023/1/4,14,第三章 顺序结构,一、选择题,3.1 若a、b、c、d、都是int类型变量且初值为0,以下选项中不正确的赋值语句是。A)a=b=c=d=100;B)d+;C)c+b;D)d=(c=22)-(b+);,3.
11、2 以下选项中不是C语句的是。A)int i;i+;printf(“%dn”,i);B);C)a=5,c=10 D);,3.3 以下合法的C语言赋值语句是。A)a=b=58 B)k=int(a+b);C)a=58,b=58 D)-i;,3.4 以下程序的输出结果是。A)0 B)1 C)3 D)不确定的值 main()int x=10,y=3;printf(“%dn”,y=x/y);,应为(int)(a+b);,2023/1/4,15,3.5 若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输入语句是。A)read(a,b,c);B)scanf(“%d%d%d”,a,b,c);C
12、)scanf(“%D%D%D”,3.6 若变量已正确说明为float类型,要通过以下赋值语句给a赋予10、b赋予22、c赋予33,以下不正确的输入形式是。A)10 B)10.0,22.0,33.0 C)10.0 D)10 22 22 22.0 33.0 33 33 scanf(“%f%f%f”,3.7 若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是。A)a=a+b,b=a-b,a=a-b;B)t=a,a=b,b=t;C)a=t;t=b;b=a;D)t=b;b=a;a=t;,2023/1/4,16,3.8 若变量已正确定义,以下程序段的输出结果是。)输出格式说明与输出项不区配,
13、输出无定值 B)5.170000 C)5.168000 D)5.169000 x=5.16894;printf(“%fn”,(int)(x*1000+0.5)/(float)1000);,3.9 若有以下程序段,c3中的值是。A)0 B)1/2 C)0.5 D)1 int c1=1,c2=2,c3;c3=c1/c2;,3.10 若有以下程序段,其输出结果是A)0,0,-10 B)0,0,5 C)-10,3,-10 D)3,0,-10int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(“%d,%d,%dn”,a,b,c);,(int)(x*1000+0.5)=
14、(int)(5169.44)=5169 5169/1000.0=5.169,2023/1/4,17,3.11 当运行以下程序时,在键盘上从第一列开始输入9876543210(此处代表Enter),则程序的输出结果是。A)a=98,b=765,c=4321 B)a=10,b=432,c=8765C)a=98,b=765.000000,c=4321.000000 D)a=98,b=765.0,c=4321.0main()int a;float b,c;scanf(“%2d%3f%4f”,3.12 以下程序的输出结果是A)a=%2,b=%5 B)a=2,b=5C)a=%d,b=%d D)a=%d,b
15、=%dmain()int a=2,b=5;printf(“a=%d,b=%dn”,a,b);,输出,2023/1/4,18,3.13 若int类型占两个字节,则以下程序段的输出是。A)-1,-1 B)-1,32767 C)-1,32768 D)-1,65535int a=-1;printf(“%d,%un”,a,a);,-补码:1111111111111111,3.14 以下程序段的输出是 A)*496*B)*496*C)*000496*D)输出格式符不合法 int x=496;Printf(“*%-06d*n”,x);,“*%06d*n”:输出*000496*,3.15 以下程序段的输出是
16、A)|3.1415|B)|3.0|C)|3|D)|3.|float a=3.1415;Printf(“|%6.0f|n”,a);,3.16 以下程序段的输出是 A)|2345.67800|B)|12345.6780|C)|12345.67800|D)|12345.678|printf(“|%10.5f|n”,12345.678);,突破场宽!,2023/1/4,19,3.17 以下程序段的输出是A)*0000057.66*B)*57.66*C)*0000057.67*D)*57.67*float a=57.666;pirntf(“%010.2fn”,a);,3.18若从终端输入以下数据,要给变
17、量c赋以283.19,则正确的输入语句是 A)scanf(“%f”,283.1900,scanf中禁用”%*.*f”!,3.19 若变量已正确说明,要求用以下语句给a赋予3.12、给b赋予9.0,则正确的输入形式是(代表空格)A)3.12 9.0 B)a=3.12b=9 C)a=3.12,b=9 D)a=3.12,b=9 scanf(“a=%f,b=%f”,2023/1/4,20,3.20 以下程序的输出结果是 A)9 8 B)8 9 C)6 6 D)以上三个都不对#include“math.h”main()double a=-3.0,b=2;printf(“%3.0f%3.0fn”,pow(
18、b,fabs(a),pow(fabs(a),b);,2|-3|,|-3|2,二、填空题,3.21 若有以下定义,请写出以下程序段中输出语句执行后的输出结果。(1)_(2)(3)_int i=-200,j=2500;printf(“(1)%d%d”,i,j);printf(“(2)i=%d,j=%dn”,i,j);printf(“(3)i=%dn j=%dn”,i,j);,-200 2500,i=-200,j=2500,i=-200j=2500,2023/1/4,21,3.22 变量i、j、k已定义为int类型并有初值0,用以下语句进行输入时:scanf(“%d”,当执行第一个输入语句,从键盘输
19、入:12.3 表示Enter键则变量i、j、k的值分别是_、_、_。,12,0,0,3.23 复合语句在语法上被认为是_。空语句的形式是。,一条语句,;,3.24 C语句的最后用_结束。,;,3.25 以下程序段,要求通过scanf语句给变量赋值,然后输出变量的值。写出运行时给k输入100,给a输入25.81,给x输入1.89234 时的三种可能的输入形式_、_、_。int k;float a;double x;scanf(“%d%f%lf”,100 25.81 1.89234100 25.81 1.89234100 25.81 1.89234,2023/1/4,22,3.26 以下程序段的输
20、出结果是。int x=0177;printf(“x=%3d,x=%6d,x=%6o,x=%6x,x=%6un”,x,x,x,x,x);,x=(0177)8=127=(0000000001111111)2=(007F)16,x=127,x=127,x=177,x=7F,x=127,3.27 以下程序段的输出结果是。int x=0177;printf(“x=%-3d,x=%-6d,x=$%-06d,x=$%06d,x=%06dn”,x,x,x,x,x);,x=127,x=127,x=$127,x=$000127,x=%06d,3.28 以下程序段的输出结果是。double a=513.789215
21、;printf(“a=%8.6f,a=%8.2f,a=%14.8f,a=%14.8lfn”,a,a,a,a);,a=513.789215,a=513.79,a=513.78921500,a=513.78921500,2023/1/4,23,三、编程题和改错题,3.29 以下程序多处有错。要按下面指定的形式输入数据和输出数据时,请对该程序做相应的修改。main double a,b,c,s,v;printf(input a,b,c:n);scanf(“%d%d%d”,a,b,c);s=a*b;/*计算长方形面积*/v=a*b*c;/*计算长方体体积*/printf(“%d%d%d”,a,b,c)
22、;printf(“s=%fn”,s,”v=%dn”,v);当程序执行时,屏幕的显示和要求输入形式如下:input a,b,c:2.0 2.0 3.0 此处的2.0 2.0 3.0是用户输入的数据 a=2.000000,b=2.000000,c=3.000000 此处是要求的输出形式 s=4.000000,v=12.000000,2023/1/4,24,【3-29】(正确)main()float a,b,c,s,v;printf(input a,b,c:);scanf(%f%f%f:,【3-29】(错误)main double a,b,c,s,v;printf(input a,b,c:n);sc
23、anf(“%d%d%d”,a,b,c);s=a*b;v=a*b*c;printf(“%d%d%d”,a,b,c);printf(“s=%fn”,s,“v=%dn”,v);,当程序执行时,屏幕的显示和要求输入形式如下:input a,b,c:2.0 2.0 3.0 此处的2.0 2.0 3.0是用户输入的数据 a=2.000000,b=2.000000,c=3.000000 此处是要求的输出形式 s=4.000000,v=12.000000,2023/1/4,25,3.30 编写程序,把560分钟换算成用小时和分钟表示,然后进行输出。,【参考答案】main()int h,m;h=560/60;m
24、=560%60;printf(%dh:%dm,h,m);getch();,3.31 编写程序,输入两个整数:1500和350,求出它们的商数和余数并进行输出。,【参考答案】main()int m,n;printf(input m,2023/1/4,26,3.32 编写程序,读入三个双精度数,求它们的平均值并保留此平均值小数后一位数,对小数点后第二位数进行四舍五入,最后输出结果。,【参考答案】main()double x,y,z,s;printf(input x,y,z:);scanf(%lf%lf%lf,2023/1/4,27,3.33 编写程序,读入三个整数给a、b、c,然后交换它们中的数,
25、把a中原来的值给b,把b中原来的值给c,把c中原来的值给 a。,【参考答案】main()int a,b,c,t;printf(Input a,b,c:);scanf(%d%d%d,2023/1/4,28,第四章 选择结构,一、选择题,4.1 下列运算符中优先级最高的运算符是A)!B)%C)-=D)&,单目运算符,4.2 下列运算符中优先级最低的运算符是 A)|B)!=C)=D)+,4,9,10,12,4.3 为表示关系x=y=z,应使用的C语言表达式是 A)(x=y)&(y=z)B)(x=y)AND(y=z)C)(x=y=z)D)(x=y)&(y=z),4.4 设 a、b 和c 都是int 型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 习题集 ppt 课件
链接地址:https://www.31ppt.com/p-2052468.html