第1章初识C语言 知识点:HelloWorld程序的编写 1、知识点描述 学习C语言的目的是实现功能强大的程序,而功能强大的程序往往是从最基本、最简单的程序 积累起来的。接下来将编写一个简单的程序,用于向控制台输出一个由“”组成的三角形。 2、案例展示 1 include 2 void main() 31 45 printf(打印一个三解形:n: pr. printf(" a) n"): printf ("*** n"): 8 printf("++*+++*\n) system("pause"): 10) 运行程序,结果如下所示: 321c■ 解开 青按任意键继续。 知识点:C语言代码风格 1、知识点描述 一个完整的程序通常由多个程序员完成,然而有些程序员没有良好的编码习惯,在编码时不写 注释,此时其他人员在维护程序时就会非常困难。因此我们要养成良好的编码风格,在书写代码时 添加注释。接下来将为下面的程序添加注释,使程序更易阅读
1 第 1 章 初识 C 语言 知识点:HelloWorld 程序的编写 1、知识点描述 学习 C 语言的目的是实现功能强大的程序,而功能强大的程序往往是从最基本、最简单的程序 积累起来的。接下来将编写一个简单的程序,用于向控制台输出一个由“*”组成的三角形。 2、案例展示 1 #include 2 void main() 3 { 4 printf("打印一个三解形:\n"); 5 printf(" * \n"); 6 printf(" *** \n"); 7 printf(" ***** \n"); 8 printf(" ******* \n"); 9 system("pause"); 10 } 运行程序,结果如下所示: 知识点:C 语言代码风格 1、知识点描述 一个完整的程序通常由多个程序员完成,然而有些程序员没有良好的编码习惯,在编码时不写 注释,此时其他人员在维护程序时就会非常困难。因此我们要养成良好的编码风格,在书写代码时 添加注释。接下来将为下面的程序添加注释,使程序更易阅读
2、案例展示 1/* 2stio.h是标准输入输出头文件,用于完成预处理工 3由于在第10行用到了printf()输出函数,所以需加此头文件 4*/ 5 tinclude 6//ma1n()雨数是程序的主入口。程序总是从main)函数开始执行 void main() 8 9 /printf()用于格式化输出的函数,该函数用于输出一行信息 10 orintf(n*”*专★h*★n"); 11 printf("Hello World!\n"); printf("+++++\n") 13 运行程序,结果如下所示: - 商按任意健继续
2 2、案例展示 1 /* 2 stdio.h 是标准输入输出头文件,用于完成预处理工作 3 由于在第 10 行用到了 printf()输出函数,所以需加此头文件 4 */ 5 #include 6 // main()函数是程序的主入口,程序总是从 main()函数开始执行 7 void main() 8 { 9 // printf()用于格式化输出的函数,该函数用于输出一行信息 10 printf("************\n"); 11 printf("Hello World!\n"); 12 printf("************\n"); 13 } 运行程序,结果如下所示:
第2章数据类型与运算符 知识点:比较运算符 1、知识点描述 比较运算符通常用于对两个数值或变量进行比较,其结果是一个逻辑值,也就是真或假。例如 期末考试时经常通过比较学生的成绩来衡量学生的学习效果,若考试及格(60分),则可以进行下 一个环节的学习,若不及格,则需要补考。接下来将编写一个程序,通过比较运算符来判断学生是 否需要补考。 2、案例展示 14 tinclude 15 void main() 16 int score printf("请输入学生成绩:"): 19 scanf("&d",&score): if (score >60) 22 printf("该学生已通过考试。n") 3 else 25 printf("该学生未通过考试,要补考。n") 28 运行程序,结果如下所示:
3 第 2 章 数据类型与运算符 知识点:比较运算符 1、知识点描述 比较运算符通常用于对两个数值或变量进行比较,其结果是一个逻辑值,也就是真或假。例如, 期末考试时经常通过比较学生的成绩来衡量学生的学习效果,若考试及格(60 分),则可以进行下 一个环节的学习,若不及格,则需要补考。接下来将编写一个程序,通过比较运算符来判断学生是 否需要补考。 2、案例展示 14 #include 15 void main() 16 { 17 int score; 18 printf("请输入学生成绩:"); 19 scanf("%d", &score); 20 if (score >= 60) 21 { 22 printf("该学生已通过考试。\n"); 23 } 24 else 25 { 26 printf("该学生未通过考试,需要补考。\n"); 27 } 28 } 运行程序,结果如下所示:
知识点:逻辑运算符 1、知识点描述 逻辑运算符用于判断数据的真假,其结果仍为“真”或“假”。在现实生活中,经常经常会出现 闰年,所谓的闰年就是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设 立的。公历规定:年份是整百数时,必须是400的倍数才是闰年:不是400的倍数的年份,即使是 4的倍数也是平年。接下来编写一个程序,使用逻辑运算符与f语句判断年份是国年还是平年。 2、案例展示 29 define_CRT_SECURE_NO_WARNINGS stdio.h> 31 void main() 321 33 int vear: (yea year3 yea400) printf("这一年是向年.n"): 39 40 else printf("这一年是平年.n"): 43 441 运行程序,结果如下所示: 知识点:位运算符 1、知识点描述 位运算符是针对二进制数的每个二进制位进行运算的符号,它是专门针对数字0和1进行操作 的。它包括“&”、“”、“”、“一”、“《”、“》”操作,利用位运算符可以实现多种功能。例如,可以
4 知识点:逻辑运算符 1、知识点描述 逻辑运算符用于判断数据的真假,其结果仍为“真”或“假”。在现实生活中,经常经常会出现 闰年,所谓的闰年就是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设 立的。公历规定:年份是整百数时,必须是 400 的倍数才是闰年;不是 400 的倍数的年份,即使是 4 的倍数也是平年。接下来编写一个程序,使用逻辑运算符与 if 语句判断年份是闰年还是平年。 2、案例展示 29 #define _CRT_SECURE_NO_WARNINGS 30 #include 31 void main() 32 { 33 int year; 34 printf("请输入年份:"); 35 scanf("%d", &year); 36 if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) 37 { 38 printf("这一年是闰年。\n"); 39 } 40 else 41 { 42 printf("这一年是平年。\n"); 43 } 44 } 运行程序,结果如下所示: 知识点:位运算符 1、知识点描述 位运算符是针对二进制数的每个二进制位进行运算的符号,它是专门针对数字 0 和 1 进行操作 的。它包括“&”、“|”、“^”、“~”、“《”、“》”操作,利用位运算符可以实现多种功能。例如,可以
使用位运算进行两个数据的互换,而且不用设置中间变量。 2、案例展示 1 include 2 void main() 3 【inta-1 int b 2; 5 printf("a =ad,b=sd\n",a,b); 6 a=a"bi b-ba; 9 printf ("a Bd,b 8d\n",a,b); 10 运行程序,结果如下所示: 回冈
5 使用位运算进行两个数据的互换,而且不用设置中间变量。 2、案例展示 1 #include 2 void main() 3 { int a = 1; 4 int b = 2; 5 printf("a = %d, b = %d\n", a, b); 6 a = a^b; 7 b = b^a; 8 a = a^b; 9 printf("a = %d, b = %d\n", a, b); 10 } 运行程序,结果如下所示:
第3章结构化程序设计 知识点:switch条件语句 1、知识点描述 Sswt©h条件语句是一种很常用的选择语句,它只能针对某个表达式的值做出判断,从而决定程 序执行哪一段代码。例如,我们经常用数字表示月份,数字1表示一月份,数字2表示二月份,依 此类推,实际上这种情况就适合使用switch语句来实现。接下米将编写一个程序,通过获取用户输 入的数字,输出月份。 2、案例展示 11 tinclude 12 veid main() 13 int month; 15 printf("请输入当前月份:"): 16 scanf("9d",smonth); 17 switch (month) 19 case 1: pr1ntf("现在是一月份,n"): break: 22 case 2: 1324 printf("现在是二月份,n): case 3: 。 printf("现在是三月份,n"): break case 4: printf("现在是四月份n") break; 31 case 5: 32 pr1ntE("现在是五月份,1n"): break; 3 case 6: printf("现在是六月份。n"): break; case 7:
6 第 3 章 结构化程序设计 知识点:switch 条件语句 1、知识点描述 switch 条件语句是一种很常用的选择语句,它只能针对某个表达式的值做出判断,从而决定程 序执行哪一段代码。例如,我们经常用数字表示月份,数字 1 表示一月份,数字 2 表示二月份,依 此类推,实际上这种情况就适合使用 switch 语句来实现。接下来将编写一个程序,通过获取用户输 入的数字,输出月份。 2、案例展示 11 #include 12 void main() 13 { 14 int month; 15 printf("请输入当前月份:"); 16 scanf("%d", &month); 17 switch (month) 18 { 19 case 1: 20 printf("现在是一月份。\n"); 21 break; 22 case 2: 23 printf("现在是二月份。\n"); 24 break; 25 case 3: 26 printf("现在是三月份。\n"); 27 break; 28 case 4: 29 printf("现在是四月份。\n"); 30 break; 31 case 5: 32 printf("现在是五月份。\n"); 33 break; 34 case 6: 35 printf("现在是六月份。\n"); 36 break; 37 case 7:
printf("现在是七月份,1n"): break 04 case 8: printf("现在是八月份,n") break; case 9: printf("现在是九月份,1n"): break: 46 case 10: printf("现在是十月份,\n"): break; case 11: printf("现在是十一月份。\n": 52 case 12: printf("现在是十二月份。\n"): break; 55 default: 67 printf("输入的月份不合法。n) break 8 59 运行程序,结果如下所示: 月份8 续 知识点:while循环语句 1、知识点描述 hi语句会反复地进行条件判惭,只要条件成立,语句块内的执行语句就会一直执行,直到条 件不成立,while循环才会结束。接下来通过while语句实现下面的程序:某高校2006年招收学生3 千人,每年扩招3%,计算出哪一年招收学生会达到5千人。 2、案例展示 60 #include 61 void main() 621 63 int num =3000,year =2006
7 38 printf("现在是七月份。\n"); 39 break; 40 case 8: 41 printf("现在是八月份。\n"); 42 break; 43 case 9: 44 printf("现在是九月份。\n"); 45 break; 46 case 10: 47 printf("现在是十月份。\n"); 48 break; 49 case 11: 50 printf("现在是十一月份。\n"); 51 break; 52 case 12: 53 printf("现在是十二月份。\n"); 54 break; 55 default: 56 printf("输入的月份不合法。\n"); 57 break; 58 } 59 } 运行程序,结果如下所示: 知识点:while 循环语句 1、知识点描述 while 语句会反复地进行条件判断,只要条件成立,语句块内的执行语句就会一直执行,直到条 件不成立,while 循环才会结束。接下来通过 while 语句实现下面的程序:某高校 2006 年招收学生 3 千人,每年扩招 3%,计算出哪一年招收学生会达到 5 千人。 2、案例展示 60 #include 61 void main() 62 { 63 int num = 3000, year = 2006;
64 while (num 72 void main() 73f int sum; 75 for(int1=2;i<1000:i+) 76 um■0: 78 for (intj=1;j+) if(18j-=0) sum sum 81 if (sum ==i) printf("d是完数n",sum) 84 851 运行程序,结果如下所示:
8 64 while (num 72 void main() 73 { 74 int sum; 75 for (int i = 2; i<1000; i++) 76 { 77 sum = 0; 78 for (int j = 1; j<i; j++) 79 if (i%j == 0) 80 sum = sum + j; 81 82 if (sum == i) 83 printf("%d 是完数\n", sum); 84 } 85 } 运行程序,结果如下所示:
9
9
第4章函数 知识点:函数的嵌套调用 1、知识点描述 程序中常常会遇到在一个函数中调用 一个函数的需求,这就是函数的嵌套调用。验证歌德巴 赫猜想:一个充分大的偶数(大于或等于6)可以分解为两个素数之和。编写程序,将6至50之间 全部偶数表示为两个素数之和。 2、案例展示 86 tinclude 87 tinclude 88 tinclude 89 int iagushu(int i) 901 for (int j=2;j<=sqrt (i);j++) return0:/如果不是素数返回 return1;/是索数返回】 981 100 void func(int num) 101 102 for(1nt1=3:1<50:1++ 1f(sSushu()1/如果1是素数 主f(isSushu(ntum-i)/如果num-i也是素数 108 printf("4d d ad "num,i,(num -i)) break; 113
10 第 4 章 函数 知识点:函数的嵌套调用 1、知识点描述 程序中常常会遇到在一个函数中调用另一个函数的需求,这就是函数的嵌套调用。验证歌德巴 赫猜想:一个充分大的偶数(大于或等于 6)可以分解为两个素数之和。编写程序,将 6 至 50 之间 全部偶数表示为两个素数之和。 2、案例展示 86 #include 87 #include 88 #include 89 int isSushu(int i) 90 { 91 for (int j = 2; j <= sqrt(i); j++) 92 { 93 if (i % j == 0) 94 return 0; //如果不是素数返回 0 95 } 96 97 return 1; //是素数返回 1 98 } 99 100 void _func(int num) 101 { 102 103 for (int i = 3; i < 50; i++) 104 { 105 if (isSushu(i)) //如果 i 是素数 106 { 107 if (isSushu(num - i)) //如果 num-i 也是素数 108 { 109 printf("%d = %d + %d ", num, i, (num - i)); 110 break; 111 } 112 } 113 }