本文目录一览:
- 1、C语言分析
- 2、C语言程序分析,输入一个数,确定是几位数,输出每一位和按逆序输出每一位
- 3、c语言,分析图中程序的意义?
- 4、求一个c语言词法分析,输入输出如图
- 5、BMP图片分析和显示 c语言 压缩,解压缩
- 6、C语言,图片里的选择题,求详细解析。
C语言分析
这个是switch的用法问题,,0 的话 没有就执行default后面的语句 输出0
1 的话 执行case 1:后面的所有语句 这个地方因为没break 那就都执行 输出111
2的话 执行case 2: 后面的所有语句 这个地方因为没break 那就都执行 输出22
所以输出的是011122
下面是我给你找的基础知识 switch的语法
C语言程序分析,输入一个数,确定是几位数,输出每一位和按逆序输出每一位
#include stdio.h
#include string.h
char *mFun(char *p, int len) //颠倒数字的函数
{
char sp;
for(int i=0;ilen/2;i++)
{
sp = p[i];
p[i] = p[len-i-1];
p[len-i-1] = sp;
}
return p;
}
char* qling(char *p, int len) //从首位查找非0字符,并且返回非0首地址
{
if(p[0] == '0')//如果输入的字符串首位没有0则不运行下面的算法直接跳过
{
for(int i=0;ilen;i++)
{
if((p[i] == '0')
(p[i+1] != '0'))
{
return p[i+1];
}
}
}
return 0;
}
int main(int argc, char* argv[])
{
char sbuf[255]={0};
printf("Put Number:");
gets(sbuf); //输入数字
int len = strlen(sbuf); //调用函数算出输入字符串的长度
char *p = qling(sbuf, len);
if(p == 0)p = sbuf; //如果返回为0,则表示首位到最高位没有0
len = strlen(p);
printf("位数是%d位:%s\n",len,mFun(p,len)); //调用函数,颠倒数字位置,返回首地址,并且输出
getchar();
return 0;
}
c语言,分析图中程序的意义?
i++;是C语言中采用的一种运算符,其表示i增1,这里等价i=i+1;按照题目要求计算1+2+……+100的和,那么每次循环i应当加1,再累加到sum中。在i超过100后完成了累加,应当退出循环,输出运算结果。
推荐了解一下i++与++i的异同
求一个c语言词法分析,输入输出如图
首先做一个字符串数组
char *keyword[] 里面放入所有数据类型关键字,int,double什么的。
然后一行一行处理,找里面的关键字,找到以后顺序往后找,将空格,逗号,等号作为间隔符。将分号作为结束标志。
等号后面到下一个逗号或者分号之间的都忽略掉,如果有括号(大中小),到下一个括号之间的都忽略掉。
如果是long,unsigned,继续分析后面是不是int。
基本就ok了。你要我帮你写源码的话,没那时间。
BMP图片分析和显示 c语言 压缩,解压缩
bmp是一种简单的图片格式,但要解释清楚也不是件容易的事。
一个bmp文件可以分为4个部分,第一部分是文件信息,第二部分是图片信息,第三部分是调色板,第四部分就是图片的数据了。
第一部分主要是说,我就是bmp格式的文件,我的大小是多少,我的图片数据存在什么地方。
第二部分主要是说,我这张图片宽度和长度分别是多少,颜色深度有几位,有没有压缩等信息。
颜色深度8bit 4bit 1bit的意思是说,大自然存在无穷的颜色,但计算机的存储是有限的,我只能每个像素点保存1bit的信息,也就是说,我只能保存两种颜色的信息。如果每个像素点保存4bit的信息,我就可以保存16种颜色了。如果每个像素点保存8bit的信息,我就可以保存256种颜色了。由此可见bit越长可以保存的颜色种类就越多。
第三部分要根据第二部分的来表示的。上面说了如果颜色深度是8bit,就可以保存256种颜色了,但具体是哪种颜色呢,这就要靠第三部分调色板来告诉你了,根据不同的bit长度,调色板的长度也不同,比如1bit,此部分就是有两种颜色,4bit就是16种颜色,8bit就是256种颜色,16bit时就就不再告诉大家各种颜色是什么了,因为颜色种类太多了。这时这部分反而只有三个数据,分别告诉大家,三个颜色分别在一个16bit数据的具体位置。如果图像深度是24bit,这部分就没有了,因为计算机只能显示24Bit的颜色。
第四部分就是存储具体图像数据的地方了,这个地方告诉我们,图片中的每一个像素点的颜色是什么。但是对于8bit 4bit 1bit的图像,他存的只是索引,告诉我们这个地方的颜色就是调色板里的第几个颜色。对于24bit的颜色就是保存颜色的身。而16位的就比较复杂,要通过一些位移运算来确定具体是什么颜色。
具体代码,网上多的是。我就不提供了。
C语言,图片里的选择题,求详细解析。
该字符串常量"\123\n4567"占内存字节数应该是7,故选择D。
其中:
\123 是一个八进制转义字符S
\n 是一个转义字符:换行符
4567各一个字符,共占4个字节
字符串在内存中存储时最后还有一个结束符'\0'
这样加起来一共1+1+4+1=7个字节。故应该选择D。