网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

某C语言程序中有以下两个变量声明: int a[10]; int *ptr=&a[0]; 则ptr+i的值为()。

A.&a[0]+i

B.&a[0]+2´i

C.&a[0]+4´i

D.&a[0]+8´i


参考答案和解析
A
更多 “某C语言程序中有以下两个变量声明: int a[10]; int *ptr=a[0]; 则ptr+i的值为()。A.a[0]+iB.a[0]+2´iC.a[0]+4´iD.a[0]+8´i” 相关考题
考题 ( 35 )有如下程序:#include iostreamusing namespace std;Class B{public:B(int xx):x(xx) {++cout; x+=10;}virtual void show() const{coutcount ' _ ' xendl;}protected:static int count;private:int x;};class D:public B{public:D(int xx,int yy):B(xx),y(yy) {++count; y+=100;}virtual void show() const{coutcount ' _ ' yendl;}private:int y;};int B::count=0;int main(){B *ptr=new D(10,20);ptr-show();delete ptr;return 0;}运行时的输出结果是A ) 1_120B ) 2_120C ) 1_20D ) 2_20

考题 下列程序中函数reverse()的功能是将a所指数组中的内容进行逆置。includevoid reverse(i 下列程序中函数reverse()的功能是将a所指数组中的内容进行逆置。 #include<stdio.h> void reverse(int a[],int n) { int i,t; for(i=0;i<n/2,i++) { t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;} } main() { int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0; reverse(b,A.ptr是一个返回值是血的函数B.ptr是指向int型数据的指针变量C.ptr是指向函数的指针,该函数返回一个int型数据D.ptr是一个函数名,该函数的返回值是指向血型数据的指针

考题 若a为int类型变量,则执行以下程序段后a的值为()。 a=5;a*=a/=a++; A.2B.1C.40D.3

考题 设有如下定义:int(*ptr);则以下叙述中正确的是( )。A.ptr是指向一维组数的指针变量B.ptr是指向int型数据的指针变量C.ptr是指向函数的指针,该函数返回一个int型数据D.ptr是一个函数名,该函数的返回值是指int型数据的指针

考题 语句int(*ptr)();的含义是A.ptr是指向一个维数组的指针变量B.ptr是指向int型数据的指针变量C.ptr是指向函数的指针,该函数返回一个int型数据D.ptr是一个函数名,该函数的返回值是指向int型数据的指针

考题 设有C语言变量说明“static int a[][2]={{1,2),(3,4}};int *pa,(*pb)[2];”,则执行语句“pa=pb=”,则执行语句“pa=pb=a[0][0];”后,(*(pa+1))的值为(31)。A.2B.3C.a[0][1]D.a[1][0]

考题 设有如下定义,则以下叙述中正确的是______。 int(*ptr)();A.ptr是指向一维数组的指针变量B.ptr是指向int型数据的指针变量C.ptr是指向函数的指针,该函数返回一个int型数据D.ptr是一个函数名,该函数的返回值是指向int型数据的指针

考题 公有成员变量MAX是一个int型值,变量的值保持常数100,则使用下列哪个选项的声明定义这个变量是正确的? ( )A.public int MAX=100;B.final int MAX=100;C.final public int MAX=100;D.public final int MAX=100;

考题 下列有关指针的用法中错误的是( )。A.int i;int *ptr=i;B.inti;int *ptr;i=*ptr;C.int *ptr;ptr=0;D.int i=5;int *ptr;*ptri;

考题 (C语言)假设有如下定义方式int(**ptr)();,则以下叙述中正确的是A、ptr是指向一维数组的指针变量B、ptr是指向int型数据的指针变量C、ptr是指向函数的指针的指针,该函数返回一个int型数据 我是应届生D、ptr是一个函数名,该函数的返回值是指向int型数据的指针

考题 下面程序的输出结果为【】。inclUdevoid main(){ int a;int b=a;//变量引用b=10;c 下面程序的输出结果为【 】。inclUde<iostream.h>void main(){int a;int b=a;//变量引用b=10;cout<<"a="<<a<<endl;}

考题 设有如下定义: int arr[]={6,7,8,9,10); int*ptr: ptr=arr; *(ptr2)=2; printf("%d,%d\n",*ptr,*(ptr2)): 则下列程序段的输出结果为( )。A.8,10B.6,8C.7,9D.6,2

考题 有以下程序:include main( ){int a[3][2]={0} ,( *ptr)[2],i,j;for(i=0;i 有以下程序: #include <stdio.h> main( ) { int a[3][2]={0} ,( *ptr)[2],i,j; for(i=0;i<2;i++) {ptr=a+i; scanf("%d",ptr); ptr++;} for(i =0;i<3;i ++ ) } for(j =0;j<2;j ++ ) prinff( "%2d" ,a[i] [j] ); prinff(" \n" ); }}若运行时输入:1 2 3 <回车>,则输出结果是( )。A.产生错误信息B.10 20 00C.12 30 00D.10 20 30

考题 语句int(*ptr)的含义是( )。A.ptr是一个返回值为int的函数B.ptr是指向int型数据的指针变量C.ptr是指向函数的指针,该函数返回一个int型数据D.ptr是一个函数名,该函数的返回值是指向int型数据的指针

考题 有如下程序: #inCludeiostream using namespaCe std; Class Point{ publiC: statiC int number; publiC: Point( )t.number++;} ~Point( ){number--;} }; , int P0int::number=0; int main( ){ Point *ptr: Point A,B; Point*ptr_point=new Point[3]; ptr=ptr_point;’ } Point C; CoutPoint:::numberendl; delete[]ptr; return 0; } 执行这个程序的输出结果是( )。A.3B.4C.6D.7

考题 在整型指针变量ptr1、ptr12的定义中,错误的是 ______。A.int x, *ptr1, ptr2;B.int*ptrl, x, *ptr2;C.int x,*ptrl=x,*ptr2;D.int*ptr1, x,*ptr2=x;

考题 语句int(*ptr)()的含义是( )。A.ptr是一个返回值是int的函数B.ptr是指向int型数据的指针变量C.ptr是指向函数的指针,该函数返回一个int型数据D.ptr是一个函数名,该函数的返回值是指向int型数据的指针

考题 对于以下函数声明void fun(int array[4],int+ptr);以下叙述中正确的是( )。A.array,ptr都是指针变量B.调用fun函数时,实参的值将逐一复制给arrayC.调用fun函数时,array按值传送,ptr按地址传送D.array是数组,ptr是指针,它们的性质不同

考题 分析下列程序,并写出运行结果【】。 include voidmain(){ int x[10]: int i=5,*ptr=x; 分析下列程序,并写出运行结果【 】。include<iostream.h>void main(){int x[10]:int i=5,*ptr=x;*(ptr+i)=10;cout<<x[i]<<end1;

考题 下列有关指针的用法中错误的是( )。A.int i;int*ptr=i;B.int i;int*ptr;i=*ptr;C.int*ptr;ptr=0;D.int i=5;int*ptr;*ptri;

考题 在下面程序运行includeint func(char s[]){ int length=0; while(*(s+length))leng 在下面程序运行 #include<iostream.h> int func(char s[]){ int length=0; while(*(s+length))length++; return length; } void main(){ char a[10], *ptr=a; cin>>ptr; cout<<fune(ptr)<<end1; } 如果输入字符串Hello!并回车,则输出结果为 ______。A.4B.7C.6D.5

考题 执行下面的程序段后,变量k中的值为 include void main( ) { int k=3,s[2]; s[ 执行下面的程序段后,变量k中的值为 #include<iostream.h> void main( ) { int k=3, s[2]; s[0]=k; k=s[1] *10; cout < < k;}A.不定值B.33C.30D.10

考题 设有定义:int(* ptr)( ); 则以下叙述中正确的是 ( )A.ptr是指向一维数组的指针变量B.ptr是指向int型数据的指针变量C.ptr是指向函数的指针,该函数返回一个int数据D.prt是一个函数名,该函数的返回值是指向int型数据的指针

考题 有如下程序:include using namespace std;class shapes{protected: int x, y;public: 有如下程序: #include <iostream> using namespace std; class shapes { protected: int x, y; public: void setvalue(int d, int w=O) { x=d; y=w; } virtual void disp()=O; }; class square : public shapes { public: void disp () { cout<<x*y<<end1; } }; int main ( ) { shapes *ptr; square s1; ptr=s1; ptr->setvalue (10, 5) ;ptr->disp(); return 0; } 执行上面的程序将输出( )。A.50B.5C.10D.15

考题 在设备驱动程序(函数)Dev_drv1中,对指针ptr的说明如下:【C语文代码】int Dev_drv1(int arg1,int arg2 ){struct node {int ID;char name [20];int range;} ;struct node *ptr;/*其他局部变量声明,略*/ptr = (struct node *)malloc(sizeof(struct node)*100);/*其他程序代码,略*/}设int为32位整数,char占8位。当对指针ptr赋完值后的值为0x3751CO,若再执行一条“ptr++;”语句,此时ptr的值为多少? (用十六进制表示)。

考题 阅读以下说明和C语言代码,回答问题1至问题4,将解答填入对应栏内。【说明】在嵌入式操作系统设备管理的实现上,常使用到C语言的函数指针变量,由统一的管理函数调用不同的设备驱动程序。下面的一段C语言代码是驱动管理程序 manage_device调用4个不同设备驱动程序,但没有用到函数指针变量。【C语言代码】/*变量与类型说明*/include "stdio.h"include "stdlib.h"extern int sys_status;extern int Dev_drv1(int arg1, int arg2);extern int Dev_drv2(int arg1, int arg2);extern int Dev_drv3(int arg1, int arg2);extern int Dev_drv4(int arg1, iht arg2);define NOERROR 0type struct {int _fd;} TYP_DEV_TAB;TYP DEV_TAB dev_tab[50]= {101,99, 80, 120,};/*程序代码*/void manage_device(int devid, int arg1, int arg2){ int place ;int ret;for(place=0 ; place<50 ; place++)if dev_tab [place]. fd == devid) break;if(place>=50)printf(" NO DEVICE fd = %d\n ",devid);switch(dev_tab [place]._fd) {case 80:ret = Dev_drv3(int arg1,int arg2);break;case 99:ret = Dev_drv2(int arg1,int arg2);break;case 101:ret = Dev_drv1(int arg1,int arg2);break;case 120:ret = Dev_drv4(int arg1,int arg2);break;}if (ret!=NOERROR)printf(" DEVICE %d error!\n ", devid);}int Dev_drv1(int arg1,int arg2){/*局部变量声明,略*//*驱动程序代码,略*/}int Dev_drv2(int arg1,int arg2){/*局部变量声明,略*//*驱动程序代码,略*/}int Dev_drv3(int arg1,int arg2){/*局部变量声明,略*//*驱动程序代码,略*/}int Dev_drv4(int arg1,int arg2){/*局部变量声明,略*//*驱动程序代码,略*/请用C语言的函数指针变量,对manage_device函数进行改造,完成下面C语言代码中的(1)、(2)、(3)和(4)处的变量说明或语句,将解答填入对应栏内。【C语言代码】/*变量与类型说明*/include "stdio.h"include "stdlib.h"extern int sys_status;extern int Dev_drv1(int arg1, int arg2);extern int Dev_drv2(int arg1, iht arg2);extern int Dev_drv3(int arg1, int arg2);extern int Dev_drv4(int arg1, int arg2);define NOERROR 0typedef struct {int _fd;(1) 函数指针变量说明;/* 变量名用process */} TYP_DEV_TAB;TYP_DEV_TAB dev_tab[50]= {{101, Dev_drv1},{99, Dev_drv2},{80, Dev_drv3},{120, Dev_dry4},};/* 程序 */void manage_device(int devid, int arg1, int arg2){ iht place ;int ret;(2) 函数指针变量说明;/*局部变量,变量名用ProcAction */for(place=0 ; place<50 ; place++) {if(dev_tab [place]._fd == devid) {(3) 语句1;/* 变量名胜ProcAction, 得到具体函数的入口地址 */break;}}if(place>=50)printf("NO DEVICE fd = %d\n",devid);(4) 语句2;if(ret!=NOERROR)printf("DEVICE %d error!", devid);}

考题 试题二(共15分)阅读以下说明、C程序代码和问题1至问题3,将解答写在答题纸的对应栏内。【说明1】设在某C系统中为每个字符型数据分配1个字节,为每个整型(int)数据分配4个字节,为每个指针分配4个字节,sizeof(x)用于计算为x分配的字节数。【C代码】#include stdio.h#include string.hint main(){ int arr[5]={10,20,30};char mystr[]="JustAtest\n";char *ptr= mystr;printf("%d%d%d\n", sizeof(int),sizeof(unsigned int),sizeof(arr));printf("%d%d\n",sizeof(char),sizeof(mystr));printf("%d%d%d\n",sizeof(ptr),sizeof(*ptr),strlen(ptr));return 0;}【问题1】(8分)请写出以上C代码的运行结果。【说明2】const是C语言的一个关键字,可以用来定义“只读”型变量。【问题2】(4分)(1)请定义一个“只读”型的整型常量size,并将其值初始化为10;(2)请定义一个指向整型变量a的指针ptr,使得ptr的值不能修改,而ptr所指向的目标变量的值可以修改(即可以通过ptr间接修改整型变量a的值)。注:无需给出整型变量a的定义。【问题3】(3分)某C程序文件中定义的函数f如下所示,请简要说明其中static的作用,以及形参表“const int arr[]”中const的作用。static int f(const int arr[]){/*函数体内的语句省略*/}

考题 单选题若有函数声明:void fun(float array[],int*ptr);以下叙述正确的是(  )。A 函数参数array,ptr都是指针变量B 函数参数array不是指针变量,ptr是指针变量C 调用函数时,实参数组的值将一一复制给array数组D 调用函数时,array是按值传送,ptr是按地址传送