C语言教程

C 练习实例3-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C 练习实例3

C 练习实例3 C 语言经典100例 题目:一个整数,它加上 100 后是一个完全平方数,再加上 268 又是一个完全平方数,请问该数是多少? 程序分析:在 10 万以内判断,先将该数加上 100 后再开方,再将该数加上 268 后再开方,如果开方后的结果满足如下条件,即是结果。 程序源代码: #include <stdio.h> #include "math.h" int main() { long int i,x,y; for (i=1;i<100000;i++) { x=sqrt(i+100); // x为加上100后开方后的结果 y=sqrt(i+268); // y为再加上268后开方后的结果 if(x*x==i+100 && y*y==i+268){ //如果一个数的平方根的平方等于该数,这说明此数是完全平方数 printf("\n%ld\n",i); } } } 以上实例输出结果为: 21 261 1581 C 语言经典100例

C 指向指针的指针-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C 指向指针的指针

C 指向指针的指针 C 指针 指向指针的指针是一种多级间接寻址的形式,或者说是一个指针链。通常,一个指针包含一个变量的地址。当我们定义一个指向指针的指针时,第一个指针包含了第二个指针的地址,第二个指针指向包含实际值的位置。 一个指向指针的指针变量必须如下声明,即在变量名前放置两个星号。例如,下面声明了一个指向 int 类型指针的指针: int **var; 当一个目标值被一个指针间接指向到另一个指针时,访问这个值需要使用两个星号运算符,如下面实例所示: #include <stdio.h> int main () { int var; int *ptr; int **pptr; var = 3000; /* 获取 var 的地址 */ ptr = &var; /* 使用运算符 & 获取 ptr 的地址 */ pptr = &ptr; /* 使用 pptr 获取值 */ printf("Value of var = %d\n", var ); printf("Value available at *ptr = %d\n", *ptr ); printf("Value available at **pptr = %d\n", **pptr); return 0; } 当上面的代码被编译和执行时,它会产生下列结果: Value of var = 3000 Value available at *ptr = 3000 Value available at **pptr = 3000 C 指针

C switch 语句-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C switch 语句

C switch 语句 C 判断 一个 switch 语句允许测试一个变量等于多个值时的情况。每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。 语法 C 语言中 switch 语句的语法: switch(expression){ case constant-expression : statement(s); break; /* 可选的 */ case constant-expression : statement(s); break; /* 可选的 */ /* 您可以有任意数量的 case 语句 */ default : /* 可选的 */ statement(s); } switch 语句必须遵循下面的规则: switch 语句中的 expression 必须是一个整型或枚举类型,或者是一个 class 类型,其中 class 有一个单一的转换函数将其转换为整型或枚举类型。 在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号。 case 的 constant-expression 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字面量。 当被测试的变量等于 case 中的常量时,case 后跟的语句将被执行,直到遇到 break 语句为止。 当遇到 break 语句时,switch 终止,控制流将跳转到 switch 语句后的下一行。 不是每一个 case 都需要包含 break。如果 case 语句不包含 break,控制流将会 继续 后续的 case,直到遇到 break 为止。 一个 switch 语句可以有一个可选的 default case,出现在 switch 的结尾。default case 可用于在上面所有 case 都不为真时执行一个任务。default case 中的 break 语句不是必需的。 流程图 实例 #include <stdio.h> int main () { /* 局部变量定义 */ char...

C if…else 语句-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C if…else 语句

C if…else 语句 C 判断 一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为 false 时执行。 语法 C 语言中 if…else 语句的语法: if(boolean_expression) { /* 如果布尔表达式为真将执行的语句 */ } else { /* 如果布尔表达式为假将执行的语句 */ } 如果布尔表达式为 true,则执行 if 块内的代码。如果布尔表达式为 false,则执行 else 块内的代码。 C 语言把任何非零和非空的值假定为 true,把零或 null 假定为 false。 流程图 实例 #include <stdio.h> int main () { /* 局部变量定义 */ int a = 100; /* 检查布尔条件 */ if( a < 20 ) { /* 如果条件为真,则输出下面的语句 */ printf("a 小于 20\n" ); } else { /* 如果条件为假,则输出下面的语句 */ printf("a 大于 20\n" ); } printf("a 的值是 %d\n", a); return 0; } 当上面的代码被编译和执行时,它会产生下列结果: a 大于 20 a 的值是 100 if…else if…else 语句 一个 if 语句后可跟一个可选的 else if…else 语句,这可用于测试多种条件。 当使用 if…else if…else 语句时,以下几点需要注意: 一个 if 后可跟零个或一个 else,else 必须在所有 else if...

C if 语句-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C if 语句

C if 语句 C 判断 一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。 语法 C 语言中 if 语句的语法: if(boolean_expression) { /* 如果布尔表达式为真将执行的语句 */ } 如果布尔表达式为 true,则 if 语句内的代码块将被执行。如果布尔表达式为 false,则 if 语句结束后的第一组代码(闭括号后)将被执行。 C 语言把任何非零和非空的值假定为 true,把零或 null 假定为 false。 流程图 实例 #include <stdio.h> int main () { /* 局部变量定义 */ int a = 10; /* 使用 if 语句检查布尔条件 */ if( a < 20 ) { /* 如果条件为真,则输出下面的语句 */ printf("a 小于 20\n" ); } printf("a 的值是 %d\n", a); return 0; } 尝试一下 当上面的代码被编译和执行时,它会产生下列结果: a 小于 20 a 的值是 10 C 判断

C do…while 循环-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C do…while 循环

C do…while 循环 C 循环 不像 for 和 while 循环,它们是在循环头部测试循环条件。在 C 语言中,do…while 循环是在循环的尾部检查它的条件。 do…while 循环与 while 循环类似,但是 do…while 循环会确保至少执行一次循环。 语法 C 语言中 do…while 循环的语法: do { statement(s); }while( condition ); 请注意,条件表达式出现在循环的尾部,所以循环中的 statement(s) 会在条件被测试之前至少执行一次。 如果条件为真,控制流会跳转回上面的 do,然后重新执行循环中的 statement(s)。这个过程会不断重复,直到给定条件变为假为止。 流程图 实例 #include <stdio.h> int main () { /* 局部变量定义 */ int a = 10; /* do 循环执行 */ do { printf("a 的值: %d\n", a); a = a + 1; }while( a < 20 ); return 0; } 当上面的代码被编译和执行时,它会产生下列结果: a 的值: 10 a 的值: 11 a 的值: 12 a 的值: 13 a 的值: 14 a 的值: 15 a 的值: 16 a 的值: 17 a 的值: 18 a 的值: 19 C 循环

C continue 语句-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C continue 语句

C continue 语句 C 循环 C 语言中的 continue 语句有点像 break 语句。但它不是强迫终止,continue 会跳过当前循环中的代码,强迫开始下一次循环。 对于 for 循环,continue 语句执行后自增语句仍然会执行。对于 while 和 do…while 循环,continue 语句重新执行条件判断语句。 语法 C 语言中 continue 语句的语法: continue; 流程图 实例 #include <stdio.h> int main () { /* 局部变量定义 */ int a = 10; /* do 循环执行 */ do { if( a == 15) { /* 跳过迭代 */ a = a + 1; continue; } printf("a 的值: %d\n", a); a++; }while( a < 20 ); return 0; } 当上面的代码被编译和执行时,它会产生下列结果: a 的值: 10 a 的值: 11 a 的值: 12 a 的值: 13 a 的值: 14 a 的值: 16 a 的值: 17 a 的值: 18 a 的值: 19 C 循环

C break 语句-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C break 语句

C break 语句 C 循环 C 语言中 break 语句有以下两种用法: 当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。 它可用于终止 switch 语句中的一个 case。 如果您使用的是嵌套循环(即一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。 语法 C 语言中 break 语句的语法: break; 流程图 实例 #include <stdio.h> int main () { /* 局部变量定义 */ int a = 10; /* while 循环执行 */ while( a < 20 ) { printf("a 的值: %d\n", a); a++; if( a > 15) { /* 使用 break 语句终止循环 */ break; } } return 0; } 当上面的代码被编译和执行时,它会产生下列结果: a 的值: 10 a 的值: 11 a 的值: 12 a 的值: 13 a 的值: 14 a 的值: 15 C 循环

C goto 语句-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C goto 语句

C goto 语句 C 循环 C 语言中的 goto 语句允许把控制无条件转移到同一函数内的被标记的语句。 注意:在任何编程语言中,都不建议使用 goto 语句。因为它使得程序的控制流难以跟踪,使程序难以理解和难以修改。任何使用 goto 语句的程序可以改写成不需要使用 goto 语句的写法。 语法 C 语言中 goto 语句的语法: goto label; .. . label: statement; 在这里,label 可以是任何除 C 关键字以外的纯文本,它可以设置在 C 程序中 goto 语句的前面或者后面。 流程图 实例 #include <stdio.h> int main () { /* 局部变量定义 */ int a = 10; /* do 循环执行 */ LOOP:do { if( a == 15) { /* 跳过迭代 */ a = a + 1; goto LOOP; } printf("a 的值: %d\n", a); a++; }while( a < 20 ); return 0; } 当上面的代码被编译和执行时,它会产生下列结果: a 的值: 10 a 的值: 11 a 的值: 12 a 的值: 13 a 的值: 14 a 的值: 16 a 的值: 17 a 的值: 18 a 的值: 19 C 循环

C语言 循环-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C语言 循环

有的时候,可能需要多次执行同一块代码。一般情况下,语句是顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。 编程语言提供了允许更为复杂的执行路径的多种控制结构。 循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的一般形式: 循环类型 C 语言提供了以下几种循环类型。点击链接查看每个类型的细节。 循环类型 描述 while 循环 当给定条件为真时,重复语句或语句组。它会在执行循环主体之前测试条件。 for 循环 多次执行一个语句序列,简化管理循环变量的代码。 do…while 循环 除了它是在循环主体结尾测试条件外,其他与 while 语句类似。 嵌套循环 您可以在 while、for 或 do..while 循环内使用一个或多个循环。 循环控制语句 循环控制语句更改执行的正常序列。当执行离开一个范围时,所有在该范围中创建的自动对象都会被销毁。 C 提供了下列的控制语句。点击链接查看每个语句的细节。 控制语句 描述 break 语句 终止 loop 或 switch 语句,程序流将继续执行紧接着 loop 或 switch 的下一条语句。 continue 语句 引起循环跳过主体的剩余部分,立即重新开始测试条件。 goto 语句 将控制转移到被标记的语句。但是不建议在程序中使用 goto 语句。 无限循环 如果条件永远不为假,则循环将变成无限循环。for 循环在传统意义上可用于实现无限循环。由于构成循环的三个表达式中任何一个都不是必需的,您可以将某些条件表达式留空来构成一个无限循环。 #include <stdio.h> int main (){ for( ; ; ){ printf("This loop will run forever.\n"); } return 0; } 尝试一下 当条件表达式不存在时,它被假设为真。您也可以设置一个初始值和增量表达式,但是一般情况下,C 程序员偏向于使用 for(;;) 结构来表示一个无限循环。 注意:您可以按 Ctrl + C 键终止一个无限循环。