选择题.docx

上传人:b****6 文档编号:5829929 上传时间:2023-01-01 格式:DOCX 页数:28 大小:23.67KB
下载 相关 举报
选择题.docx_第1页
第1页 / 共28页
选择题.docx_第2页
第2页 / 共28页
选择题.docx_第3页
第3页 / 共28页
选择题.docx_第4页
第4页 / 共28页
选择题.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

选择题.docx

《选择题.docx》由会员分享,可在线阅读,更多相关《选择题.docx(28页珍藏版)》请在冰豆网上搜索。

选择题.docx

选择题

选择题

1.下列叙述错误的是()。

A.注释说明部分在程序编译和运行时不起作用

B.C源程序中任意一行都可加上注释说明

C.注释说明部分必须位于语句的后面

D.C源程序的注释说明部分位于一对'/*'和'*/'之间

2.C语言基本数据类型不包括()。

A.实型

B.字符型

C.字符串型

D.整型

3.若已定义:

intx=3,y=2,k=5;则正确的表达式是()。

A.x=(y++,y+k)

B.x=y\2

C.x=y+1=8-k

D.k=int(x/y)%10

4.若已定义:

inta=1,b=2,c=3;语句--a&&b--||c++;执行后变量b的值为()。

A.0

B.2

C.3

D.1

5.若要产生一个10~99之间的随机整数,应使用()表达式。

A.srand()

B.rand()%90+10

C.rand()

D.srand()/100

6.若已定义:

inta=3,b=2,c=1;则表达式((!

a)||b>c)&&(a

A.2

B.3

C.0

D.1

7.若已定义:

charc;inta;floatx;doubley;则表达式c*a+x-y值的数据类型为()。

A.double

B.float

C.int

D.char

8.下列程序运行时若输入6,则输出结果是()。

voidmain()

{intx;

scanf("%d",&x);

if(x--<6)

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

else

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

}

A.5

B.6

C.4

D.7

9.下列程序段运行后变量m的值为()。

inti,j,m=0;

for(i=1;i<=2;i++)

for(j=1;j<=3;j+=2)

m=m+i+j;

A.10

B.12

C.13

D.14

10.下列程序段的运行结果是()。

inta[6]={1,2},i;

for(i=2;i<=6;i++)

{a[i]=a[i-1]+a[i-2];

}

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

printf("%3d",a[i]);

A.123456

B.123567

C.1235813

D.123457

11.下列程序段执行后p的值是()。

inta[3][3]={3,2,1,3,2,1,3,2,1};

inti,j,p=1;

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

for(j=i+1;j<3;j++)p*=a[i][j];

A.108

B.12

C.18

D.2

12.下列程序段的运行结果是()。

charstr[80];

strcpy(str,"university");

printf("%d",strlen(str));

A.10

B.117

C.9

D.8

13.下列程序的运行结果是()。

#include

intnum=20;

fun()

{intnum=5;

return--num;

}

voidmain()

{fun();

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

}

A.20

B.5

C.19

D.4

14.下列叙述中错误的是()。

A.下列是正确的宏定义:

defineR45

B.预处理命令行都必须以#号开始

C.C程序在执行过程中对预处理命令行进行处理

D.在程序中凡是以#号开始的语句行都是预处理命令行

15.若已定义:

int*p1,*p2;则()是无效的指针运算。

A.p1+p2

B.p1>p2

C.p1-p2

D.p1

16.下列程序的运行结果是()。

main()

{chara[]="cba",*p;

for(p=a;p

printf("%s",p);

}

A.cbabaa

B.cba

C.cbaba

D.abcbcc

17.若已定义:

structstudent

{intnum;

intage;

};

structstudents[3]={{301,18},{302,21},{303,19}};

structstudent*p=s;

则表达式的值为21的是()。

A.(p++)->age

B.(*++p).age

C.(*p++).age

D.*(++p)->age

18.下列程序段的执行结果是()。

typedefunion

{intage;

charname[10];

floatweight;

}CLASS;

structanimal

{intcat;

CLASSdog;

doubleani;

}zoon;

CLASSone;

printf("%d",sizeof(structanimal)+sizeof(CLASS));

A.22

B.20

C.10

D.30

19.若已定义:

typedefunion

{charname[10];

intage;

}ustu,*uyour;

下列叙述错误的是()。

A.uyour是指向共用体类型ustu的指针类型名

B.age是共用体类型ustu的成员

C.uyour是一个共用体类型名

D.ustu是一个共用体类型名

20.当文件正常关闭时,fclose()函数的返回值是()。

A.0

B.-1

C.1

D.一个非0值

21.C源程序中,可根据需要用一对()将多个语句括起来构成复合语句。

A.圆括号()

B.方框号[]

C.花括号{}

D.尖括号<>

22.若已定义:

inta=7,b=6;floatm=1;则正确的表达式是()。

A.(a+b)++

B.a=(b!

=5)

C.(a+b)*=m

D.m=float(a)/b

23.若已定义:

floatx;拟从键盘输入一个值赋予x,正确的函数调用是()。

A.scanf("%.2f",&x);

B.scanf("%7.2f",&x);

C.scanf("%f",&x);

D.scanf("%d",&x);

24.若已定义:

inta=1,b=2,c=3;则表达式b>=a&&(a+b)<=c的值为()。

A.1

B.2

C.0

D.3

25.若已定义:

charc='M';则正确的赋值表达式是()。

A.c%=2.6

B.c=c%3

C.c=\0x2m

D.c=c+029

26.下列程序段运行后变量m的值为()。

intx=5,y=2,m;

m=(x

x-y:

((y+4>x)?

x+y:

y-x);

A.7

B.1

C.3

D.-3

27.若已定义:

inta[6]={2,1,3};则元素a[3]的值为()。

A.2

B.3

C.0

D.1

28.错误的数组定义是()。

A.inta[3][]={1,2,3,4,5,6};

B.inta[][3]={{0},{1},{2}};

C.inta[][3]={1,2,3,4};

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

29.下列程序段运行结果中变量b的值是()。

intb=3;

chars1="action",s2=s1;

b=strcmp(s1,s2);

A.-1

B.1

C.0

D.3

30.下列函数调用语句所含的实参的个数有()个。

fun((a,b,c),(x,y),(p,q))

A.3

B.5

C.7

D.4

31.下列程序段运行后变量s的值为()。

inta[]={1,2,3,4,5,6,7};

inti,s=1,*p;

p=&a[2];

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

s*=*(p+i);

A.120

B.60

C.360

D.210

32.若已定义:

typedefstructstu

{intnum;

charname[20];

}STU;

则正确的语句是()。

A.structstubb[2]={{1,chen},{2,li}};

B.STUcc[2]={{1,"chen"},{2,"li"}};

C.STUaa[2]={{1,'chen'},{2,'li'}};

D.studd[2]={{1,"chen"},{2,"li"}};

33.若已定义:

intm=12,n=10,k;语句k=m&n;执行后k的值为()。

A.14

B.2

C.6

D.8

34.对下面程序正确描述的是()。

#include

#include

voidmain()

{FILE*in,*out;

if((in=fopen("file2.txt","a+"))==NULL)

{printf("cannotopenfile1\n");

exit(0);

}

if((out=fopen("file1.txt","a+"))==NULL)

{printf("cannotopenfile2\n");

exit(0);

}

while(!

feof(out))

fputc(fgetc(out),in);

fclose(in);

fclose(out);

}

A.程序实现将磁盘文件file1.txt复制到磁盘文件file2.txt

B.程序实现在屏幕上显示磁盘文件file2.txt的内容

C.程序实现将两个磁盘文件file1.txt和file2.txt的内容合二为一

D.程序实现在屏幕上显示磁盘文件file1.txt的内容

35.若已定义:

inti=1,j=3;则表达式(++i)+(j--)的值为()。

A.5

B.4

C.3

D.2

36.putchar()函数的功能是向终端输出()。

A.一个实型变量的值

B.字符串

C.一串数字

D.单个字符

37.若已定义:

inta=1,b=2,c=3;下列表达式值为0的是()。

A.a+b<=c

B.a-b||a+b&&a+c

C.a/b||c>b

D.a/b||b/c

38.若已定义:

charc='B';inta=8;floatx=10.3;则表达式c%a+x的值是()。

[已知'A'的ASCII码的十进制值为65]

A.18.3

B.12.3

C.10

D.12

39.为避免在嵌套的条件语句if…else中产生二义性,C语言规定,else子句总是与()配对。

A.同一行上的if

B.其之前最近的if

C.缩进位置相同的if

D.其之后最近的if

40.下列程序段运行后变量s的值为()。

inti,s=1;

for(i=1;i<=6;i++)

{if(i%2)

continue;

s+=i;

}

A.6

B.13

C.10

D.12

41.编译预处理命令的位置可以在()。

A.主函数内

B.自定义函数内

C.文件开头

D.print();语句中

42.若已定义:

inta=6;

int*p=&a;

下列均能表示地址的是()。

A.&a,p

B.a,*p

C.a,p

D.&a,&p

43.下列程序段的运行结果是()。

inta[]={1,2,3,4,5,6,7},*p=a;

intn,s=0;

for(n=0;n<6;n++)s+=p[n++];

printf("%d",s);

A.12

B.9

C.15

D.16

44.一个结构体变量占用的内存大小是由()决定的。

A.占内存容量最大的成员所需容量

B.各成员所需内存容量之和

C.第一个成员所需内存容量

D.最后一个成员所需内存容量

46.下列程序的运行结果是()。

#include

main()

{FILE*fp;

inta=3,b=5,c=8,k,n;

fp=fopen("test.dat","w");

fprintf(fp,"%d\n",a);

fprintf(fp,"%d%d\n",b,c);

fclose(fp);

fp=fopen("test.dat","r");

fscanf(fp,"%d%*d%d",&k,&n);

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

fclose(fp);

}

A.83

B.35

C.53

D.38

47.若已定义:

intt,a,b;语句t=(a=3,b=a++);执行后,变量t、a、b的值依次为()。

A.4,3,3

B.3,3,3

C.4,3,4

D.3,4,3

48.下列叙述错误的是()。

A.强制类型转换运算的优先级高于算术运算

B.自加与自减运算符只能用于整型或字符型变量

C.%不能作为C语言的求模运算符

D.自增与自减运算符的结合方向为“自右至左”

50.下列程序的运行结果是()。

voidmain()

{intx,y,z;

x=y=1;z=2;

if(!

x)

++z;

elseif(!

(x-y))

z=3+z;

elseif(y)

z++;

else

z+=13;

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

}

A.8

B.5

C.3

D.15

51.对于下列程序段,叙述正确的是()。

inta=2;

do

{a+=2;

}while(!

(a!

=0));

A.循环执行1次

B.循环执行2次

C.有语法错误

D.是无限循环

52.下列叙述正确的是()。

A.宏名只能包含大写字母和数字字符

B.编译预处理命令行必须以分号结束

C.程序中使用带参数的宏时,参数类型要与宏定义时一致

D.#define是宏定义命令

53.下列程序的运行结果是()。

#include

voidmain()

{char*p="Chinese",*q=p+4;

printf("%c\n",q[-1]);

}

A.n

B.s

C.e

D.i

54.下列程序的运行结果是()。

#include

uniondata

{floati;

charc;

};

struct

{chara[2];

inti;

uniondatad;

}q;

voidmain()

{printf("%d\n",sizeof(q));

}

A.6

B.5

C.7

D.8

55.下列程序的运行结果是()。

#include

voidmain()

{struct{charx1;intx2;}a[3]={'A',1,'B',2,'C',3};

printf("%d\n",a[0].x1-a[1].x1/a[2].x2);

}

A.55

B.80

C.40

D.43

56.下列程序段的运行结果是()。

 intk=3;

printf("++k=%d\n",++k);

A.++k=5

B.++3=4

C.++k=4

D.++k=3

57设已定义:

floatx=1.0,y=2.0;语句()执行后变量x值为3.0。

A.x*=y;

B.x-=2*y;

C.x/=x+y;

D.x+=y;

58.下列程序运行时,循环体的执行次数是()。

voidmain()

{inti,j=3;

for(i=0;i<=j++;i=i+2)

printf("%3d",i);

}

A.3

B.1

C.4

D.2

59.能对二维数组a进行正确初始化的语句是()。

A.inta[][3]={{1,2},{},{3,5,6}};

B.inta[2][]={{1,2},{3,0,5}};

C.inta[2][4]={{1,2},{3,4},{5,6}};

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

60.下列程序段执行后s的值是()。

intk,s=0;

inta[3][3]={11,12,13,14,15,16,17,18,19};

for(k=0;k<2;k++)

s+=a[k][k+1];

A.45

B.28

C.31

D.76

61.下列程序段的运行结果是()。

charstr[3][3]={'a','b','c','d','e','f','g','h','i'};

str[2][1]='\0';

printf("%s",str);

A.abcdefghi

B.abcdefg

C.abcdefg0i

D.abcdefg0

62.下列程序运行后,文件test.txt的内容是()。

#include

main()

{

FILE*fp;

charstr[][10]={"1st","2nd"};

fp=fopen("test.txt","w");

if(fp!

=NULL)

fprintf(fp,"%s",str[0]);

fclose(fp);

fp=fopen("test.txt","w");

if(fp!

=NULL)

fprintf(fp,"%s",str[1]);

fclose(fp);

}

A.2nd1st

B.1st

C.2nd

D.1st2nd

63.结构化程序设计三种基本结构中,不包含()。

A.嵌套结构

B.顺序结构

C.选择结构

D.循环结构

64.()为不合法的字符串常量。

A."kindergarten'teacher"

B.'kindergarten'

C."kindergarten"

D."teacher"

65.下列叙述正确的是()。

A.数组的大小是可变的,且其中可以有不同数据类型的数组元素

B.数组的大小是可变的,但所有数组元素的数据类型必须相同

C.数组的大小是固定的,且其中所有数组元素的数据类型必须相同

D.数组的大小是固定的,但其中可以有不同数据类型的数组元素

66.下列程序段的运行结果是()。

chara[]="student";

charb[]="work";

strcpy(a,b);

printf("%s%c",a,a[5]);

A.workn

B.work

C.studn

D.stud

67.若已定义:

structstudent

{intnum;

charname[8];

floatscore;

}stu1;

则变量stu1占用了()内存字节。

A.15

B.18

C.14

D.13

68.若已定义:

inti;

enumcolors{red,green,blue,black};

inta[3];

()是对以下语句的正确判断。

a[red]=black;/*语句1*/

i=green+blue;/*语句2*/

red=1;/*语句3*/

A.语句1和语句3正确,语句2错误

B.语句1正确,语句2和语句3错误

C.语句2和语句3正确,语句1错误

D.语句1和语句2正确,语句3错误

70.下列选项中,均为合法整型常量的是()。

A.-190

013

1e3

B.0x2h

21

025

C.120

-012

0x12

D.170

-018

0x18

71.若已定义:

inti,a=0;下列()不是无限循环语句。

A.for(i=10;;i--)

a+=i;

B.for(i=1;i>++a;i++)

a+=2;

C.while

(1)

a++;

D.for(i=1;;a++)

;

72.若有下列程序段,则叙述正确的是()。

chara[]="fujian";

char*p;

p=a;

A.数组a中的内容和指针变量p中的内容相等

B.a和p完全相同

C.*p与a[0]相等

D.数组a的长度和p所指向的字符串长度相等

73.下列程序的运行结果是()。

main()

{staticchara[]="bacdefg",b[]="adcbehg";

char*p=a,*q=b;

inti;

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

if(*(p+i)==*(q+i))

printf("%c",*(q+i));

}

A.fdb

B.geca

C.aceg

D.ceg

74.若有定义:

structstudent

{intnum;

charsex;

intage;

}stu1;

下列叙述错误的是()。

A.student是结构体类型名

B.structstudent是结构体类型名

C.stu1是用户定义的结构体类型变量名

D.num,sex,age都是结构体变量stu1的成员

75.若已定义:

enumt1{a1,a2=10,a3,a4=13};

则枚举常量a2和a3的值分别是()。

A.2和3

B.1和2

C.10和11

D.10和2

76.若已定义:

inta=5,b;语句b=1+(--a);执行后变量a,b的值分别为()。

A.a为4,b为6

B.a为5,b为4

C.a为4,b为5

D.a为5,b为5

77.能正确表示数学关系式5≤f<10的C语言表达式是()。

A.(f>=5)and(f<10)

B.f>=5|f<10

C.(f>=5)&(f<10)

D.(f>=5)&&(f<10)

78.在对无符号数的位运算中,操作数左移两位相当于()。

A.除以8

B.除以4

C.乘以4

D.乘以8

79.若已定义:

inta,b,c;则逗号表达式a=10,b=23,c=a+b的值为()。

A.23

B.33

C.10

D.66

80.下列程序的运行结果是()。

voidmain()

{inta=1,b=2;

switch(a)

{case1:

printf("a=1");

switch(b)

{case1:

printf("b=1");break;

case2:

printf("b=2");break;

case3:

printf("b=3");break;

}

case2:

printf("a=2");break;

default:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 天文地理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1