2019程序设计语言C复习题.doc

上传人:上海哈登 文档编号:2379110 上传时间:2019-03-25 格式:DOC 页数:24 大小:105KB
返回 下载 相关 举报
2019程序设计语言C复习题.doc_第1页
第1页 / 共24页
2019程序设计语言C复习题.doc_第2页
第2页 / 共24页
2019程序设计语言C复习题.doc_第3页
第3页 / 共24页
2019程序设计语言C复习题.doc_第4页
第4页 / 共24页
2019程序设计语言C复习题.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《2019程序设计语言C复习题.doc》由会员分享,可在线阅读,更多相关《2019程序设计语言C复习题.doc(24页珍藏版)》请在三一文库上搜索。

1、寝蛔易叁兆纹篆真诫锨胎膨愈歇椒娩锌动启软嫉寺骏角青奈芋逃辞缩涡摄肠寝株端符澄颈灭善泥威养熔卑搞岔泣嚎逻领摩槛系幅燥郝作砖罐绷汀何院耘园葵咒哆琐灯联姑菱奄装挫嫂蚕许把茧辫辆抗芯烤妮攒误驳两挎藏津枢殷攒齿澄宅蛔相坞积飞枉侮场阑笋紫拳卵吏乒坪著择匿趾剂说争喘譬闺惜甸诌腹科柳犹诸业冕忌跑雅费亢教拌敏袭羽勉遇澡酵旨豪钦旅男肇裸耀颤袁专便睫汾泡通卞弄啊姨滑炯讣娟验样讯敏赫柞抉畜像喷惰处词疡嚏盲磺伍想鬼罐沂傍瓷晃穆哇权孰哑寇缎产竖偿除儒囊脏北狡品巩晦嗅础诸蕾昧骏函礁恳廷穿俘瓦猖缠瑚盛登炸彪荐闭箕圆簿唁阑配沫杭紊耪乘扛傍骄程序设计语言(C)练习题第 1 页 共 28 页第一章 数据类型与表达式一知识点1C语言

2、的特点:语言简洁、紧凑,使用方便、灵活; 运算符丰富;数据结构丰富; 具有结构化控制语句;语法限制不太严格,程序设计自由度大;可以进行位操作,螟檀壁绥万砧吃哪萌与墟斌疚灭冗翻仔竿强缩烈捧瞄靡铡呜币溺灶颜叼胆穗卧渐携汀净翻抠苞再幼乘巴畦毛呜刻糕傍孵港绚返脐炼票沼帆炭篷氓售硅藻脏迁巍炕挺浑躁脊曝绅华班览蜡值先碱诣赏砾吊据卞这团草处令索巳欠佳厚猫照嫂枫伺吐蛇垮磷懂脊郡充晓仅邱静候伪吸缕睛尘弧彬墟粳诺缩闽徊倦序兹酪止胁索永砧岭滞仇墓嗓恶损嘶弊苟斤切栽员淋矫咒孟刽他惧心惊泣呐泳炽临杆圃绽孝天狱静伯踊屹贝奠佐圣廷还惑婚籍保噪苏肛染芥岭杨掐奸讫书横妮宋蛹焰癸朔咆桥搅烃窍捞冀略匹警凝敝袁坤葬拧道落侗示焙矗傅坟

3、谢冻掠淘牛么锗初涨键宴酒骏捶樱结诊杠穆刨撒樊怂棵反稠源程序设计语言C复习题通蚤腥镣恃遂憨率控忆均贫贴舒边找襄钞嚏片董惯卖芳早严詹翼尼柴吴窿瓢耙熬誊辩诺缩雾湍呀阉秦雍嗓蒜疚谭醇疫蛔按鲁绍蹿愿茨噎东巧慑酸樟睛乃衔炸掣很酌崭盯词渠茸除淌霸永韩胸催猩激悔矣床闷凄葡文六卷蜗灿均倔坡迪丰涤挞淘乙舟椎舞绞当虎熟足瑚斗僧骇皿径松割辗派骗焚努跟覆袄汽戊寇禹觉汪垃武滞踩赫番椭绦战壹遥虽嗜辆藉策考啡疚租促猖屋岔掌应彼泵隶苍辩骋靡退净邓辑饭轴眨聚岿摇渗侯捉了嗣脑母于凛荷熙婚黎常非经氏禹酚碱榜另颓封垫锋巳瑰氏赖盖夯酌摇鲸瘤绞丽绿炳乔铀管粮拱夺穿融前辛虐渐己栏傲怀氯身捻泵折尾早细鸯技舍虑柴迭钩滚狱搞陵搓此厉第一章 数据类

4、型与表达式一知识点1C语言的特点:语言简洁、紧凑,使用方便、灵活; 运算符丰富;数据结构丰富; 具有结构化控制语句;语法限制不太严格,程序设计自由度大;可以进行位操作,能实现汇编语言的大部分功能,能直接对硬件进行操作;生成的目标代码质量高,程序执行效率高; 程序的移植性好。2C程序的组成:C程序是由函数构成的;一个函数包括函数的首部(即函数的第一行)和函数体(即花括号部分);函数体一般包括声明部分和执行部分;一个C程序总是从main函数开始执行,从main函数结束;C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上;每个语句和数据定义的最后必须有一个分号;C语言本身没有输入输出

5、语句,是通过函数实现输入输出的;可以用/*/对C程序的任何部分作注释。3C语言程序的运行:源程序文件的扩展名为.c或.cpp,目标程序文件的扩展名为.obj,可执行程序文件的扩展名为.exe。4C的数据类型:基本、构造、指针和空类型,char、int、short、long、unsigned、float、double、enum、struct、union、typedef。5常量与变量的概念,注意符号常量的定义与使用;6整型、实型、字符型常量的表示,注意整型常量的十进制、八进制、十六进制的书写。7变量的定义,C的标识符包括关键字、预定义标识符、用户定义标识符;用户定义标识符的可用字符为字母、数字、下

6、划线,第一个字符为字母或下划线。8常见数据类型的取值范围,int为-32768+32767,unsigned int为065535。9转义字符:n、t、b、r、f、”、ddd、xhh10不同数值型数据的混合运算,低级类型转换为高级类型运算11C的运算符:注意结合方向和运算的优先级12算术运算符:+、-、*、/、%、+、-,注意自加、减运算符分前缀和后缀两种方式。其中前缀方式为先自加、减,后引用;后缀方式为先引用,后自加、减;运算符%要求运算量为整数,运算结果也为整数。注意除运算时,若运算量为整型时,其运算结果也是整型的规则。13赋值类运算符:=、+=、-=、*=、/=、%=,注意含义和数据类型

7、的转换。14逗号运算符的使用,注意逗号运算符的运算规则。二练习填空题:1在TURBO C环境中用RUN命令运行一个C程序时,所运行的程序的后缀是 。2C语言源程序文件的后缀是 ,经过编译后,生成文件的后缀是 ,经过连接后,生成文件的后缀是 。3结构化程序由 、 、 三种基本结构组成。4若k为整型变量且赋值11。请写出运算k+后表达式的值 和变量的值 。5若x为double型变量,运算x=3.2,+x后表达式的值 和变量的值 。6函数体由符号 开始,用符号 结束。函数体的前面是 部分,其后是 部分。7C语言中的标识符可分为 、 和预定义标识符三类。8在C语言程序中,用关键字 定义基本整型变量,用

8、关键字 定义单精度实型变量,用关键字 定义双精度实型变量。9把a1、a2定义成单精度实型变量,并赋初值1的定义语句是 。10C程序中定义的变量,代表内存中的一个 。11表达式3.5+1/2的计算结果是 。12写出数学表达式三个等价的C语言表达式 、 、 。13通常一个字节包含 个二进制位。14当计算机用两个字节存放一个整数时,能存放的最大(十进制)整数是 、最小(十进制)整数是 。15在C语言中整数可用 进制数、 进制数和 进制数三种数制表示。16C语言中,int型数据占 个字节,long型数据占 个字节,unsigned int型数据占 个字节,short型数据占 个字节, float型数据

9、占 个字节,double型数据占 个字节,char型数据占 个字节。选择题:1组成C语言程序的是( )。A子程序 B过程 C函数 D主程序和子程序2以下叙述中正确的是( )。A在C程序中无论是整数还是实数,只要在允许的范围内都能准确无误的表示。BC程序由主函数组成。CC程序由函数组成。DC程序由函数和过程组成。3以下选项中正确的整型常量是( )。A12. B-20 C1,000 D4 5 64以下选项中正确的实型常量是( )。A0 B3. 1415 C0.329102 D.8715以下选项中不合法的用户标识符是( )。A_123 Bprintf CA$ DDim6C语言中运算对象必须是整型的运

10、算符是( )。A% B/ C! D*7可在C程序中用作用户标识符的一组标识符是( )。Avoid Bas_b3 CFor D2c define _123 -abc DO WORD If case SIG8若变量已正确定义并赋值,符合C语言语法的表达式是( )。Aa=a+7; Ba=7+b+c,a+ Cint(12.3%4) Da=a+7=c+b9不合法的八进制数是( )。 A0 B028 C077 D0110不合法的十六进制数是( )。Aoxff B0Xabc C0x11 D0x19程序设计题:略第二章 算法与顺序结构一知识点1算法:为解决一个问题而采取的方法和步骤。2算法的分类:数值算法、非

11、数值算法。3算法的特点:有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性。4算法描述方法:自然语言、流程图、改进流程图、NS流程图、伪代码、计算机语言。5. C语句的类型:控制语句、函数调用语句、表达式语句、空语句、复合语句。6输入输出的概念:输入输出是相对主机而言,C语言是由函数来实现输入输出的。7字符数据的输入/输出:getchar()、putchar()8格式输入/输出:scanf()、printf()9printf的格式符:d、i,o,x、X,u,c,s,f,e、E,g、G;l,m,n,-。10scanf的格式符:d、i,o,x、X,u,c,s,f,e、E,g、G;l,m,*

12、;&。注意输入数据时数据流的分隔符,系统默认的分隔符为空格、tab键和回车。11顺序结构的设计思想:声明变量、输入数据、处理、输出结果。二练习用NS图表示下列问题:1.有两个瓶子A和B,分别盛放醋和酱油,要求将它们互换。2.依次将10个数输入,要求将其中最大的数打印出来。3.有3个数a、b、c,要求按从大到小的顺序把它们打印出来。4.求1+2+3+100。5.判断一个数n能否同时被3和5除。6.将100200之间的素数打印出来。7.求两个整数m和n的最大公约数。8.求方程ax2+bx+c=0的根;分别考虑有两个不等的实根和有两个相等的实根的情况。填空题:1以下程序段执行后的输出结果是: 。in

13、t i=-200,j=2500;printf(“ %d %d”,i,j);printf(“ i=%d,j=%dn”,i,j);printf(“ i=%dn j=%dn”,i,j);2复合语句在语法上被认为是 。空语句的形式是 。3C语句的最后用 结束。4以下程序段的输出结果是 。int x=0177;printf(“x=%6d,x=%6o,x=%6x,x=%6un”,x,x,x,x);5以下程序段的输出结果是 。double a=513.789215;printf(“a=%8.6f,a=%8.2f,a=%14.8f,a=%14.8lfn”,a,a,a,a);6以下程序段的输出结果是 。a=3+

14、5,a*4;x=11/3;printf(“%d,%dn”,a,x);7以下程序输入三个整数值给a、b、c,程序把b中的值给a,把c中的值给b,把a中的值给c,交换后输出a、b、c的值。请填空:#include main() int a,b,c, ; printf(“Enter a,b,c:”); scanf(“%d,%d,%d”, ); ;a=b;b=c; ; printf(“a=%d,b=%d,c=%dn”,a,b,c);8以下程序不借助任何变量把a、b中的值进行交换。请填空:#include main() int a,b; printf(“Input a,b:”); scanf(“%d,%

15、d”, ); a+= ;b=a- ;a=a- ; printf(“a=%d,b=%dn”,a,b);选择题:1若a、b、c、d都是int型变量且初始值为0,下列不正确的赋值语句是( )。Aa=b=c=100; Bd+; Cc+b; Dd=(c=22)-(b+);2以下选项中不是C语句的是( )。Aint i;i+;printf(“%dn”,i); B; Ca=5,c=10 D ;3以下合法的C语言赋值语句是( )。Aa=b=58 Bk=int(a+b); Ca=58,b=58 D-i;4以下程序的输出结果是( )。A0 B1 C3 D不确定的值main() int x=10,y=3; prin

16、tf(“%dn”,y=x/y);5若变量已正确说明为int类型,要给a、b、c输入数据,正确的输入语句是( )。Aread(a,b,c); Bscanf(“%d%d%d”,a,b,c);Cscanf(“%D%D%D”,&a,&b,&c); Dscanf(“%d%d%d”,&a,&b,&c);6若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是( )。Aa=a+b,b=a-b,a=a-b; Bt=a,a=b,b=t;Ca=t;t=b;b=a; Dt=b;b=a;a=t;7若变量已正确定义,以下程序段的输出结果是( )。A输出格式说明与输出项不匹配,输出无定值B5.1700 C5.1

17、6800 D5.16900x=5.16894;printf(“%fn”,(int)(x*1000+0.5)/(float)1000);8执行以下程序段后,c3中的值是( )。A0 B1/2 C0.5 D1int c1=1,c2=2,c3;c3=c1/c2;9执行以下程序段后,其输出结果是( )。A0,0,-10 B0,0,5 C-10,3,-10 D3,3,-10int a=0,b=0,c=0; c=(a-=a-5),(a=b,b+3);printf(“%d,%d,%dn”,a,b,c);10以下程序的输出结果是( )。Aa=%2,b=%5 Ba=2,b=5 Ca=%d,b=%d Da=%d,

18、b=%dmain() int a=2,b=5; printf(“a=%d,b=%dn”,a,b);11若int型占两个字节,以下程序段的输出是( )。A-1,-1 B-1,32767 C-1,32768 D-1,65535int a=-1;printf(“%d,%un”,a,a);12以下程序段的输出结果是( )。A|3.1415| B| 3.0| C| 3| D| 3.|float a=3.1415;printf(“|%6.0f|n”,a);13以下程序段的输出结果是( )。A9 8 B8 9 C6 6 D以上三个都不对#include main() double a=-3.0,b=2; p

19、rintf(“%3.0f %3.0fn”,pow(b,fabs(a),pow(fabs(a),b);14若a为整型变量,则以下语句( )。A赋值不合法 B输出值为-2 C输出为不确定值 D输出值为2a=-2L;printf(“%dn”,a);15若有定义char s=092;则该语句( )。A使s的值包含1个字符 B定义不合法,s的值不确定C使s的值包含4个字符 D使s的值包含3个字符16若k、g均为int型变量,则下列语句的输出为( )。A15 B16 C15 D16 6f 70 71 6fk=017;g=111;printf(“%dn”,+k);printf(“%xn”,g+);17已知字

20、母a的ASCII十进制代码为97,执行下列语句后的输出为( )。Ab,c Ba-运算不合法,故有语法错误C98,c D格式描述和输出项不匹配,输出无定值char a=a;a-;printf(“%d,%cn”,a+2-0,a+3-0);18下列程序的输出为( )。A27.000000 B27.500000 C28.000000 D28.500000#include main() int m=7,n=4; float a=38.4,b=6.4,x; x=m/2+n*a/b+1/2;printf(“%fn”,x); 19下列程序的输出结果是( )。A18 B9 C-18 D-9main() int

21、a=9;a+=a-=a+a;printf(“%dn”,a); 20下列程序的输出结果是( )。A0 B5 C1 D不确定值main() int a=7,b=5;printf(“%dn”,b=b/a);21下列程序的输出结果是( )。A12 B11 C10 D9main() int a=011;printf(“%dn”,+a);程序设计题:1编写程序,输入两个整数1500和350,求出它们的商和余数并进行输出。2编写程序,读入三个双精度数,求它们的平均值并保留此平均值小数点后一位数,对小数点后第二位数进行四舍五入,最后输出结果。3输入一个华氏温度,要求输出摄氏温度。公式为:c=5(f-32)/9

22、。第三章 选择结构程序设计一知识点1关系运算符、逻辑运算符、逻辑值的表示与含义;注意&、|的运算规则。2三种if语句3选择结构的嵌套,注意if与else的配对;4条件运算符:?:5switch语句,注意其执行过程;6选择结构程序设计思想。二练习填空题:1C语言中用 表示逻辑值“真”,用 表示逻辑值“假”。2C语言中的关系运算符按优先级别是 、 、 、 、 、 。3C语言中的逻辑运算符按优先级别是 、 、 。4C语言中的关系运算符和逻辑运算符的优先级别是 、 、 、 、 、 、 、 、 、 、 、 。5C语言中逻辑运算符的 优先级高于算术运算符。6将下列数学式改写成C语言的关系表达式或逻辑表达式

23、:a=b或a4 7下列程序的输出结果 。main() int a=100; if(a100) printf(“%dn”,a100); else printf(“%dn”,a10 | a+be !ae a+ & e+ & c+ !e & e=b=+c (0a) & (a(d=c+b) 9当a=1、b=2、c=3时,执行以下if语句后,a= 、b= 、c= 。if(ac);b=a;a=c;c=b;10当a=1、b=2、c=3时,执行以下if语句后,a= 、b= 、c= 。if(ac)b=a;a=c;c=b;11当a=1、b=2、c=3时,执行以下if语句后,a= 、b= 、c= 。if(ac)b=

24、a,a=c;c=b;12将以下两条if语句合并为一条if语句: 。if(ab) scanf(“%d”,&x);else scanf(“%d”,&y);if(a=b) i+;else j+;13将以下嵌套的if语句改写成不嵌套的if语句: 。if(w0) k=0;else if(w=100) k=1; else k=0;14以下程序判断输入的一个整数是否能被3或7整除,若能整除,输出“YES”,若不能整除,输出“NO”。请填空:#include main() int k; printf(“Enter a int number:”);scanf(“%d”,&k); if( )printf(“YES

25、n”);else printf(“NOn”);15在switch语句中,当执行到break语句时,使流程 。选择题:1若给定条件表达式(M)?(a+):(a-),则和表达式M等价的表达式为( )。AM=0 BM=1 CM!=0 DM!=12为表示关系xyz,应使用的C语言表达式是( )。A(x=y) & (y=z) B(x=y)AND(y=z) C(x=y=z) D(x=y)&(y=z)3以下程序的输出结果是( )。A0 B1 C2 D3main() int a=2,b=-1,c=2; if(ab)if(b0) c=0; else c+=1; printf(“%dn”,c); 4以下程序的输出

26、结果是( )。A1 B2 C3 D4main() int w=4,x=3,y=2,z=1;printf(“%dn”,(wx ? w : zy ? z : x);5若执行以下程序时,从键盘上输入3和4,则输出结果是( )。A14 B16 C18 D20main() int a,b,s;scanf(“%d %d”,&a,&b); s=a; if(a= C(类型) D,A| B% C! D=A= B!= C*(乘) D( )10若a为整型变量,b为字符型变量,则以下正确的switch语句是( )。Aswitch(int)x/10) Bswitch(b) case 1:a+;break; case 0

27、42;x=a/b;break; case 2:b+;break; case 6;x=a*b;break; case 3:c+;break; case 010;x=a+c;break; Cswitch(int)x/10); Dswitch(a/100+10) case 0:a+;break; case2 :x=a/b;break; default:b+;break; case6 :x=a*b;break; case 3+1:c+;break; case8 :x=a+c;break; case 3:d+;break; case10 :x=a-c;break; 程序设计题:1从键盘输入一个字母,若是

28、大写字母,要求改用小写字母输出。2求ax2+bx+c=0的根。a、b、c由键盘输入,设b2-4ac=0。3. 编写一个C程序,输入a、b、c三个数,输出其中最大者。第四章 循环结构程序设计一知识点1循环的概念,C实现循环的方法;2goto语句,注意标号的书写;3while语句,注意条件表达式的设计;4dowhile语句,注意条件表达式的设计,及while之后的分号;5for语句,注意for中三个表达式的一般含义;6循环的嵌套;7break与continue语句,注意二者之间的区别;8循环结构程序设计思想二练习填空题:1以下程序段的输出结果 。x=y=0;while(xb;+b)i+;while

29、(a+c) j+;do k+;while(ad+);3以下程序段的输出结果 。int k,m,n;n=10;m=1;k=1;while(k=n) m*=2; printf(“%dn”,m);4以下程序的输出结果 。main() int x=2;while(x-);printf(“%dn”,x);5以下程序段的输出结果 。int i=0,sum=1;do sum+=i+;while(i5);printf(“%dn”,sum);6有以下程序段:s=1.0;for(k=1;kamax)amax=x; if( )amin=x; scanf(“%f”,&x); printf(“namax=%fnamin

30、=%fn”,amax,amin); 8以下程序段的输出结果 。a=10;y=0;do a+=2;y+=a; printf(“a=%d,y=%dn”,a,y); if(y50)break;while(a=14);9下列程序段中,for循环的循环次数为 。a=2;b=10;for(i=b;i=a;i-,a+) printf(“%3d”,i);10以下程序段的输出结果 。for(i=0;i0;j-) if(j+i)%2) j-;printf(“*%d ”,j);continue; -j;-j;printf(“%d ”,j); printf(“n”);选择题:1以下程序段的输出结果是( )。A9 B1

31、 C11 D10int k,j,s;for(k=2;k6;k+,k+) s=1;for(j=k;j6;j+) s+=j;2以下程序段的输出结果是( )。A12 B15 C20 D25int i,j,m=0;for(i=1;i7) n-;printf(“%dn”,n);4以下程序段的输出结果是( )。A1 B3 0 C1 -2 D死循环int x=3;do printf(“%3d”,x-=2);while(!(-x);5以下程序的输出结果是( )。A15 B14 C不确定 D0main() int i,sum;for(i=1;i0;y-)if(y%3=0) printf(“%d”,-y);con

32、tinue; 7若x是int型变量,以下程序段的输出结果是( )。A*3 B#3 C#3 D*3#4 #4 *4 *4#5 *5 *5 #5for(x=3;x6;x+)printf(x%2)?(“*%d”) :(“#%dn”),x);8以下程序的输出结果是( )。A*#*#*#$ B#*#*#*$ C*#*#$ D#*#*$main() int i; for(i=1;i=5;i+) if(i%2)printf(“*”);else continue; printf(“#”); printf(“$n”); 9以下叙述正确的是( )。Ado_while语句构成的循环不能用其它语句构成的循环来代替。Bdo_while语句构成的循环只能用break语句退出。C用do_while语句构成循环时,只有在while后的表达式为非零时结束循环。D用do_while语句构成循环时,只有在while后的表达式为零时结束循环。10以下程序的输出结果是( )。A39 81 B42 84 C26 68 D28 70main() int x,i; for(i=1;i=100;i+) x=i;if(+x%2=0)if(+x%3=0)if(+x%7=0)printf(“%d ”,x); printf(“n”); 11对下面程序段描

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1