我是靠谱客的博主 欢喜蜻蜓,最近开发中收集的这篇文章主要介绍C语言笔记(二),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、输入输出的作用

输入:将键盘上输入的数据取出来保存到内存中的变量里

输出:将内存中变量里保存的数据取出来输出到终端上


2、格式化输入输出函数

格式化输出函数:printf

格式化输入函数:scanf


3、格式化输出函数

数据类型:

基本数据类型

整型

字符型(char)         char a; scanf(“%c”, &a); printf(“%c”, a);

短整形(short)         short b;scanf(“%hd”, &b);printf(“%hd”, b);

整型(int)                  int c;scanf(“%d”, &c);printf(“%d”, c);

长整型(long)          long d;scanf(“%ld”, &d);printf(“%ld”, d);

浮点型

单精度(float)          float e; scanf(“%f”, &e);printf(“%f”,e);

双精度(double)    double f;scanf(“%lf”, &f);printf(“%lf”, f);

派生数据类型

数组([])

指针(*)

函数

结构体(struct)

公用体(union)

枚举(enum)

空类型(void)

格式化输出函数:printf

作用:将内存中变量里保存的数据取出来输出到终端上

格式:printf(格式控制,输出列表);

注意:格式控制和输出列表必须一一对应

练习:每种基本类型变量定义一个,并初始化,用printf输出该变量的值

#include <stdio.h>

int main(int argc, const char * argv[])

{

    char a='A';

    short b=1;

    int c=2;

    long d=3;

    float e=4.5;

    double f=5.6;

    printf("a=%cn",a);

    printf("b=%hdn",b);

    printf("c=%dn",c);

    printf("d=%ldn",d);

    printf("e=%fn",e);

    printf("f=%lfn",f);  

printf("a%cn b=%hdn c=%dn d=%ldn e=%fn f=%lfn",a,b,c,d,e,f);

return 0;

}


4、格式化输入函数

格式化输入函数:scanf

作用:将键盘上输入的数据取出来保存到内存中的变量里

格式:scanf(格式控制,地址列表);

#include <stdio.h>


int main(int argc, const char *argv[])

{

char a;

short b;

int c;

long d;


float e;

double f;


#if 0

scanf("%c", &a);

scanf("%hd", &b);

scanf("%d", &c);

scanf("%ld", &d);

scanf("%f", &e);

scanf("%lf", &f);

printf("a = %cn", a);

printf("b = %hdn", b);

printf("c = %dn", c);

printf("d = %ldn", d);

printf("e = %fn", e);

printf("f = %lfn", f);

#endif

scanf("%c%hd%d%ld%f%lf", &a, &b, &c, &d, &e, &f);

printf("a = %cnb = %hdnc = %dnd = %ldne = %fnf = %lfn", a, b, c, d, e, f);

return 0;


5、格式化输入输出的整个过程

输入的过程:键盘输入的数据——>缓冲区——>scanf——>内存中的变量

输出的过程:内存中的变量——>printf——>缓冲区——>终端上


6、单个字符的输入输出

单个字符的输入:getchar

单个字符的输出:putchar


7、单个字符的输入

格式:getchar()

作用:从终端上获取一个字符,如果想使用该字符,需要定义一个字符变量包接受函数的返回值

例子:char ch;ch=getchar();


8、单个字符的输出

格式:putchar()

作用:将单个字符输出到终端上

例子:

1:字符常量:putchar('A');

2:字符变量:char ch='A';putchar(ch);

课堂练习:

1、用getchar输入boy,并用putchar输出

#include <stdio.h>

int main(int argc, const char * argv[])

{

    char ch[3];

    int i;

    for (i=0; i<3; i++) {

        ch[i]=getchar();

    }

    for (i=0; i<3; i++) {

        putchar(ch[i]);

    }

    return 0;

}

2、从键盘输入一个大写字母,输出与其对应的小写字母。

#include <stdio.h>

int main(int argc, const char * argv[])

{

    char ch;

    ch=getchar();

    ch+=32;

    putchar(ch);

    return 0;

}

3、编程序,用getchar函数读入两个字符c1和c2,然后分别用putchar函数和printf函数输出这两个字符

思考下面的问题:

1:变量c1和c2应定义成字符型还是整型?或二者皆可?   都可以

2:要求输出c1和c2的ASCII码,应如何处理?用putchar函数还是printf函数      %d  printf

3:整型变量与字符型变量是否在任何情况下都可以相互替代?  不可以 字符型变量为1个字节  整型变量为4个字节

如:char c1,c3;与int c1,c2是否无条件的等价?


9、c语言中的程序结构

种类:

1:顺序

2:分支

3:循环


10、为什么要使用分支?分支的要素?

结婚��

1:暖男 ———————>不用干家务

2:高大帅气男  ———————>不用看韩剧,不用犯花痴

3:成熟富有男  ———————>刷卡

4:都不要          ———————>孤独终老


为什么使用分支:当程序面临选择的时候,每种选择对应不同的操作

分支的要素:

1:面临的选择————>()

2:该选择下的操作——>{}

if(选择){

操作;


11、常见分支的种类

1:if构成的分支

1:if单分支

2:if-else

3:if-else if

4:if-else嵌套

2:switch构成的分支


12、if单分支

格式:

if(表达式){//选择

语句1;//操作

语句2;

……

语句n;

表达式:一般是关系表达式或逻辑表达式

执行过程:当程序执行到if时,首先判断if后面小括号里的表达式是否为真(非0),如果为真执行表达式后面大括号里的操作,如果为假(0),跳过if,执行后面的语句

c语言中的零:

1:数值0

2:字符串结束标识''

3:NULL(指针)  #define NULL(void*)0

例子:

int a=0;

scanf(“%d”,&a);

if(a>5){

printf(“a=%dn”,a)

练习:

1:输入两个不等数,输出较大的数。

#include <stdio.h>


int main(int argc, const char *argv[])

{

//变量的定义

int a = 0;

int b = 0;

//输入

scanf("%d", &a);

scanf("%d", &b);

if (a > b){

printf("a = %dn", a);

}

if (b > a){

printf("b = %dn", b);

}

return 0;

}


2:输入三个不等整数,输出其中值最大数和最小数

#include <stdio.h>


int main(int argc, const char *argv[])

{

//变量的定义

int a = 0;

int b = 0;

int c = 0;

//输入

scanf("%d", &a);

scanf("%d", &b);

scanf("%d", &c);

if ((a > b) && (a > c)){

printf("a = %dn", a);

}

if ((b > a) && (b > c)){

printf("b = %dn", b);

}

if ((c > b) && (c > a)){

printf("c = %dn", c);

}

return 0;


3:输入两个不等数,按从小到大顺序输出

#include <stdio.h>

int main(int argc, const char * argv[])

{

    int a[50],i=0,j,k,s,t,m;

    printf("请输入整数个数:n");

    scanf("%d",&i);

    printf("请输入整数:n");

    for (j=0; j<i; j++) {

        scanf("%d",&a[j]);

    }

    for (k=0; k<i; k++) {

        for (s=0; s<i; s++) {

            if (a[k]>a[s]) {

                t=a[s];

                a[s]=a[k];

                a[k]=t;

            }

        }

    }

    printf("从大到小排序为:n");

    for (m=0; m<i; m++) {

        printf("%d ",a[m]);

    }

    printf("n");

    return 0;

}

4:三个数排序

#include <stdio.h>


int main(int argc, const char *argv[])

{

int a = 0;

int b = 0;

int c = 0;

int tmp = 0;

scanf("%d", &a);

scanf("%d", &b);

scanf("%d", &c);

if (a > b){

tmp = a;

a = b;

b = tmp;

}

if (a > c){

tmp = a;

a = c;

c = tmp;

}

if (b > c){

tmp = b;

b = c;

c = tmp;

}

printf("a = %dn", a);

printf("b = %dn", b);

printf("c = %dn", c);

return 0;



13、if-else

格式:

if(表达式){//选择

语句1;//操作

语句2;

……

语句n;

}else{

语句1;//操作

语句2;

……

语句n;

表达式:一般是关系表达式或逻辑表达式

执行过程:当程序执行到if时,首先判断if后面表达式的值是否为真,如果为真(非0)执行表达式后面大括号里的操作,如果为假则执行else后面大括号里的操作

例子:

int a=0;

scanf(“%d”,&a);

if(a>5){

printf(“a=%dn”,a);

}else{

printf(“a=%dn”,a+5);

练习:

1:输入一个数,输出这个数的绝对值

#include <stdio.h>


int main(int argc, const char *argv[])

{

int a = 0;

scanf("%d", &a);

if (a > 0){

printf("a = %dn", a);

} else {

printf("a = %dn", -a);

}

return 0;


2:输入一个字符,判断是否为大写字母,如果是,将它转换成小写字母后输出,如果不是,原样输出

#include <stdio.h>


int main(int argc, const char *argv[])

{

char ch = 0;

ch = getchar();

if ((ch>='A') && (ch<='Z')){//大写字母

printf("ch = %cn", ch + 32);

} else {//其他字符

printf("ch = %cn", ch);

}

return 0;


3:输入一个数,判断这个数能否同时被3和5整除,可以输出yes,不可以输出no

#include <stdio.h>


int main(int argc, const char *argv[])

{

int num = 0;

scanf("%d", &num);

if ((num%3==0) && (num%5==0)){

printf("Yesn");

} else {

printf("Non");

}

return 0;


4:输入两个整数,打印两数之差的绝对值

#include <stdio.h>


int main(int argc, const char *argv[])

{

int a = 0;

int b = 0;

scanf("%d", &a);

scanf("%d", &b);

if (a > b){

printf("a - b = %dn", a - b);

} else {

printf("b - a = %dn", b - a);

}

return 0;


5:写一个程序,判断某一年是否为闰年

#include <stdio.h>


int main(int argc, const char *argv[])

{

int year = 0;

scanf("%d", &year);

if (((year%4==0) && (year%100!=0)) || (year%400==0)){

printf("Yesn");

} else {

printf("Non");

}

return 0;


14、if-else if

格式:

if(表达式1){

语句1;//操作

语句2;

……

语句n;

}else if(表达式2){

语句1;//操作

语句2;

……

语句n;

}else if(表达式3){

语句1;//操作

语句2;

……

语句n;

……

else {//可有可无

语句1;//操作

语句2;

……

语句n;

表达式:一般是关系表达式或逻辑表达式

执行过程:当程序执行到if时,首先判断if后面表达式1的值是否为真,如果为真(非0)则执行表达式1后面大括号里的操作,如果为假则判断else if后面表达式2的值是否为真,以此类推。

用法:输入三个不等的数,找出值最大和最小的数输出

#include <stdio.h>


int main(int argc, const char *argv[])

{

int a = 0;

int b = 0;

int c = 0;

scanf("%d", &a);

scanf("%d", &b);

scanf("%d", &c);

if ((a>b) && (a>c)){

printf("a = %dn", a);

} else if ((b>a) && (b>c)){

printf("b = %dn", b);

} else {

printf("c = %dn", c);

}

return 0;

1:给出一个百分制成绩,要求输出成绩等级’A’、’B’、’C’、’D’、’E’。90分以上输出’A’,80~89分输出’B’,70~79分输出’C’,60~69分输出’D’,60分以下 输出’E’

#include <stdio.h>


int main(int argc, const char *argv[])

{

int score = 0;

scanf("%d", &score);

if (score >= 90){

printf("An");

} else if ((score>=80) && (score<90)){

printf("Bn");

} else if ((score>=70) && (score<80)){

printf("Cn");

} else if ((score>=60) && (score<70)){

printf("Dn");

} else {

printf("En");

}

return 0;

2:输入两个整数,打印出它们的大小关系

#include <stdio.h>


int main(int argc, const char *argv[])

{

int a = 0;

int b = 0;

scanf("%d", &a);

scanf("%d", &b);

if (a > b){

printf("a > bn");

} else if (a == b){

printf("a == bn");

} else {

printf("a < bn");

}

return 0;


15、if-else嵌套

格式:

if (表达式1){

if (表达式1.1){


} else {


}

} else {

if (表达式2.1){


} else {


}

}


16、switch

格式:

switch(常量表达式){

case 常量1: 表达式1;break;

case 常量2: 表达式2;break;

case 常量3: 表达式3;break;

……

case 常量n: 表达式n;break;

default 表达式n+1;//可有可无

}

执行过程:程序运行到switch时首先计算表达式的值,然后将表达式的值和case后面的常量进行匹配,匹配成功则执行对应常量后面的表达式。

练习:

1:编写一程序实现如下功能:输入1、2、3、4、5、6、7(分别对应星期一至星期日)中的任何一个数,便能输出与之对应的英文名称。如输入1,则输出Monday。

#include <stdio.h>


int main(int argc, const char *argv[])

{

int day = 0;

scanf("%d", &day);

switch (day){

case 1:printf("Mondayn");break;

case 2:printf("星期二n");break;

case 3:printf("星期三n");break;

case 4:printf("星期四n");break;

case 5:printf("Fridayn");break;

case 6:printf("星期六n");break;

case 7:printf("Sundayn");break;

}

return 0;


2:输入一个月数,然后输出对应月份有多少天(不考虑闰年),将天数输 出,注意输入使用scanf输入


课后练习:

1:输入两个数,按从小到大排序后输出。

2:输入三个数,并将三个升序输出

例如:输入:12  5  3 输出:3   5  12

3:输入三个字母,并将它们升序输出

例如:输入:gae 输出:aeg

4:有一个函数,当x<0,则y=-1;当x=0,y=0;当x>0,y=1,;编写一个程序,输入一个x值,输出一个y值。

5:输入三个数,输出最大数和最小数的值。

6:输入一个字符,如果是小写字母,输出其大写字母,如果是大写字母输出其小写字母。

7:输入一个年份,判断是否是闰年

1:能被400整除

2:能被4整除,不能被100整除

8:输入一个字符,判断该字符类型(数字,小写,大写,其他)

9:有一个函数,当x<1,则y=x;当x>=1,y=2x+1;编写一个程序,输入一个x值,输出一个y值。

10:输入一个字符,如果是数字字符,则转换成相应的整形数字输出(输入’6’输出6),如果不是,则输出该字符相邻的三个字符(输入b输出abc)

11:给出一个百分制成绩,要求输出成绩等级,90以上输出‘A’,80~90之间输出‘B’,70~79之间输出‘C’,60~69输出‘D’,60分以下输 出‘E’。

12:输入一个月份输出对应的季度。(输入12,输出4季度)

13:有4个不等整数,要求按由小到大顺序输出

14:输入一个时间,输出它的下一秒时间。

例如输入:20:39:40输出20:39:41


最后

以上就是欢喜蜻蜓为你收集整理的C语言笔记(二)的全部内容,希望文章能够帮你解决C语言笔记(二)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部