C语言练习1
来源:互联网 发布:php支付接口开发demo 编辑:程序博客网 时间:2024/06/05 02:12
练习1:编写一个统计空格、制表符、换行符个数的程序。
#include <stdio.h>int main(){ int blanks, tables, newlines; //定义空格计数变量 列表计数变量 行数计数变量 int done = 0; //用于指示从控制台输入是否完成,当接收到EOF(linux里面是ctrl+d)后,done被置1 int lastchar = 0; //用于保存最后一个输入字符,EOF不是输入的最后一个字符 int c; //用于保存控制台发送过来的一个数据 tables = 0; //变量初始化 blanks = 0; newlines = 0; while(done == 0) //while大循环,返回从控制台就收数据 { c = getchar(); //接收一个int型变量 if(c == ' ') //如果是空格,blanks变量+1 ++blanks; if(c == '\t') //如果是制表符,tables变量+1 ++tables; if(c == '\n') //如果是回车,newlines变量+1,表示一行输入结束 ++newlines; if(c == EOF) //如果接收到结束 { if(lastchar != '\n'){//判断EOF上一个字符是不是回车,如果不是回车,则行数加1, //以防只输入一行的情况出现lines=0的情况; //如果上一个字符是回车符,那说明Lines已经+1过了,所以直接跳出if语句,done置1,表示输入结束。 ++newlines; } done = 1; } lastchar = c; } printf("Blanks: %d Tables: %d newlines: %d\n", blanks, tables, newlines); //打印}
总结一
1
前置自增 ++i 的用法
a = ++i 相当于 i = i + 1; a = i;比如:int i = 0;int a = ++i; //则a = 1, i = 1;
2
后置自增 i++ 的用法
a = i++ 相当于 a = i; i = i + 1;比如:int i = 0;int a = i++; //则a = 0; i = 1
3
前置自减 –i 的用法
a = --i 相当于 i = i - 1; a = i;比如:int i = 10;int a = --i; //则a = 9, i = 9;
4
后置自减 i– 的用法
a = i-- 相当于 a = i; i = i - 1;比如:int i = 10;int a = i--; //则a = 10; i = 9;
5
i++和++i单独使用
i++和++i单独使用时都表示i=i+1,区别是++i先加1而i++先幅值,++i速度要快一点。
总结二
1
getchar()函数
函数getchar()从标准输入 stdin 获取一个字符(一个无符号字符)。程序一:#include <stdio.h>int main(){ int a; a = getchar(); putchar(a); putchar('\n'); return 0;}程序二:#include <stdio.h>int main(){ char a; a = getchar(); putchar(a); putchar('\n'); return 0;}
程序一执行结果:aa程序一执行结果:aa
总结二
掌握这种程序思想:while(循环标志){ if() 内部控制循环标志位改变,中断while循环}
0 0
- c语言练习1
- c语言练习1
- C语言练习(1)
- C语言练习1
- C语言练习1
- C语言练习1
- C语言练习1
- C语言数组练习1
- C语言指针练习1
- C语言函数练习1
- C语言字符串练习1
- C语言结构练习1
- C语言入门练习1
- C语言问题练习1
- 自学C语言练习1
- c语言入门练习1
- C语言练习(1)
- C语言小练习 1
- AAVCAssembler::submitAccessUnit
- 7.1JAVA异常处理
- java中判断字符串是否为数字的方法
- 什么是视频结构化?
- 【九度OJ】题目1163:素数 解题报告
- C语言练习1
- sqoop连接mysql出现 Communications link failure
- 文本处理工具
- C++中的深浅拷贝和写时拷贝
- 单向链表的基本操作
- retrofit简单的网络请求
- [Aha]城市地图
- android Json解析
- 怎么加载so包