目录
一、输入输出
1.格式符与修饰符
d,i | 十进制整数 | int a=456;printf("%d",a); | 456 |
x,X | 十六进制无符号整数 | int a= 255;printf("%x",a); | ff |
o | 八进制无符号整数 | int a=65;printf("%o",a); | 101 |
u | 不带符号的十进制整数 | int a=211;printf("%u",a); | 211 |
c | 单一字符 | char a=65;printf("%c",a); | A |
s | 字符串 | printf("%s","Hello world") | Hello world |
e,E | 指数形式浮点小数 | float a = 456.789;printf("%e",a); | 4.567890e+2 |
f | 小数形式浮点小数 | float a = 456.789;printf("%f",a); | 456.789000 |
g | e和f中较短的一种 | float a = 456.789;printf("%g",a); | 456.789 |
%% | 百分号本身 | printf("%%"); | % |
2.ASCII表
常用的几个: 0 为空 48为0 65为A 97为a
3.scanf 和 printf
scanf
scanf("format",&var);
format:%[修饰符]格式符
scanf会把数据放到输入缓冲区
返回:成功返回的变量个数
printf
printf(“format”,var);
format :%[修饰符]格式符
返回:成功返回的字符个数
二、流程控制
1.分支语句
1).if else
格式:①if(条件) {语句1;语句2;}
②if(条件) {语句1;语句2;}
else {语句1;语句2;}
③if(条件1) {语句1;语句2;}
else if(条件2) {语句1;语句2;}
else {语句1;语句2;}
例 :
#include <stdio.h> int main() { int a = 1,b = 1; if(a == b) { printf("a == b\n"); } else printf("a != b\n"); return 0; }
输出结果:a ==b
注意:在用if else嵌套时将if else对应 。else默认对应最近的if
if-else练习:
1、 实现级别判断(score)
#include <stdio.h>
int main()
{
int score;
scanf("%d",&score);
if(score<0||score>100)
{
printf("Input error\n");
}
if(score>=90 && score<=100)
{
printf("该学生等级为a\n");
}
if(score>=80 && score<90)
{
printf("该学生等级为b\n");
}
if(score>=70 && score<80)
{
printf("该学生等级为c\n");
}
if(score>=60 && score<70)
{
printf("该学生等级为d\n");
}
if(score<60)
{
printf("该学生等级为e\n");
}
return 0;
}
2、 闰年(leap year)的计算,判断是否为闰年的条件:能被4整除但不能被100整除 或者 能被400整除。
#include <stdio.h>
int main()
{
int year;
scanf("%d",&year);
if(year%4==0 && year%100!=0 || year%400==0)
{
printf("此年为闰年\n");
}else
{
printf("此年不是闰年\n");
}
return 0;
}
2).switch case
switch(expression)
{
case 常整形1: //常整型:3 25 'a' '\n' 2+3
;
;
break;
case 常整形2:
;
;
break;
...
default:
break;
}
switch部分练习:
1、根据输入的字母进行以该字母为开关的动物信息的输出
#include <stdio.h>
int main()
{
int ch;
ch = getchar();
switch(ch)
{
case 'a':
case 'A':
printf("Ant:a small insect which lives in group.\n");
break;
case 'b':
case 'B':
printf("Bee:a small flying insect which dangerous.\n");
break;
case 'c':
case 'C':
printf("Cobra:a type of snake which very dangerous.\n");
break;
case 'd':
case 'D':
printf("Donkey:a lovely animal which has long ears and shourt legs.\n");
break;
default:
printf("Input Error.\n");
break;
}
return 0;
}
2、完成分数分等级
#include <stdio.h>
int main()
{
int s;
scanf("%d",&s);
if(s > 100 || s < 0)
{
printf("Input error.\n");
return 1;
}
switch(s/10)
{
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");
break;
}
return 0;
}
2.循环语句
在循环中要有三个条件
/* 初始化, 循环成立/不成立 ,步长变化*/
①for(初始化;循环成立条件;变化){}
例:int i,sum = 0;
for( i=1 ; i <= 100; i++)
{
sum += i;
}②while(循环成立条件){}
例:int i=0,sum = 0;
while(i <= 100)
{
sum += i;
i++;
}③do{} while(循环成立条件)
例:int i=0,sum = 0;
do
{
sum += i;
i++;
}while(i <= 100);
循环部分练习:
嵌套循环的引入:九九乘法表的输出。
#include <stdio.h>
int main()
{
for(int i=1;i<10;i++)
{
for(int j = 1;j<i+1;j++)
{
printf("%d*%d=%-5d",j,i,i*j);
}
printf("\n");
}
return 0;
}
注:本文是通过听李慧芹老师上课记的笔记,如有理解不到位请多多包涵,也请多多指教。