锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

C语言单选题(三)

时间:2022-11-08 10:30:00 stps10l40ct二三极管

1.C程序执行期间语言结构体类型变量(C)。

A.部分成员驻留在内存中

B.只有一个成员留在内存中

C.所有成员都留在内存中

D.没有成员留在内存中

2.说明一个类型的名称STP,定义句子STPs等价于char *s,正确的选项是以下选项(A)。

A.typedef char* STP;

B.typedef stp *char;

C.typedef STP char *s;

D.typedef*char STP;

3.如果建立了以下链表结构,指针p、s如果分别指向图中显示的结点,则不能将S指示的结点插入链表末尾的句组(B) 。

A.s->next = NULL; p = p->next; p->next = s;

B.p = p->next; s->next = p; p->next = s;

C.p = (*p).next;(*s).next = (*p).next; (*p).next= s;

4.以下程序运行后的输出结果是(A)。

#include

struct NODE

{ int num;

struct NODE*next; };

main()

{struct NODE *p, *q, *r;

int sum = 0;

p =(struct NODE *)malloc(sizeof(struct NODE));

q=(struct NODE *)malloc(sizeof(struct NODE));

r=(struct NODE *)malloc(sizeof(struct NODE));

p->num = 1; q -> num = 2; r -> num = 3;

p ->next = q; q -> next = r ; r -> next = NULL;

sum = q-> next -> num; sum = p ->num;

printf("%d\n", sum);

}

A.4

B.3

C.5

D.6

5.C源程序不仅可以存储在磁盘上,还可以以数据类型的形式存储在磁盘上(D)。

A.内存

B.寄存器

C.缓冲区

D.文件

6.若fp函数已正确定义并指向某个文件,当文件结束标志未满足时

feof(fp)的值为(D)。

A.一个非0值

B.-1

C.1

D.0

7.若以"a "如果打开现有文件,以下描述是正确的(D)。

A.文件打开时,原始文件内容不被删除,位置指针移动到文件开头,可以重写和读取

B.其他说法都不正确

C.文件打开时,原始文件内容被删除,只能写作

D.打开文件时,不删除原始文件内容,将位置指针移动到文件末尾,可以添加和阅读

8.在执行fopen 函数时,ferror 函数的初始值是(D)。

A.TRUE

B.1

C.-1

D.0

9.如果变量已经正确定义和赋值,以下符合C语言语法的表达式是(C)。

A.a:=b 1

B.a=a 7=c b

C.a=b=c 2

D.int18.5%3

10.以下描述不正确(B)。

A.C函数是程序的基本组成部分

B.在C程序中,注释只能位于一个句子的后面

C.一个C源程序可以由一个或多个函数组成

D.C源程序必须包含一个main函数

11.以下描述是正确的(C)。

A.在以下定义中C R 是称为"宏名"的标识符 #defineC R045

B.在程序的一行上可以出现多个有效的预处理命令行

C.宏替换不占用运行时间,只占用编译时间

D.当使用带参的宏时,参数的类型应与宏定义一致

12.以下描述是正确的(B)。

A.C语言中的函数不能单独编译

B.C语言中的每个可执行语句最终都将转换为二进制机器指令

C.C源程序编译形成的二进制代码可以直接运行

D.C语言源程序可以直接运行,无需编译

13.在下列运算符中,优先级最高的运算符是(B)。

A.*(乘号)

B.()

C.!=

D.=

14.已知x=43,ch='A',y=0;则表达式(x>=y&&ch

A.语法错

B.0

C.1

D."假"

15.若a=1,b=2则a|b的值是(D)。

A.1

B.2

C.0

D.3

16.以下程序的输出结果是B

main()

{int x = 35; charz = ‘A’;

printf(“%d\n”, (x & 15) && (z < ‘a’) );

}

A.2

B.1

C.0

D.3

17.语句printf("a\bre\'hi\'y\\\bou\n");输出结果为(说明:\b是退格符)(A)。

A.re'hi'you

B.a\bre\'hi\'y\\\bou

C.abre'hi'y\bou

D.a\bre\'hi\'y\bou

18.若有以下程序:

main()

{ int k=2,i=2, m;

m=(k =i*=k);printf("%d,%d\n",m,i);

}

执行后的输出结果是(B)

A.8,3

B.6,4

C.7,4

D.8,6

19.以下不符合C语言语法的赋值句是(C)。

A.a=b=5;

B.y=(a=3,6*5);

C.a=1,b=2

D.j=j 1;

20.以下程序的输出结果是(D)。

main()

{int a=7,b=5;

printf("%d\n",b=b/a);

}

A.不确定值

B.1

C.5

D.0

21.以下程序的输出结果是(A)。

main()

{ int x=1,y=0,a=0,b=0;

switch(x)

{

case1:switch(y)

{

case 0:a ;break;

case 1:b ;break;

}

case2:a ;b ;break;

case3:a ;b ;break;

}

printf("a=%d,b=%d\n",a,b);

}

A.a=2,b=1

B.a=1,b=0

C.a=2,b=2

D.a=1,b=1

22.有以下程序

main()

{

int a=5, b=4,c=3, d=2;

if(a>b>c)

printf("%d\n",d);

elseif((c-1 >= d) == 1)

printf("%d\n",d 1);

else printf("%d\n",d 2);

}

执行后的输出结果是(D)

A.2

B.4

C.编译时出错

D.3

23.假设所有变量都已正确定义,下列程序段运行后x的值为(D)。

k1=1;

k2=2;

k3=3;

x=15;

if(!k1)nbsp;  x--;

else  if(k2)   x=4;

else   x=3;

A.15

B.14

C.3

D.4

24.选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任一表达式,但其值只能被判断为"真"或"假"。哪个数作为逻辑"假"值(D)。

A.非零的数

B.1

C.-1

D.0

25.以下描述中正确的是(D)。

A.do-while循环中,根据情况可以省略 while

B.由于do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句

C.do-while循环由do开始,用while结束,在 while(表达式)后面不能写分号

D.在do-while 循环体中,一定要有能使 while 后面表达式的值变为零("假")的操作

26.判断两个字符串是否相等,正确的表达是(D)

A.while(s1=s2)

B.while(s1= =s2)

C.while(strcmp(s1,s2)=0)

D.while(strcmp(s1,s2)= =0)

27.若i为整型变量,则以下循环执行次数是(A)。

for(i=2;i==0;)printf("%d",i--);

A.0次

B.1次

C.无限次

D.2次

28.while(fabs(t)<1e-5)if(!(s/10)) break;其中int s;循环结束的条件是(C)。

A.fabs(t)<1e-5&&!s/10

B.t>=1e-5&&t<=-1e-5&&s>-10&&s<10

C.(t>=1e-5||t<=-1e-5)&&(s>-10&&s<10)

D.s/10==0

29.以下定义语句中,错误的是(B)。

A.char*a[3];

B.chars[10];s="test";

C.chars[10]="test";

D.inta[]={1,2};

30.以下定义语句中,错误的是(D)。

A.char*a[3];

B.chars[10];s="test";

C.chars[10]="test";

D.inta[]={1,2};

31.以下程序的输出结果是(D)

main()

{  int  i,  x[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9};

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

printf("%d,", x[i][2-i]);

}

A.1,5,9,

B.3,6,9,

C.1,4,7,

D.3,5,7,

32.若有定义语句:charc[5]={‘a’,’b’,’\0’,’c’,’\0’};, 则执行语句pritnf(“%s”, c);的结果是(D)

A.ab c

B.ab\0c

C.‘a’’b’

D.ab

33.以下叙述中不正确的是(C)。

A.表达式a&=b等价于a=a&b

B.表达式a|=b等价于a=a|b

C.表达式a!=b等价于a=a!b

D.表达式a^=b等价于a=a^b

34.任何一个C语言的可执行程序都是从(A)开始执行的.

A.main()函数的入口处

B.编译预处理语句

C.程序中的第一条语句

D.程序中的第一个函数

35.以下正确的说法是(C)。

A.return后边的值不能为表达式

B.定义函数时,形参的类型说明可以放在函数体内

C.如果函数值的类型与返回值类型不一致,以函数值类型为准

D.如果形参与实参类型不一致,以实参类型为准

b3e4f2ddffd562f2ea6ef0a2813b2bd6.png

36.以下正确的函数形式是(B)

A.

B.

C.

D.

37.以下程序的输出结果是(A)

main()

{   int  k= 2, m = 4, n = 6;

int *pk = &k, *pm = &m, *p;

*(p = &n) = *pk * (*pm);

printf("%d\n", n);

}

A.8

B.10

C.6

D.4

38.当运行以下程序时输入OPEN THEDOOR,则输出结果是(C)

#include 

char fun(char  *c)

{  if(*c <= 'Z' && *c >= 'A' )

*c -= 'A' - 'a';

return*c;

}

main()

{  char  s[8], *p = s;

gets(s);

while(*p)

{   *p = fun( p );

putchar(*p);  p++;

}

putchar('\n');

}

A.oPENtHE dOOR

B.OpenThe Door

C.openthe door

D.OPENTHE DOOR

39.关于指针概念说法不正确的是(A)。

A.指针变量可以由整数赋,不能用浮点赋

D.一个指针变量只能指向同一类型变量

40.若有定义和语句:

int   a[4][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12}, (*prt )[3] = a,  *p[4], i;

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

p[i] = a[i];

则不能够正确表示a数组元素的表达式是(B)

A.(*(p+1))[1]

B.a[4][3]

C.p[0][0]

D.prt[2][2]

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章