悦卓iOS培训寒假篇—企业级C语言开发(DAY-2)
2015-01-12 05:47
253 查看
悦卓iOS培训寒假篇—企业级C语言开发(DAY-2)
开课首先讲解了昨天布置的任务,二进制转换器,具体代码我自己还没有整理好,改天再编辑好,接着讲了今天的要学习的内容,如下:
1.选择结构中的if语句的三种一般形式和它的具体应用,还有if语句的一些使用细节和经验。
2.循环结构中的for语句和while语句的具体应用和他们的一些使用细节和经验。
像往常一样,东哥上课的风格还是,以让我们做demo为主线,发散性地为我们详细讲解知识,在讲解一个个demo的过程中来教我们知识,我总结一下他的上课方式:
1.写介绍知识的demo时边跟着东哥写代码,边理解代码含义。
2.课堂上遇到不懂就立即问,而且问得越多,东哥讲解的越多越广越详细。
3.善于引导同学们思考,例如先让尝试写一下那个demo,之后再让我们跟着写他的代码,并为我们讲解。
4.讲解完每一块知识后,让同学轮流发言讲这一块知识点的其中一个,每个同学讲完后,东哥,再专业地逻辑清晰地表述一遍。我们做完课堂任务后让同学们轮流讲自己遇到的最棘手的问题或者错误。
4.穿插讲一些创业经验,做人道理,编程思维等。
这种在实践中学习,现学现用的上课方式深深地拉近了我和冷冰冰的代码的关系,可以不夸张的说,这两天写的代码比我一学期在学校写的代码还要多!下面,我来大概记录今天所写的demo和布置的任务。
demo1. 计算输入的字符里有多少个大写字母,小写字母,数字
#include <stdio.h>
int main(){
int temp;
int num,alpha,uperCharacter;
while ((temp = getchar())!= '\n') {
if (temp >= '0' && temp <= '9') {
//数字
num++;
}else if (temp >= 65 && temp <= 91){
//大写字母
uperCharacter++;
}else if (temp >= 97 && temp <= 123){
//小写字母
alpha++;
}
}
printf("数字有%d个 大写字母有%d个 小写字母有%d个\n",num,uperCharacter,alpha);
return 0 ;
}
demo2.任意输入一个数,输出其除以十六的余数。10-15用A-F表示。
#include <stdio.h>
int main() {
int num,temp;
scanf("%d",&num);
temp = num % 16;
if (temp >=0 && temp <=9) {
printf("%d",temp);
}else if (temp == 10){
printf("A");
}else if (temp == 11){
printf("B");
}else if (temp == 12){
printf("C");
}else if (temp == 13){
printf("D");
}else if (temp == 14){
printf("E");
}else{
printf("F");
}
}
demo3.1234有多少种不同的排序
#include <stdio.h>
int main(){
int t =0;
for (int i =1; i < 5; i++) {//控制第一个数字
for (int j =1; j < 5; j++) {//控制第二个数字
for (int k =1 ; k < 5; k++) {//控制第三个数字
for (int l =1; l < 5; l++) {//控制第四个数字
if (i != j && i != k && i != l && j != k && j != l && k != l) {
t++;
printf("第%d种%d%d%d%d\n
",t,i,j,k,l);
}
}
}
}
}
}
demo4.求100至1000的水仙花数
#include <stdio.h>
int main(){
int a,b,c;
for (int i=101;i < 1000; i++) {
a = i % 100;
b =(i - a * 100) /10;
c = i - a * 100 - b *10;
if (i == (a*a*a + b*b*b + c*c*c)) {
printf("%d\n",i);
}
}
return 0;
}
demo5.三个数的排序
#include <stdio.h>
int main(){
int a,b,c,d;
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
if (a < b) {
d = a;
a = b;
b = d;
}
if (b < c){
d = b;
b = c;
c = d;
if (a < b) {
d = a;
a = b;
b = d;
}
}
if (a < c){
d = a;
a = c;
c = d;
}
printf("%d%d%d\n",a,b,c);
}
//东哥版三个数排序
#include <stdio.h>
int main(){
int a,b,c;
int temp;
scanf("%d %d %d",&a,&b,&c);
if (a > b) {
temp = a;
a =b;
b = temp;
}
if (b > c) {
temp = b;
b = c;
c = temp;
}
if (a > b) {
temp = a;
a =b;
b = temp;
}
printf("%d%d%d\n",a,b,c);
return 0;
}
demo6. 一元可以兑换成多少个1角,2角,5角
#include <stdio.h>
int main(){
for (int i = 0; i <= 10; i++) {
for (int j = 0; j <= 5; j++) {
for (int k = 0; k <= 2; k++) {
if (i + j*2 + k*5 == 10) {
printf("%d个一角 %d个两角 %d个五角\n",i,j,k);
}
}
}
return 0;
}
demo7.有三次机会输入密码,若都错误,则退出程序
#include <stdio.h>
#include <stdlib.h>
int main(){
int mima=123456;
int i;
printf("请输入密码:");
scanf("%d",&i);
while (i != mima) {
printf("密码错误,请重新输入:");
int k,l;
scanf("%d",&k);
i = k;
l = l + 1;
if (l == 3) {
printf("错误次数已达三次,请明天再试!\n");
exit(EXIT_SUCCESS);
}
}
printf("密码正确\n");
printf("**********************\n");
printf("* 请选择操作
*\n");
printf("* 1.取钱
*\n");
printf("**********************\n");
}
{今日任务}
A. 模拟ATM取钱
1. 程序运行起来提示用户选择操作
*****************
* 请选择操作: *
* 1.输入密码 *
* 2.取钱 *
* 3.返回 *
*****************
2. 选择返回操作,系统自动退出
******************
* 感谢您的使用 *
* 再见 *
******************
3.在没有登录的情况下选择取钱操作
请先登录
*****************
* 请选择操作: *
* 1.输入密码 *
* 2.取钱 *
* 3.返回 *
*****************
4. 选择输入密码按钮
等待用户输入密码,输入密码次数大于3次,系统自动退出
输入密码正确,可以进行下面操作
OK 请继续操作
*****************
* 请选择操作: *
* 1.取钱 *
* 2.退出 *
*****************
5.选择取钱
********************
* 请选择金额 *
* 1. $100 *
* 2. $200 *
* 3. $300 *
* 4. 返回 *
********************
6. 选择金额
*******************
* 取现金额为¥200 *
* 卡内剩余金额为¥800 *
* 按任意键退出 *
*******************
B.预习明天要讲的switch语句
今天做demo的心得:
1.结构化编码对于提高编程效率十分重要,因为所学知识有限,今天做模拟ATM机用了大量嵌套语句,甚至还用了C语言一般不推荐使用的goto语句,写出了自己都难看懂的代码,修改代码花费了大量时间和精力,就像找一个}符号,都花了好久好久
2,多思考算法,多写代码,多总结错误经验,才能成为一个得心应手的程序员!
我做的模拟ATM机代码和运行结果视图如下:
字数限制,请看我的日志。
开课首先讲解了昨天布置的任务,二进制转换器,具体代码我自己还没有整理好,改天再编辑好,接着讲了今天的要学习的内容,如下:
1.选择结构中的if语句的三种一般形式和它的具体应用,还有if语句的一些使用细节和经验。
2.循环结构中的for语句和while语句的具体应用和他们的一些使用细节和经验。
像往常一样,东哥上课的风格还是,以让我们做demo为主线,发散性地为我们详细讲解知识,在讲解一个个demo的过程中来教我们知识,我总结一下他的上课方式:
1.写介绍知识的demo时边跟着东哥写代码,边理解代码含义。
2.课堂上遇到不懂就立即问,而且问得越多,东哥讲解的越多越广越详细。
3.善于引导同学们思考,例如先让尝试写一下那个demo,之后再让我们跟着写他的代码,并为我们讲解。
4.讲解完每一块知识后,让同学轮流发言讲这一块知识点的其中一个,每个同学讲完后,东哥,再专业地逻辑清晰地表述一遍。我们做完课堂任务后让同学们轮流讲自己遇到的最棘手的问题或者错误。
4.穿插讲一些创业经验,做人道理,编程思维等。
这种在实践中学习,现学现用的上课方式深深地拉近了我和冷冰冰的代码的关系,可以不夸张的说,这两天写的代码比我一学期在学校写的代码还要多!下面,我来大概记录今天所写的demo和布置的任务。
demo1. 计算输入的字符里有多少个大写字母,小写字母,数字
#include <stdio.h>
int main(){
int temp;
int num,alpha,uperCharacter;
while ((temp = getchar())!= '\n') {
if (temp >= '0' && temp <= '9') {
//数字
num++;
}else if (temp >= 65 && temp <= 91){
//大写字母
uperCharacter++;
}else if (temp >= 97 && temp <= 123){
//小写字母
alpha++;
}
}
printf("数字有%d个 大写字母有%d个 小写字母有%d个\n",num,uperCharacter,alpha);
return 0 ;
}
demo2.任意输入一个数,输出其除以十六的余数。10-15用A-F表示。
#include <stdio.h>
int main() {
int num,temp;
scanf("%d",&num);
temp = num % 16;
if (temp >=0 && temp <=9) {
printf("%d",temp);
}else if (temp == 10){
printf("A");
}else if (temp == 11){
printf("B");
}else if (temp == 12){
printf("C");
}else if (temp == 13){
printf("D");
}else if (temp == 14){
printf("E");
}else{
printf("F");
}
}
demo3.1234有多少种不同的排序
#include <stdio.h>
int main(){
int t =0;
for (int i =1; i < 5; i++) {//控制第一个数字
for (int j =1; j < 5; j++) {//控制第二个数字
for (int k =1 ; k < 5; k++) {//控制第三个数字
for (int l =1; l < 5; l++) {//控制第四个数字
if (i != j && i != k && i != l && j != k && j != l && k != l) {
t++;
printf("第%d种%d%d%d%d\n
",t,i,j,k,l);
}
}
}
}
}
}
demo4.求100至1000的水仙花数
#include <stdio.h>
int main(){
int a,b,c;
for (int i=101;i < 1000; i++) {
a = i % 100;
b =(i - a * 100) /10;
c = i - a * 100 - b *10;
if (i == (a*a*a + b*b*b + c*c*c)) {
printf("%d\n",i);
}
}
return 0;
}
demo5.三个数的排序
#include <stdio.h>
int main(){
int a,b,c,d;
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
if (a < b) {
d = a;
a = b;
b = d;
}
if (b < c){
d = b;
b = c;
c = d;
if (a < b) {
d = a;
a = b;
b = d;
}
}
if (a < c){
d = a;
a = c;
c = d;
}
printf("%d%d%d\n",a,b,c);
}
//东哥版三个数排序
#include <stdio.h>
int main(){
int a,b,c;
int temp;
scanf("%d %d %d",&a,&b,&c);
if (a > b) {
temp = a;
a =b;
b = temp;
}
if (b > c) {
temp = b;
b = c;
c = temp;
}
if (a > b) {
temp = a;
a =b;
b = temp;
}
printf("%d%d%d\n",a,b,c);
return 0;
}
demo6. 一元可以兑换成多少个1角,2角,5角
#include <stdio.h>
int main(){
for (int i = 0; i <= 10; i++) {
for (int j = 0; j <= 5; j++) {
for (int k = 0; k <= 2; k++) {
if (i + j*2 + k*5 == 10) {
printf("%d个一角 %d个两角 %d个五角\n",i,j,k);
}
}
}
return 0;
}
demo7.有三次机会输入密码,若都错误,则退出程序
#include <stdio.h>
#include <stdlib.h>
int main(){
int mima=123456;
int i;
printf("请输入密码:");
scanf("%d",&i);
while (i != mima) {
printf("密码错误,请重新输入:");
int k,l;
scanf("%d",&k);
i = k;
l = l + 1;
if (l == 3) {
printf("错误次数已达三次,请明天再试!\n");
exit(EXIT_SUCCESS);
}
}
printf("密码正确\n");
printf("**********************\n");
printf("* 请选择操作
*\n");
printf("* 1.取钱
*\n");
printf("**********************\n");
}
{今日任务}
A. 模拟ATM取钱
1. 程序运行起来提示用户选择操作
*****************
* 请选择操作: *
* 1.输入密码 *
* 2.取钱 *
* 3.返回 *
*****************
2. 选择返回操作,系统自动退出
******************
* 感谢您的使用 *
* 再见 *
******************
3.在没有登录的情况下选择取钱操作
请先登录
*****************
* 请选择操作: *
* 1.输入密码 *
* 2.取钱 *
* 3.返回 *
*****************
4. 选择输入密码按钮
等待用户输入密码,输入密码次数大于3次,系统自动退出
输入密码正确,可以进行下面操作
OK 请继续操作
*****************
* 请选择操作: *
* 1.取钱 *
* 2.退出 *
*****************
5.选择取钱
********************
* 请选择金额 *
* 1. $100 *
* 2. $200 *
* 3. $300 *
* 4. 返回 *
********************
6. 选择金额
*******************
* 取现金额为¥200 *
* 卡内剩余金额为¥800 *
* 按任意键退出 *
*******************
B.预习明天要讲的switch语句
今天做demo的心得:
1.结构化编码对于提高编程效率十分重要,因为所学知识有限,今天做模拟ATM机用了大量嵌套语句,甚至还用了C语言一般不推荐使用的goto语句,写出了自己都难看懂的代码,修改代码花费了大量时间和精力,就像找一个}符号,都花了好久好久
2,多思考算法,多写代码,多总结错误经验,才能成为一个得心应手的程序员!
我做的模拟ATM机代码和运行结果视图如下:
字数限制,请看我的日志。
相关文章推荐
- 悦卓iOS培训寒假篇—企业级C语言开发
- [Object-C语言随笔之一]Mac os 下搭建iOS开发环境
- [Object-C语言随笔之一]Mac os 下搭建iOS开发环境
- 【零基础学习iOS开发】【02-C语言】07-基本数据类型
- Delphi for iOS开发指南(16):在iOS客户端应用程序中连接企业级数据库
- 【零基础学习iOS开发】【02-C语言】11-函数的声明和定义
- [Object-C语言随笔之一]Mac os 下搭建iOS开发环境
- iOS培训教程——iOS开发中常见的语句@synthesize obj=_obj详解
- 【零基础学习iOS开发】【02-C语言】06-变量与内存
- 【零基础学习iOS开发】【02-C语言】05-进制
- iOS开发教程——C语言之二进制介绍篇
- 国士工作室 企业级Android软件开发和实战培训专家
- 【零基础学习iOS开发】【02-C语言】01-概述
- iOS 开发实战培训
- iOS开发资源:FlatUIKit、MMDrawerController以及MZDayPicker等
- [Object-C语言随笔之一]Mac os 下搭建iOS开发环境 推荐
- 在ios开发中遇到数据最好采用c语言中的数组存储
- 【零基础学习iOS开发】【02-C语言】03-关键字、标识符、注释
- 【零基础学习iOS开发】【02-C语言】09-流程控制
- iOS培训——block开发注意的事