C语言的一些小常识

标识符

  1. 正确的标识符

    下列符号中,▁▁▁▁▁ 是正确的 C/C++ 标识符。

    A.2op         B.void        C.short        D.Dfe

标识符的注意事项:

  • ​ 英文大小写字母、数字、下划线( _ )和美元符号( $ ) (可以使用汉字)
  • 不能以数字开头
  • 不允许是关键字(void、short等)
  • 区分大小写,大小写定义的名字是不同的标识符

int类型常量

在C语言中,不正确的int类型的常量是。

A.078     B.0    C.037     D.0xAF

  • C 语言中,整数常量默认是十进制
  • 前缀 0x 或者 0X 把整数常量设定为十六进制整数。是数字 0
  • 在整数常量前面加上前缀 0 ,表示它是八进制整数。是数字 0 (例如题目中已知是八进制,不可出现数字8)

合法浮点数

以下正确的浮点数是

A.  e3         B.   .62      C.   2e4.5       D.   3e

浮点数的表示方式:

  • 十进制数形式(例如:1.234,   0.64    .62可省略0)
  • 指数形式(x E n) (x可为小数,n必须整数)== x*10^n。

指数注意:

  1.  e3在e前要有数字
  2.  2.e4.5在e后必须是整数
  3.  3e后要有数字
  4.   -e2错误,应该为e-2

++x的自增自减运算

若执下面程序时从键盘上输入5,则输出是 6

void main()
{
    int x;
    scanf("%d",&x);
    if(x++>5) printf("%d\n",x);
    else printf("%d\n",x--);
}
  • x++指的是x先自增但返回的是自增前的值
  • 此题输入5,5参与比较,触发else,此时x是6,printf时x--使x=5,但是返回的是x=6的值,所以打印的是6

scanf函数的%m格式控制以及printf函数的自动补零

  • 通过scanf函数的%m格式控制可以指定输入域宽,输入数据域宽(列数),按此宽度截取所需数据;通过printf函数的%0格式控制符,输出数值时指定左面不使用的空位置自动填0

例如:

#include<stdio.h>
int main()
{
    int n,y,r;
    scanf("%4d%2d%2d",&n,&y,&r);//重点//
    printf("year=%d\nmonth=%02d\ndate=%02d\n",n,y,r);//自动补0//
    return 0;
}

strlen的特殊情况

#include <stdio.h>
#include <string.h>
int main()
{
    printf("%d\n", strlen("c:\test\121"))
    return 0;
}

“c:\test\121”: 在该字符串中,\t是转义字符,水平制表,跳到下一个tab的位置;而\121表示ASCII码为121的字符,即:字符’y’ ,故上述字符串实际为:“c: esty”,只有7个有效字符


  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值