目标:
掌握使用Linux C程序设计基本结构,并且熟练掌握一种结构程序的设计方法。熟练运用if-else和switch进行选择程序设计,熟悉两者之间的区别与关系,熟练运用for,while,do-while进程循环设计,理解三者之间的区别。
常用输出函数
多类型输出函数:printf("格式控制",输出)
%c:输出单个字符,%d:输出十进制整数,%o:输出八进制整数,%x:输出十六进制整数,%u:输出无符号整数,%f:输出浮点数,%s:输出字符串,%e:输出指数形式浮点数,%g:自动选择浮点数格式,%.2f:位数限制,%-3d:左对齐,(0,0x,0%d,0x%d):前导。
多类型输入函数:scanf("格式控制",地址列表)
1.按指定格式的要求将数据库保存到指定内存空间;
2.当格式控制部分中相邻的两个格式字符均为%c时,输出当时不能使用空格,Tab键或回车键进行区分;
3.格式字符串中出现的普通字符(包括转义字符)都需要原样输出。转义字符将被视为普通字符;
4.允许使用域宽和附加域宽进行输入控制;
5.可以使用[]制定输入范围,一次读取,直到越线为止;
6.尽可能给出输入提示,以便输入操作;
getchar():单个字符
三大基本结构
三大结构主要包括:顺序结构,选择结构,循环结构
1.顺序结构:按语句出现的先后顺序执行语句;
2.选择结构:依据条件判断是否执行相关语句;
3.循环结构:当条件成立,重复执行某些语句;
共同特点
1.均包含一个入口和一个出口;
2.每一个部分代码都有机会被执行;
3.绝对不会存在死循环;
顺序结构
输入三个数求三个数的平均值:
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
double a,b,c;
puts("请输出三个数值");
scanf("%lf%lf%lf",&a,&b,&c);
double avg=(a+b+c)/3;
printf("三个数的平均数为:%.2f",avg);
return 0;
}
选择结构
输入你的成绩看看你的成绩等级:
int _tmain(int argc, _TCHAR* argv[])
{
float score;
int k;
puts("请输入你的成绩");
scanf("%f",&score);
k=(int) (score/10);
if(score>=90)
{
printf("A");
}
else if(score<90&&score>=80)
{
printf("B");
}
else if(score<80&&score>=70)
{
printf("C");
}
else if(score<70&&score>=60)
{
printf("D");
}
else if(score<60)
{
printf("E");
}
return 0;
}
float score;
int k;
puts("请输入你的成绩");
scanf("%f",&score);
k=(int) (score/10);
switch(k){
case 10:
case 9:
printf("A");
break;
case 8:
printf("B");
break;
case 7:
printf("C");
break;
case 6:
printf("D");
break;
default:
printf("E");
}
return 0;
循环结构
输入学生人数,并求出这些学生的平均分:
int _tmain(int argc, _TCHAR* argv[])
{
int num=0, score=0, sum=0,i=1;
printf("请输入学生人数:");
scanf("%d", &num);
while(i<=num){
printf("请输入第%d个学生人数:",i);
scanf("%d", &score);
sum += score;
i++;
}
printf("学员的平均成绩:%.2f",1.0*sum/num);
getchar();
}
break和continue,goto
break作用
1.一个循环中可以包含多个break语句,但是一般只有一个;
2.当循环内部含有switch语句,switch内部的break仅影响该switch语句,而不会影响其它循环;
3.break只能结束当前正在执行的循环,在执行多执行多重循环时需要特别注意;
continue作用
1.continue只能在循环里使用;
2.continue跳过循环体中剩余的语句而执行下一条循环;
goto作用
1.语句标号与goto语句可以不在一个循环内,但必须在同一个函数中;
int _tmain(int argc, _TCHAR* argv[])
{
int i=1,sum=0;
loop:if(i<=10)
{
sum+=i;
i++;
goto loop;
}
printf("sum=%d",sum);
getchar();
}