c语言大一期末复习

发布于:2025-02-11 ⋅ 阅读:(57) ⋅ 点赞:(0)

l例1:输入一行字符,统计其中空格的个数

#include<stdio.h>
int main( )

    char ch;
    int count=0;
    while((ch=getchar())!='\n')
    {
        if(ch==' ')
        {
            count+=1;
        }
    }
    printf("%d\n",count);
     return 0;
}

例2

#include<stdio.h>
int main( )

    double x,y;
    scanf("%lf",&x);
    if(x<-1)
    y=x*x*x-1;
    else if(x<=10)
    y=3*exp(2*x-1)+5;
    else
    y=3*log10(3*x-1)-13;
    printf("y=%lf\n",y);
     return 0;
}

例3 从键盘输入若干整数,以0作为结束标志,找出最大数并输出

#include<stdio.h>
int main( )

    int x,max;
    scanf("%d",&x);
    max=x;
    while(scanf("%d",&x)&&x!=0)
    {
        if(max<x)
        {
            max=x;
        }
    }
    printf("max=%d\n",max);
     return 0;
}

例4#include<stdio.h>
int main( )
{     
    int i,fact,sum;
    sum=0;
    fact=1;
    for(i=1;i<=10;i++)
    {
        fact*=i;
        sum+=fact;
    }
    printf("%d\n",sum);
     return 0;
}

例5判断一个指定的数是否是素数

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

例6 求2个数的最大公约数(用辗转相除法会更简单)

#include<stdio.h>
#include<math.h>


int main( )
{     
    int a,b;
    int min;
    scanf("%d%d",&a,&b);
    min=a>b?b:a;
    int x=0;
    int i;
    for(i=1;i<=min;i++)
    {
        if(a%i==0&&b%i==0)
        {
            x=i;
        }
    }
    printf("%d\n",x);
     return 0;
}

例7

#include<stdio.h>
#include<math.h>

int main( )
{     
    int n;
    scanf("%d",&n);
    int i;
    double sum=0;
    int flat=1;
    for(i=1;i<=n;i++)
    {
        flat*=i;
        sum+=1.0/flat;
    }
    printf("sum=%.2f\n",sum);
     return 0;
}

例8函数 isPrime 的功能是判断参数 m 是否是素数,如果是素数,返回整数 1,不是素数则返回整数 0。请根据已经给出的代码完成该函数。

#include<stdio.h>
#include<math.h>
int isprime(int m)
{
    int i;
    for(i=2;i<m;i++)
    {
        if(m%i==0)
        return 0;
    }
    return 1;
}

int main( )
{     
    int m;
    scanf("%d",&m);
    if(isprime(m)==1)
    {
        printf("is\n");
    }
    else
    {
        printf("no\n");
    }
     return 0;
}

1不添加sign和unsign,默认是有符号的

2实数就是带小数点的数

3编译:生成一段计算机可以读懂的程序,之后才能运行

4dev,*表明未保存

5变量的名字--标识符

6所有的变量在第一次被使用之前应该被赋一次值

7浮点数:带小数点的数

8表达式包括a运算符b算子/操作数/运算数

9

递增递减运算符的算子必须是一个变量,不能用于变量和表达式

10

double可以用来表示整数

11

计算机在外面表现(整数,字符类型,double类型),在计算机内部都是以二进制的形式存在的

12

switch—case,switch为关键字

default为默认入口

此时不用break语句

控制表达式只能是整数型的结果(常量可以是常数,也可以是常数计算的表达式)

13

做调试的手段

a模拟变量的程序运行,写出变量的变化

b在程序适当的地方插入printf,让它把一些变量的值打印给我们看

14

x%n的结果是【0,n-1】的一个整数

15

for(i=0;i<n;i++)循环结束以后,i的值是n

for(i=1;i<=n;i++)循环结束以后,i的值是n+1

16

%s读单词(读到   ,tab,回车为止)

17

scanf(“%7s”,word)告诉scanf最多只能读7个字符,超过7个字符不要

18

要让指针指向一个实际有效的地址

19

八进制整数,以0开头的数

20

main函数的参数表不是空的

21

putchar的输入为int类型

22

shell看到ctrl+D,会在缓冲区填一个-1

看到ctrl+C,会关闭电脑内部

23

printf(“%4.1f”,x);

4表示输出的总宽度为4位(包括小数点和小数部分)

.1表示小数部分保留一位数字

由printf的输出规则:若输出的总宽度>=4,则这个宽度不起限制作用,按数字的实际宽度输出

                                  若输出的总宽度<4,则起限制作用

24

scanf(“%3d%2d”,&a,&b);%3d表示读取一个整数,并且最多读取3位数字

若输入的数字位数不足3位,,则读实际的

25

scanf(“%d%c%d%c”,&a,&b,&c,&d);输入ab之前不能有空格

26

.c是源程序,程序设计语言,不可以执行

.obj是目标程序,机器语言,不可以执行,二进制

.exe是可执行程序,机器语言,可以执行,二进制

27

编辑:程序代码的录入,生成源程序.c

编译:检查错误,翻译生成目标程序.o

连接:与其他目标程序或库连接装配,生成可执行程序.exe(.ob文件在连接阶段与其他.obj文件以及库文件一起组合成.exe)

28

标识符/变量/id号

29

函数是c语言的基本单位

30

8个比特为一个字节

31

字长是计算机一次能处理的二进制数据的位数

32

直接变量:在程序中直接书写的固定值,其值在程序运行中不能被改变,就始终保持这个特定值

33

signed的最高位为符号位

unsigned的最高位为有效位

34

&&>||

35

赋值运算符的优先级顺序最低

36

单目,赋值,条件具有右结合性

37

char shu[]={0};错误

38

0用来标志字符串的结束,但是它本身并不是这个字符串的一部分

计算字符串的长度的时候不包括0

39

由“”括起来的东西叫字符串的字面量/常量

40

char *s="hello";

"hello"位于程序的代码段,它是只读的,如果试图写s【0】,操作系统会有保护机制,让程序崩溃

41

字符可以表达为char*的形式,但char*不一定是字符串


网站公告

今日签到

点亮在社区的每一天
去签到