C语言 程序设计练习题.ppt_第1页
C语言 程序设计练习题.ppt_第2页
C语言 程序设计练习题.ppt_第3页
C语言 程序设计练习题.ppt_第4页
C语言 程序设计练习题.ppt_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

新航线计算机等级考试培训 includeintfun intx inty returnx y voidmain inti 10 cout fun i i endl 1 函数参数的求值顺序 自右向左 新航线计算机等级考试培训 includevoidmain inty 10 while y printf y d y 9 后置 当y 0时while循环结束 但是y的值还要执行y y 1 新航线计算机等级考试培训 voidfun char s chart if s t s fun s if t 0 putchar t voidmain char a 1234 fun a 11 main fun a 1234 fun s 234 fun s 34 fun s 4 fun s 0 完 新航线计算机等级考试培训 voidmain intargc char argv FILE fp voidfun FILE fp inti 1 while argc 0 if fp fopen argv i r NULL printf cannotopenfile n exit 0 else fun fp fclose fp voidfun FILE fp charc c fgetc fp while c EOF if c A 12 新航线计算机等级考试培训 main voidfu fu fu voidfu staticinta 0 printf a d a 1 8 14 a表达式的值不会改变变量a的值 新航线计算机等级考试培训 defineM3 defineNM 1 defineNNN N 2main printf d n NN 15 NN M 1 M 1 2NN 3 1 3 1 2NN 6 新航线计算机等级考试培训 intm 4 do printf d m 3 while m 16 当m 0时 m 表达式的值为真 所以继续循环 m的值为 4时 m 表达式的值为假 新航线计算机等级考试培训 defineFU y 2 8 y definePR a printf d int a definePRINT a PR a includevoidmain intx 2 PRINT FU 5 x 17 FU 5 x 2 8 y x 2 8 5 2 12 8 12 新航线计算机等级考试培训 includevoidmain inta 10 9 8 7 6 5 4 3 2 1 0 p a 4 printf d p printf d p 18 a 2000 P 新航线计算机等级考试培训 includeintfun char str intn 0 while str 0 21 新航线计算机等级考试培训 includevoidswap1 inta intb inttemp temp a a b b temp voidswap2 int 22 int a表示引用 对变量取别名 2000 3000 i a j b 3 5 新航线计算机等级考试培训 includeinta 5 voidmain inta 3 a cout a a 23 作用域运算符 表示引用全局变量 新航线计算机等级考试培训 main inta 1 b 2 m 0 n 0 k k n b a m a b printf d d n k m 24 运算符的优先级 新航线计算机等级考试培训 main intm 5 if m 5 printf d m elseprintf d m 25 后置 新航线计算机等级考试培训 include include f2 c defineN3main inti for i 1 i N i printf d sum i sum intn intt staticints 0 for t 1 t n t s t t return s 26 i 1 s 1 i 2 s 1 1 1 2s 2 2 2 6 i 3 s 6 1 1 7s 7 2 2 11s 11 3 3 20 静态变量 上一次的结果作为下一次的初始值 新航线计算机等级考试培训 include defineswap x y x y y x x y main inta 010 b 1 printf d d n a b 28 swap为宏替换 并非函数 所以不会有函数的单向值传递 a b b a a b swap a b 八进制 二进制一位八进制对应三位二进制 八进制10二进制001000 新航线计算机等级考试培训 include stdio h voidtest int u int v int w w u u v v w main intm 3 n 6 int x 29 2000 3000 3 6 m x n y u v 新航线计算机等级考试培训 includemain intx y for x 1 y 1 x 20 break if y 3 1 y 3 continue y 10 printf d d n x y 30 break和continue语句的执行过程 X 1 y 4X 2 y 7X 3 y 10X 4 y 13X 5 y 16X 6 y 19X 7 y 22X 8 y 20break 新航线计算机等级考试培训 fun char t1 char t2 inti j while t2 0 for i 0 j 0 t1 i i if t1 i t2 t1 j t1 i t1 j 0 t2 main chara abcde b ea fun a b puts a 31 t1 a 0 新航线计算机等级考试培训 includevoidsort inta inti j t for i 0 ia j 1 t a j a j a j 1 a j 1 t voidmain inta 5 5 10 7 3 7 i t j sort a for i 0 i 4 i printf d n a i 32 新航线计算机等级考试培训 includeintfun chars inti 0 while s i 0 i returni voidmain chars 81 printf pleaseinputastring n scanf s s printf d n fun s 33 scanf s s 与gets s 的区别 scanf以空格 tab键回车键作为输入结束标志 gets以回车键作为输入结束标志 新航线计算机等级考试培训 NULL 4000 4000 36 新航线计算机等级考试培训 include includevoidfun char s intm chart p1 p2 p1 s p2 s m 1 while p1 p2 t p1 p1 p2 p2 t main chara ABCDEFG fun a strlen a puts a 37 ABCDEFG G A G G A A 后置对程序的影响 新航线计算机等级考试培训 includemain inta 1 b 2 c 3 a c b intb 4 c c 2 b a c printf d d d a b c printf d d d n a b c 38 局部变量和全局变量的关系 局部变量和全局变量同名局部变量会屏蔽全局变量 新航线计算机等级考试培训 include intx 1 y 0 a 0 b 0 switch x case1 switch y case0 a break case1 b break case2 a b break case3 a b printf a d b d n a b 39 switch嵌套与break的关系 break只能退出离它最近的一层switch 新航线计算机等级考试培训 includevoidswap intx inty x y y x x y main inta 010 b 1 swap a b printf d d n a b 40 函数单向值传递 新航线计算机等级考试培训 inta 4 0 2 3 1 k j t for j 1 j 0 41 0 2 新航线计算机等级考试培训 chara 9 b 020 printf o n a 43 优先级顺序 printf o n a a 9 00001001 11110110b020000100000010000011110110 00100000 00100000 40 新航线计算机等级考试培训 main structcmplx intx inty cnum 2 1 3 2 7 printf d n cnum 0 y cnum 0 x cnum 1 x 46 1 3 2 7 Xy cnum 0 cnum 1 新航线计算机等级考试培训 defineM2 defineX m M 2 m z 2 M X 3 2 48 z 2 M X 3 2 2 2 2 2 3 2 z 2 M X 3 2 32 新航线计算机等级考试培训 includemain intk 0 charc A do switch c case A k break case B k case C k 2 break case D k k 2 continue case E k k 10 break default k k 3 k while c G printf k d k 52 switch A K 2switch B K 4switch C K 7switch D K 1switch E K 11switch F K 4 新航线计算机等级考试培训 voidfun char p intn inti if i n 10 0 fun p 1 i p n 10 0 voidmain intnum charstr 10 scanf d 54 main fun str 3567 fun p 1 356 7 fun p 1 35 6 5 fun p 1 3 3 p 7653 新航线计算机等级考试培训 includeabc s t k int s t k intp for p 0 k p ps k k p main inta 10 i k for i 0 i 10 i scanf d 55 新航线计算机等级考试培训 includevoidmain intargc char argv charch FILE in out if argc 3 exit 1 if out fopen argv 1 r NULL printf Cannotopenthefile n exit 0 if in fopen argv 2 w NULL printf Cannotopenthefile n fclose out exit 0 56 C myfilefile1 datfile2 dat 新航线计算机等级考试培训 while ch fgetc out EOF if ch a 56 新航线计算机等级考试培训 includevoidmain charch 2 5 6934 8254 p 2 inti j s 0 for i 0 i 0 57 数字字符转换为数字 新航线计算机等级考试培训 includevoidf ints 4 inti j k for i 0 i 3 i for j i 1 j 4 j k s i j s i j s j i s j i k main ints 4 4 i j for i 0 i 4 i for j 0 j 4 j s i j i j f s for i 0 i 4 i printf n for j 0 j 4 j printf 4d s j i 58 0 1 2 30 1 210 13210 for j 0 j 3 i j 0123 1012 2 101 3 2 10 新航线计算机等级考试培训 includemain inti j k m 0 for i 1 i 4 i for j 1 j 4 j for k 1 k 4 k m printf M d m 59 if i j i k j k 新航线计算机等级考试培训 includemain voidpic intlen charc inti 4 j pic 27 j i pic i 2 j 2 putchar n for j 2 j 0 j pic 30 j pic i 2 j putchar n voidpic intlen charc intk for k 1 k len k putchar c 60 新航线计算机等级考试培训 includechar cat char str1 char str2 char pt for pt str1 pt 0 pt while str2 0 pt str2 pt 0 return pt main char p s1 30 210 s2 30 45 p cat s1 s2 printf d n p s1 p cat s1 s2 printf d n p 1 s1 61 str1 pt 2000 4 5 0 新航线计算机等级考试培训 voidmain intx y scanf d 62 条件表达式的优先级高于赋值运算符 新航线计算机等级考试培训 definePT5 5 defineS x PT x xmain inta 1 b 2 printf 4 1f n S a b 65 S a b PT a b a b 5 5 1 2 1 2 9 5 新航线计算机等级考试培训 a 10 b 30 c 20 if a b a b b c c a printf a db dc d n a b c 66 新航线计算机等级考试培训 includemain char s 121 intk 0 a 0 b 0 do k if k 2 0 a a s k 0 continue b b s k 0 a a s k 0 while s k 1 printf k da db d n k a b 69 新航线计算机等级考试培训 includebin intx if x 2 0 bin x 2 printf d x 2 main bin 12 70 main bin 12 bin 6 bin 3 bin 1 1 1 0 0 新航线计算机等级考试培训 structtest inta int b num 4 sp voidmain intn 1 i for i 0 ia printf d n sp b 71 2000 2006 2012 2018 a b num 新航线计算机等级考试培训 main intarray 3 1 2 3 4 5 6 7 8 9 intk m n 0 for k 0 k 3 k for m k 1 m 3 m n array k m array k m array m k array m k n for m 0 m 3 m printf d array m 0 72 1 2 3 4 5 6 7 8 9 新航线计算机等级考试培训 fun inta intb staticintm 0 i 2 i m 1 m i a b return m main intk 4 m 3 p p fun k m L1 printf d p p fun k m L2 printf d p 73 静态变量的特性 上一次的结果作为下一次运行的初始值 第一次调用i 3m 10第二次调用i 3 10 1 14m 14 3 4 21 新航线计算机等级考试培训 includemain char strc char str1 char str2 chars1 1234567 s2 98 pt pt strc s1 s2 printf s n pt char strc char str1 char str2 char p str1 do p str2 while str2 0 p 0 return str1 74 9 8 0 新航线计算机等级考试培训 voidmain intn for n 100 n 200 n if n 3 0 continue printf d n 75 break和continue它们各自的执行过程 新航线计算机等级考试培训 sub int s int y main inta 1 2 3 4 i x 0 for i 0 i 4 i sub a 76 i 0 x 4 i 1x 3 i 2x 2 i 3x 1 新航线计算机等级考试培训 includeintf intm staticintx 3 2 3 4 inti for i 0 i 3 i x i x i m for i 0 i 3 i printf d n x i printf n return x m voidmain inty 1 f f y 77 3 5 7 1 5 9 第一次调用 第二次调用 新航线计算机等级考试培训 include stdio h intchange char c intfg if c L1 return1 elseif fg 78 Thisisabook ch ch 新航线计算机等级考试培训 include iostream h intsb int s inty staticinti 3 y s i returny voidmain ints 1 2 3 4 inti x 0 for i 0 i 4 i x sb s x cout x cout endl 79 新航线计算机等级考试培训 includeunionbt inta intb 2 voidfun unionbt c c a 7 c b 0 9 c b 1 8 voidmain unionbtc fun 80 共用体 成员变量共用同一段存储空间 成员变量会出现相互覆盖 后赋值的成员变量的值会覆盖先赋值的成员变量的值 a b 0 b 1 2000 2004 新航线计算机等级考试培训 voidmain inta b c x a b c 0 for inti 0 i x switch x 3 case0 a x break case1 b x break case2 c x break cout a b c endl 81 12345678910 3 6 9 1 4 7 10 2 5 8 新航线计算机等级考试培训 include stdio h voidmain char str One Two Three Four char str inti for i 0 i 3 i printf s ptr 1 i 82 指针数组指向指针的指针 str 5 ptr可以通用 新航线计算机等级考试培训 82 2000 2004 2008 2014 str 0 3000 str 1 str 2 str 3 ptr 4000 ptrstr 0 ptr 1 str 1 新航线计算机等级考试培训 voidmain void intm n doublex y intdivide intm intn doubledivide intm doubley doubledivide doublex doubley cout m n x y L1 cout divide m n endl L2 cout divide n x endl L3 cout divide x y endl intdivide intm intn returnm n doubledivide intm doubley returnm int y doubledivide doublex doubley returnx y 83 函数重载 参数个数或参数类型至少有一个不同 新航线计算机等级考试培训 includevoidfun char strp char t if strp t strp t fun t putchar strp voidmain inti a 10 0 1 2 3 4 5 6 7 8 9 charstr 11 for i 0 i 10 i str i a i 0 str i 0 fun str 84 新航线计算机等级考试培训 includevoidmain charstr 20 inti 0 staticintcount 2 0 gets str do switch str i case a case A case e case E case i case I case o case O case u case U count 0 break default count 1 while str i 0 printf count 0 d count 1 d n count 0 count 1 85 新航线计算机等级考试培训 includeclassSample intx y public Sample x y 0 Sample inta intb x a y b voiddisp cout x x y y endl voidmain Samplesl s2 2 3 s1 disp s2 disp 86 新航线计算机等级考试培训 includevoidfun int p inti intj intt if i j t p i p i p j p j t fun p i j main inta 1 2 3 4 5 6 i fun a 0 5 for i 0 i 6 i printf d a i 87 123456 i 0j 5 623451 新航线计算机等级考试培训 main ihtargc char argv FILE fp intfun FILE intnum i 1 while argc 0 if fp fopen argv i r NULL printf Cannotopenfile n exit 0 else num fun fp fclose fp printf num d n num intfun FILE fp staticintcount 0 charc c fgetc fp while c EOF if c 0 c fgetc fp returncount 88 C 2 3filel datfile2 dat argc 3 argv 0 2 3 argv 1 filel dat argv 2 file2 dat 新航线计算机等级考试培训 include includevoidfun charstr 10 intn chart 20 inti j for i 0 i n 1 i for j i 1 j n j if strlen str i strlen str j strcpy t str i strcpy str i str j strcpy str j t main charstr 10 abc aabcd abed a acdefg inti fun str 5 for i 0 i 5 i printf 2d strlen str i printf n for i 0 i 5 i puts str i 89 按字符串长度进行排序 降序 新航线计算机等级考试培训 includeintfun intu intv inttemp while v 0 temp u v u v v temp returnu voidmain intu v intt cout u v t fun u v cout t endl cout u v t endl 90 辗转相除 用较大的数除以较小的数 分母变分子 余数变分母 直到余数为0 最大公约数和最小公倍数 新航线计算机等级考试培训 intm 3 3 1 2 3 intn 3 3 1 2 3 main printf d n m 1 0 n 0 0 printf d n m 0 1 n 1 0 91 m100200300 n123000000 新航线计算机等级考试培训 main intargc char argv if argc 3 printf nFormat MyCopy n else FILE source destin source fopen argv 1 rb destin fopen argv 2 wb if source NULL printf ERROR Can topensourcefile s n argv 1 elseif destin NULL printf ERROR Can topendestinfile s n argv 2 else while feof source fputc fgetc source destin fclose source fclose destin 92 C MyCopyFILE1FILE2 argc 3 argv 0 MyCopy argv 1 FILE1 argv 2 FILE2 新航线计算机等级考试培训 includeintTotalsum int int voidmain inta 5 2 3 6 8 10 intTotal Total 1 cout sumofarray 2 endl intTotalsum intarray intlen intsum 0 for inti 0 i len i 3 returnsum 1 Totalsum a 5 Total sum array i 观察有无函数调用语句 新航线计算机等级考试培训 非十进制数转换为十进制数非十进制数转换为十进制数采用 位权法 即把各非十进制数按权展开 然后求和 便可得到转换的结果 转换方式如下公式表示 式中为系数 x为基数 如二进制 x 2 n为项数 11101011 2 1 27 1 26 1 25 0 24 1 23 0 22 1 21 1 20 128 64 32 0 8 0 2 1 235 2 新航线计算机等级考试培训 doublepower doublex intn voidmain void inti intvalue 0 charch cout 0 i cin ch if 1 value 2 cout decimalvaueis value endl doublepower intn doubleval 1 0 while n 3 return val 2 ch 0 ch 1 ch 0 power i val val 2 新航线计算机等级考试培训 include stdio h include string h voidmain chars 81 p1 p2 intn gets s n strlen s p1 s p2 1 while 2 if p1 p2 break else p1 3 if p1 p2 printf No n elseprintf Yes n 3 s n 1 p1 p2 p2 level p1 p2 新航线计算机等级考试培训 includevoidmain intnum 4 4 inti j flag 0 printf inputarraynum n for i 0 i 4 i for j 0 j 4 j scanf d 1 for i 0 i 4 i for j 0 j 4 j if 2 flag 1 break if 3 printf No n elseprintf Yes n 4 num i j num i j num j i flag 新航线计算机等级考试培训 FILE fp voidcomp char string intline 0 charstr 100 1 fgets str 100 fp str strlen str 1 0 line 2 printf d s n line str voidmain intargc char argv charstring 100 if argc 2 printf error n exit 0 if fp 3 NULL printf Can topenfile s n argv 1 exit 0 printf pleaseinputthestring n gets string comp string fclose fp 5 while feof fp if strcmp str string 0 fopen argv 1 r 新航线计算机等级考试培训 intfun char str intnum digital len len strlen str while str NULL digital str 0 for inti 0 i digital 10 len num digital returnnum voidmain charn 80 intnumber gets n number fun n printf d n number 6 num 0 i len 1 str 235 235200 30 5 235 新航线计算机等级考试培训 voidsort int p intn inti j t for i 0 i n 1 i for j i 1 j n j if 1 t p i p i p j p j t main inta 10 i FILE fp fp fopen a dat r for i 0 i 10 i 2 fclose fp for i 0 i 10 i printf d a i printf n 3 for i 0 i 10 i printf d a i printf n 7 p j p i fscanf fp d a i sort a 10 新航线计算机等级考试培训 includemain longintn voidfunc long scanf ld 8 func n longintm func m 10 236 236 新航线计算机等级考试培训 includemain inta 10 12 32 45 62 71 76 80 85 90 95 intnum bott top mid printf inputanumber n scanf d 9 bott top 2 top mid 1 bott top 12324562717680859095 bott top mid 新航线计算机等级考试培训 main inti charstr1 80 str2 80 str3 80 char p1 p2 p1 str1 p2 str2 gets str1 gets str2 for i 0 1 i if p1 i p2 i str3 i p1 i elsestr3 i p2 i if 2 strcat str3 p1 i else 3 printf result s n str3 10 p1 i 0 p2 i 0 p1 i 0 strcat str3 p2 i str1 abaxef str2 bac str3 bbcxef 新航线计算机等级考试培训 includevoidmain inti s k count 0 for i 100 i 1000 i s 0 k i while 1 s s k 10 k 2 if s 5 3 elsecount printf total d n count 11 k k 10 continue 203 10 3203 10 2020 10 020 10 22 10 2 新航线计算机等级考试培训 12 voidinsert 1 inti intx intj for j 9 j i j 2 p i x voidmain inti a 11 1 2 3 4 5 6 7 8 9 10 wz x printf Inpu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论