⑴ 帮我写一个c语言多级指针的程序…似懂非懂的…我想看下我到底理解没有…
//指针测试1,测试你对指针了解多少?
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
intmain()
{
inta,b,*a1,*b1,**a2,**b2,a3[2],*a4[2],(*a5)[2],**a6[2],(**a7)[2],*(*a8)[2],*(*a9[2])[2];
a=0x888888A8;
b=0x888888B8;
/*
请把下面的这些语句“=”后面的值填写完整,然后编译,编译通过的说明你的指针基本过关了!
*/
/////////////////////////////////////////////////////////////////////////////////////
a1=;
b1=;
a2=;
b2=;
a3[0]=;
a3[1]=;
a4[0]=;
a4[1]=;
a5=;
//a5[0]=;//该语句的左值成立吗?
//a5[1]=;//该语句的左值成立吗?
a6[0]=;
a6[1]=;
a7=;
//a7[0]=;//该语句的左值成立吗?
//a7[1]=;//该语句的左值成立吗?
a8=;
//a8[0]=;//该语句的左值成立吗?
//a8[1]=;//该语句的左值成立吗?
a9[0]=;
a9[1]=;
//a2=&&a;//该语句对吗?为什么?
//////////////////////////////////////////////////////////////////////////////////////
/*
填好了请编译
*/
system("pause");
return0;
}
//指针测试2,测试你对指针了解多少?
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
intmain()
{
inta,b,*a1,*b1,**a2,**b2,a3[2],*a4[2],(*a5)[2],**a6[2],(**a7)[2],*(*a8)[2],*(*a9[2])[2];
a=0x888888A8;
b=0x888888B8;
a1=&a;
b1=&b;
a2=&a1;
b2=&b1;
a3[0]=a;
a3[1]=b;
a4[0]=a1;
a4[1]=b1;
a5=&a3;
a6[0]=a2;
a6[1]=&b1;
a7=&a5;
a8=&a4;
a9[0]=&a4;
a9[1]=&a4;
/*
请把下面这些语句“,”后面的变量填写完整,然后编译,编译通过且分别显示a,b的值说明你的指针基本过关了!
*/
/////////////////////////////////////////////////////////////////////////////////////
printf("请用a表示整型变量a的值:%x ",);
printf("请用b表示整型变量b的值:%x ",);
printf("请用a1表示整型变量a的值:%x ",);
printf("请用b1表示整型变量b的值:%x ",);
printf("请用a2表示整型变量a的值:%x ",);
printf("请用b2表示整型变量b的值:%x ",);
printf("请用a3表示整型变量a的值:%x ",);
printf("请用a3表示整型变量b的值:%x ",);
printf("请用a4表示整型变量a的值:%x ",);
printf("请用a4表示整型变量b的值:%x ",);
printf("请用a5表示整型变量a的值:%x ",);
printf("请用a5表示整型变量b的值:%x ",);
printf("请用a6表示整型变量a的值:%x ",);
printf("请用a6表示整型变量b的值:%x ",);
printf("请用a7表示整型变量a的值:%x ",);
printf("请用a7表示整型变量b的值:%x ",);
printf("请用a8表示整型变量a的值:%x ",);
printf("请用a8表示整型变量b的值:%x ",);
printf("请用a9表示整型变量a的值:%x ",);
printf("请用a9表示整型变量b的值:%x ",);
//////////////////////////////////////////////////////////////////////////////////////
/*
填好了请编译
*/
/*
指针的解释:
一定要明确理解指针变量和一般变量的关系,特别是一级指针,
二级指针,三级指针的关系;指针变量和一般变量都是变量,
在内存中都分配一块内存区间,他们都有内存地址,但是指
针变量中保存的的是内存的地址(可以是一般变量的地址,
也可以是指针变量的地址,但一级指针变量保存的内存
地址是一般变量的地址,二级指针变量保存的内存
地址是一级指针变量的地址,三级指针变量保存的内存
地址是二级指针变量的地址,...)一般变量中保存的是
这种变量类型的内容,&是取变量的地址,*是取地址的内容,
变量名代表其值,注意一般对象的值是内容,指针对象的值
是地址!可以用抽屉比喻成内存空间及变量,用抽屉中的东
西比喻成变量值,用抽屉的钥匙比喻成内存地址也就是变量
的地址,这样一来存放钥匙的就是指针变量,存放其他物品
的就是一般变量。
*/
system("pause");
return0;
}
⑵ 在C语言中,10的n次方怎么表示
需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。
⑶ C语言 char (*a7)(int); 这段代码什么意思啊
声明一个函数指针。函数指针使用举例:
charInt2Char(intn)
{
returnn+'0';
}
char(*a7)(int);
intmain()
{
intn=8;
a7=Int2Char;//定义函数指针,并指向Int2Char函数
printf("%c",a7(n));
}
⑷ 在学C语言我这段c语言怎么错了
/**这段,数组下标从0开始,应为x[0]=a1,...x[9]=a10;
x[1]=a1;
x[2]=a2;
x[3]=a3;
x[4]=a4;
x[5]=a5;
x[6]=a6;
x[7]=a7;
x[8]=a8;
x[9]=a9;
x[10]=a10;
*/
x[0]=a1;
x[1]=a2;
x[2]=a3;
x[3]=a4;
x[4]=a5;
x[5]=a6;
x[6]=a7;
x[7]=a8;
x[8]=a9;
x[9]=a10;
/**这段错误
if(n=0;n++;n<10;);//不应该用if,这里应该是循环
printf("%c" ,x[10]);// 应该写在引号里面
*/
for(n=0;n<10;n++)
printf("%c ",x[n]);
⑸ A7:编写程序求出555555的约数中最大的三位数是多少。怎么写程序设计功能图,c语言程序报告
int i,temp;
for(i=999;;i--)
{
temp=555555%i;
if (temp == 0)
{ print ("%d",i);
break;
}
}
⑹ c语言中10的n次方怎么表示
在C语言中10的n次方表示:10^n,或者使用函数:pow(10,n)和pow10(n)。
C语言的幂运算是很耗资源的,10的3次方一般表示为10*10*10,或者for循环乘10,这样电脑运算会较快。
(6)c语言a7扩展阅读:
幂的乘方(a^m)^n=a^(mn),与积的乘方(ab)^n=a^nb^n
(1)幂的乘方,(a^m)^n=a^(mn),(m,
n都为正整数)运用法则时注意以下以几点:
①幂的底数a可以是具体的数也可以是多项式。如[(x+y)2]3的底数为(x+y),是一个多项式,
[(x+y)2]3=(x+y)6
②要和同底数幂的乘法法则相区别,不要出现下面的错误。如:
(a3)4=a7;
[(-a)3]4=(-a)7;
a3·a4=a12
(2)积的乘方(ab)^n=a^nb^n,(n为正整数)运用法则时注意以下几点:
①注意与前二个法则的区别:积的乘方等于将积的每个因式分别乘方(即转化成若干个幂的乘方),再把所得的幂相乘。
②积的乘方可推广到3个以上因式的积的乘方,如:(-3a2b)3如(a1·a2·…….an)m=a1m·a2m·…….anm
参考资料:搜狗网络-幂运算
⑺ c语言 定义一个10个元素的int类型数组,从键盘上输入任意10个int类型的数存放到数组中
#include<stdio.h>
#define N 10
void main() { int a[N],i,max,min,a3,a5,a7; float av;
for ( i=0;i<N;i++ ) scanf("%d",&a[i]);
max=min=a[0]; for ( i=1;i<N;i++ ) if ( max<a[i] ) max=a[i]; else if ( min>a[i] ) min=a[i];
a3=a5=a7=0; av=0;
for ( i=0;i<N;i++ ) {
av+=a[i]; if ( a[i]%3==0 ) a3++; if ( a[i]%5==0 ) a5++; if ( a[i]%7==0 ) a7++;
}
for ( i=0;i<N;i++ ) printf("%d ",a[i]); printf(" ");
av/=N; printf("%d %d %f ",max,min,av); printf("%d %d %d ",a3,a5,a7);
}
⑻ a=0x7b,c=a7;的含义
a=0x7b中的0x表示a是16进制的数,7b是付给他的值
c=a7我觉得有问题,如果也是16进制的话,最好写成
c=0xa7;
⑼ c语言中出现个'丶a7'是什么意思
a7是个十六进制
⑽ C语言随即生成字母数字
rand()%26 小于26的数同概率出现。。不过你这个应该不会,rand()是随机出现的U int 型其有最大值,所以几率也不会一样。