目录
c语言中的输入输出
scanf和printf函数介绍
scanf函数的使用格式
scanf("控制格式",&变量);
或
scanf("控制格式",&变量1,&变量2...);
scanf的控制格式
变量类型 | 控制格式 | 用法 |
---|---|---|
char | %c | scanf("%c",&a); |
int | %d | scanf("%d",&a); |
unsigned int | %u | scanf("%u",&a); |
long | %ld | scanf("%ld",&a); |
long long | %lld | scanf("%lld",&a); |
float | %f | scanf("%f",&a); |
double | %lf | scanf("%lf",&a); |
char a[10]; | %s | scanf("%s",a); 输入名就是首地址,不需要&符号 |
scanf输入实例
#include <stdio.h>
int main(int argc, const char *argv[])
{
int a,b; //定义a和b的两个变量
int sum; //保存a和b求和的值
printf("请输入a和b两个变量 > ");
//同时输入两个变量
// "%d %d" ,输入的时候两个整数数之间是空格
// "%d,%d" ,输入的时候两个整型数之间是逗号
scanf("%d %d",&a,&b);
sum = a+b; //求和
printf("两个数相加的结果是 = %d\n",sum);//输出结果
return 0;
}
scanf输入字符串实例
#include <stdio.h>
int main(int argc, const char *argv[])
{
char arr[10]; //定义一个名叫arr的数组,有10个成员,每个成员都是char类型;
printf("请输入字符串 > ");
scanf("%s",arr); //arr是数组名,本身就是地址,不需要&取地址符号;
//%s在输入字符串的时候,字符串中不能有空格,%s遇到空格会自动停止;
printf("字符串 = %s\n",arr); //将输入的字符串,原样输出;
return 0;
}
注意:以下是支持空格的写法
scanf("%[^\n]",a); //%[^\n]表示除了\n之外的所有字符都输入的a数组中,
//此时输入的时候遇到空格或者Tab就不会停止了
printf的使用格式
printf("控制格式",变量1,变量2...);
变量类型 | 控制格式 | 使用及含义 |
---|---|---|
char | %c/%d | printf("%c\n",a); |
short | %d | printf("%d\n",a); |
unsigned short | %u | printf("%u\n",a); |
int | %d | 以十进制显示整数 printf("%d\n",a); |
int | %#o | 以8进制显示整数 printf("%#o\n",a); |
int | %#x | 以16进制显示整数 printf("%#x\n",a); |
int | %nd | printf("%4d\n",a);表示a占4个格,不足前面补充空 |
int | %0nd | printf("%04d\n",a);表示a占4个格,不足前面补充0 |
unsigned int | %u | printf("%u\n",a);打印无符号整数 |
long | %ld | printf("%ld\n",a);打印长整数 |
long | %#lo | printf("%lo\n",a);以8进制,打印长整数 |
long | %#lx | printf("%lx\n",a);以16进制,打印长整数 |
unsigned long | %lu | printf("%lu\n",a);打印无符号长整数 |
long long | %lld | printf("%lld\n",a);打印长长整数 |
float | %f | printf("%f\n",a);打印浮点数,保留小数点后6位 |
float | %.2f | printf("%.2f\n",a);打印浮点数,保留小数点后2位 |
float | %e | printf("%e\n",a);打印浮点数,以指数形式显示 |
float | %g | printf("%g\n",a);打印浮点数,保留小数点后有效位 |
double | %lf | printf("%lf\n",a);打印双精度浮点数,保留小数点后6位 |
char a[20] | %s | printf("%s\n",a);打印字符串 |
int * | %p | int a=10; printf("%p\n",&a);打印a变量的地址 |
printf使用实例
#include <stdio.h>
int main(int argc, const char *argv[])
{
int a=10;
printf("%d\n",a); //打印a的值
printf("%-4d\n",a); //%-4d,-是左对齐 4d表示占4个格
printf("%04d\n",a); //%04d表示占4个格,不足补0
printf("&a = %p\n",&a); //打印a变量的地址
return 0;
}
getchar / putchar函数的使用
getchar的使用格式
int getchar(void);
功能:从终端上读取一个字符
参数:无
返回值:读取到的字符
getchar函数使用实例
#include <stdio.h>
int main(int argc, const char *argv[])
{
int a;
//从终端上读取一个字符,赋值给a变量
a = getchar();
//将获取到的字符打印到终端上
printf("a = %c\n",a);
return 0;
}
putchar函数的使用
putchar的使用格式
putchar(int c);
功能:将c字符显示到终端上
参数:
c:被输出的字符的值
putchar使用实例
#include <stdio.h>
int main(int argc, const char *argv[])
{
putchar('A'); //输出字符'A'
putchar('\n');
putchar(65); //输出字符'A'(ascii值)
putchar(10); //这里的10就是'\n'
return 0;
}
gets/puts函数
gets函数的用法
gets(char s[]);
功能:将终端上输入的字符串存放到s对应的字符数组中
在c语言中字符串的格式:
"hello" ===>'h' 'e' 'l' 'l' 'o' '\0'
在上述的字符串中一共有6个字符,'\0'是结束符,隐藏在字符串中。
gets使用实例
#include <stdio.h>
int main(int argc, const char *argv[])
{
char arr[20];
//注意:gets在输入字符串的时候,不会对越界进行检查。
gets(arr); //从终端上向arr数组中读取字符串
printf("arr = %s\n",arr);
return 0;
}
puts函数的用法
puts函数的语法格式
puts(char s[]);
功能:将s字符串中的内容显示到终端上,puts会自动加换行符号。
puts实例
#include <stdio.h>
int main(int argc, const char *argv[])
{
char arr[20];
gets(arr); //从终端上向arr数组中读取字符串
puts(arr);
puts("------------------");
puts(""); //表示输出换行符号 等价于printf("\n"); 或 putchar(10);
return 0;
}
C语言的控制语句
C语言中的程序结构:顺序结构,选择结构,循环结构
if/else选择语句的使用
if 可以认为 "如果",else可以认为"否则";
如果(if)怎样就执行(条件1),否则(else)就执行(条件2)
结构1:
if(条件){ //如果条件成立,执行{}内的语句
语句;
}
结构2:
if(条件){ //如果条件成立,执行语句1,如果条件不成立执行语句2
语句1;
}else{
语句2;
}
结构3:
if(条件1){ //如果条件1成立,执行语句1
语句1;
}else if(条件2){ //如果条件2成立,执行语句2
语句2;
}else{ //如果条件1和条件2都不成立,执行语句3;
语句3;
}
if语句嵌套
if(条件1){
if(条件2){
语句1; //如果条件1成立,条件2也成立执行语句1
}else{
语句2; //如果条件1成立,条件2不成立执行语句2
}
}
if / else使用实例
#include <stdio.h>
int main(int argc, const char *argv[])
{
int a; //定义一个变量a;
printf("请输入您的成绩\n");
scanf("%d",&a); //在终端上获取一个数字;
if(a >100 || a < 0){ // 如果这个数是大于100或者小于0的,则提示错误并退出;
printf("成绩输入错误\n");
return -1;
}
if(a >= 60){ //如果数字大于或等于60,则输出成绩合格;
printf("成绩合格\n");
}else{ //否则输出成绩不合格;
printf("成绩不合格\n");
}
return 0;
}
switch/case语句
switch/case的语法结构
用法1:
switch(变量){
case 常量1://如果变量和常量1相等就执行语句1,常量1不能是变量,不能是表达式;
语句1;
break; //结束switch/case语句
case 常量2:
语句2; //如果变量和常量2相等,执行语句2
break;
default:
语句n; //如果变量和上述的常量都不相等执行default语句
break;
}
用法2:
switch(变量){
case 常量1:
语句1; //如果变量和常量1相等,执行语句1和语句2;因为语句1后没有break;
case 常量2:
语句2; //如果变量和常量2相等就执行语句2
break;
default:
语句n; //如果变量和上述的常量都不相等执行default语句
break;
}
switch / case使用实例
#include <stdio.h>
int main(int argc, const char *argv[])
{
int choose;
printf("请选择你想购买的物品 > ");
scanf("%d",&choose); //选择case后的序号进入相应的分支
switch(choose){
case 1:
printf("购买苹果\n");
break;
case 2:
printf("购买牛奶\n");
break;
case 3:
printf("购买饮料\n");
break;
default:
printf("输入错误,请重新选择\n");
break;
}
return 0;
}
do/while循环
do/while /while循环的语法结构
用法1:
do{
循环体;
}while(循环条件);
//do{}while循环会先执行一遍循环体,在执行循环条件,
//如果循环条件为真继续执行循环体,直到循环条件为假,循环退出
用法2:
while(循环条件){
循环体;
}
//先判断循环条件,如果循环条件为真,执行循环体,
//循环体执行完之后,再次判断循环条件,如果还为真,第二次执行循环体
//依此类推,直到循环条件为假循环退出。
用法3:
while(1){
循环体; //这种循环就是死循环,如果想要退出可以使用break;退出就近一层循环
}
while的使用实例:求1-100中偶数的和;
#include <stdio.h>
int main(int argc, const char *argv[])
{
int i=1
int sum=0;
while(i<=100){
if(i%2==0){ //如果if为真就说明i是偶数,将偶数值加到sum中
sum+=i; //等价于 sum = sum+i;
}
i++; //不管是奇数还是偶数都要让i++
}
printf("sum = %d\n",sum);
return 0;
}
for循环
for循环的语法结构
注意:在for函数中定义的变量为局部变量,作用域为for函数内;
用法1:
for (/* initialize */; /* condition */; /* loop */)
{
/* code */
}
initialize:初始条件
condition:循环条件
loop :变量改变
code:代码区间
for(i=0;i<=100;i++){
循环体;
}
用法2:
for(;;){ //死循环
循环体;
}
for循环使用实例:求1-100的和
#include <stdio.h>
int main(int argc, const char *argv[])
{
int i,sum=0;
for(i=1;i<=100;i++){
sum+=i;
}
printf("sum = %d\n",sum);
return 0;
}
goto语句
goto语句的功能
goto是一个跳转语句,可以在一个函数内向前跳转,也可以向后跳转。
goto的使用实例
#include <stdio.h>
int main(int argc, const char *argv[])
{
printf("1\n");
goto art; //执行goto语句的时候跳转到lable1位置向后执行
printf("2\n");
art: //前面goto直接跳转到这里继续执行;
printf("3\n");
return 0;
}
break的用法
1.用来结束switch、case语句
2.break可以退出就近的一层循环
continue的用法
continue:它是在循环中使用的,用来跳过本次循环,进而执行下一次循环。
return用法
return只有在main函数中有退出程序的功能,习惯上程序执行成功返回0,
失败返回非0。
如果return在其他函数中使用它的功能结束这个函数,并将这个函数的结果返回。
本节完!
本节主要讲述C语言一些常用函数以及循环结构,分支结构 ,控制语句的使用;
第三节(C语言函数+数组)http://t.csdnimg.cn/S3H34
有问题请联系邮箱:z1600306511@163.com