精华内容
下载资源
问答
  • 二二维数组元素的使用 二维数组中元素相当于一个变量,我们可以象使用一个变量那样使用二维数组元素 用法是 数组名[下标表达式1][下标表达式2] 例 p97/1.5若有定义 int a[3][4], 则对数组a元素正确引用是( ) a[2][4] ...
  • C语言第6章数组.doc

    2020-12-01 10:10:43
    第六章 数组 单选题 在C语言中,引用数组元素时,其数组下标数据类型允许是( ) 整型常量 整型常量或整型表达式 整型表达式 任何类型表达式 在32位计算机系统中,一个int型变量占4个字节存储单元,若有定义int x[10...
  • C数组题及答案.doc

    2020-07-12 07:32:47
    阅读使人充实会谈使人敏捷写作使人精确培根 题1在C ++语言中引用数组元素时其数组下标数据类型允许是 A整型常量 B整型表达式 C整型常量或整型表达式 D任何类型表达式 题2以下对一维整型数组a 的正确说明是 Aint ...
  • 1. 引用数组元素时, 其数组下标数据类型允许是 整型常量或整型表达式 2. 一维数组定义方式为: 类型说明符 数组名 [整型常量表达式] 3. 以下二维数组a 进行正确初始化语句是: A) int a[2][]={{1,0,...

    1. 引用数组元素时, 其数组下标的数据类型允许是 整型常量或整型表达式


    2. 一维数组的定义方式为: 类型说明符 数组名 [整型常量表达式]    


    3. 以下能对二维数组a 进行正确初始化的语句是:

       A) int a[2][]={{1,0,1},{5,2,3}};

       B) int a[][3]={{1,2,3},{4,5,6}};

       C) int a[2][4]={{1,2,3},{4,5},{6}};

       D) int a[][3]={{1,0,1},{},{1,1}};

    答案:B;A选项列标不可省略;C选项超出了范围;D选项赋初值不可有{}


    4. 以下不能对二维数组a 进行正确初始化的语句是

    A) int a[2][3]={0};

    B) int a[][3]={{1,2},{0}};

    C) int a[2][3]={{1,2},{3,4},{5,6}};

    D) int a[][3]={1,2,3,4,5,6};

    答案:C;超出了范围


    5. 若有说明:int a[3][4]; 则全局数组a 中各元素         

    A) 可在程序的运行阶段得到初值0

    B) 可在程序的编译阶段得到初值0

    C) 不能得到确定的初值

    D) 可在程序的编译或运行阶段得到初值0
     答案:B


    6. 下面程序如果只有一个错误, 那么是(每行程序前面的数字表示行号)         

    1 main()
    2 { 
    3     float a[3]={3*0}; 
    4     int i; 
    5     for(i=0;i<3;i++) scanf(“%d”,&a[i]); 
    6         for(i=1;i<3;i++) a[0]=a[0]+a[i]; 
    7     printf(“%d\n”,a[0]); 
    8 }

    答案:第3行;


    7. 若二维数组a 有m 列,则计算任一元素a[i][j]在数组中位置的公 式为 (假设a[0][0]位于数组的第一个位置上。)

    A)i*m+j        

    B)j*m+i        

    C)i*m+j-1        

    D)i*m+j+1

    答案:D


    8.  以下对一维数组的定义中不正确的是(    )

    A. double x[5]={2.0,4.0,6.0,8.0,10.0};   

    B. int  y[5]={0,1,3,5,7,9};

    C. char ch1[ ]={'1', '2', '3', '4', '5'};     

    D. char  ch2[ ]={'\x10', '\xa', '\x8'};

    答案:解析:可以对一维数组的全部元素或部分元素赋初值。在对全部数组元素初始化时,数组长度可以省略。若数组长度没有省略,则初始化列表中值的个数不能超过数组的长度。

    答案:B


    9. 以下对二维数组的定义中正确的是(    )。

    A.int a[4][]={1,2,3,4,5,6};    B. int  a[][3];

    C.int a[][3]= {1,2,3,4,5,6};   D. int a[][]={{1,2,3},{4,5,6}};

    解析定义二维数组时,若按一维格式初始化,则第一维的长度可以省略,此时,系统可根据初始化列表中值的个数及第二维的长度计算出省略的第一维长度,但无论如何,第二维的长度不能省略。没有初始化时,每一维的长度都不能省略。

    答案C


    10. 若有定义:int aa[8];,则不能代表数组元素aa[1]地址的是(   ) 。

    A. &aa[0]+1     B. &aa[1]      C. &aa[0]++      D. aa+1

    解析: &aa[1]、&aa[0]+1和aa+1都是数组元素aa[1]的地址。由于&aa[0]是地址值常量,不能进行自加、自减运算,所以选项C不能代表aa[1]地址。

    答案:C


    11. 若有如下定义,则b的值是(    )。

    int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b=p[5];

    A. 5                   B. 6                C. 8             D. 9

    解析p指向a[3],即p=a+3;b=p[5],即b=*(p+5)。因此,b=*(a+8)=a[8]=9。

    答案:D


    12. 若二维数组y有m列,则排在y[i][j]前的元素个数为(    )

    A.j*m+i    B.i*m+j       C.i*m+j-1    D.i*m+j+1

    解析:C语言中的二维数组按行存储。行标为i的元素前共有i行元素,元素个数为i*m,每行列标为j的元素前共有j个元素。因此,y[i][j]前的元素个数为i*m+j。

    答案:B


    13. 若有定义:char a[10],*b=a;,则不能给数组a输入字符串”This is a book”的语句是(    )。

    A. gets(a)      B. scanf("%s",a)     C. gets(&a[0]);    D. gets(b) ;

    解析: gets为字符串输入函数,调用该函数时需给出字符串的存储地址,以回车作为字符串输入的结束,并将回车符转换成为’\0’。而scanf函数则以回车、空格或跳格作为串输入结束,因此scanf不能输入有空格的字符串。

    答案:B


    14. 有以下程序, 执行后输出结果是(     )

    main() 

    { int x[8]={8,7,6,5,0},*s; 

      s=x+3; 

      printf("%d ",s[2]);

    A. 随机值           B. 0           C. 5            D. 6

    答案:B


    15. 下列描述中不正确的是 (     )。
     

    A. 字符型数组中可以存放字符串              

    B. 可以对字符型串进行整体输入、输出

    C. 可以对整型数组进行整体输入、输出         

    D. 不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值

    答案:C;C语言规定只能逐个引用数组元素而不合下次引用整个数组。字符数组的输入、输出可以将整个字符串一次输入或输出。所以,选项C的说法是不正确的。


    16. 以下语句或语句组中,能正确进行字符串赋值的是(     )。

    A. char *sp; *sp="right!";    B. char s[10]; s="right!";

    C. char s[10]; *s="right!";    D. char *sp="right!";

    答案:D;A char *sp;*sp="right!";不对sp是一个字符指针,然后再*sp就是一个字符的意思,它不可以赋值一个字符串;B char s[10];s="right!";s是一个数组名,数组名不可以赋值.;C char s[10];*s="right!";s是一个数组的首地址,它指向第一个元素.所以*s就是s[0]它也是一个字符,不可以赋值为字符串.其实赋值中,就是字符串赋值比较难;主要注意下字符串的初始化的两种形式char *sp="right!";另外char sp[]="right!";也可以.其他的如果不是初始化,纯赋值,主要是观察左右类型是否一致.不能左边是一个字符或者一个指针,而右边是一个字符串常量.

      

    展开全文
  • C++笔记

    2014-03-06 14:53:09
    x数组元素的正确引用是 A. *(pt+10)  B. *(x+3) C. pt+3 答案:B。在C语言中,*(x+3)和x[3]无条件等价。对于数组定义:int x[10],数组元素的下标是从0-9,不存在x[10]这个元素。pt+3是一个...

    若有以下定义int x[10],*pt=x; 则对x数组元素的正确引用是

    A. *(pt+10) 

    B. *(x+3)

    C. pt+3

    答案:B。在C语言中,*(x+3)和x[3]无条件等价。对于数组定义:int x[10],数组元素的下标是从0-9,不存在x[10]这个元素。pt+3是一个指针,不是数组元素。如为*(pt+3),则可以表示数组元素x[3]。

    展开全文
  • C语言程序设计第二单元单元测试答案 一选择题 1.以下对一维数组a正确说明是 A) int n; scanf%d&n; int a[n]; B)int n=10,a[n]; C) int a(10;...则对数组元素的正确引用是 A)a[10] B)a[3,5] C)a(5) D)a[10-10]
  • 您的本次作业分数为 您的本次作业分数为 88分选择题 以下选项中不合法的用户标识符是) B file C Main D PRINTF D PRINTF 正确答案:A 选择题 有以下定义及语句则对数组a元素的不正确引用的表达式是 . int a[ 4 ][ 5 ]...
  • PAGE PAGE 13 一 单项选择题每题2分共40分 1 以下对一维整型数组a的正确定义说明的是 A int a(10; Bint n=10,a[n]; C int n; D #define SIZE 10 scanf%d&n;...则对数组a的元素正确引用的是 A a[10] B a[3.5] C a(5) D
  • 一 得分 选择题 30%15 小题每小题 2 分 1. 以下叙述正确的是 A) 在 C 程序中 main 函数必须位于程序的最前面 B) C 语言的每一行中只能写一条语句 C) C 语言本身没有... 则 a 数组元素正确引用是 A a[10] B a[3.5] C
  • 6 6 若有以下定义则 和 是对数组元素的正确引用 C Cint a[10]={1,6,8,4}; D char p[]; C 语言程序设计试题五 填空 1实型变量类型说明符有 2表达式 7+8>2 & 25 %5 结果是 3下列程序段是从键盘输入字符中统计...
  • PAGE 第 PAGE 1 页 共 NUMPAGES 7 页 得分 得分 一 选择题30%15小题每小题2分 1. 以下叙述正确的是 A) 在C程序中main函数必须位于程序的最前面 B) C语言的每一行中只能写一条语句 C) ... 则 a 数组元素正确引用
  • 设int a[12]={0,1,2,3,4,5,6,7,8,9,10}*p=a,以下对数组元素的错误引用是( ) A. a[p-a] B. &a[i]) C. p[i] D. (a+i) 2. 下面能正确进行字符串赋值操作语句是( ) A. char s[5]={ABCDE}; B. char s[5]={
  • // 添加数组元素的简单方法 // 现在$a[2]被赋值为"third" echo count($a); // 打印出3,因为该是数组有3个元素 // 用一个语句定义一个数组并赋值 $myphonebook = array ( "sbabu" => "5348", "keith" => ...
  • 对数组a元素的正确引用是( D )。 A、a[2] B、a[4] C、a[2][4] D、a[1][3] 6、C语言允许函数值类型缺省定义,此时该函数值隐含类型是( B )。 A、float型 B、int型 C、long型 D、double型 7、用数组名作为...
  • C语言基础习题及答案6

    千次阅读 2013-11-30 20:25:42
    1、在C语言中,引用数组元素时,其数组下标数据类型允许是 。 A、  整型常量 B、  整型表达式 C、  整形常量或整形表达式 D、  任何类型表达式 2、以下对一维整型数组a的正确说明是____ A、  int a(10) ; B...

    第六章  数组 

    一、选择题

    1、在C语言中,引用数组元素时,其数组下标的数据类型允许是 。

    A、  整型常量

    B、  整型表达式

    C、  整形常量或整形表达式

    D、  任何类型的表达式

    2、以下对一维整型数组a的正确说明是____

    A、  int a(10) ;

    B、  int n=10,a[n];

    C、  int n;

    scanf(“%d”,&n);

     int a[n];

    D、#define SIZE 10

     int a[SIZE];

    3、若有定义:int a[10],则对数组a元素的正确引用是 

    A、  a[10]  B、a[3.5] C、a(5) D、a[10-10]

    4、以下能对一维数组a进行正确初始化的语句是 。

    A、  int a[10]={0,0,0,0,0}; 

    B、  int a[10]={} ;

    C、  int a[ ] = {0} ;

    D、  int a[10]={10*1} ;

    5、若有定义:int a[3][4],则对数组a元素的正确引用是________

    A、  a[2][4] B、a[1,3] C、a(5) D、a[10-10]

    6、以下能对二维数组a进行正确初始化的语句是_______

    A、  int a[2][]={{1,0,1},{5,2,3}} ;

    B、  int a[][3]={{1,2,3},{4,5,6}} ;

    C、  int a[2][4]={{1,2,3},{4,5},{6}} ;

    D、  int a[][3]={{1,0,1},{},{1,1}} ;

    7、若有说明:int a[3][4]={0};则下面正确的叙述是_______

    A、  只有元素a[0][0]可得到初值0

    B、  此说明语句不正确

    C、  数组a中各元素都可得到初值,但其值不一定为0

    D、  数组a中每个元素均可得到初值0

    8、下面是对s的初始化,其中不正确的是_____

    A、  char s[5]={“abc”};

    B、  char s[5]={‘a’,’b’,’c’,’d’,’e’,’\ 0’};

    C、  char s[5]=” ”; 

    D、  char s[5]=”abcdef”;

     

    二、程序填空

    1、以下程序把一个由小到大的有序数列放在a[1]到a[n]中,a[0]用作工作单元,程序把读入的x值插入到a数组中,插入后,数组中的数仍然的序。请填空,完善程序。

    #include

    {int a[10]={0,12,17,20,25,28},x,i,n=5;

    Printf(“enter a number”);

    Scanf(“%d”,&x);

    a[0]=x;i=n;

    while(a[i]>x)

    {a[____ (1)____ ]=a[i];

    ______(2)___________;

    }

    a[___(3)____]=x;n++;

    for(i=1;i<=__(4)_______;i++)

    printf(“M”,a[i]);

    printf(“\n”);

    }

     

    三、编程题

    1、用选择法对10个整数排序(从小到大)

    2、有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母,小写字母,中文字母,中文字符,数字,空格及其他字符的个数。(提示:中文字符是两个字节,且数值均大于128的字符)。

    3、将一个数组中的值按逆序重新存放。例如:原来顺序为8,6,5,4,1。要求改为1,4,5,6,8。

     

    参考答案

    一、选择题

    1、A  2、D  3、A  4、A   5、A  6、B  7、D  8、A

    二、程序填空

    (1)  i+1

    (2)  i=i-1

    (3)  ++i

    (4)  n

    二、编程题

    1、  main()

    {int i,j,min,temp,a[11];

    Printf(“enter data:\n”);

    For(i=1;i<=10;i++)

    {printf(“a[%d=”,i);

     Scanf(“%d”,&a[i]);

    }

    Printf(“\n”);

    For(i=1;i<=10;i++)

     Printf(“]”,a[i]);

     Printf(“\n”);

    For(i=1;i<=9;i++)

     {min=i;

     For(j=i+1;j<=10;j++)

     If(a[min]>a[j]) min=j;

     Temp=a[i];

     a[i]=a[min];

     a[min]=temp;

    }

    Printf(“\nthe sorted number:\n”);

    For(i=1;i<=10;i++)

    Printf(“]”,a[i]);

    }

    2、  main()

    {int i,j,upp,low,dig,spa,oth;

    Char text[3][80];

    Upp=low=dig=spa=oth=0;

    For(i=0;i<3;i++)

     {printf(“\nplease input line %d:\n”,i++);

     Gets(text[i]);

    For(j=0;j<80&&text[i][j]!=’\0’;j++)

     {if(text[i][j]>’A’&&text[i][j]<=’Z’)

     Upp++;

     Else if(text[i][j]>=’a’&&text[i][j]<=’z’)

    Low++;

     Else if(text[i][j]>=’0’&&text[i][j]<=’9’)

     Dig++;

     Else if (text[i][j]= =’ ‘)

     Spa++;

     Else

     Oth++;

     }

     }

     For(i=0;i<3;i++)

     Printf(“%s\n”,text[i]);

     Printf(“upper case:%d\n”,upp);

      Printf(“upper case:%d\n”,low);

     Printf(“digit:%d\n”,dig);

    Printf(“space:%d\n”,spa);

    Printf(“other:%d\n”,oth);

    }

    3、#define N 5

     Main()

     {int a[N],i,temp;

     Printf(“enter array a:\n”);

     For(i=0;i

     Scanf(“%d”,&a[i]);

     Printf(“array a:\n”);

     For(i=0;i

    Printf(“M”,a[i]);

     For(i=0;i)

    {temp=a[i];

    a[i]=a[N-i-1];

    a[N-i-1]=temp;

    }

    Printf(“\n now,array a:\n”);

    For(i=0;i

    Printf(“M”,a[i]);

    Printf(“\n”);

    }

     

     

    展开全文
  • 你必须知道495个C语言问题

    千次下载 热门讨论 2015-05-08 11:09:25
    1.15 如何定义一对相互引用的结构? 1.16 Struct{ }x1;和typedefstruct{ }x2;这两个声明有什么区别? 1.17 “typedefint(*funcptr)();”是什么意思? const限定词 1.18 我有这样一组声明:typedefchar*...
  • 【选择题】(D02 1124)

    2021-05-20 18:34:14
    [选择题] (D02 1124) 1、有以下定义: int a[10]; char b[80]; 函数声明为: void sss(char[],int[]); 则正确的函数调用形式...”,下列(D)是对数组元素正确的引用方法。    A a [i] [j]    B * (a[i]+j)    C

    【选择题】 (D02 1124)

    1、有以下定义: int a[10]; char b[80]; 函数声明为: void sss(char[],int[]); 则正确的函数调用形式是( D )

      A sss(a,b);
      B sss(char b[],int a[]);
      C sss(b[],a[]);
      D sss(b,a);


    2、数组a的定义语句为“float a[3] [4];”,下列(D)是对数组元素不正确的引用方法。

       A a [i] [j]
       B * (a[i]+j)
       C * ((a+i)+j)
       D * (a+i
    4+j)


    3、下面叙述错误的是()

    char acX[]=”abc”;
    char acY[]={‘a’,’b’,’c’}; 
    char *szX=”abc”; 
    char *szY=”abc”; 
    

      A acX与acY的内容可以修改
      B szX与szY指向同一个地址
      C acX占用的内存空间比acY占用的大
      D szX的内容修改后,szY的内容也会被更改

      分析:

      "abc"是保存在文字常量区,属于字符串常量,所以该数据不能修改,默认是只读属性。因此不能通过指针szX或szY的指向来修改此值。


    4、下列代码的运行结果是(C)

    int a[]={1,2,3,4};
    int *b=a;
    *b+=2;
    *(b+2)=2;
    b++;
    printf(%d,%d\n”,*b,*(b+2));
    

      A 1,3
      B 1,2
      C 2,4
      D 3,2

      分析: 执行完第五行,数组a={3,2,2,4},指针b指向数组中的第二个元素。


    5、在32位CPU上选择缺省对齐的情况下,有如下结构体定义,则sizeof(struct A)的值为(C)

     struct A{ 
     unsigned a : 19; 
     unsigned b : 11; 
     unsigned c : 4; 
     unsigned d : 29; 
     char index;
     }; 
    

      A 9
      B 12
      C 16
      D 20

      分析: 位段的内存分配

      ● 位段是以 int、unsigned int、signed int 或者是char 类型

      ● 位段的空间上是按照需要以 4字节(int) 或者 1字节(char) 的方式来开辟的

      ● 位段涉及了许多不确定因素,位段是不跨平台的。

    image-20210520173420380


    6、以下关于C++的描述中哪一个是正确的©

      A 任何指针都必须指向一个实例
      B 子类指针不可以指向父类实例
      C 任何引用都必须指向一个实例
      D 引用所指向的实例不可能无效

      分析: 引用的特性

      ● 引用类型与引用实体必须是同种类型
      ● 一个变量可以有多个引用
      ● 引用在定义时必须初始化
      ● 一旦引用了一个实体,则再不能引用其它实体


    7、以下不是double compare(int,int)的重载函数的是(D)

      A int compare(double,double)
      B double compare(double,double)
      C double compare(double,int)
      D int compare(int,int)

      分析:

      函数重载:多个函数作用域相同、函数名字也相同,但是函数参数列表必须不同(参数个数、类型以及类型次序不同)(与返回值类型是否相同无关)


    8、关于虚函数的描述正确的是(B)

      A 派生类的虚函数与基类的虚函数具有不同的参数个数和类型
      B 内联函数不能是虚函数
      C 派生类必须重新定义基类的虚函数
      D 虚函数可以是一个static型的函数


    9、请将下列构造函数补充完整,使得程序的运行结果是(B)

    #include<iostream>
    using namespace std;
    class Sample
    {
    public:
    	Sample(int x)
        {
    		________
    	}
    	~Sample()
        {
    		if(p) delete p;
    	}
    	int show()
        {
    		return *p;
    	}
    private:
    	int*p;
    };
    int main()
    {
    	Sample S(5);
    	cout<<S.show()<<endl;
    	return 0;
    }
    

      A *p=x;
      B p=new int(x);
      C *p=new int(x);
      D p=&x;


    10、关于c++的inline关键字,以下说法正确的是(D)

      A 使用inline关键字的函数会被编译器在调用处展开
      B 头文件中可以包含inline函数的声明
      C 可以在同一个项目的不同源文件内定义函数名相同但实现不同的inline函数
      D 定义在Class声明内的成员函数默认是inline函数
      E 优先使用Class声明内定义的inline函数
      F 优先使用Class实现的内inline函数的实现


    展开全文
  • array实际上是C/C++语言中原生数组进行封装 特点:内存分配在栈(STACK),绝对不会重新分配,随机访问元素 可以用={}进行初始化为0,如果分配5个大小只初始化一个值,后面用0补齐 array swap交换每一个元素,...
  • 1.15 如何定义一对相互引用的结构? 9 1.16 Struct{ } x1;和typedef struct{ } x2; 这两个声明有什么区别? 10 1.17 “typedef int(*funcptr)();”是什么意思? 10 const 限定词 10 1.18 我有这样一组...
  • 《你必须知道495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    1.15 如何定义一对相互引用的结构? 9 1.16 Struct{ } x1;和typedef struct{ } x2; 这两个声明有什么区别? 10 1.17 “typedef int(*funcptr)();”是什么意思? 10 const 限定词 10 1.18 我有这样一组...
  •  ArrayList 和Vector都是使用数组方式存储数据,此数组元素数大于实际存储数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,...
  • 251、若有以下说明和语句,请选出哪个是c数组元素的正确引用 int c[4][5], (*cp)[5]; cp=c; A) cp+1 B) *(cp+3) C) *(cp+1)+3 D) *(*cp+2)、D、2 252、若有以下定义和语句: char *s1="12345",*s2="1234"; printf...
  • 251、若有以下说明和语句,请选出哪个是c数组元素的正确引用 int c[4][5], (*cp)[5]; cp=c; A) cp+1 B) *(cp+3) C) *(cp+1)+3 D) *(*cp+2)、D、2 252、若有以下定义和语句: char *s1="12345",*s2="1234"; printf...
  • 1、 以下数据结构中不属于线性数据结构的是()。 A、队列 B、线性表 C、二叉树 D、栈 我的答案:C 2、 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是()。 A、 可行性分析 B、需求分析 ...
  • excel使用

    2012-11-25 17:06:01
    图8需要注意:如何确定自变量初始值,数据点之间步长是多少,这是要根据函数具体特点来判断,这也是使用者能力检验。如果想很快查到函数极值或看出其发展趋势,给出数据点也不一定非得是等差,可以...

空空如也

空空如也

1 2 3 4 5
收藏数 86
精华内容 34
关键字:

以下对数组元素正确引用的是