c语言读入5个字符串降序排列,C语言综合4(15 18 19 20 周考三)

1.当边界条件不满足时()。

A: 递归前进B: 递归返回C: 递归中断D: 递归跳转2.汉诺塔如果A柱有5只盘,要从A移动到C柱,不走错的话,最少需要几步:要符合游戏规则,一次移一个,大盘只能在小盘下()。

A: 15B: 31C: 63D: 53.使用递归求100以内的数据和,结果是是()。

A: 5050B: 5040C: 5060D: 1004.int fun(int i)

{

if(i==1)

return 1;

else

return i*fun(i-1);

}

void main()

{

int n;

n=fun(2);

printf(“%d”,n);

}程序的输出结果是()。[单选题]

A: 2B: 3C: 6D: 15.下面程序执行后的结果是()。

#include "stdio.h"

int sun(int x,int y)

{

return (x+y);

}

void main()

{

int s;

s=sun(3,7);

printf("%d",s);

}

A: 10B: 12C: 13D: 146.已定义函数如下,则该函数的数据类型是()。

fun(a){ printf("%d",a); }

A: 无法确定B: 整型C: 与输出语句中的a同类型D: void7.int M=1;

void main()

{

int M=0;

M++;

fun();

M++;

printf(“%d”,M);

}以下代码中输出的最终变量指的是()。[单选题]

A: 局部变量B: 全局变量C: 中间变量D: 过程变量8.在C语言程序中,若对无返回值函数类型未加显式说明,则函数的隐含类型为()。

A: voidB: intC: charD: float9.若定义:int a=511, *b=&a;,则printf("%d\n", *b);的输出结果为()。

A: 无确定值B: a的地址C: 512D: 51110.以下关于指针概念不正确的是()。

A: 指针变量可以用整数赋值,但不可以用浮点数赋值B: 一个变量的地址称为该变量的指针,一个指针变量只能指向同一类型的变量C: 只有同一类型的变量地址才能放到指向该类型变量的指针变量之中D: 只能将地址赋给指针变量11.下列不合法的指针变量的定义是()。

A: ?int * _kB: char * _245C: ?int * pD: double * 5_is12.若说明int *p,n;则通过语句scanf能够正确读入数据赋值给n的程序段是()。

A: p=&n;scanf("%d",&p)A: p=&n;scanf("%d",&p)B: p=&n;scanf("%d",*p)C: scanf("%d",n)D: p=&n;scanf("%d",p)13.现有如下定义:int a,b,*p,*q;,则下列赋值语句错误的是()。

A: ?p=&aB: q=&bC: p=qD: p=a14.下面程序执行后的结果是()。

#include

void main()

{

int n1=35;

int *p1;

p1=&n1;

if(*p1%2==0)

{

printf("偶数");

}

else

{

printf("奇数");

}

}

A: 偶数B: 奇数C: 编译出错D: 偶数奇数15.已知程序段如下执行结果是()。

#include "stdio.h"

main()

{

int a,k=4,m=4,*p1=&k,*p2=&m;

printf("%d",*p1+*p2);

}

A: 无法运算B: 4C: 8D: 016.以下程序运行结果是()。

void fun(int *x,int *y)

{

int t;

t=*x;

*x=*y;

*y=t;

}

void main()

{

int x=5,y=3;

fun(&x,&y);

printf(“%d %d”,x,y);

}

A: 3 3B: 3 5C: 5 3D: 5 517.若说明int *p,n;则通过语句scanf能够正确读入数据的程序段是()

A: p=&n;scanf("%d",&p);B: p=&n;scanf("%d",*p);C: scanf("%d",n);D: p=&n;scanf("%d",p);18.p 是指针变量,给指针变量赋NULL 值,它等价于()。

A: p="";B: p='0';C: p=0;D: p='';19.现有如下定义:int a,b,*p,*q;,赋值语句错误的是()。

A: p=&a;B: q=&b;C: p=q;D: p=b;20.下面程序程序执行后的结果是()。

#include

void main()

{

int n1=10,n2=5;

int *p1,*p2;

p1=&n1;

p2=&n2;

printf("%d",*p1-*p2);

}

A: 10B: 5C: -5D: 1521.一般来说,递归需要有()、()和()()。

A: 递归前进段B: 边界条件C: 递归返回段D: 递归超出段22.使用递归的好处包含以下哪些项()。

A: 递归算法比较符合人的思维方式B: 逻辑性强,可将问题描述得简单扼要C: 具有良好的可读性,易于理解D: 递归使用没有好处23.从有效作用域来看,变量分为()。

A: 有参变量B: 无参变量C: 外部变量D: 内部变量24.不能正确定义函数的语句包含()。

A: int fun( );B: int fun(){ };C: void fun(int a,b);D: void fun( );25.从变量的角度看,指针变量也具有变量的3个要素,分别为()。

A: 指针指向那个常量B: 变量名C: 指针的值D: 指针变量的类型26.指针变量的类型可以是下列哪些()。

A: charB: floatC: intD: void27.如有声明语句int *p;则下列说法正确的是()。

A: *p是指针常量B: *p是一个地址C: *p是指针变量D: 指针指向int 型数据28.指针变量的类型可以定义成下列哪些()。

A: charB: floatC: intD: double29.下列指针变量的类型中包括()。

A: charB: floatC: funD: return30.数组中[ ]中的内容可以是()。

A: 1+1B: 1-1C: 1*1D: 1/131.递归调用时,是没有办法结束的,所以尽量少用递归。

对错32.递归是计算机数值计算中的一个重要算法,可以将复杂的运算化为若干重复的简单运算,充分发挥计算机重复处理的特点。

对错33.函数调用时,实参与形参的参数名不必相同。

对错34.在C语言中,函数调用时,如果传递值,实参与形参同名时也不会共用存储单元。

对错35.定义指针的目的是为了通过指针去访问内存单元。

对错36.指针变量里存放的是地址值,因此指针变量只能是int型的。

对错37.如果一个变量专门用来存放另一变量的地址,则它成为指针变量。

对错38.变量的地址是变量和指针二者之间连接的纽带,如果一个变量包含了另一个变量的地址,则可以理解成第一个变量指向第二个变量。

对错39.语句int *p;定义了一个指针变量p,其值是整型。

对错40.一个变量的地焉就称为该变量的指针。

对错1.执行程序后,输出结果是()。[单选题]

void main()

{

int x=2,y=5,t,*p1,*p2;

p1=&x;

p2=&y;

t=*p1;

*p1=*p2;

*p2=t;

printf("x=%d",x);

}

A: x=2B: x=5C: x=xD: x=p13.若有函数

viod fun(double a[], int *n)

{………}

以下叙述中正确的是()。[单选题]

A: 调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送B: 形参a和n都是指针变量C: 形参a是一个数组名,n是指针变量D: 调用fun函数时将把double型实参数组元素一一对应地传送给形参a数组4.下列程序执行后的输出结果是()。

a,int

b[])

func(&a,b); printf(“%d \n”,b[0]);

A: 6B: 7C: 8D: 95.定义以下结构体类型

struct s

{

int a;

float b;

float f;

};

则语句 printf("%d",sizeof(struct s)) 的输出结果为()。[单选题]

A: 9B: 12C: 16D: 106.结构体中普通变量的引用使用的符号是()。

A: ,B: ->C: .D: +7.根据下面的定义,能输出 Mary 的语句是()。

struct person

{

char name[9];

int age;

};

struct person class[5]={"John",17,"Paul",19,"Mary",18,"Adam",16};

A: printf("%s\n",class[1].name);B: printf("%s\n",class[2].name);C: printf("%s\n",class[3].name);D: printf("%s\n",class[0].name);8.下面正确的结构体定义格式是()。

A: struct 结构体名 { 类型 成员变量1; 类型 成员变量2; …. 类型 成员变量n; };B: struct 结构体名 { 类型 成员变量1; 类型 成员变量2; …. 类型 成员变量n; }C: struct { 类型 成员变量1; 类型 成员变量2; …. 类型 成员变量n; }结构体名;D: struct { 类型 成员变量1; 类型 成员变量2; …. 类型 成员变量n; }结构体名9.#include "stdio.h"

union student

{

int a;

int b;

int c;

}s;

void main()

{

s.a=1;

s.b=2;

s.c=3;

printf("%d",s->b);

}//程序的输出结果是()。[单选题]

A: 1B: 2C: 3D: 程序运行出错10.#include "stdio.h"

union student

{

int a;

int b;

int c;

}s;

void main()

{

s.a=1;

s.b=2;

s.c=3;

printf("%d",s->a);

}//程序的输出结果是。[单选题]

A: 2B: 3C: 程序运行出错D: 111.共用体也被称为()。

A: 结构体B: 联合体C: 综合体D: 联构体12.一般来说,递归需要满足三个条件,那项是不需要满足的()。

A: 递归前进段B: 递归返回段C: 递归出口D: 递归运行段13.已知整型变量占4个字节,double型变量占8个字节,char型变量占1个字节,问下面共用体占()个字节。

union student

{

int a;

double b;

char c;

int d;

}s;

A: 17B: 1C: 4D: 814.C语言共用体类型变量在程序运行期间()。

A: 所有成员一直驻留在内存中B: 只有一个成员驻留在内存中C: 部分成员驻留在内存中D: 没有成员驻留在内存中15.()是指模块之间关联程度的一种度量。

A: 耦合度B: 内聚度C: 复杂度D: 精细度16.若有如下定义

union aa {

char x[2];

int y[4];

char z[8];

}them;

printf("%d\n",sizeof(them)); 程序的输出结果是()。[单选题]

A: 8B: 16C: 32D: 2417.关于共用体,下列说法错误的是()。

A: 共用体又可以称为联合体B: 共用体内的各个成员共用一块内存C: 共用体内的成员在使用内存空间上互不干涉,可以同时使用这块内存D: 某种意义上来说,共用体比结构体节约内存18.共用体也称为()。

A: 结构体B: 联合体C: 变量体D: 共和体19.已知整型变量占4个字节,double型变量占8个字节,char型变量占1个字节,问下面共用体占()个字节。

union student

{

int a;

double b;

char c;

}s;

A: 1B: 2C: 4D: 820.有以下说明,不正确的叙述是()。

union data

{

int i;

char c;

float f;

}un;

A: un所占的内存长度等于成员f的长度B: un的地址和它的各成员地址都是同一地址C: un是共用体名D: 不能对un赋值,但可以在定义un时对它初始化21.一个指针变量可以指向()。

A: 整型变量B: 实型变量C: 字符类型变量D: 另一个指针变量22.以下能正确进行字符串赋初值的语句是()。

A: char str[5]= "good!";B: char *str="good!";C: char str[]="good!";D: char str[5]={'g', 'o','o', 'd'};D: char str[5]={'g', 'o','o', 'd'};23.定义结构体类型的指针变量格式不正确的是()。

A: struct 结构名 指针变量名;B: struct 结构名 *指针变量名;C: struct *指针变量名 结构名;D: struct 指针变量名 结构名;24.定义以下结构体数组

#include "stdio.h"

void main()

{

struct

{

int num;

char name[10];

}x[3]={1,"china",2,"USA",3,"England"};

printf("\n%d,%s",x[1].num,x[2].name) ;

}输出结果不正确的是()。[多选题]

A: 1,chinaB: 2,USAC: 3,EnglandD: 2,England25.在使用共用体类型时,需要注意以下()。

A: 同一个内存段可以用来存放几种不同类型的成员,但是每一次只能存放其中一种,而不是同时存放所有的类型。也就说在共用体中,只有一个成员起作用,其他成员不起作用。B: 共用体变量中起作用的成员是最后一次存入的成员,在存入一个新的成员后原有的成员就失去作用C: 共用体变量的地址和它的各成员的地址是一样的D: 不能对共用体变量名赋值,也不能企图引用变量名来得到一个值。26.共用体也称联合体常用于()。

A: 常用来节省内存,特别是一些嵌入式编程,内存是非常宝贵的!B: 常用来占据内存,特别是一些嵌入式编程,内存越占多越好C: 常用于操作系统数据结构或硬件数据结构!D: 以上都不对27.在用scanf()输入数据时遇到以下哪些情况都认为数据输入已结束。

A: 遇空格符B: 回车符C: 制表符D: 达到输入域宽28.共用体常用于()。

A: 常用来节省内存,特别是一些嵌入式编程,内存是非常宝贵的!B: 常用来占据内存,特别是一些嵌入式编程,内存越占多越好C: 常用于操作系统数据结构或硬件数据结构!D: 以上都不对29.下面对于共用体使用描述正确的选项是()。

A: 共用体常用来节省内存,特别是一些嵌入式编程B: 共用体也常用于操作系统数据结构或硬件数据结构C: 网络编程,协议分析,内核代码上有一些用到union都比较好懂,简化了设计D: 使用共用体占用内存多30.定义一个共用体,包括的数据成员有整型、字符型和实型。

union data

{

int i;

char ch;

float f;

}a;

针对上面代码说明正确的是()。[多选题]

A: a为定义的共用体变量B: union data是共用体类型C: i,ch,f是共用体成员D: 共用体最后的;可以省略31.引用指针变量的含义是引用指针变量所指向的值。

对错32.函数的形参为一个数组,则调用此函数时只能将数组名作为对应的实参。

对错33.可以将结构体变量作为一个整体直接进行输入输出。

对错34.结构体变量的引用,实际是引用其各个成员,要使用.或者->。

对错35.可以用一个下标定位的数组称为一维数组。

对错36.同一个内存段可以用来存放几种不同类型的成员,但是每一次只能存放其中一种,而不是同时存放所有的类型。也就说在共用体中,只有一个成员起作用,其他成员不起作用。

对错37.共用体变量中起作用的成员是最后一次存入的成员,在存入一个新的成员后原有的成员就失去作用。

对错38.不能对共用体变量名赋值,也不能企图引用变量名来得到一个值。

对错39.共用体和结构体一样,占据内存算法是一样的。

对错40.可以对共用体变量名赋值,通过引用变量名来得到一个值。

对错1.结构体中普通变量的引用使用的符号是()。

A: ,B: ->C: .D: +2.下面对结构体变量描述错误的是()

A: 相同结构体定义的指针和变量,指针可以指向该变量B: 通过结构体变量,可以任意引用它的成员C: 结构体变量的某个成员和与这个成员类型相同的普通变量间可相互赋值D: 结构体变量和普通变量可以相互赋值3.设有以下定义,则变量a所占内存字节数为()

struct ss

{

char num[6];

int s[4];

double s1;

}a;

A: 32B: 14C: 18D: 244下面正确的结构体定义格式是().

A: struct 结构体名 { 类型 成员变量1; 类型 成员变量2; …. 类型 成员变量n; };B: struct 结构体名 { 类型 成员变量1; 类型 成员变量2; …. 类型 成员变量n; }C: struct { 类型 成员变量1; 类型 成员变量2; …. 类型 成员变量n; }结构体名;D: struct { 类型 成员变量1; 类型 成员变量2; …. 类型 成员变量n; }结构体名5.#include "stdio.h"

union student

{

int a;

int b;

int c;

}s;

void main()

{

s.a=1;

s.b=2;

s.c=3;

printf("%d",s->a);

}//程序的输出结果是()。[单选题]

A: 2B: 3C: 程序运行出错D: 16.已知如下片段代码,假如共用体引用正确则a.i的值是()

union data

{int i;

char ch;

};

void main()

{union data a={98};

}

A: 98B: 99C: 0D: 977.下面程序的输出是()

void main()

{

struct cmplx

{

int x;

int y;

} cnum[2]={1,3,2,7};

printf("%d\n",cnum[0].y /cnum[0].x * cnum[1].x);

}

A: 0B: 1C: 3D: 68.共用体也称为()

A: 结构体B: 联合体C: 变量体D: 共和体9.假设各变量已定义且初值已赋,下面代码实现的功能是 for(i=1;i<=n;i++){ sum=sum+i;i++;}:()

A: 奇数累积求和B: 奇数累积求积C: 偶数累积求和D: 偶数累积求积10.把规模大的问题转换为规模小的相似的问题,是()的思想。

A: 递归B: 递推C: 穷举D: 迭代11.关于字符数组说明正确的是()。

A: 字符数组中的字符只能一个一个输入B: 字符数组中的字符可以整体输入C: 字符数组中的字符只能是字母D: 字符数组中的字符不能含有空格12.一维数组的定义语法是:类型说明符 数组名()

A: [整型常量]B: [整型表达式]C: [常量表达式]D: [整型常量]或[整型表达式]13.

有以下程序#include "stdio.h"

main() { char ch[]="uvwxyz",*pc; pc=ch;printf(" %c\n",*(pc+5)); }

程序运行后的输出结果是( )[单选题]

A: 元素ch[5]的地址B: 字符y的地址C: zD: 0(零)14.s 是一个结构体指针变量,它有一个成员变量叫age,则使用格式正确的是()

A: s%ageB: s#ageC: s&ageD: s->age15.有以下程序段

int i;

int sum = 0;

for(i=0;i<=n;i++)

{sum=sum+i;

}程序段的功能是()[单选题]

A: 累积求和B: 累积求积C: 循环输出变量i的所有取值D: 求n的阶乘16.#include "stdio.h"

void main()

{

char ch[]="uvwxyz",*pc;

pc=ch;

printf("%c\n",*(pc+3));

}

程序运行后的输出结果是()[单选题]

A: 元素ch[3]的地址B: 字符y的地址C: xD: z17.s 是一个结构体变量,它有一个成员变量叫age,则使用格式正确的是()。

A: s%ageB: s#ageC: s.ageD: s->age18.在使用递归策略时,必须有一个明确的递归结束条件,称为()。

A: 递归入口B: 递归出口C: 递归条件D: 递归初始值19.设有定义:int k=0;以下选项的四个表达式中a与其他三个表达式的值不相同的是()。

A: a=++kB: a=k++C: a=k+=1D: a=k+120.变量的指针指的是()。

A: 变量的类型B: 变量的值C: 变量的名称D: 变量的地址21. 关于结构体定义描述正确的是()。

A: 结构体可以定义在函数内部作为局部变量使用B: 结构体可以定义在函数外部作为全局变量使用C: 结构体最后的分号不能省略D: 定义结构体使用的关键字是struct22. 定义结构体类型的指针变量格式不正确的是()。

A: struct 结构名 指针变量名;B: struct 结构名 *指针变量名;C: struct *指针变量名 结构名;D: struct 指针变量名 结构名;23. 共用体和结构体类似要注意区分的是()。

A: 结构体各成员占不同的地址所占内存长度等于全部成员所占内存之和B: 共用体各成员占相同的起始地址所占内存长度等于最长的成员所占内存C: 共用体各成员占不同的地址所占内存长度等于全部成员所占内存之和D: 结构体各成员占相同的起始地址所占内存长度等于最长的成员所占内存24. 共用体也称联合体常用于()。

A: 常用来节省内存,特别是一些嵌入式编程,内存是非常宝贵的!B: 常用来占据内存,特别是一些嵌入式编程,内存越占多越好C: 常用于操作系统数据结构或硬件数据结构!D: 以上都不对25. 设有定义:int k=0;以下选项的四个表达式值相同的是()。

A: a=++kB: a=k++C: a=k+=1D: a=k+126.下面关于函数中的实参描述正确的是():。

A: 函数调用中普通变量发生的数据传送是单向的。即只能把实参的值传送给形参。B: 实在参数的个数及类型应与形式参数一致,赋值时多个参数之间的前后对应关系不变。C: 实在参数是一个具有确定值的表达式。D: 实参变量x的值传递给形参变量x,改变函数形参的值,不会改变对应实参的值27. 以下关于数组的描述中,正确的有()。

A: 有定义char a[3]; 则定义了a[1]、a[2]、a[3]三个数组元素B: 构成字符数组的各个元素必须是字符类型的数据C: 若有定义char a[]="hello";,则数组a的长度为6D: 设有数组定义char array []="China"; 则数组array所占的空间为5个字节28.下面描述项中正确的是哪些()。

A: 指针变量不可以作为函数的参数B: 定义函数时可以有一个或多个形参,也可以没有形参C: 函数是由函数首部与函数体构成的D: main()函数可以调用任何其它函数29. 利用数组可以完成的功能包含()。

A: 求和B: 求最大值C: 排序D: 字符串连接30.关于数组int a[][2]={0,0,2}的下列描述不正确的是()。

A: 二维数组a的第一维大小为1B: 数组a的每个元素都可得到初值0C: a[0][0]和a[0][1]可得到初值0值D: 因为二维数组a中初值的个数不能被第二维大小的值整除,则第一维的大小等于所得商数再加1,故数组a的行数为131. 结构体可以像宏一样定义在函数外部,作全局变量来用。

对错32. 结构体成员名可以和程序中的变量名相同

对错33.可以用一个下标定位的数组称为一维数组

对错34.共用体和结构体一样,占据内存算法是一样的

对错35.结构体数组,即定义数组的每个元素都是一个结构体类型的。

对错36.函数调用时,传参是由实际参传给形参。

对错37.C语言的三种程序控制结构是顺序结构、选择择构及递归结构。

对错38. C程序主函数中的一个变量可以被定义为二个或多个不同类型。

对错39.C语言中变量num和NUM是指同一个变量。

对错40.如果函数值的类型与return返回值的类型不一致,则以函数值类型为准。

对错1.一般来说,递归需要满足三个条件,那项是不需要满足的()。

A: 递归前进段B: 递归返回段C: 递归出口D: 递归运行段2.C语言中共用体类型数据的叙述正确的是()。

A: 可以对共用体变量名直接赋值B: 一个共用体变量中可以同时存放其所有成员C: 一个共用体变量中不能同时存放其所有成员D: 共用体类型定义中不能出现结构体类型成员3.共用体变量定义完成后,如何引用其中的成员数据()。

A: 共用体变量+成员名;B: 共用体变量.成员名;C: 共用体变量->成员名;D: 共用体变量,成员名;4.()是指模块之间关联程度的一种度量。

A: 耦合度B: 内聚度C: 复杂度D: 精细度5.已定义一维数组int a[5]; 则能正确引用a 数组元素的是()。

A: aB: a[5]C: a[10-10]D: a(0)6.C语言数组的描述正确的是()。

A: 数组的大小是固定的,所有数组元素的类型必须相同B: 数组的大小是固定的,但可以有不同的类型的数组元素。C: 可以直接用数组名对数组进行整体输入或输出D: 数组名也是变量,可以对它赋值。7.设有定义:int k=0;以下选项的四个表达式中a与其他三个表达式的值不相同的是()。

A: a=++kB: a=k++C: a=k+=1D: a=k+18.变量的指针指的是()

A: 变量的类型B: 变量的值C: 变量的名称D: 变量的地址9.s是一个共用变量,它有一个成员变量叫name,则使用格式正确的是()

A: s.nameB: s->nameC: s;nameD: s

A: int y[4]={1,2,3,4,5};B: char c[]={'a','b','c'};C: double a[]={1,2};D: float a[3]={1.2,3.4};11.已知有一个数组 int arr[7]={23,4,67,8,6,1,100}; 那么这个数组的最小值为()。

A: arr[1]B: arr[2]C: arr[5]D: arr[7]12.实现先执行后判断的循环结构是().

A: for循环B: switch循环C: while循环D: do...while循环13C语言定义结构体的关键字是()。.

A: structB: intC: floatD: yes14.下面属于采用二维数组完成的功能的是()

A: 十个元素从小到大有序排列B: 杨辉三角C: 输出学生姓名D: 简易计算器15.若定义数组int a[8];则不能代表数组元素a[1]地址的是()

A: &a[0]+1B: &a[1]C: &a[0]++D: a+116.若二维数组y有m列,则排在y[i][j]前的元素个数是()。

A: j*m+iB: i*m+jC: i*m+j-1D: i*m+j+117.已定义数组 int a[5]={1,34,5,89,-3};输出结果是89,34,5,1,-3则完成的是()

A: 升序排列B: 降序排列C: 横向排列D: 纵向排列18.执行下面程序输出的x值是()

#include "stdio.h"

main( )

{

int x,y,i;

int arr[5] = {1,2,3,4,5};

x=arr[0];y=0;

for(i = 0; i <5; i++ )

{

if(x < arr[i])

{

x = arr[i];

y=i;

}

}

}

A: 数组中的最小值B: 数组中的最大值C: 数组最小值的下标D: 数组最大值的下标19.在定义函数fun(char sex)时,如果函数需要返回整数,则下面函数定义正确的是()

A: void fun(char sex){ }B: char fun(char sex) { }C: float fun(char sex) { }D: int fun(char sex){ }20.若有以下定义语句:char s[10];s=”1234”;printf(“%s\n”,s); 则运行结果是:()

A: 输出1234B: 输出1C: 输出4D: 编译不通过21. 共用体常用于()

A: 常用来节省内存,特别是一些嵌入式编程,内存是非常宝贵的!B: 常用来占据内存,特别是一些嵌入式编程,内存越占多越好C: 常用于操作系统数据结构或硬件数据结构!D: 以上都不对22. 什么情况下使用共用体()

A: 当需要把不同类型的变量存放到同一段内存单元B: 对同一段内存单元的数据按不同类型处理C: 定义多个变量D: 当需要把相同类型的变量存放到同一段内存单元23.设有定义:int k=0;以下选项的四个表达式值相同的是()

A: a=++kB: a=k++C: a=k+=1D: a=k+124. 关于数组int a[][2]={0,0,2}的下列描述不正确的是()

A: 二维数组a的第一维大小为1B: 数组a的每个元素都可得到初值0C: a[0][0]和a[0][1]可得到初值0值D: 因为二维数组a中初值的个数不能被第二维大小的值整除,则第一维的大小等于所得商数再加1,故数组a的行数为125. C语言中允许的构造数据类型包括()

A: 整型B: 浮点型C: 共用体D: 结构体26. 下列是C语言里的格式控制符的有()

A: %dA: %dB: %ceD: %k27. 从变量的角度看,指针变量也具有变量的3个要素,分别包括()

A: 指针指向那个常量B: 变量名C: 指针的值D: 指针变量的类型28. 循环结构中可以包含的关键字有()

A: forB: switchC: ifD: break29. 使用结构体过程中下列描述正确的是()

A: 结构体类型的数据是由不同类型的数据组合而成的B: 一旦定义了某个结构体类型后,系统为此类型的各个成员分配内存单元C: C语言中的结构体类型变量在程序执行期间一直驻留在内存D: 定义结构使用的关键字是Structured30. 关于字符串常用函数说法正确的是()。

A: 二个字符串所包含字符个数相等时才能进行比较B: 字符个数比较多的字符串比字符个数少的字符串大C: 字符串比较是对应字符一一对较D: 字符串比较使用的函为是strcmp()31.共用体变量中起作用的成员是最后一次存入的成员,在存入一个新的成员后原有的成员就失去作用

对错32. 一个共用体变量中不能同时存放其所有成员

对错34.C程序主函数中的一个变量可以被定义为二个或多个不同类型

对错35. 函数调用时,是从形参向实参传递数据。

对错33假设有语句int a[10]={1,2,3},*p;p=a;则p++完全等价于a++。()

对错36. 函数返回值是将形参的数值返回给实参。

对错37. 函数调用中函数可以作为另一个有参函数的形参。

对错38.C语言中指针变量里存放的是地址值,因此指针变量只能是int的。

对错39.结构体是构造类型,结构体成员不一定都是基本数据类型的成员

对错40.字符串"a"在内存中占1个字节。

对错1.以下函数调用语句中含有几个实参?(exp1...exp5分别代表变量)()。

func((exp1+exp2),(exp3+exp4+exp5))

A: 1B: 2C: 5D: 42.()是在定义函数时放在函数名称之后的括号中的参数。

A: 实参B: 形参C: 自定义参数D: 系统 参数3.以下叙述中错误的是()。

A: 用户定义的函数中可以没有return语句B: 用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数的值C: 用户定义的函数中若没有return语句,则应当定义函数为void类型D: 函数的return语句中可以没有表达式4.下面程序的执行结果是()。

#include "stdio.h"

fun(int x,int y,int z)

{

int m=0;

m=x;

if(m

m=y;

}

if(m

{

m=z;

}

return m;

}

void main()

{

printf("%d", fun(19,40,-17) );

}

A: 程序报错,没有指定函数返回值类型B: 19C: 40D: -175.使用递归求100以内的数据和,结果是是()。

A: 5050B: 5040C: 5060D: 1006.递归的基本思想描述正确的是()。

A: 把规模大的问题转换为规模小的相似的子问题B: 把规模小的问题转换为规模大的相似的子问题C: 把问题转为程序D: 其它三项都不对7.递归概念指的是()。

A: 从小到大进行排列B: 程序调用自身的编程技巧C: 相同数据类型的有序的集合D: 特定功能的模块8.下列那个是递归形式函数()。

A: void qq( ) { void qq(); }B: void qq( ) { qq(); }C: void qq( ) { abc(); }D: void qq( ) { tell(); }10.在C语言程序中,若对无返回值函数类型未加显式说明,则函数的隐含类型为()。

A: voidB: intC: charD: float11.已知函数定义如下:

int fun(int a[10])

{

......;//函数体省略

}则该函数的参数传递属于()。[单选题]

A: 值传递B: 地址传递C: 形参传递D: 实参传递12.下列关于C函数定义的叙述中正确的是()。

A: 函数可以嵌套定义,但不可以嵌套调用B: 函数不可以嵌套定义,但可以嵌套调用C: 函数不可以嵌套定义,也不可以嵌套调用D: 函数可以嵌套定义,也可以嵌套调用13.下列不合法的指针变量的定义是()。

A: ?int * _kB: char * _245C: ?int * pD: double * 5_is14.下面程序执行输出结果是()。[单选题]

void swap(int *a, int *b)

{int *t;

t=a;

a=b;

b=t;

printf("a=%d,b=%d",*a,*b);

}

main()

{

int x=3, y=5, *p=&x, *q=&y;

swap(p,q);

}

A: a=3,b=5B: a=5,b=3C: a=5,b=5D: a=3,b=315.设变量p 是指针变量,语句p=NULL;,是给指针变量赋NULL 值,它等价于()。

A: p="";B: p='0';C: p=0;D: p='';16.现有如下定义:int a,b,*p,*q;,赋值语句错误的是()。

A: p=&a;B: q=&b;C: p=q;D: p=b;17.若有定义语句:char *s1="OK",*s2="ok";,以下选项中,能够输出"ok"的语句是()。

A: if(strcmp(s1,s2)!=0)puts(s1)B: if(strcmp(s1,s2)==1)puts(s1)C: if(strcmp(s1,s2)==0)puts(s1)D: if(strcmp(s1,s2)!=0)puts(s2)18.变量的指针指该变量的()。

A: 值B: 地址C: 名D: 一个标志19.若有定义double a[10],*s=a;以下能代表数组元素a[3]的是()。

A: (*s)[3]B: *(s+3)C: *s[3]D: *s+320.下面关于指针变量叙述项正确的包含()。

A: 指针变量不可以进行自增B: 指针变量不可以进行自减C: 指针变量自增、自减与普通变量相同D: 指针都按照它所指向的数据包类型的直接长度进行增或减。21.下列定义有参数正确的是()。

A: void arr(int a,b){}B: void arr(int a,int b){}C: void brr(int a,float b){}D: void brr{}22.下面对函数分类正确的是()。

A: 函数按定义分为库函数及用户自定义函数B: 函数按返回值可分类有返回值及无返回值函数C: 函数按传参分为有参函数及无参函数D: 函数按传参分为形参函数及实参函数23.已知int a[][3]={1,2,3,4,5,6,7};,则数组a的第一维的大小可以是()。

A: 4B: 3C: 2D: 824.定义数组时,数组中[ ]中的内容可以是()。

A: 2+2B: 2-2C: 2*2D: 2/225.从有效作用域来看,变量分为()。

A: 有参变量B: 无参变量C: 外部变量D: 内部变量26.不能正确定义函数的语句包含()。

A: int fun( );B: int fun(){ };C: void fun(int a,b);D: void fun( );27.从变量的角度看,指针变量也具有变量的3个要素,分别为()。

A: 指针指向那个常量B: 变量名C: 指针的值D: 指针变量的类型28.定义指针变量的一般形式如下;类型说明 *变量名,下列选项中说法正确的是()。

A: 其中“*”表示该变量是一个指针变量B: 变量名为定义的指针变量名C: 类型说明表示本指针变量所指向的变量的数据类型。D: 类型说明只能是整型29.访问一个字符中可以通过两种方式,第一种方式( ),另一种方式( )()。

A: 使用字符数组B: 使用字符指针C: 用整型变量来访问D: 用指针变量访问,定义指针字符数组30.下面说法引用字符串”ba wei”正确的是()。

A: char a[]=”ba wei” ; printf(“%s”,a);B: char *a=”ba wei”; printf(“%s”,a);C: char *a=”ba wei”;int i=5;printf(“%s”,a[i]);D: 只能用字符数组,不能用字符指针31.若定义了函数add(int x,int y){ }  调用该函数add(2,3);则此时的2,3称为形参。()

对错32.函数可以嵌套调用。

对错33.函数名可以起名abc。

对错34.递归函数是库函数的一种。

对错35.函数调用时,实参与形参的参数名不必相同。

对错37.变量的指针,其含义是指该变量的一个标志。

对错38.在C语言中,所谓指针型数据,即指该数据是一个地址。

对错39.运算符&”和“*”的运算符优先级别相同,按自右向左的方向结合。

对错40.在指针章节运算符“*”的作用是返回指定的地址内的变量的值。

对错36.定义一个求判断二个数比大小的无参函数可以使用语句void compare{ };。()

对错

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值