首页 > 代码库 > C语言复习2
C语言复习2
01-while01
break 跳出循环
continue 跳出本次循环,进入下一次循环
02-while02
计算1+2+3+...+n的和
Q1:unsigned的作用是什么?在一般的计算中感觉不到其作用
A.函数声明与定义
函数的声明只要写在调用前,可以在任意地方任意次声明。
#include <stdio.h>
int main(int argc, const char * argv[]) {
void test();
void test();
void test();
void test();
void test();
test();
return 0;
}
void test()
{
printf("Test\n");
}
int main(int argc, const char * argv[]) {
void test();
void test();
void test();
void test();
void test();
test();
return 0;
}
void test()
{
printf("Test\n");
}
只有声明没有实现的函数,会出现链接错误
B.#include
#include相当于复制了引入文件中的内容
#include <stdio.h>
int main(int argc, const char * argv[]) {
#include "t.txt"
return 0;
}
int main(int argc, const char * argv[]) {
#include "t.txt"
return 0;
}
C.多文件项目开发
使用.h头文件和.c源代码配合使用,让主源码#include 头文件,取得函数声明
在同一个目录下地源文件中的函数不能冲突,否则会发生链接错误
D.printf
printf返回字符串的长度,包括转义字符
E.进制
二进制
int number = 0B1010;
没有二进制的输出格式
八进制
int number2 = 07613;
printf("number2 = %o\n", number2);
printf("number2 = %o\n", number2);
十六进制
int number3 = 0X9FEA3;
printf("number3 = %x\n", number3);
printf("number3 = %x\n", number3);
可以使用不同的格式输出,编译器会自动转换进制
F.类型说明符(只能修饰int)
short int: = short 2字节
long int: long 8字节 = long 输出占位符 %ld
signed int: = signed 默认 带符号位
unsigned int := unsigned 去除符号位,用以存放数值
long long int:= long long 在64位系统中还是8字节,跟long没有区别 输出占位符 %lld
int s = sizeof (long long int);
printf("s = %d\n", s);
printf("s = %d\n", s);
G.位运算
1.& 按位与
2.| 按位或
3.^ 按位抑或
同类型的位运算复合运算符合交换律
4.~ 按位取反
注意在64位系统中, int占8字节,且以补码形式存在,是在此条件下取反
5.<<n 左移
能够按照实际数值进行位移,数值最高位消去,且符号位不会改变
相当于乘以2的n次方
6.>> 右移
使用^交换两个变量值
int l = 10;
int m = 20;
l = l ^ m;
m = l ^ m;
l = l ^ m;
printf("l = %d, m = %d\n", l , m);
int m = 20;
l = l ^ m;
m = l ^ m;
l = l ^ m;
printf("l = %d, m = %d\n", l , m);
利用位运算符计算奇偶
普通方法
a%2==0?printf("偶数!\n"):printf("奇数\n”);
位运算
a&1?printf("奇数!\n"):printf("偶数\n");
编写二进制输出函数
H.char
汉字占用3个字节,不能用char
I.数组
特殊的声明、定义方法
int ages[5] = {[2] = 4, [4] = 1};
int count = 5;
int ages[count] ;
错误:
int d[count] = {1,2,3,4,5};
定义的同时赋值,数组大小必须使用常量
数组作为函数参数的时候,可以省略数组长度
数组作为函数参数是指针传递
作为形参的数组在使用sizeof 的时候,数组作为指针存在,长度是8字节
C语言复习2
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。