irpas技术客

W1-D4-循环and条件语句用法_十七阿哥的春天

网络 3402

循环and条件语句用法 1、编译器介绍2、while循环3、if else条件判断语句4、示例1:投资问题5、实例2:计算奇偶数的个数以及平均值6、从终端输入10个整数,以0作为结束,求其中正数的个数及平均值7、从终端输入一个正整数,求该数是否为质数

1、编译器介绍

详细的编译过程请见(超纲):Linux下的Makefile的构建_gcc

gcc 预处理(#) 编译(查看语法错误) 汇编() 链接

gcc 预处理阶段 gcc -E hello.c -o hello.i gcc 编译阶段 gcc -S hello.i -o hello.s gcc 汇编阶段 gcc -c hello.s -o hello.o as hello.s -o hello.o gcc 链接阶段 gcc hello.o 生成可执行文件 a.out gcc hello.o -o hello 生成可执行文件 hello

gcc sanjiao.c -o sanjiao -lm -Wall //-Wall 表示打印隐藏警告

ARM-GCC是什么?它与GCC有什么关系?

编译工具链和目标程序运行相同的架构平台,就叫本地编译 编译工具链和目标程序运行在不同的架构平台,叫做交叉编译 ARM-GCC是针对arm平台的一款编译器,它是GCC编译工具链的一个分支

2、while循环

最少执行0次

while(条件) { 循环体语句 } while(1) //表示死循环 do { }while( i<100); //最少执行一次 先执行do里面的语句 3、if else条件判断语句 if { } else { } 4、示例1:投资问题

#include <stdio.h> #define BASE 100 //基数为100元 int main() { float D1=BASE , D2=BASE; //D1=100,D2=100 int i, Y ; //定义N年后D2的投资会超过D1 for(Y=1 ; Y<BASE ; Y++) { D1 = BASE*0.1 + D1; D2 = D2 * 0.05 + D2 ; if(D2 > D1) { printf("%d年后D2的投资额才会超过D1\n",Y); printf("D1 = %f\n",D1); printf("D2 = %f\n",D2); return 0; } } }

运行代码:

5、实例2:计算奇偶数的个数以及平均值

#include <stdio.h> int main() { int num ,ret ; float even_sum=0 , odd_sum=0; int even = 0 , odd= 0 ; float even_eveg , odd_eveg ; //定义奇数平均值 偶数平均值 while(1) { printf("请输入一个数字"); if(scanf("%d",&num) != 1) { printf("程序异常\n"); return 1; } if(num%2 == 1) //如果是奇数 执行even+1 { even++; even_sum = num + even_sum; } else if(num%2 == 0) //如果是偶数 执行odd+1 { odd++; odd_sum = num + odd_sum; //偶数求和 } if(num == 0) break; } even_eveg = even_sum / even; //计算奇数的平均值 odd_eveg = odd_sum / odd; //计算偶数的平均值 printf("奇数的平均值为%.2f\n",even_eveg); printf("偶数的平均值为%.2f\n",odd_eveg); printf("奇数的个数为%d\n",even); printf("偶数的个数为%d\n",odd); return 0; }

程序执行:

6、从终端输入10个整数,以0作为结束,求其中正数的个数及平均值 #include <stdio.h> int main() { int i=0,num , zheng_num = 0, zheng_sum = 0 ; //zheng_num-正数的个数 zheng_sum-正数的总和 float zheng_eveg = 0; //定义正数平均值; printf("输入10个整数,计算正数的个数以及所有正数的平均值\n"); while(1) { i++; printf("请从终端输入第%d个整数\n",i); if(scanf("%d",&num) != 1) return 1; if(i < 10) { zheng_num++; zheng_sum = zheng_sum + num; } if(i >= 10) { printf("10个整数已经输入完,请输入0结束\n"); if(num == 0) { break; } } } zheng_eveg = zheng_sum/zheng_num; printf("zheng_num=%d\n",zheng_num); printf("zheng_eveg=%.2f\n",zheng_eveg); } ber+.c" 35L, 709C

程序执行:

7、从终端输入一个正整数,求该数是否为质数

(素数:能整除这个数的因子除了1,只有它本身,比如2 3 5 7 11 13 17 19.……) 本程序有些乱,但是执行结果是正确的

#include <stdio.h> int main() { int pri,n,i; //定义一个质数prime printf("Input a prime\n"); //请输入一个质数 scanf("%d",&pri); if(pri >= 2) { if(pri == 2) //先判断2 因为2比较特殊 { printf("这个数是质数\n"); } for(i=2;i<=pri/2;i++) //先输入一个大于2的质数 一直对pri从2~pri/2取余 { if(pri%i == 0) //如果余数=0 则为质数 为了判断特殊情况 15 25 81 等 { printf("这个数不是质数\n"); break; } } if(pri%i == 0) //已经满足不是质数的条件这一步什么也不输出 { return 0; //这一步只是为了防止重复输出下面的这个数是质数 } else { printf("这个数是质数\n"); //其他的都是满足质数的条件 } } return 0; }

程序h执行:


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #W1D4循环and条件语句用法 #编译 #预处理 #编译查看语法错误