请编写程序在屏幕上打印出一个“*”? printf(”*\n”); 请编写程序在屏幕上打印四行,每行一个“*”?

Slides:



Advertisements
Similar presentations
CSIM, PU C Language Introduction to the C Programming Language 重覆敘述 (for,while,break,continue) 適合重複性的計算或判斷.
Advertisements

親愛的老師您好 感謝您選用本書作為授課教材,博碩文化準備本書精選簡報檔,特別摘錄重點提供給您授課專用。 說明: 博碩文化:
计算机三级考试C语言上机试题专题.
程序设计基础知识.
資料結構與演算法 課程教學投影片.
第四章 时间序列的分析 本章教学目的:①了解从数量方面研究社会经济现象发展变化过程和发展趋势是统计分析的一种重要方法;②掌握时间数列编制的基本要求;③理解和掌握水平速度两方面指标的计算及运用④理解和掌握长期趋势分析和预测的方法。 本章教学重点:现象发展的水平指标和速度指标。 本章教学难点:现象变动的趋势分析。
计算机导论 ——软件部分 巢爱棠 办公室:1208.
专题研讨课二: 数组在解决复杂问题中的作用
C语言程序设计 第八章 函数.
第一章 程序设计入门.
循环结构又称为重复结构:用来处理需要重复处理的问题,它是程序中一种很重要的结构。
Class 2 流程控制-選擇敘述與迴圈.
If … else 選擇結構 P27.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
Introduction to the C Programming Language
Introduction to the C Programming Language
目录 第八章 数组 1 简单学生成绩管理系统的开发 2 一维数组 3 多维数组 4 字符数组 5 数组作函数参数.
第七章 函数 目录 有参的加法函数的开发 函数定义的一般形式 函数参数和函数的值 函数的调用
QQ: 李祥 QQ: 欢迎多种方式的学习交流,祝大家学有所成.
程式撰寫流程.
第一章 栈.
计算机网络讲义 第5章 批量数据处理—数组 一维数组 排序和查找 二维数组 字符串.
Introduction to the C Programming Language
C语言 程序设计基础与试验 刘新国、2012年秋.
第3讲 C++程序控制结构 3.1 顺序结构 3.2 分支结构 3.3 循环结构 3.4 转向控制 3.5 综合案例分析.
第九章 文件 程序数据标准输入输出设备 程序数据文件 数据流和文件 文件的打开和关闭 文件读写函数.
C++语言程序设计 第二章 C++简单程序设计.
程序的三种基本结构 if条件分支语句 switch多路开关语句 循环语句 循环嵌套 break,continue和goto语句
第13章 结构体的应用 13.1 了解由用户构造的数据类型 13.2 结构体类型说明及结构体变量 13.3 结构体数组
函 数 实验八 第24讲 C程序设计 Main() { int x,y; X=10; y=x*x+1;
計數式重複敘述 for 迴圈 P
切換Dev c++顯示語言 工具->環境選項(V)->介面->language (Chinese TW)
东北林业大学 陈宇 ACM程序设计 东北林业大学 陈宇
第5讲 结构化程序设计(Part II) 周水庚 2018年10月11日.
電子音樂 通訊系 B 楊穎穆.
授课老师:龚涛 信息科学与技术学院 2016年3月 教材:《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
第4讲 C++程序控制结构(二) 4.1 循环结构 4.2 转向控制 4.3 综合案例分析.
六、函数 教学目标: 函数的概念、定义、调用和返回 带自定义函数的程序设计 递推算法 递归思想及算法实现 函数的参数传递方式 C语言程序设计.
目录 9.1 结构体类型 9.2 共用体类型 9.3 枚举类型 9.4 类型声明符typedef 1.
C语言概述 第一章.
第1讲 C语言基础 要求: (1) C程序的组成 (2) C语言的标识符是如何定义的。 (3) C语言有哪些基本数据类型?各种基本数
for 迴圈 while迴圈 do-while迴圈 break 與 continue goto 與 標籤 程式觀摩
C++语言程序设计 C++语言程序设计 第三章 控制语句 第十一组 C++语言程序设计.
C语言大学实用教程 第6章 数组 西南财经大学经济信息工程学院 刘家芬
C 语言程序设计 程序的循环结构 电大崇信县工作站 梁海亮.
物件導向程式設計 CH2.
浙江长征职业技术学院—计算机与信息技术系—相方莉制作
C程序设计.
C++语言程序设计教程 第2章 数据类型与表达式 第2章 数据类型与表达式 制作人:杨进才 沈显君.
第2章 认识C语言 教学要点 2. 1 项目二C语言程序识读 2 .2 项目三班级成绩排名 2 .3 知识链接 返回.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
C++程式設計入門 變數與運算子 作者:黃建庭.
第三章 程序的控制结构 第一节 概述 第二节 if选择结构 第三节 switch语句.
实验七 数 组 第21讲 C程序设计 Main() { int x,y; X=10; y=x*x+1;
习 题 课(作业).
3.3 n元向量的线性关系.
隨機數 (亂數) 10後,取餘數 n = rand(); 利用 Code::Block 驗證一下 n = rand() %10; 998
問題解決與流程圖 高慧君 台北市立南港高中 2006年12月22日.
程序设计基础.
#include <iostream.h>
本节内容 指针类型.
第五章 逻辑运算和判断选取控制 §5.1 关系运算符和关系表达式
第七章  数 组.
程式設計--linear search 通訊一甲 B 楊穎穆.
PPT注意事项: 当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中即不要移动文件夹“代码”的默认位置。
C/C++基礎程式設計班 C語言入門、變數、基本處理與輸入輸出 講師:林業峻 CSIE, NTU 3/7, 2015.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
本节内容 指针类型 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C语言基础学习 从外行到入门.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
Presentation transcript:

请编写程序在屏幕上打印出一个“*”? printf(”*\n”); 请编写程序在屏幕上打印四行,每行一个“*”? printf(”*\n”); 请编写程序在屏幕上打印100行,每行一个“*”?

循环结构

FOR循环格式 格式: for(循环变量=初值;条件表达式;增量表达式) { 语句组; } 编程序在屏幕上输出四行”*” { int i; printf(“*\n”); ++i; T F 编程序在屏幕上输出四行”*” { int i; for(i=1;i<=4;++i) printf(”*\n”); return 0; }

for(循环变量=初值;条件表达式;增量表达式) 语句组; 循环变量=初值 条件表达式是否成立? 语句组(循环体) 增量表达式 T F

请编程序输出100行,每行一个“*”。 编程序在屏幕上输出四行”*” { 100 int i; for(i=1;i<=4;++i) printf(”*\n”); return 0; } 100 请编程序输出100行,每行一个“*”。

例:输出100以内所有的偶数 #include<cstdio> using namespace std; int main() { int i; for(i=2;i<=100;i+=2) printf("%d ",i); return 0; } 练习: 1、输出100以内所有的奇数。

例:求1+2+…+4的和 F i<=4? T #include<cstdio> using namespace std; int main() { int i,s=0; for(i=1;i<=4;++i) s+=i; printf("s=%d",s); return 0; } F 累加器 输出s=?;

练习 1、请编程序求s=1+4+…+100的值. 2、编程求100以内所有偶数之和。 3、请编程序求s=1*2*3*…*6的值. 称为6的阶乘,表示为6!

递推 例:求n!(n!=1*2*…*n) S1=1 (n=1) Sn=sn-1*n (n>1) #include<cstdio> using namespace std; int main() { int i,s=1,n; scanf("%d",&n); for(i=1;i<=n;++i) s*=i; printf("%d",s); return 0; } 递推 S1=1 (n=1) Sn=sn-1*n (n>1)

例:请编程序求s=1+1/2+1/3+…+1/99+1/100的值. #include<cstdio> using namespace std; int main() { float i,s=0; for(i=1;i<=100;++i) s+=1/i; printf("s=%f",s); return 0; } 练习: 1、编程求s=1+22+32+…+992+1002 2、编程求S=1*2+2*3+3*4+…+n*(n+1)

例:打印出字母串:”abcd…xyz”. #include<cstdio> using namespace std; int main() { char ch; for(ch='a';ch<='z';++ch) printf("%c",ch); return 0; } 练习: 1、按字母表顺序,从A开始,每隔一个字母打印输出,即ACE… 2、打印出字母串:”zyx…cba”.

例:求斐波拉契数列a1、 a2… a20。 a1=1, a2=1; a3= a1+a2,…… an= an-2+an-1;如1,1,2,3,5,8,13…… #include<cstdio> using namespace std; int main() { int i,a1=1,a2=1,an; printf("%d %d",a1,a2); for(i=3;i<=20;++i) an=a1+a2; printf(" %d",an); a1=a2; a2=an; } return 0; if(i%5==0) printf("\n"); 练习:已知一对兔子,每个月可以生一对小兔,而小兔过一个月后也可生一对小兔。即兔子的对数是:第一个月1对,第二个月2对,第三个月3对,第四个月5对,……,假设兔子的生育期是12个月,并且不死,问一年后,这对兔子有多少对活着的后代?

例:读入十个正数,求其中的最大值。 #include<cstdio> using namespace std; int main() { float x,maxn=0;int i; for(i=1;i<=10;++i) scanf("%f",&x); if(maxn<x) maxn=x; } printf("%f",maxn); return 0; 练习: 1、输入十个不超过1000的数,求其中的最小值。 2、输入二十个数,求它们的和及平均值。

例:一个两位数x,将它的个位数字与十位数字对调后得到一个新数y,此时y恰好比x大36,请编程求出所有这样的两位数。 #include<cstdio> using namespace std; int main() { int x,a,b,y; for(x=10;x<=99;++x) a=x/10; b=x%10; y=b*10+a; if((y-x)==36) printf("%d\n",x); } return 0; 练习:把整数3025从中剪开分成30和25两个数,此时这两个数之和的平方(30+25)2=3025等于原数。求所有符合这样条件的四位数。

穷举法 例:水仙花数,如153,其中13+53+33=153,则153被称为水仙花数,求100到999间所有的水仙花儿数。 #include<cstdio> using namespace std; int main() { int x,a,b,c,y; for(x=100;x<=999;++x) a=x/100; b=(x/10)%10; c=x%10; y=c*c*c+b*b*b+a*a*a; if(y==x) printf("%d\n",x); } return 0; 穷举法 1、穷举变量的范围。 2、条件成立的表达式

break 退出当层循环; continue 退出当次循环; #include<cstdio> using namespace std; int main() { int i; for(i=1;i<=100;++i) if(i>5) break; printf("%d",i); return 0; } #include<cstdio> using namespace std; int main() { int i; for(i=1;i<=100;++i) if(i>5) continue; printf("%d",i); return 0; }

例:判断n是否为素数,如果是就输出yes,否则输出no。 #include<cstdio> using namespace std; int main() { int i,n; scanf("%d",&n); for(i=2;i<=n-1;++i) if(n%i==0) break; if(i>n-1) printf("yes"); else printf("no"); return 0; } #include<cstdio> #include<cmath> using namespace std; int main() { int i,n,k; scanf("%d",&n);k=sqrt(n); for(i=2;i<=k;++i) if(n%i==0) break; if(i>sqrt(n)) printf("yes"); else printf("no"); return 0; }

例:根据公式 ,计算圆周率π的值。 #include<cstdio> #include<cmath> using namespace std; int main() { float i,s=0; scanf("%d",&n); for(i=1;i<=n;++i) s+=1/(i*i); printf("%f",sqrt(6*s)); return 0; }

While条件循环格式 例: ,求当s>10时最小的n值。 格式 while(条件) 条件 语句1; while(条件) { 语句1; 语句2; … } 条件 语句 F T ①判断条件(条件表达式)是否成立,如果为真,则执行步骤② ,否则执行步骤④ ②执行语句1或多条语句 ③返回步骤① ④结束循环,执行while语句的后面语句

例: ,求当S>10时最小的n值。 #include<cstdio> #include<cmath> using namespace std; int main() { float i=0,s=0; while(s<=10) ++i; s+=1/i; } printf("%.0f",i); return 0; 练习: 1、s=1+2+3+…+n,求s>100时最小的n值? 2、编程求s=1+1/2+1/3+…+1/100;

例:求两个正整数m和n的最大公约数。 练习: #include<cstdio> using namespace std; int main() { int m,n,r; scanf("%d%d",&m,&n); r=m%n; while(r!=0) m=n; n=r; } printf("%d",n); return 0; 辗转相除法: ①求m/n的余数r; ②若r=0,则n为最大公约数;若r<>0,则执行第③步。 ③将n的值赋给m,将r的值赋给n ④返回重新执行第①步。 练习: 1、输入任意自然数A,B,求A,B的最小公倍数。

例:利用格里高公式求π。 ,直到最后一项的值小于10-6为止。 例:利用格里高公式求π。 ,直到最后一项的值小于10-6为止。 #include<cstdio> using namespace std; int main() { float s=1,i=1,fu=1; while(1/i>=1E-6) i+=2; fu=(-1)*fu; s=s+fu*(1/i); } s=s*4; printf("%f",s); return 0; 练习: 1、小球从100高处自由落下,着地后又弹回高度的一半再落下。求第20次着地时,小球共通过多少路程?

例:输入若干字符,以“$”作为终止符号,计算输入字符的个数。 #include<cstdio> using namespace std; int main() { int s=0; char ch; scanf("%c",&ch); while(ch!='$') s++; } printf("%d",s); return 0;

例:输入一个正整数,输出其位数 练习: #include<cstdio> using namespace std; int main() { int x,num=0; scanf("%d",&x); while(x>0) num++; x/=10; } printf("%d",num); return 0; 练习: 1、输入一个正整数,输出其每位数的数字之和。如输入243,输出和9(注:和9=百位2+十位4+个位3)

do---while条件循环格式 格式 格式 do do { 语句1; 语句1; … while(条件表达式); 语句n;} { 语句1; … 语句n;} while(条件表达式); 语句1…语句n 条件表达式 F T ①执行语句1,…,语句n ②判断条件(布尔表达式)是否成立,如果成立,则执行步骤③ ,如果不成立执行步骤④ ③返回步骤① ④结束循环,执行while语句的下 一条语句

例:求两个正整数m和n的最大公约数。 #include<cstdio> using namespace std; int main() { int m,n,r; scanf("%d%d",&m,&n); do r=m%n; m=n; n=r; } while(r!=0); printf("%d",m); return 0; 辗转相除法: ①求m/n的余数r; ②若r=0,则n为最大公约数;若r<>0,则执行第③步。 ③将n的值赋给m,将r的值赋给n ④返回重新执行第①步。

例:利用格里高公式求π。 ,直到最后一项的值小于10-6为止。 例:利用格里高公式求π。 ,直到最后一项的值小于10-6为止。 #include<cstdio> using namespace std; int main() { float s=1,i=1,fu=1; do i+=2; fu=(-1)*fu; s=s+fu*(1/i); } while(1/i>=1E-6); s=s*4; printf("%f",s); return 0; 练习: 1、s=1+2+3+…+n,求s>100时最小的n值? 2、找出被2、3、5除时余数为1的最小的十个数。

多重循环

例:求1!+2!+3!+…+10!的值。 练习: 1、求s=11+22+33+…+nn 。 #include<cstdio> using namespace std; int main() { int s=0,m,i,j; for(i=1;i<=10;++i) m=1; for(j=1;j<=i;++j) m*=j; s+=m; } printf("%d",s); return 0; 练习: 1、求s=11+22+33+…+nn 。

i每变化一次, j变化一轮 例:观察下面程序中i和j的变化规律 #include<cstdio> #include<cmath> using namespace std; int main(){ int i,j; for(i=1;i<=5;++i) { for(j=1;j<=4;++j) printf("(i:%d,j:%d) ",i,j); printf("\n"); } return 0; i每变化一次, j变化一轮

例:编程输出以下图形 * ** *** **** ***** 练习: 1、编程输出右边的图形。 * ** *** **** ***** #include<cstdio> using namespace std; int main() { int s=0,m,i,j; for(i=1;i<=10;++i) for(j=1;j<=i;++j) printf("*"); printf("\n"); } printf("%d",s); return 0; 练习: 1、编程输出右边的图形。 * ** *** **** *****

例:编程输出九九乘法表 #include<cstdio> using namespace std; int main() { int i,j; for(i=1;i<=9;++i){ for(j=1;j<=i;++j) printf("%d*%d=%d ",i,j,i*j); printf("\n"); } return 0;

例:输入自然数n,输出1~n之间的全部质数 #include<cstdio> #include<cmath> using namespace std; int main(){ int i,j,n,k; scanf("%d",&n); for(i=2;i<=n;++i) { k=sqrt(i); for(j=2;j<=k;++j) if(i%j==0) break; if(j>k) printf("%d ",i); } return 0;