精华内容
下载资源
问答
  • C语言易错

    2018-10-28 11:15:08
    C语言要求对程序中用到的每一个变量都必须定义其类型 (2)每个数据声明和语句的最后必须有一个分号 (3)在使用输入函数scanf时,不要忘记变量的地址符& (4)输入数据的形式要与要求相符 如scanf...

    (1)忘记定义变量
    C语言要求对程序中用到的每一个变量都必须定义其类型
    (2)每个数据声明和语句的最后必须有一个分号
    (3)在使用输入函数scanf时,不要忘记变量的地址符&
    (4)输入数据的形式要与要求相符
    如scanf("%d%d",&a,&b);
    输入数据3,4(即用逗号隔开)是错误的,数据间应用空格隔开
    scanf("%d,%d",&a,&b)
    输入数据应是3,4,用逗号隔开
    (5)预处理指令后不要加分号
    如:#include<stdio.h>;是错误的
    预处理指令不是C语句,指令后面不应加分号

    展开全文
  • C语言易错知识点总结

    2020-07-22 00:37:58
    本文主要对C语言易错知识点进行了总结。
  • C语言易错

    千次阅读 2019-12-29 17:25:45
    C语言易错题集合 1. 选择题 1,执行下列语句后a和b的值分别为( C )。 int a, b, c; a=b=c=1; ++a|| ++b && ++c; A: 错误 1 B: 2 2 C: 2 1 D: 1 1 2,若希望当A的值为奇数时,表达式的值为”真”,A的值为...

    C语言易错题集合

    1. 选择题

    1,执行下列语句后a和b的值分别为( C )。

    int a, b, c;
    a=b=c=1;
    ++a|| ++b && ++c;
    

    A: 错误 1
    B: 2 2
    C: 2 1
    D: 1 1

    2,若希望当A的值为奇数时,表达式的值为”真”,A的值为偶数时,表达式的值为”假”,则以下不能满足要求的表达式是( C )。

    A: A%2==1 
    B: !(A%2==0)
    C: !(A%2)
    D: A%2

    3,已知 int x=10, y=20, z=30; 以下语句执行后x, y, z的值是( B )。

     if(x>y)
      z=x;x=y;y=z;
    

    A: x=10,y=20,z=30 
    B: x=20,y=30,z=30
    C: x=20,y=30,z=10 
    D: x=20,y=30,z=20

    4,判断char型变量cl是否为小写字母的正确表达式是( D )。

    A: 'a'<=cl<='z'
    B: (cl>=a)&&(cl<=z)
    C: ('a'>=cl)||('z''<=cl)
    D: (cl>='a')&&(cl<='z')

    5,下述程序的输出结果是( C)

    main()
    {
     int a=0,b=0,c=0;
     if(++a>0||++b>0)  ++c;
     printf("%d,%d,%d",a,b,c);
    }
    

    A: 0,0,0
    B: 1,1,1
    C: 1,0,1
    D: 0,1,1,

    6,语句:printf(“%d”,(a=2)&&(b= -2));的输出结果是(D)。

    A: 无输出
    B: 结果不确定
    C: -1
    D: 1

    7, 若有定义:int a=3,b=2,c=1;并有表达式:①a%b,a>b>c,b&&c+1.则表达式值相等的是(C)

    A: ①和②
    B: ②和③
    C: ①和③
    D: ③和④

    8,请阅读以下程序:

    main()
    {
       int a=5,b=0,c=0;
       if(a=b+c) printf(***\n”);
       else      printf(“$$$\n”);
    }
    

    以上程序(D)。

    A: 有语法错不能通过编译
    B: 可以通过编译但不能通过连接
    C: 输出***
    D: 输出$$$

    9,
    w=1,x=2,y=3,z=4,则条件表达式w<x? w:y<z? y:z的值是( D)

    A: 4
    B: 3
    C: 2
    D: 1

    10,以下程序的输出结果是(B)。

    main()
    {int x=2,y=-1,z=2;
     if(x<y)
       if(y<0) z=0;
       else    z+=1;
     printf(%d\n”,z);
    }
    

    A: 3
    B: 2
    C: 1
    D: 0

    11,
    对下述程序,正确的判断是( B)

    main()
    {
     int x,y;
     scanf("%d,%d",&x,&y);
     if(x>y)
      x=y;y=x;
     else
      x++;y++;
     printf("%d,%d",x,y);
    }
    

    A: 有语法错误,不能通过编译
    B: 若输入3和4,则输出4和5
    C: 若输入4和3,则输出3和4
    D: 若输入4和3,则输出4和5

    12,设int x,a,b;则下面if语句中错误的是(B )

    A: if(a=b) x++;
    B: if(a=
    C: if(a-b) x++;
    D: if(x) x++;

    13,以下程序输出结果是(B)

    main( )
    {
     int x=1,y=0,a=0,b=0;
     switch(x)
     {
        case 1:switch(y)
         {
           case 0 :a++;break;
        case 1 :b++;break;
         }
        case 2:a++;b++;break;
        case 3:a++;b++;
     }
     printf("a=%d,b=%d",a,b);
    }
    

    A: a=1,b=0
    B: a=2,b=1
    C: a=1,b=1
    D: a=2,b=2

    14,
    int a=0,b=5;执行表达式++a||++b,a+b后,a,b和表达式的值分别是(C)

    A: 1,5,7
    B: 1,6,7
    C: 1,5,6
    D: 0,5,7

    15 能正确标识“当x的取值在[1,10]或[200,210]范围内当真,否则为假”的表达是(C)

    A: (x>=1)&&(x<=10)&&(x>200)&&(x<=210)
    B: (x>=1)||(x<=10)||(x>=200)||(x<210)
    C: (x>=1)&&(x<=10)||(x>=200)&&(x<=210)
    D: (x>=1)||(x<=10)&&(x>200)||(x<=210)

    16有如下程序段

    int a=14,b=15,x;
    char c=‘A’;
    x=(a&&b)&&(c<‘B’);
    

    执行该程序段后,x的值为(D)。

    A: true
    B: false
    C: 0
    D: 1

    17下面判断正确的是____________。(A)

    A: char *a="china";等价于char *a; a="china";
    B: char str[10]={“china”};等价于char str[10];str[]={“china”};
    C: char *s=”china”;等价于char *s; *s=”china”;
    D: char c[4]=”abc”,d[4]=”abc”;等价于char c[4]=d[4]=”abc”;

    18,若有说明:char *language[]={“FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};
    则表达式*language[1]>*language[3]比较的是______________。(C)

    A: 字符F和字符P
    B: 字符串BASIC和字符串JAVA
    C: 字符B和字符J
    D: 字符串FORTRAN和字符串PASCAL

    19,若有说明:int*p1,*p2,m=5,n;以下程序段正确的是( D)

    A: p1=&m;p2=&p1
    B: p1=&n;scanf("%d",*p1)
    C: scanf("%d",n); *p1=n
    D: p1=&n; *p1=m

    20,若有以下定义和语句:

    int a[]={l,2,3,4,5,6,7,8,9,10},*p=a;
    

    则值为3的表达式是_________.(A)

    A: p+=2,*(p++)
    B: p+=2,*++p
    C: p+=3,*p++
    D: p+=2,++*p

    21,若有以下定义,则赋值正确的是( C)。

    int a ,b , *p;
    float c, *q;
    

    A: p=&c
    B: q=p
    C: p=NULL
    D: q=new int

    22,已有函数max(a,b),为了使函数指针变量p指向函数max,则下面选项中赋值方法正确的是(A)。

    A: p=max
    B: *p=max
    C: p=max(a, b)
    D: *p=max(a, b )

    23,有以下程序

    void  fun(char  *c,int  d)
    {
       *c=*c+1;
       d=d+1;
       printf(%c,%c,”,*c,d)}
    
    main()
    {     char  b=’a’,a=’A’;
          fun(&b,a);
          printf(%c,%c\n”,b,a)}
    

    程序的运行结果是( B )

    A: a,B,B,a
    B: b,B,b,A
    C: a,B,a,B
    D: b,B,B,A

    24, p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是(B)

    A: c=*p1+*p2
    B: p2=c
    C: p1=p2
    D: c=*p1*(*p2)

    25,以下正确的定义语句和赋值语句是_________。(B)

    A: int b[3][5],(*p)[3],(*q)[5];p=b;q=b;
    B: float b[3][5],*p[3];p[0]=b[0];p[2]=*b+4;
    C: double b[3][5],s[5][3],*q;q=b;s=q;
    D: int b[10],*q;char *s;q=b;s=b;

    26,以下程序有错,错误原因是___________。(A)

     main()
     {int *p,i;
    char *q,ch;
    p=&i;   q=&ch;   *p=40;   p=q;}
    

    A: p和q的类型不一致,不能执行p=q;语句
    B: p中存放的是地址值,因此不能执行p=40;语句
    C: q没有指向具体的存储单元,所以*q没有实际意义
    D: q虽然指向了具体的存储单元,但该单元中没有确定的值,所以不能执行p=q; 语句

    27,若有以下定义,则数值不为3的表达式是__________。( C )

    int x[10]={0,1,2,3,4,5,6,7,8,9},*p1;
    

    A: x[3]
    B: p1=x+3,*p1++
    C: p1=x+2,*(p1++)
    D: p1=x+2,*++p1

    28设有以下定义:

    int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
     int (*prt)[3]=a,*p=a[0];
    

    则下列能够正确表达数组元素a[1][2]的表达式是( D )。

    A: *((*prt+1))
    B: *(*(p+5))
    C: (*prt+1)+2
    D: *(*(a+1)+2)

    29
    有以下程序

    #include <stdio.h>
    main()
    {
     int a[5]={2,4,6,8,10},*p,**k;
     p = a;  k = &p;
     printf("%d",*(p++));
     printf("%d\n",**k); 
    }
    

    程序运行后输出结果是(D)

    A: 46
    B: 22
    C: 44
    D: 24

    30 p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是( B)

    A: c=*p1+*p2
    B: p2=c
    C: p1=p2
    D: c=*p1*(*p2)

    31,若有以下定义和语句,则对a数组元素地址的正确引用为________________。©

     int a[2][3], (*p)[3];
     p=a;
    

    A: *(p+2)
    B: p[2]
    C: *(p[1]+1)
    D: (p+1)+2

    32,有以下程序

    #include <stdio.h>
    main()
    {
     int a[5]={2,4,6,8,10},*p,**k;
     p = a;  k = &p;
     printf("%d",*(p++));
     printf("%d\n",**k); 
    }
    

    程序运行后输出结果是( D)

    A: 46
    B: 22
    C: 44
    D: 24

    33,
    已定义以下函数:

    int fun(int *p){return *p;}

      fun函数返回值是 (  C )
    

    A: 一个整数
    B: 形参p的地址值
    C: 形参p中存放的值
    D: 不确定的值

    34,
    有以下程序

    void ss(char *s,char t)
    { while*s)
    { if*s= =t)*s=t-'a'+'A';
    s++;
    }
    }
    main()
    { char str1[100="abcddfefdbd",c='d';
    ss(str1,c); printf("%s\n",str1);
    }
    

    程序运行后的输出结果是(B)

    A: ABCDDEFEDBD
    B: abcDDfefDbD
    C: abcAAfefAbA
    D: Abcddfefdbd

    35,若有以下定义,则数值不为3的表达式是__________。©

     int x[10]={0,1,2,3,4,5,6,7,8,9},*p1;
    

    A: x[3]
    B: p1=x+3,p1++
    C: p1=x+2,
    (p1++)
    D: p1=x+2,*++p1

    36,有如下程序

    main()
    { char s[]="ABCD", *p;
    for(p=s+1; p<s+4; p++)printf("%s",p);}
    

    该程序的输出结果是(D )

    A: ABCDBCDCDD
    B: ABCD
    C: BCD
    D: BCDCDD

    37,对于两个类型相同的指针变量,不能进行( A )运算?

    A: +
    B: -
    C: =
    D: ==

    38,
    main函数的正确说明形式是___________。(B)

    A: main(int argc,char *argv)
    B: main(int abc,char **abv)
    C: main(int argc,char argv)
    D: main(int c,char v[])

    39,下面说明不正确的是(D)

    A: char a[10]="china";
    B: char a[10],*p=a;p="china"
    C: char *a;a="china";
    D: char a[10],*p;p=a="china"

    40, 若要对a进行+ +运算,则a应具有下面说明______(D)

    A: int a[3][2];
    B: char * a [ ]={“12”,”ab”};
    C: char (*a)[3]
    D: int b[10],*a=b;

    41,若有以下程序段,

      int c1=1, c2=2, c3;
        c3=1.0/c2*c1;
    

    则执行后,c3中的值是(A )。

    A: 0
    B: 0.5
    C: 1
    D: 2

    42,设有以下语句:

    struct st{int n; struct st *next;};
    static struct st a[3]={5, &a[1], 7, &a[2], 9, ‘\0},*p;
    p=&a[0];
    

    则表达式( D)的值是6。

    A: p++ ->n 
    B: p->n++
    C: (*p).n++
    D: ++p->n

    43, 下面四个选项中,均是合法整型常量的选项是( A)。

    A: 160 -0xffff 011
    B: -0xcdf 01a 0xe
    C: -01986 012 0668
    D: -0x48a 0x2e5 0x

    44,
    在下列叙述中,错误的一条是( B )。

    A: 全局变量存放在静态存储区中,在程序开始执行时就给全局变量分配存储区,程序执行完才释放
    B: 在有参函数中,形参在整个程序一开始执行时便分配内存单元
    C: 用数组名作函数实参和形参时,应在主调用函数和被调用函数中分别定义数组
    D: 在同一个源文件中,全局变量与局部变量同名时,在局部变量的作用范围内,全局变量不起作用

    45,
    以下程序的输出结果是(B)。

    main()
    {int x=2,y=-1,z=2;
     if(x<y)
       if(y<0) z=0;
       else    z+=1;
     printf(%d\n”,z);
    }
    

    A: 3
    B: 2
    C: 1
    D: 0

    46,设有以下定义和语句,则输出结果是(指针变量占2个字节)( B)。

    struct  date
    {long *cat;2字节)
     struct date *next;2字节)
     double dog;(8字节)
    }too;
    printf(%d”, sizeof(too));
    

    A: 20
    B: 16
    C: 14
    D: 12

    47,若输入1.5、2.5,以下程序的输出结果为(C)。

    main( )
    {int max(float x, float y);
     float a, b;
     int c;
     scanf("%f, %f" , &a, &b);
     c=max(a, b);
     printf("%d", c);
    }
    max(float x, float y)
    {float z;
     z=x>y ? x : y;
     return(z);
    }
    

    A: 1
    B: 2.5
    C: 2
    D: 3

    48,语句while(!E);中的表达式!E等价于( A)

    A: E0
    B: E!=1
    C: E!=0
    D: E
    1

    49,以下程序的输出结果是( )。

    main()
    {
     int x=2,y,z;
     x*=3+1;
     printf("%d,",x++);
     x+=y=z=5;
     printf("%d,",x);
     x=y=z;
     printf("%d\n",x);
    }
    

    A: 8,14,1
    B: 8,14,5
    C: 8,13,5
    D: 9,14,5

    50,以下程序的输出结果是( )。

    main()
    {int i=1,j=3;
     printf("%d,",i++);
      {int i=0;
       i+=j*2;
       printf("%d,%d,",i,j);
      }
     printf("%d,%d\n",i,j);
    }
    

    A: 1,6,3,1,3
    B: 1,6,3,2,3
    C: 1,6,3,6,3
    D: 1,7,3,2,3

    51,fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是(C )

    A: 只写
    B: 追加
    C: 读或读写
    D: 答案b和c都正确

    52,
    下面程序段的运行结果是( A)。

    a=1;b=2;c=2;
    while(a<b<c) {t=a;a=b;b=t;c--;}
    printf("%d, %d, %d", a, b, c);
    

    A: 1,2,0
    B: 2,1,0
    C: 1,2,1
    D: 2,1,1

    53,以下程序的输出结果是(C)。

    #include<stdio.h>
    #include<math.h>
    main()
    {
     int a=1,b=4,c=2;
     float x=10.5, y=4.0, z;
     z=(a+b)/c+sqrt((double)y)*1.2/c+x;
     printf("%f\n", z);
    }
    

    A: 14.000000 
    B: 15.400000
    C: 13.700000 
    D: 14.900000

    54,若要“向文本文件尾增加数据”,在fopen函数中应使用的文件方式是( B )。

    A: “ab+”
    B: “a”
    C: “ab”
    D: “a+”

    55,能正确表示逻辑关系:”a≥10或a≤0”的C语言表达式是( D )。

    A: a>=10 or a<=0 
    B: a>=0|a<=10
    C: a>=10&&a<=0 
    D: a>=10||a<=0

    56,对下述程序,正确的判断是( A )

    main()
    {
     int x,y;
     scanf("%d,%d",&x,&y);
     if(x>y)
      x=y;y=x;
     else
      x++;y++;
     printf("%d,%d",x,y);
    }
    

    A: 有语法错误,不能通过编译
    B: 若输入3和4,则输出4和5
    C: 若输入4和3,则输出3和4
    D: 若输入4和3,则输出4和5

    57,只能向终端输出一个字符的函数是( B )。

    A: printf函数
    B: putchar函数
    C: getchar函数
    D: scanf函数

    58,有如下程序

    main( )
    { float x=2.0,y;
      if(x<0.0) y=0.0;
      else if(x<10.0) y=1.0/x;
           else y=1.0;
      printf(%f\n”,y);
    }
    

    该程序的输出结果是( C )。

    A: 0.000000
    B: 0.250000
    C: 0.500000 
    D: 1.000000

    59,以下程序的输出结果是(D )。

    #include<stdio.h>
    void fun(float *p1,float *p2, float *s)
    {s=(float *)calloc(1, sizeof(float));
     *s=*p1+*(p2++);
    }
    main()
    {float a[2]={1.1, 2.2}, b[2]={10.0, 20.0}, *s=a;
     fun (a, b, s);
     printf(%f\n”, *s);
    }
    

    A: 11.100000 
    B: 12.100000
    C: 21.100000
    D: 1.100000

    60,
    以下选项中,能定义s为合法的结构体变量的是( )。

    A) typedef  struct  abc 
    {
    double a;
    char b[10]}s;        
    
    B) struct
    {
    double  a;
    char b[10]}s;
    C) struct  ABC
    {
    double  a;
    char  b[10]}
    ABC  s;
    
    D) typedef struct ABC
    {
    double  a;
    char  b[10]}
    

    A: 在题目描述中
    B: 在题目描述中
    C: 在题目描述中
    D: 在题目描述中

    61,设有如下定义:

    struct  sk
    {int a; float b;} data, *p;
    

    若有p=&data,则对data中的成员a的正确引用是(B)。

    A: (*p).data.a 
    B: (*p).a 
    C: p->data.a 
    D: p.data.a

    62,
    设有以下说明语句:

    struct lie
    {
     int a;
     float b;
    }st;
    

    则下面叙述中错误的是(C )。

    A: struct是结构类型的关键字
    B: struct lie 是用户定义的结构类型
    C: st是用户定义的结构类型名
    D: a和b都是结构成员名
    ## 判断题
    1,字符指针是指向字符串的指针,可以用字符串常量给字符指针赋值。 对

    2,“==”表示关系运算符等于, “=”表示赋值运算符。 对

    3.,C语言的基本组成单位是语句 错

    4,指针可以赋值,给指针赋值时一定要类型相同,级别一致。 对

    5,C语言的基本组成单位是语句()。 错

    6, C语言中,关键字及编译预处理命令用小写字母书写。 错

    7,指针的类型是它所指向的变量或对象的类型。 对

    8,两个指针在任何情况下相减都是有意义的。 对

    9, 表达式*p++的运算顺序为先自增后取值。 错

    10,指针、数组名、函数名都是地址。 对

    11,一个指针变量的值是一个地址值。 对

    12, 指针可以加上或减去一个int型数,也可以加上一个指针。 错

    13, 通过变量名或地址访问一个变量的方法称为“直接访问”方式。 对

    14,指向同一数组的两个指针p1,p2相减的结果与所指元素的下标相减的结果是相同的。 对

    15 函数指针所指向的是程序代码区。 对

    16, 如果两个指针的类型相同,且均指向同一数组的元素,那么它们之间就可以进行加法运算。 错

    17,语句“int p;”中的p的含义为取值。 错

    18,C语言中,只能用下标来引用数组元素。 错

    19,如果两个指针的类型相同,且均指向同一数组的元素,那么它们之间就可以进行加法运算。 错

    20, C语言中的文件是一种流式文件,读写时均以字符为单位。 对

    21结构体和共用体成员的应用都可能引用最低一级的成员。 对

    22,对于数值型数组来说,可以引用整个数组。 错

    23,用“w”打开的文件只能向该文件写入。若打开的文件不存在,则以指定的文件名建立该文件,若打开的文件已经存在,则将该文件删去,重建一个新文件。 对

    24,将整数值赋值给枚举变量时不需要作强制类型转换。 错

    25,枚举类型是一种基本的数据类型 错

    26, 结构体变量作参数时是地址传递。 错

    27,定义结构体typedef struct one { int a;}s; s a;则a为结构体变量 对

    28,结构体和共用体成员的应用都可能引用最低一级的成员。 对

    29,结构体数组不可以在定义时进行初始化。 错

    30,表达式c=fgetc(fp)!=EOF的功能是从fp指向的文件中读取字符,并判断文件是否结束。 对

    31, 函数原型说明中,省略形参变量或者将形参变量写成其它名称不影响程序的正确性。 对

    32,C语言函数返回类型的默认定义类型是void 错

    ## 函数题
    1,二维数组交换两行值功能函数的实现问题
    现在有一个程序如下,要求完成对应的函数change(),该函数有三个参数,分别是二维数组arr和两个整数u、w,函数功能是要求实现将二维数组arr[][N]中行标为u和w的两行元素交换位置,交换规则是相同的列进行交换。已知该二维数组的行数和列数都为N,注意:行标和列标都从0开始。
    #include <stdio.h>
    #define N 10
    void change(int arr[][N], int u,int w)
    {//请在此完成函数,u,w都是下标}
    将两数组的指针传入change函数,在函数中将两指针对应的数组内容进行调换;

    2,矩阵主对角线的平均值
    题目描述:
    输入一个n*n的矩阵,要求计算对角线的平均值,结果保留两位小数。
    输入:
    输入只有一个用例,第一行表示矩阵行数(也是列数),接下来n行,每行n个整数,表示矩阵的元素。
    输出:
    用一行输出主对角线元素的平均值,结果保留两位小数(四舍五入)。
    根据二维数组的组数和每组个数尽行处理,使其对角数相加。

    3,题目描述

    密码:密码被盗,后果很严重。现在发现安全的密码至少应该满足下面两个条件:

    (1).密码长度大于等于8,且不要超过16。

    (2).密码中的字符应该来自下面“字符类别”中四组中的至少三组。

    这四个字符类别分别为:

    1.大写字母:A,B,C…Z

    2.小写字母:a,b,c…z

    3.数字:0,1,2…9;

    4.特殊符号:~,!,@,#,$,%,^
    使用for循环进行多次判断,使用if语句和sizeof()判断密码位数是否合格,在用fou循环判断每个字符是否合格,用4个初始数当他们有3个非0就合格;

    展开全文
  • c语言易错知识点总结 篇一c语言易错知识 C语言教学中学生容易出错的知识点解析 0引言 C语言是一种很灵活的语言在程序调试过程中常常会 遇到一些难解决的问题一般语法错误计算机能检测出来 而逻辑错误计算机则检测不...
  • C语言易错

    2018-12-10 23:30:00
    C语言易错点 1.每个C语言程序中main函数是有且只有一个的。 2.算法可以没有输入,但必须要有输出。 3.在函数中不可以再定义函数。 4.break可用于循环结构和switch语句。 5.break和continue的区别在于前者是跳出...

    C语言易错点

    1.每个C语言程序中main函数是有且只有一个的。

    2.算法可以没有输入,但必须要有输出。

    3.在函数中不可以再定义函数。

    4.break可用于循环结构和switch语句。

    5.break和continue的区别在于前者是跳出循环,后者是结束本次循环。

    6.逗号的运算符的级别最低。

    7.C语言对字母的大小写是区分明确的。

    8.‘0’的ASCII数值为48,‘a’的ASCII的数值为97,‘A’的ASCII数值为65

    9.字符是可以进行算术运算的,如‘0’- 48 = 0

    10.整型一般是两个字节,字符型是一个字节,双精度一般是四个字节。

    11.求余数运算的要求运算对象只能为整型。除法运算符两边都为整型时,运算结果也为整型,即舍去小数部分。

    12. =为赋值运算符,而==才是等于。

    13.用(int)a可强制转换类型。

    14.++在前先加后用,++在后先用后加。

    15.%d对应整型,%c对应字符,%f对应单精度,%ld对应long int,%lf对应double

    16.scanf输入的格式中的&不能忘。

    17.char a = getchar()是没有参数的,从键盘得到你输入的一个字符(包括回车、空格等字符)给变量a

    18.putchar(y)把字符y输出到屏幕中。

    19.else是与最接近的if且没有else的相组合的。

    20.for循环中必须是两个分号。Do-while中最后while后有分号。

    (持续更新)

    转载于:https://www.cnblogs.com/zw431387/p/10099953.html

    展开全文
  • C语言易错的优先级

    2016-03-05 10:28:44
    C语言易错的优先级

    C语言易错的优先级




    展开全文
  • C语言易错点总结

    2019-11-26 12:43:40
    C语言易错点总结 1.sizeof是关键字而非函数。 2.定义变量时,不能同时对多个变量连续赋初始值。 eg:int m=n=1;//错误 3.scanf语句: "%c"将读入空白符," %c"能忽略空白符。 "%s"遇到空白符读入结束。 ps...
  • C语言易错题集 第四部一、位操作相关 一、位操作相关 执行"int x=1;int y=~x;"语句后,y的值为? A 1 B 0 C -1 D -2 答案: D x = 00000001 ~x = 11111110,~x为负数,负数在计算机中用补码表示,所以符号位不变,...
  • 标题C语言易错知识点集合(一) 输入函数与输出函数
  • 二级C语言易错锦集

    2019-09-26 17:09:30
    二级C语言易错锦集 1、 C语言中的非执行语句不会被编译,不会生成二进制的机器指令 C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件。 用C语言编写的程序称为源程序,它以ASC||代码形式存放...
  • C语言 易错易忘知识点 1.const int a = 10; //常量指针:常量是形容词,指针是名词,以指针为中心的一个偏正结构短语。这样看,常量指针本质是指针,常量修饰它,表示这个指针乃是一个指向常量的指针(变量)。 const int * ...
  • C语言易错题集后续一、共用体相关(union) 一、共用体相关(union) 问题: 共同体变量所占的内存长度等于最长的成员的长度。请问这句话的说法是正确的吗? 答案: 错误 共同体类型的特点 (1)同一共同体内的成员共用...
  • C语言易错语法

    2015-08-01 19:39:22
    C语言基本的语法,且容易忽略的,适合初学者借鉴学习。
  • c语言易错知识.doc

    2020-12-31 14:32:20
    知识点
  • c语言易错清单

    2021-04-02 21:28:15
    1.带符号位右移,符号位带上左边补1
  • C语言易错笔记

    2021-03-29 20:33:04
    字符串不要忘记结尾还有一个0,例如hello,在数组里,长度为6 C语言字符串是以字符数组的形态存在的,不能用运算符对字符串做运算,可以通过数组的方式遍历字符串 char* s = “Hello,world!”; s是一个指针,初始...
  • c语言易错

    千次阅读 2019-12-29 19:18:05
    A,文件由ASCII码字符序列组成,C语言只能读写文本文件 B,文件由二进制数据序列组成,C语言只能读写二进制文件 C,文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件 D,文件由数据流形式组成,可按...
  • c语言易错

    2020-05-07 21:30:26
    1.feof 2.strncat 3.*a[10] 4.const a = 10; a = 9 5.队列,栈空间 6.信号量回调函数 7.strncpy带不带\0 8.if else匹配 9.unsigned long long -1u
  • C语言易错知识

    2020-03-25 11:06:40
    C语言易错知识 !和 ~ 不一样 的优先级低于+、- 移位要防止溢出 无符号数和有符号数混合运算都会被强制转换为无符号数运算 局部变量要初始化 !和 ~ 不一样 ! 是逻辑非符号,~ 是位取反符号。 的优先级低于+、- 比如要...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,005
精华内容 402
关键字:

c语言易错

c语言 订阅