C——顺序程序设计

  • 赋值语句

    赋值语句和赋值表达式的区别:

      if((a = b) > 0) t = 0;
  • 字符数据的输入输出

  1. putchar函数

    该函数为字符输出函数,其作用是向终端数出一个字符:putchar(c);
  2. getchar函数

    字符出入函数,从终端输入一个字符。:getchar();

    该函数只能接收一个字符。
  3. printf函数

    格式输出函数,向终端设备输出数据。

    格式:printf("格式控制", 输出表列);
  4. 格式字符
格式 含义 注意
d% 输出十进制整数 %*d:表示忽略当前输出
o% 输出八进制数 不会输出负的
x% 十六进制 不会输出负的
u% 输出无符号十进制整数 -
c% 输出一个字符 -
f% 小数形式 有6位小数
  1. scanf函数

    格式输入函数:scanf(格式控制,地址表列);
  • 顺序结构的程序例子

    大小写转换

      # include<stdio.h>
    void main(){//主函数
    char c1, c2;
    c1 = getchar();
    printf("%c,%d\n", c1, c1);
    c2 = c1 + 32;
    rintf("%c,%d\n", c2, c2);
    }

	#define PAI 3.14
#include<stdio.h>
void (){//主函数
float r, h, l, s, sl, v, vl;
scanf("%f,%f", &r,&h);
l = 2* PAI * r;
s = 2 * PAI * r * r;
//printf("%f",3.0/4);
sl = 4 * PAI * r * r * r;
v = 3.0/4 * PAI * r * r * r;
vl = 1.0/3 * s * h;
printf("圆的周长 = %.2f\n", l);
printf("圆的面积 = %.2f\n", s);
printf("圆求表面积 = %.2f\n", sl);
printf("圆的求体积 = %.2f\n", v);
printf("圆住体积 = %.2f\n", vl);
}

C——选择结构程序设计

  • 关系运算符与关系表达式

    (1) 关系运算符的优先级低于算术运算符;

    (2) 关系运算符的优先级高于赋运算符;

  • 逻辑运算符与逻辑表达式

    !(非)> 算术运算符 > 关系运算符> &&、|| > 赋值运算符:5>3&&8<4-!0 结果为0.

  • if语句例子:两个数比较大小

      #include<stdio.h>
    void main(){
    float a, b, t;
    scanf("%f, %f", &a,&b);
    if(a > b){
    t = a;
    a = b;
    b = t;
    }
    printf("%5.2f, %5.2f\n", a, b);
    }

三个数比较大小

	#include<stdio.h>
void main(){
float a, b, c, t;
scanf("%f, %f, %f", &a,&b,&c);
if(a > b){
t = a;
a = b;
b = t;
}
if(a > c){
t = a;
a = c;
c = t;
}
if(b > c){
t = b;
b = c;
c = t;
}
printf("%5.2f, %5.2f, %5.2f\n", a, b, c);
}
  • switch语句例子

      #include<stdio.h>
    void main(){
    char grade;
    scanf("%c",&grade);
    switch(grade){
    case'A': printf("85-100\n");break;
    case'B': printf("70-84\n");break;
    case'C': printf("60-69\n");break;
    default: printf("error\n");
    }
    }

输出等级

	#include<stdio.h>
void main(){
int grade;
scanf("%d",&grade);
switch(grade/10){
case'10':
case'9': printf("A\n");break;
case'8': printf("B\n");break;
case'7': printf("C\n");break;
default: printf("D\n");
}
}

注意:这里需将成绩范围巧妙的化成一个变量。

判断是否为闰年

	#include<stdio.h>
void main(){
int year, leap;
scanf("%d", &year);
if(year/4 == 0 ){
if(year/100 == 0){
if(year/400 == 0){
leap = 1;
}else{
leap = 0;
}
}else{
leap = 1;
}
}else{
leap = 0;
} if(leap){
printf("%d is a leap year\n",year);
}else{
printf("%d is not a leap year\n", year);
}
}

C——循环控制

  • while实现“当型”循环结构。线判断在执行;

  • 用do...whlie来实现“直到型”循环结构。先执行,在判断;

  • for语句来实现循环;

  • break语句和continue语句

    break语句可以使循环跳出switch结构;break语句不能用于循环语句和switch语句之外的任何其他语句中;

    continue:其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。continue不终止整个循环。

    例子:把100~200直接的不能被3整除的数输出

      #include<stdio.h>
    void main(){
    int n;
    for(n = 100; n <= 200; n++){
    if(n%3 == 0)
    continue;
    printf("%d\n", n);
    }
    printf("\n");
    }

判断是否是素数

	#include<stdio.h>
#include<math.h>
void main(){
int m, i, k;
scanf("%d",&m);
k = sqrt(m);
for(i=2; i<=k; i++)
if(m%i == 0) break;
if(i > k) printf("%d is prime number", m);
else printf("%d is not prime number", m);
}

求100~200之间的全部素数

	#include<stdio.h>
#include<math.h>
void main(){
int m, i, k, n = 0;
for(m = 101; m <= 200 ; m = m + 2){
k = sqrt(m);
for(i=2; i<=k; i++)
if(m%i == 0) break;
if(i >= k+1) {
printf("%d ", m);
n++;
}
if(n%10 == 0)
printf("\n");
}
printf("\n");
}

输出水仙花数

	#include<stdio.h>
#include<math.h>
void main(){
int n, a, b, c;
for(n = 100; n< 1000; n++){
a = n/100;
b = (n%100)/10;
c = ((n%100)%10)/1;
if(a*a*a + b*b*b +c*c*c == n)
printf("%d\n", n);
}
}

输出图案:上三角+倒三角

	#include<stdio.h>
#include<math.h>
void main(){
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=3-i;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*");
printf("\n");
}
for(i=0;i<=2;i++)
{
for(j=0;j<=i+1;j++)
printf(" ");
for(k=0;k<=4-2*i;k++)
printf("*");
printf("\n");
}
}

该规律为:上面四行一个规律,下面三行一个规律,然后用双重for循环来分别控制行和列,即分别控制输出空字符和输出“*”字符。

C语言基础二的更多相关文章

  1. C语言基础二(敲打键盘、寻找资料)

    看过很多资料的人,估计发觉了什么,我上篇的基础一其中一个最致命的错误,没有加return 0; 为什么不加,说真的,我留个坑,所以跳跃性的直接说到函数是如何运用的. 上章说到main就是主入口,根据m ...

  2. Java语言基础二

      1.常量的概述和使用 A:什么是常量 B:Java中常量的分类 常量分类为六种:a.”字符串” b.’字符’ c.整数 d.小数 e.boolern(布尔类型) 返回值为 FALSE和TRUE   ...

  3. C语言基础--二维数组

    二维数组概念: 数组中的每一个元素又是一个数组, 那么这个数组就称之为二维数组,二维数组是特殊的一维数组. 二维数组格式: 元素类型 数组名称[一维数组的个数][每个一维数组的元素个数]; 元素类型 ...

  4. C语言基础:二维数组 分类: iOS学习 c语言基础 2015-06-10 21:42 16人阅读 评论(0) 收藏

    二维数组和一位数组类似. 定义: 数据类型 数组名[行][列]={{ },{ }....}; 定义时,一维(行)的长度可以省略,但是二维(列)的长度不可以省略.但是访问时,一定使用双下标. 二维数组的 ...

  5. C语言基础二维数组

    (1)二位数组的定义int array[n][m],行下标的取值范围是0~n-1,列下标的取值范围是0~m-1,二维数组最大下标元素是array[n-1][m-1]:如定义一个3行4列的数组 int ...

  6. 01C语言基础(二)

    Day07 笔记 指针和函数: 栈 帧: 当函数调用时,系统会在 stack 空间上申请一块内存区域,用来供函数调用,主要存放 形参 和 局部变量(定义在函数内部). 当函数调用结束,这块内存区域自动 ...

  7. Go语言基础二:常用的Go工具命令

    常用的Go工具命令 Go附带了一下有用的命令,这些命令可以简化开发的过程.命令通常包含的IDE中,从而使工具在整个开发环境中保持一致. go run 命令 go run命令实在开发过程中执行的最常见的 ...

  8. R语言基础(二) 可视化基础

    > which.max(apply(x[c("x1","x2","x3")], 1, sum))49 > x$num[which ...

  9. C语言基础二 练习

    指出正确标识符 命名 l 只能由26个英文字母的大小写.10个阿拉伯数字0~9.下划线_组成 l 严格区分大小写,比如test和Test是2个不同的标识符 l 不能以数字开头 l 不可以使用关键字作为 ...

随机推荐

  1. Python3.6全栈开发实例[012]

    12.输出商品列表,用户输入序号,显示用户选中的商品(升级题) 商品列表: goods = [{"name": "电脑", "price": ...

  2. git原理:.git隐藏文件夹介绍

    config 定义项目特有的配置选项description 仅供git web程序使用info/ 包含一个全局排除文件(exclude文件),用于配置不在.gitignore中的忽略模式hooks/ ...

  3. Latex技巧:在图表序号中加入章节号(实现诸如“图1.1.2”这样的图表序号)

    平时看书经常看到"图1.2"这样的编号,含义是第1章的第2幅插图:或者"图1.1.2",含义是第1章第1节的第2幅插图.而在LaTeX中如果直接插图的话只会显示 ...

  4. Hub,bridge,switch and router的区别

    首先说HUB,也就是集线器.它的作用可以简单的理解为将一些机器连接起来组成一个局域网.而交换机(又名交换式集线器)作用与集线器大体相同.但是两者在性能上有区别:集线器采用的式共享带宽的工作方式,而交换 ...

  5. Python之正则表达式与常用模块(Day19)

    一.正则表达式:匹配字符串的一种规则 正则表达式的在线测试工具: http://tool.chinaz.com/regex/ 字符组: 正则 待匹配字符 匹配结果 说明 [0123456789] 8 ...

  6. 【转】JAVA学习笔记----PL/SQL最差实践

    1. 超长的PL/SQL代码   影响:可维护性,性能   症状:    在复杂的企业应用中,存在动辄成百上千行的存储过程或上万行的包.为什么是最差:    太长的PL/SQL代码不利于阅读,第三方工 ...

  7. 流量监控系统---storm集群配置

    1.集群部署的基本流程 集群部署的流程:下载安装包.解压安装包.修改配置文件.分发安装包.启动集群 注意: 所有的集群上都需要配置hosts vi  /etc/hosts 192.168.223.20 ...

  8. hadoop本地运行与集群运行

    开发环境: windows10+伪分布式(虚拟机组成的集群)+IDEA(不需要装插件) 介绍: 本地开发,本地debug,不需要启动集群,不需要在集群启动hdfs yarn 需要准备什么: 1/配置w ...

  9. iOS 快速遍历 效率分析 for loop for in enumerateBlock 适用条件

    test1 简单遍历 结论: 当数组数据量很小 时候 for loop 和 for in 效率不相上下,随着数据量增长for in 快速枚举的优势 明显 如果需要知道 索引可用 enumrateBlo ...

  10. Shell编程之IF条件

    一.if条件语句的知识与实践 1.if条件语句语法(单分支结构) 第一种: if < 条件表达式 > then 指令 fi 第二种: if < 条件表达式 >; then 指令 ...