Linux C基本结构

程序设计基本三大结构

目标

输入输出格式化

顺序结构、选择结构、循环结构

break和continue

goto结构

常用的输出函数

多种类型数据输出函数printf();使用格式:printf(格式控制,输出列表)

%c:输出单个字符(linux C:整数%256-》ASCII);

%d:输出十进制整数;

%o:输出八进制整数;

%x:输出十六进制整数;

%u:输出无符号整数;

%s:输出字符串;

%f:输出浮点数;

%e:输出指数形式浮点数;

%g:自动选择浮点数格式;

位数限制:%.2f;

前导0、0x:0%d、0x%d;

左对齐:%-3d;

常用的输入函数:

多种类型数据输入函数scanf();格式为:scanf(格式控制,地址列表);在scanf()的格式控制字符串里不安排任何分隔符,只能使用空格、tab键、回车键(Enter)作为数据输入的分隔符;还可以使用方括号([])来指定输入字符的范围。

printf函数为用户提供输入信息:

#include<stdio.h>

main()

{

int a,b;

LOOP:printf("请输入数字:a(int),b(int):\n");

scanf("%d%d",&a,&b);

printf("a=%d,b=%d\n",a,b);

goto LOOP;

}

示例如下:

Linux C基本结构

getchar()表示单个字符;

三大基本结构

顺序结构:按照语句出现的先后顺序依次执行;

选择结构:根据条件判断是否执行相关语句;

循环结构:当条件成立时重复执行某些语句;

选择结构:

if语句:                                 if-else语句:

Linux C基本结构

switch语句:

Linux C基本结构

例子:输入一个人的成绩,判断其成绩等级(A,B,C,D,E);

#include<stdio.h>

main(){

float score;

int k;

scanf("%f",&score);

k=(int)(score/10);

switch(k){

case 10:

case 9:printf("你的成绩等级为:A\n");  break;
case 8:printf("你的成绩等级为:B\n");break;
case 7:printf("你的成绩等级为:C\n");break;
case 6:printf("你的成绩等级为:D\n");break;
default:printf("你的成绩等级为:E\n");

}
}
Linux C基本结构
例子:计算器程序。用户输入运算符和四则运算符,输出计算结果。

#include<stdio.h>

main(){
float a,b;
char c;

LOOP:printf("请输入计算数字:a+(-,*,/)b\n");
scanf("%f%c%f",&a,&c,&b);
switch(c){
case '+':printf("%f\n",a+b);break;
case '-':printf("%f\n",a-b);break;
case '*':printf("%f\n",a*b);break;
case '/':printf("%f\n",a/b);break;
default:printf("输入的格式不对\n");
goto LOOP;

}
}

Linux C基本结构

循环结构

循环四要素:
起点——初始值          做什么事——循环体         终点——结束值          起点到终点的变化——步进控制值
循环的语句:
while语句:     先执行,后判断 ;表达式:while(表达式)循环体语句
Linux C基本结构

do-while语句:先执行,后判断 ;表达式:do 循环体 while(表达式);
Linux C基本结构Linux C基本结构
for语句: 先执行,后判断 ;表达式:for(表达式1;表达式2;表达式3) 循环体语句;
Linux C基本结构Linux C基本结构

goto语句:是一种无条件的转移语句,可以控制程序流程转向到指定名称标号的地方。语句格式为:
goto语句标号;
.........
标号名:语句;
其中,goto为保留字。
例如一下几个图片就是goto的实例:

Linux C基本结构Linux C基本结构Linux C基本结构


break和continue
continue只能在循环中使用;continue可以跳过循环体中语句执行下一条语句。

break一个循环体可以包含多个break;break与switch使用时break只能影响switch不会影响循环;break还表示结束当前的循环。

循环嵌套:
九九乘法表
#include<stdio.h>
main(){
int i , j;

int num;
for(i=1;i<10;1++){
for(j=1;j<10;j++){
num=i*j;
printf("%d*%d=%-4d",i,j,num);
}
printf(“\n”);

}

}

Linux C基本结构