1.C语言中int是什么意思?
答案一;int是c的关键字,代表整型数类。
int a;//声明a为整型变量,int不是,
只有整型变量和整型常数,没有整数。
应该是整型变量的取值范围32768 ~ +32767(16位)-2147483648~2147483647(32位)
答案二;定义数据类型为整型数,另char,float,double分别是字符型,单精度型,双精度型.
2.
c语言中#include <stdio.h>是什么意思
dwfq1m0rkl312级分类:C/C++语言被浏览2628次2013.07.06检举
#include <stdio.h>
#include <math.h>
#include "stack.h"
#include "calculate.h"
#include "common.h"
#include "math function.h"
#define OVER false
bool checkword (
char word[]
)
/*++
#:这个是什么??
include:这个又是什么?
答案;
把c文件看成一个包裹
有些我们需要的东西包裹里没有就要去别人已经做好的“包裹”里拿
这就是上面这些的意义
#include 表示 包含 就是要去哪个包裹找东西
后面跟的就是那些包裹的名称。
<>里系统本身有的,“”是用户自己添加的
#include <stdio.h>
标准io库
#include <math.h>
数学库
以下这些都是用户自己写的“包裹”
#include "stack.h"
#include "calculate.h"
#include "common.h"
#include "math function.h"
------------------------------
#define OVER false
#define表示的是宏,意思是后面的用前面的表示,可以理解为外号
比如你叫mary,朋友喜欢叫你CAT更方便,就可以写
#define CAT mary
按照约定所称,外号最好是大写。
--------------------------------
bool checkword
一个bool类型的变量,意味着这个值只有真(非0)和假(0)两个值
char word[]
一个字符串
3.C语言 scanf("%d,%d",&a,&b);每个字符都是什么意思?
答案;scanf表示的是c语言的输入方法,
()内表示的是你输入的数据存放在哪里
scanf("%d,%d",&a,&b)的意思是输入2个整数,分别放在a,b中
"%d,%d"表示a与b都是整数,
这个是有固定的格式的
scanf("%类型",&变量名);
&表示取地址符,这样可以找到a,b的内存地址,把输入的数据放到a,b所对应的内存地址中去
4。% C语言中什么意思?
答案:1.模运算,即求余数。
<strong>表达式 a % b 就是计算 a 除以 b 得出的余数。
例如: 4 % 3 的结果是 1
2.转义符,比如在scanf()和printf()中的输入参数常出现</strong>
<strong>带有%的表示参数类型的变量,如%d,%f等。</strong>
5.c语言中%c与%s的区别?
答案;%c格式对应的是单个字符,%s格式
答案;%c格式对应的是单个字符,%s格式
对应的是字符串。
例:char a;char b[20];scanf("%c",&a);
//只能输入一个字符。
scanf("%s",b); //可以输入一串不超过20
字符的字符串。
scanf_s用于需要在运行框内输入数字,其余时候可以不用
40. 字符串大小写转换。
给定一个字符串。char str[] =
"http://pan.baidu.com/s/1qWDQ04O";
试将数组里面的小写字母改成大写,大写字母改成小写。
#include <stdio.h>
int main()
{
char str[] =
"http://pan.baidu.com/s/1qWDQ04O";
for(int i=0; ; i++)
{
char ch = str[i];
if(ch == 0)
{
// 行末
break;
}
// 判断是否大写
if(ch >= 'A' && ch <= 'Z')
{
str[i] += 'a' - 'A';
}//改小写:用小写减大写
else if(ch >= 'a' && ch <= 'z')
{
str[i] += 'A' - 'a';
}//改大写:用大写减去小写
}
return 0;
}
__________________________________________________________________
41.数组处理
有一个数组,长度为10。
int arr[10] = { 128, 98, 78, 9, 87,
78, 90, 89, 72, 65 };
int dst[10];
int count = 0;
用for循环,遍历这个数组,把个位是8的数字存到dst数组中,
并记录符合条件的元素的个数。
#include <stdio.h>
int main()
{
int arr[10] = { 128, 98, 78, 9, 87,
78, 90, 89, 72, 65 };
int dst[10] = {0};
int count = 0;
for(int i=0; i<10; i++)
{
int num = arr[i];
if( num % 10 == 8) // 个位数是8?
{
dst[count] = num;
count += 1;
}
}
return 0;
}
______________________________________________________
42.数组合并操作
已知两个数组
int a[6] = { 1,2,3,4,5,6};
int b[4] = { 7,8,9,0};
int dst[10];
请用for循环,把a和b中的元素依次拷贝到dst数组中。
#include <stdio.h>
int main()
{
int a[6] = { 1,2,3,4,5,6};
int b[4] = { 7,8,9,0};
int dst[10];
int i;
for(i=0; i<6; i++)
{
dst[i] = a[i]
printf("%d\n",a[i]);
}
for(i=0; i<4; i++)
{
dst[6+i] = b[i];
printf("%d\n",b[i]
}
return 0;
}
在循环体中输出!!!!!!
==========================================
C语言问题:0x%08x表示什么 ?
<strong> 答:该语句出现于格式化输出时的格式字符串中。形式为
"0x%08x"
其中,0x为普通字符,输出的时候会原样输出为0x。
%08x为整型以<a data-cke-saved-href="https://www.baidu.com/s?wd=16%E8%BF%9B%E5%88%B6&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9nyf4rHT4uH-huj6kPHf10ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnHcYPHm3Pjf3" href="https://www.baidu.com/s?wd=16%E8%BF%9B%E5%88%B6&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9nyf4rHT4uH-huj6kPHf10ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnHcYPHm3Pjf3" class="baidu-highlight">16进制</a>方式输出的格式字符串,会把后续对应参</strong>
<strong>数的整型数字,以<a data-cke-saved-href="https://www.baidu.com/s?wd=16%E8%BF%9B%E5%88%B6&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9nyf4rHT4uH-huj6kPHf10ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnHcYPHm3Pjf3" href="https://www.baidu.com/s?wd=16%E8%BF%9B%E5%88%B6&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9nyf4rHT4uH-huj6kPHf10ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnHcYPHm3Pjf3" class="baidu-highlight">16进制</a>输出。08的含义为,输出的<a data-cke-saved-href="https://www.baidu.com/s?wd=16%E8%BF%9B%E5%88%B6&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9nyf4rHT4uH-huj6kPHf10ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnHcYPHm3Pjf3" href="https://www.baidu.com/s?wd=16%E8%BF%9B%E5%88%B6&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9nyf4rHT4uH-huj6kPHf10ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnHcYPHm3Pjf3" class="baidu-highlight">16进制</a>值占</strong>
<strong>8位,不足部分左侧补0。
于是,如果执行
printf("0x%08x", 0x1234);
会输出0x00001234。</strong>
<strong>——————————————————————————————————</strong>
IPv4总共有43亿个地址,为什么会不够用?
作者:知乎用户
链接:https://www.zhihu.com/question/20168985/answer/81185570
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
私有IP地址段:
A类:10.0.0.0到10.255.255.255 1658万个
B类:172.16.0.0到172.31.255.255 104万个
C类:192.168.0.0到192.168.255.255 6.5万个
公网IP地址段:
A类:1.0.0.0----9.255.255.255 1.5亿个
11.0.0.0-----126.255.255.255 19.23亿个
B类:128.0.0.0-----172.15.255.255 7.3亿个
172.32.0.0-----191.255.255.255 3.3亿个
C类:192.0.0.0-------192.167.255.255 0.11亿个
192.169.0.0-----223.255.255.255 5.03亿个
合计约25.68亿个可用公网IP地址、理论上是255*255*255*255约42.28亿个,除去私有网段、网络ID、广播ID、保留网段、本地环回127.0.0.0网段、组播224.0.0.0网段、实际可用就是36.47亿个。私有IP是为不至于每个PC手机都占有一个公网IP专门预留的、可以被每个家庭企业重复使用的、不可以被路由出去的地址。事实上全国人民有多少办公电脑和个人手机的IP地址都集中在192.168.1.0网段的254个IP地址上。这些内网IP可以上网是采用了一种叫做NAT的技术,也正是这种技术大大延缓了IPV4的耗尽速度。有许多小微型企业安装的是没有固定IP的宽带,家用宽带都不是固定IP的,公网IP是从运营商动态获取的,估计相当于2个宽带共用1个公网IP地址吧。中国的家用宽带不知道有没有4亿户,大概需要2亿个公网IP。大中型企业有许多开通专线和公网IP的宽带、比如百度阿里这样的企业每个需要1000个公网IP、上市公司每个需要50个、中型企业需要10个,还有各个运营商的服务器、路由器也需要,全国加起来3亿个应该是足够的。还有个原因是IANA机构分配IP并不是每个按每个国家人口平均的,美国的可能用不完、亚洲欧洲的可能不够用。所以才有了IPV6、IPV6采用128位IP地址、IP总数为2^128个,比地球上沙粒总数还多,IPV4总数为2^32个。==================================================================之前有部分IP地址数量计算错误,已经更新。
C语言中“指针”和“指针变量”的区别是什么?
一个变量的(内存)地址称为该变量的“指针”,通过指针能找到以它为地址
的内存单元。而指针变量是用来存放另一个变量的地址的(即指针)。
{指针=地址
指针变量=指针}
“指针”是概念,“指针变量”是具体实现。
,一个地址唯一指向一个内存变量,我们称这个地址为
变量的指针。如果将变量的地址保存在内存的特定区域,用变量来存放这些地址,
这样的变量就是指针变量,通过指针对所指向变量的访问,也就是一种对变量的“间接访问”
形参和实参的区别
http://blog.csdn.net/qq_33187168/article/details/50346465
*p和p的区别?
看你怎么定义变量的,如果定义的时候是*p,那么p就是一个地址,*表示指针,
*p表示指针指向p存储地址中所对应的具体值(即:具体值),
☆【如:
int *p = 1;那么p所对应的地址内存中存放的值就是1,代码中的*p表示1,p表示
int *p = 1;那么p所对应的地址内存中存放的值就是1,代码中的*p表示1,p表示
1所在的存储地址】。
&符号表示获取对应值的存储地址(并不是具体值,而是存储地址),
☆【如:
int x = 9;
int *p = &x;//这句代码可以分为两句: int *p; p=&x;x表示9,&x表示9的地址,代
&符号表示获取对应值的存储地址(并不是具体值,而是存储地址),
☆【如:
int x = 9;
int *p = &x;//这句代码可以分为两句: int *p; p=&x;x表示9,&x表示9的地址,代
码中的*p表示9,单独p表示9的地址】
【如:
int x=9;
int *p=&x; //这句代码可以分为两句: int *p; p=&x;
int **a=&p;//这句代码也可以拆分: int **a; a=&p;x表示9,&x表示9的地址,代
【如:
int x=9;
int *p=&x; //这句代码可以分为两句: int *p; p=&x;
int **a=&p;//这句代码也可以拆分: int **a; a=&p;x表示9,&x表示9的地址,代
码中的*p表示9,&p表示9的地址的地址,代码中的**a表示9,a表示9的地址的
地址】
来源: http://wenwen.sogou.com/z/q736024031.htm
10,int a=12;
int b=11<a<13;
问:b的值是多少?
先后顺序应该((11<a)<13)
首先是11<a的值是1
其次是1<13的值是1
所以,11<a<13的值是1
再如:int a=-1;
int b=-2<a<0;
b的值为0!
11.struct con
{int id;
char name[16];
}
那么,con*a和con a的区别是什么?
答案:http://www.cnblogs.com/alpharobert/p/5473454.html
非常详细,非常好!
12,磁偏移是什么?
答:○偏移量就是逻辑地址与段首地址的差值,是个距离
单位,起始偏移量就是文件首地址到0柱面0磁头1扇区的
地址距离
○硬盘的容量计算是1000k=1m,1000m=1g,而系统是
按1024k=1m,1024m=1g的单位来算的,这就造成分区
的容量不符。比如,160g硬盘实际只有150g左右容量,
13,cookie是服务器发送个客户端的
而分区时都是按照160g分的,系统的40g分区,要占用
硬盘实际容量的43个g。由于两种容量的不符,磁盘上的
分区就发生了偏