第一次c语言小结

##如何用c语言代码查看系统的大小端

大端方式将高位存放在低地址,小端方式将低位存放在高地址。采用大端方式 进行数据存放符合人类的正常思维,而采用小端方式进行数据存放利于计算机处理

如果将一个16位的整数0x1234存放到一个短整型变量(short:占两字节)中。这个短整型变量在内存中的存储在大小端模式由下表所示。


地址偏移


大端模式


小端模式


0x00


12(OP0)


34(OP1)


0x01


34(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;
}

时间: 2024-10-20 22:04:25

第一次c语言小结的相关文章

第一次C语言程序设计

C语言程序实验报告 实验项目: 1.字符与ASCII码 2.运算符与表达式的应用 3.顺序结构应用程序 4.数学函数的算法描述 5.鸡兔同笼的算法描述 6.确定坐标的算法描述 姓名:张时锋 实验地点:黄金校区第一教学楼514 实验时间:2019.3.9 一.实验目的与要求 实验2.3.3  字符与ASCII码   了解字符在计算机中以ASCII码方式表示: 了解字符的类型.字长其数的表示范围: 熟练使用scanf()输入用户提供的数据 熟练使用printf()输入变量 实验2.3.4  运算符与

c语言小结

一: c语言的编程的基本组成: 1.c程序有函数构成.2.每个函数有函数说明部分和函数体两个部分组成.3.每个c程序总是从main函数开始的.4.书写格式自由.5.每条语言必须以分号结束. c语言中关键字绝大多数是由小写字母构成的字符序列: auto  break case char const continue default do double else enum extern float for goto if   int  long register return short signe

第一次刷leetcode小结

LeetCode 上不会的 Reverse Integer Single Number II 斐波那契数列 非递归算法 Maximum Subarray 维持最大值 Integer to Roman Sort Colors Populating Next Right Pointers in Each Node 怎么样控制一层 Gray Code Generate Parentheses Binary Tree Postorder Traversal Best Time to Buy and Se

黑马程序员——C语言小结------其他数据类型

一.定义指针变量指向sum函数 左边的int:指针变量p指向的函数返回int类型的数据 右边的(int, int):指针变量p指向的函数有2个int类型的形参 void sum(int a, int b) { } int (*p)(int, int); p= sum; (*p)是固定写法,代表指针变量p将来肯定是指向函数 左边的void:指针变量p指向的函数没有返回值 右边的():指针变量p指向的函数没有形参   类比OC中block的定义void (^myBlock) (参数) = ^{} 二

C#语言小结

数据类型--变量与常量--运算符与表达式--语句(if,for)--数组--函数--结构体 一.数据类型:(一)内建类型整型(int short long byte uint ushort ulong sbyte),浮点(double float decimal),布尔(bool),字符(char) 对于整型和浮点型都有个ToString("格式化字符串"): #——任意一个数字.有的话就显示,没有就不显示. 0——必须有一个数字,没有的话就补零. .——小数点 ,——千位分隔. (二

《C++ 并发编程》- 第1章 你好,C++的并发世界

<C++ 并发编程>- 第1章 你好,C++的并发世界 转载自并发编程网 – ifeve.com 本文是<C++ 并发编程>的第一章,感谢人民邮电出版社授权并发编程网发表此文,版权所有,请勿转载.该书将于近期上市. 本章主要内容 何谓并发和多线程 为什么要在应用程序中使用并发和多线程 C++并发支持的发展历程 一个简单的C++多线程程序是什么样的 这是C++用户的振奋时刻.距1998年初始的C++标准发布13年后,C++标准委员会给予程序语言和它的支持库一次重大的变革.新的C++标

从java层到framework到JNI到HAL到kernel的hello 例子

转载自 http://blog.csdn.net/Luoshengyang/article/category/838604/3 在智能手机时代,每个品牌的手机都有自己的个性特点.正是依靠这种与众不同的个性来吸引用户,营造品牌凝聚力和用户忠城度,典型的代表非iphone莫属了.据统计,截止2011年5月,AppStore的应用软件数量达381062个,位居第一,而Android Market的应用软件数量达294738,紧随AppStore后面,并有望在8月份越过AppStore.随着Androi

从培训机构出来

这样能找到工作吗?我感觉悬.(第一次)靠着一份愣头青的冲动,还是顺利找到了.想起来都有些后怕,那是个什么情况,居然有人要. 先说培训出来,全部在雾里,哪有几个懂的,趁着手热就上的感觉吧.我倒是没有培训完全过,培训到听不下去就闪人了,一些框架太繁琐,不如编程思想来的有意思. 有时候看看周围学习的同学,想想他们.有的是逻辑不行硬上的,有的是宅型认真听老师的,有的是来混时间娱乐大众的.偶尔有那么一些大学专业对口,也敢兴趣,看起来比较靠谱的.只是当谈到工作,都是心里没什么底吧.或许可以抱着混一混过去,进

数据革命

人类历史上迄今为止共发生了三次信息载体革命:第一次是语言:第二次是文字:第三次则是数据.语言使人类文明得以建立,文字使文明得以保存和传播,而数据将使文明的演化速度大大加快. 有人把数据比作新的石油,将为我们的数字经济助燃.是的,数据将像以前的水电一样,成为基本的生产要素,变成未来经济发展的新动力,迅猛发展的数据经济逐渐成为你经济发展的新动能. 互联网不仅是关于人与人之间的交流,更多的是关于机器之间的数据交流. 物理世界可以在讯虚拟世界中完整.全面.清晰地"镜像化".通过数据分析,可以深