您的位置:首页 > 编程语言 > C语言/C++

第一次c语言小结

2017-03-07 17:45 267 查看
##如何用c语言代码查看系统的大小端

大端方式将高位存放在低地址,小端方式将低位存放在高地址。采用大端方式 进行数据存放符合人类的正常思维,而采用小端方式进行数据存放利于计算机处理
如果将一个16位的整数0x1234存放到一个短整型变量(short:占两字节)中。这个短整型变量在内存中的存储在大小端模式由下表所示。

地址偏移大端模式小端模式
0x0012(OP0)34(OP1)
0x0134(OP1)12(OP0)
#include<stdio.h>
int main()
{
int short x=0x1122;
char x1,x2;
x1=((char *)&x)[0];
x2=((char *)&x)[1];
printf("%x,%x",x2,x2);
return 0;
}

结果为x1=22,x2=11,的系统为小端,现在的系统大多为小端。
还可以用结构体检测
#include<stdio.h>
int main()
{
union check
{
int i;
char b;
}c;
c.i=1;
printf("%d\n",c.b);
}
结果为1的为小端。

作业:

1

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int a[4]={1,2,3,4};
int* pa=(int*)((int*)a+1);
printf("%d\n",*pa);
return 0;
}
的结果为2,因为此代码为把数组的首地址加1所以*pa就指向了数组的第二个数。
2
回文字符串的检测

#include<stdio.h>
#include<string.h>
int huiwen(char ch[])
{
int a=strlen(ch),b=0;
int c=1;
for(b=0;b<a/2;b++)
{
if(ch[b]!=ch[a-b-1]){
c=0;
break;
}
}
return c;
}

int main()
{
char ch[]="abcdefhjfedcba";
printf("%d\n",huiwen(ch));
return 0;
}
3
字符串中的字母数字的计数

#include<stdio.h>
#include<string.h>
void count(char ch[])
{
int a=strlen(ch);
int i=0,big=0,sml=0,spe=0,num=0;
for(i=0;i<a;i++)
{

if(ch[i]<='z'&&ch[i]>='a')
sml++;
if(ch[i]<='Z'&&ch[i]>='A')
big++;
if(ch[i]<='9'&&ch[i]>='0')
num++;
}
spe=a-big-sml-num;
printf("大写字母有:%d\n",big);
printf("小写字母有:%d\n",sml);
printf("数字有:%d\n",num);
printf("特殊字符有:%d\n",spe);
}

int main()
{
char ch[]="hello1A world.";
count(ch);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 总结1