C语言基础
来源:互联网 发布:手机网络正常微信不能 编辑:程序博客网 时间:2024/06/09 16:42
类型修饰符
从上图我们可以清晰的看到C语言的数据类型结构,当然对于这些类型我们还有一些类型修饰符(或叫限定符)
- short 短型 ,修饰int、double
- long 长型,修饰int、double
- signed 有符号型,修饰int、char
- unsigned 无符号型,修饰int、char
对于类型修饰符需要做如下解释
- 这些修饰符经常用来修饰int型,在修饰int类型时int可以省略;
- short和long会改变int型的长度,不同编译器项长度不相同,但是short长度不大于int,int长度不大于long;
- signed、unsigned不改变类型长度,仅仅表示最高位是否为符号位,unsigned表示大于等于0的正数;
当然有时候我们必须清楚每个类型占用的字节,下表列出常用数据类型占用的存储空间
注意:char类型是最小的数据类型单位,在任何类型的编译器下都是占用1个字节,char类型的变量赋值可以直接赋值等于某个字符也可以赋值为整数(对应的ASCII值);可以使用两个long来修饰一个整形(就是经常使用的8字节的整形long long),但是两个long不能修饰double而且也不存在两个short,否则编译警告;一个浮点型常量如果后面加上f编译器认为它是float类型,否则认为double类型,例如10.0是double类型,10.0f是float类型。
运算符
C语言中有34中运算符,同C#、Java等语言没有太大的区别,这里指列出一些注意事项
- 关系运算符为真就返回1,为假就返回0;在条件语言中非0即真(负数、正数均为真),只有0为假 ;
- C语言可以不保存关系运算符的值 ;
- 逗号表达式最终的值是最后一个表达式的值;
针对上面几点看以下例子
//// main.c// C语言基础//// Created by Kenshin Cui on 14-7-12.// Copyright (c) 2014年 cmjstudio. All rights reserved.//#include <stdio.h>int main(int argc, const char * argv[]) { int a=2>1,b=2<1,c=99,d=0; int f=0,g=0,h=0,e=(f=3,g=4,h=5); a>0;//没有保存运算结果 printf("%d,%d\n",a,b);//结果:1,0 if(c){//可以通过 printf("true.\n"); } if(d){//无法通过 printf("false\n"); } printf("%d\n",e);//结果:5 return 0;}
常用函数
printf()函数
printf()函数用于向标准输出设备输出数据,配合格式符可以完成强大的输出功能,上面的例子中我们已经使用了这个函数。
通常我们的输出不是固定内容而是包含某些变量,此时需要用到格式符,常用格式符如下
对于格式符的输出宽度和浮点数的小数位我们可以进行精确的控制
//// main.c// C语言基础//// Created by Kenshin Cui on 14-7-12.// Copyright (c) 2014年 cmjstudio. All rights reserved.//#include <stdio.h>int main(int argc, const char * argv[]) { int a=16; float b=79.3f; printf("[a=%4d]\n",a); printf("[a=%-4d]\n",a); printf("[b=%10f]\n",b); printf("[b=%.2f]\n",b); printf("[b=%4.2f]\n",b); return 0;}
运行结果如下
从运行结果我们不难发现格式符%前的正数可以设置前端补齐,负数设置后端对齐,如果数据的总长度超过设置的修饰长度,则按照实际长度显示;小数点后的整数用于控制小数点后保留小数位的长度。
scanf()函数
scanf()函数用于从标准输入设备接收输入数据
//// main.c// C语言基础//// Created by Kenshin Cui on 14-7-12.// Copyright (c) 2014年 cmjstudio. All rights reserved.//#include <stdio.h>int main(int argc, const char * argv[]) { int a,b,c; scanf("%d,%d,%d",&a,&b,&c);//此时需要输入:1,2,3 然后回车 printf("a=%d,b=%d,c=%d\n",a,b,c); return 0;}
对于scanf()函数我们需求强调几点
- 参数接收以回车进行结束操作
- 如果需要接收多个参数,多个参数之间的分隔符是任意的,但是如果分隔符是“空格”则实际输入的时候分隔符可以使空格、tab和回车(最后一个回车认为是结束符)
0 0
- c语言基础--编程基础
- C语言基础-基础语法
- C语言基础 上
- c语言基础
- C语言基础
- C语言基础
- C 语言基础
- c语言基础解析
- c语言 指针基础
- 3 C语言基础
- C语言基础
- C语言基础
- C语言基础
- C语言基础1
- C语言基础
- c语言基础
- c语言基础 2
- C语言程序基础
- Android Toolbar Padding
- Android开发笔记(十)常用的图片加工操作
- php生成静态html页面的简单实现
- iOS push 横屏
- JPA的注解的基本使用
- C语言基础
- 二进制转八进制vb6程序
- 从源码上理清springmvc用注解方式使用的流程脉络(上)
- '调用K3组件反审核单据
- -ObjC引起的duplicate symbols
- oracle客户端NLS_LANG的设置
- ORACLE如何使用DBLINK连接另一个数据库[整理]
- 在OpenCV中图像边界扩展 copyMakeBorder 的实现
- spring aop源码分析