c语言期末复习笔记

c语言的三种基本结构:顺序 选择 循环

1,若 printf 语句有错误,常见考点有1个:格式声明符号要与后面欲输出的变量的类型一致,
   此题%d与sum的类型long int不一致,应改为%ld(详见p69-78);
2,scanf("%d",n);  //若scanf语句有错误,常见考点有两个:
 (1)格式声明符号要与后面欲赋值的变量的类型一致,此题%d与n的类型int一致(详见p69-78);
 (2)变量的前面要有地址符号&
3,scanf(“%d”,&a[j]),给数组赋值的时候必须是写成这样的
  scanf(“%d”,&a);这个就不行``
`4, /若定义变量的语句有错误,常见考点有两个:(1)变量的类型,`
  `(2)在定义用于存放运算结果的变量时,一定要赋初值。一般赋值0或者循环初值。`

`5,break与continue的区别 p128. 在改错题中若错误出现在break语句,`
`则通常是将break换为continue;`
`反之,若错误出现在continue,通常是将其换为break` 

`下面程序的功能是在a数组中查找与x值相同的元素所在位置,请填空。`
 `#include <stdio.h>`
 `void  main()`
 `{ int a[10],i,x;`
     printf(“input 10 integers:”);
   for(i=0;i<10;i++) 
        scanf(“%d”,&a[i]);
     printf(“input the number you want to find x:”); 
        scanf(“%d”,&x);
     for(i=0;i<10;i++)
     if(  x==a[i]   )
     break;
     if(   i<10    ) 
     printf(“the pos of x is:%d\n”,i);

     else printf(“can not find x!\n”);

}

计算机中数据的保存都是以补码 的形式来保存的

常量-1在计算机中表示为补码1111111111111111,用十六进制显示这个数时,1不会被解释为符号位,而是与右边 的其他位转换为十六进制数

长整型数32768在计算机内的表示为1000000000000000,以一般整型输出时恰好是-32768的补码

处理二进制的时候,最高位为1表示负数,0表正数

**变量c****是字符型,可用字符常量为它赋值。字符常量必须用单引号括起来,所以B****是错误的;在单引号或双引号内的反斜线'\'****用于表示转义字符,A****选项在无引号时使用反斜线是错误的;C****选项单引号内出现反斜线表示它与后面的数字组成一个转义字符;单引号只允许括起一个字符,D****选项在单引号内出现4****个字符,是错误的。**

**由于条件运算符的结合性是从右向左**

c语言中最简单的数据类型包括整型、实型、字符型

一维数组的定义、初始化

类型符 数组名 [常量表达式]

类型符是指数组中数组元素的类型;数组名要符合标识符命名规则;常量表达式是指数组的长度(数组中包含元素的个数),其值只能是整数,不可以是变量,而且从1开始计数。

int a[10]表示定义了一个包含10个整型数据的数组a,数组元素的逻辑地址下标范围为0~9,即a[0] 表示组中第1个元素; a[1] 表示组中第2个元素; a[2] 表示组中第3个元素; ......;a[9] 表示组中第10个元素.

C语言中函数返回值的类型是由 A 决定的.

A)函数定义时指定的类型

若干个字符构成字符串

在C语言中,用单引号标识字符;用双引号标识字符串

= 是赋值符号,用于将右边的值赋给左边的变量;== 是关系符号,用来判断两个值是否相等 。改错中if后面表达式中的赋值符号是常见的考点。
输入两个整数,求出其平方和
#include <stdio.h>
int main()
{
    int a,b,s;
    printf("请输入您要输入的a,b,请以空格隔开\n");
    scanf("%d %d",&a,&b);
    s = a*a+b*b;
    printf("两个数字的平方和是%d",s);
    return0;
}
输入一个圆的半径,当r>=0时候,计算周长和面积,输出提示信息
#include<stdio.h>
#define PI 3.14
int main()
{
    float r,c,s;
    printf("请输入圆的半径\n");
    scanf("%f",&r);
    if(r>=0)
    {
        s = PI*r*r;
        c = 2*PI*r;
        printf("圆的周长是:%f,圆的面积是:%f",c,r);
        
    }
    else
        printf("您输入的信息有误,请重新输入!!!\n");
return 0;
}
从键盘输入10个整数,统计其中的正数、负数、和0的个数,
#include<stdio.h>
int main(void)
{
    int a=b=c=0;
    int arr[10]={0};
    printf("请输入十个数\n");
    for(int i = 0;i<10;i++)
    {
        scanf("%d",&arr[i]);
    }
    for(int i= 0;i<10;i++)
    {
        if(arr[i] == 0)
        a++;
        if(arr[i] > 0)
        b++;
        else
        c++;
    }
    printf("正数共有%d个,负数共有%d个,0共有%d个",b,c,a);
    

    return 0;
}
求出1--10之间所有数的乘积
#include<stdio.h>
int main()
{
    long int i = 0;
    for(int j = 0; j<10;j++)
    {
        i = i * j;
    }
    printf("1-10之间的数的和是:%ld",i);
    return 0;
}
编程求出1--100之间的奇数的和,并且求出他们的平均数
#include<stdio.h>
int main()
{
    long int sum = 1;
    double ave = 0;
    int j = 1;
    for(int i = 1; i < 100 ; i+=2)
    {
        sum += i;
        j++;
    }
    ave = (float)sum/j;
    printf("和为:%ld,平均值为:%lf",sum,ave);
    return 0;
}
有一个分数序列:2/1,3/2,5/3,8/5,13/8,……编程求这个序列的前20项之和
#include<stdio.h>
int main()
{
    float sum = 0;
    float a = 2, b =1;
    for(int i = 0; i < 20 ; i++)
    {
        sum += a/b;
        a += b;
        b += 1;
    }
    printf("序列的前20项的和为:%lf",sum);
    return 0;
}

11.从键盘输入两个数,求出其最大值(要求使用函数完成求最大值,并在主函数中调用该函数)     
#include <stdio.h>
int MAX(int *a,int*b)
{
    if(*a > *b)
    return *a;
    else
    return *b;
}
int main()
{
    int a , b;
    printf("请输入想要比较的两个数:请以空格隔开\n");
    scanf("%d %d",&a,&b);
    int *p,*q;
    p = &a;
    q = &b;
    int max = MAX(p,q);
    printf("最大值是:%d",max);
    return 0;
    
}

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值