C语言选择填空判断题.docx

上传人:b****8 文档编号:30550037 上传时间:2023-08-16 格式:DOCX 页数:39 大小:29.80KB
下载 相关 举报
C语言选择填空判断题.docx_第1页
第1页 / 共39页
C语言选择填空判断题.docx_第2页
第2页 / 共39页
C语言选择填空判断题.docx_第3页
第3页 / 共39页
C语言选择填空判断题.docx_第4页
第4页 / 共39页
C语言选择填空判断题.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

C语言选择填空判断题.docx

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

C语言选择填空判断题.docx

C语言选择填空判断题

一、单项选择题(17道小题,共20分)

1、以下叙述中正确的是(C)。

(1分)

A、C语言比其他语言高级

B、C语言可以不用编译就能被计算机识别执行

C、C语言以接近英语国家的自然语言和数学语言作为语言的表达形式

D、C语言出现的最晚,具有其他语言的一切优点

2、以下说法正确的是(C)。

(1分)

A、C语言程序总是从第一个函数开始执行

B、在C语言程序中,要调用函数必须在main()函数中定义

C、C语言程序总是从main()函数开始执行

D、C语言程序中的main()函数必须放在程序的开始部分

3、下列可用于C语言用户标识符的一组是(B)。

(1分)

A、voiddefineWORDB、a3_b3_123Car

C、ForabccaseD、2aDOsizeof

4、设inta=3,b=4,c=5;表达式(a+b)>c&&b==c的值是(C)。

(1分)

A、2B、-1C、0D、1

5、以下关于循环体的描述中,(C)是错误的。

 (2分)

A、循环体中可以出现break语句B、循环体中还可以出现循环语句

C、循环体中不能出现continue语句D、循环体中可以出现switch语句

6、While(x)中的x相当于(D)。

(2分)

A、x==0B、x==1

C、x!

=1D、x!

=0

7、以下关于switch语句和break描述中,(A)是正确的。

(2分)

A、在switch语句中,可以根据需要使用或不使用break语句

B、switch语句中必须用break语句

C、break语句只能用于switch语句

D、break语句是switch语句必须的一部分

8、以下对C语言函数的有关描述中,正确的是(B)。

(1分)

A、在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参

B、C函数既可以嵌套调用又可以递归调用

C、函数必须有返回值,否则不能使用函数

D、C程序中有调用关系的所有函数必须放在同一个源程序文件中、

9、在下面的函数声明中,存在着语法错误的是(A)。

(1分)

A、intBF(intx;inty);B、voidBC(inta,int);

C、voidBD(int,int);D、voidBE(int,int=5)

10、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是(B)。

(1分)

A、地址传递B、单向值传递

C、由实参传给形参,再由形参传回实参D、传递方式由用户指定

11、一个程序源文件中全局变量作用范围为(D)。

(1分)

A、本文件的全部范围B、本程序的全部范围

C、本函数的全部范围D、从定义该变量位置开始至文件结束

12、若有以下语句:

staticcharx[]="12345";staticchary[]={'1','2','3','4','5'};则正确的说法是(B)。

(1分)

A、x数组和y数组的长度相同B、x数组的长度大于y数组的长度

C、x数组的长度小于y数组的长度D、x数组与y数组等价

13、在C++语言中,定义数组后,使用数组元素时,数组下标可以是(C)。

(1分)

A、整型常量B、整型表达式

C、整型常量或整型表达式D、任何类型的表达式

14、在下面的一维数组定义中,哪一个(A)有语法错误。

(1分)

A、inta[];B、inta[]={1,2,3};

C、inta[5];D、inta[10]={0};

15、在声明语句constchar*ps;中,ps表示(C)。

(1分)

A、指向字符串的指针B、指向字符串的const型指针

C、指向const型字符串的指针D、指向const型字符串的const型指针

16、若有语句:

intx[]={1,2,3,4,5};int*ptr;ptr=x;则(C)是对数组元素x[1]的正确引用。

(1分)

A、ptr+1B、*ptr+1

C、*(ptr+1)D、*ptr++

17、在intk=8,*p=&k中,*p的值是(C)。

(1分)

A、指针变量p的地址值B、变量k的地址值

C、8D、无意义

18、设inta=5,b=9,c=15,表达式(a+b)/c||(a

(1分)

A、0B、2C、1D、-1

19、若变量c为char类型,能正确判断出c为小写字母的表达式是(D)。

(1分)

A、'a'<=c<='z'B、(c>='a')||(c<='z')

C、('a'<=c)and('z'>=c)D、(c>='a')&&(c<='z')

20、以下(C)是不正确的描述。

(2分)

A、while循环先判断表达式,后执行循环体语句

B、do-while循环先执行循环语句,后判断表达式

C、while,do-while循环效果完全一样,不会出现不一致情况

D、for循环可以用while语句代替

21、下列关于函数的参数的描述中,错误的是(D)。

(1分)

A、C语言函数的参数可以是多个

B、C语言函数参数可以0个

C、C语言函数的形参可以是指针或引用

D、C语言函数的形参与实参类型要求一致不是必需的。

22、以下叙述中不正确的是(D)。

(1分)

A、预处理命令都必须以#号开始

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

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

D、在以下定义是正确的:

#definePI3.1415926;

23、以下能正确定义一维数组的选项是(B)。

(1分)

A、inta[5]={0,1,2,3,4,5};B、chara[]={'0','1','2','3','4','5','\0'};

C、chara={'A','B','C'};D、inta[5]="0123";

24、下面程序段char*p="abcdefgh";p+=3;printf("%d\n",strlen(strcpy(p,"ABCD")));的运行结果是(C)。

(1分)

A、8B、12C、4D、7

25、由C/C++源程序文件编译而成的目标文件的缺省扩展名为(C)。

(1分)

A、cppB、exeC、ObjD、lik

26、下列语句哪个是正确的(B)。

(1分)

A、inta="a";B、charc=105;C、charc="abc";D、charc="\n";

27、如执行以下语句,for(I=1;I<=100;I++){sum=sum+I;}循环结束后I值是(C)。

(2分)

A、100B、99C、101D、102

28、下面有关for循环的正确描述是(D)。

 (2分)

A、for循环只能用于循环次数己经确定的情况

B、for循环是先执行循环体语句,后判定表达式

C、在for循环中,不能用break语句跳出循环体

D、for循环体语句中,可以包含多条语句,但要用花括号括起来

29、在C/C++中,函数原型不能标识(A)。

(1分)

A、函数的功能B、函数的返回类型

C、函数参数的个数D、函数参数类型

30、C语言中数组下标的下限是(B)。

(1分)

A、1B、0C、视具体情况D、无固定下限

31、下列描述中不正确的是(C)。

(1分)

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

B、可以对字符型数组进行整体输入、输出

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

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

32、在以下定义中,正确的说明语句为(D)。

(1分)

A、inta['a'];B、inta[3,4];C、inta[][];D、int*a[10];

33、在声明语句int*fun();中,fun表示(B)。

(1分)

A、一个用于指向函数的指针变量

B、一个返回值为指针型的函数名

C、一个用于指向一维数组的行指针

D、一个用于指向int型数据的指针变量

34、若有语句:

char*line[5];,以下叙述中正确的是(A)。

(1分)

A、定义line是一个数组,每个数组元素是一个基类型为char为指针变量

B、定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组

C、定义line是一个指针数组,语句中的*号称为间址运算符

D、定义line是一个指向字符型函数的指针

35、for(intx=0;x<=5;x+=2){...}语句执行循环的次数是(A)。

(2分)

A、3B、4C、5D、6

36、执行以下语句,for(I=10;I>=0;I--,I--){sum=sum+I;}循环结束sum和I的值分别是(D)。

(2分)

A、320B、300C、28-1D、30-2

37、函数调用语句fun(a1,f(a,b),3+x);中fun函数的参数个数是(C)。

(1分)

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

38、设有数组定义:

chararray[]="China";,则数组array所占的空间为(C)。

(1分)

A、4个字节B、5个字节C、6个字节D、7个字节

39、程序段charstr[]="ABC";*p=str;printf("%d\n",*(p+2));的运行结果是(A)。

(1分)

A、67B、0C、字符'C'的地址D、字符'C'

40、下述关于break语句的描述中,(C)是不正确的。

(2分)

A、break语句可用于循环体内,它将退出该重循环

B、break语句可用于switch语句中,它将退出switch语句

C、break语句可用于if体内,它将退出if语句

D、break语句在一个循环体内可以出现多次

41、在C语言程序中,当while语句构成的循环中的条件为(A)时,结束循环。

(2分)

A、0B、1C、trueD、非0

42、有一个int型变量,在程序中频繁调用,最好把它定义为(A)。

(1分)

A、registerB、autoC、externD、static

43、以下不能对二维数组a进行正确初始化的语句是(C)。

(1分)

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

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

44、对于声明语句int*p[10];下列(B)描述是正确的。

(1分)

A、p是指向数组中第10个元素的指针

B、p是具有10个元素的指针数组,每个元素是一个int型指针

C、p是指向数组的指针

D、p[10]表示数组的第10个元素

45、对于指针的运算,下列说法(C)是错误的(1分)

A、可以用一个空指针赋值给某个指针

B、一个指针可以加上一个整数

C、两个指针可以进行加法运算

D、两个指针在一定条件下,可以进行相等或不相等的运算

46、一个函数无返回值时,应选择下列的说明符是(C)。

(1分)

A、staticB、externC、voidD、无说明符

47、在C语言中,若对函数类型未加显式说明,则函数的隐含类型是(C)类型。

(1分)

A、voidB、doubleC、intD、char

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

(1分)

A、inta[]={1,2};B、char*a[3];

C、chars[10]="test";D、intn=5,a[n];

49、下面程序inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));的输出结果是(A)。

(1分)

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

50、C语言中合法的字符常量是(C)。

(1分)

A、"ABC"B、"$"C、'\n'D、95

51、已知intt=0;while(t=1){...}则以下叙述正确的是(B)。

(2分)

A、循环控制表达式的值为0B、循环控制表达式的值为1

C、循环控制表达式不合法D、以上说法都不对

52、下列关于函数值的说法中,正确的是(B)。

(1分)

A、定义函数时,函数名前必须指明类型,否则该函数值没有类型

B、定义函数时,若未指明函数的类型,则该函数值的类型为int

C、函数值的类型只能是数值类型,如int、float等

D、定义函数时的函数体的最后必须有return语句,返回函数值

53、若有定义:

inta[2][3];则对a数组的第i行第j列(假调i,j已正确说明并赋值)元素值的正确引用为(A)。

(1分)

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

54、下面函数调用语句func((exp1,exp2),(exp3,exp4,exp5));中func函数有实参的个数为(B)。

(1分)

A、1B、2C、4D、5

55、若有定义inta[9],*p=a;则p+5表示(B)。

(1分)

A、数组元素a[5]的值B、数组元素a[5]的地址

C、数组元素a[6]的地址D、数组元素a[0]的值加上5

56、以下叙述中不正确的是(D)。

(1分)

A、在不同的函数中可以使用相同名字的变量

B、函数中的形式参数是局部变量

C、在一个函数内定义的变量只在本函数范围内有效

D、在一个函数内的复合语句中定义的变量在本函数范围内有效

57、C语言中不合法的字符串常量是(B)。

(1分)

A、"\121"B、'y'C、"\n\n"D、"ABCD\x6d"

58、已知charm[]="Convert",*p=m;则*(p+5)的值是(C)。

(1分)

A、eB、ConvertC、rD、不确定

59、设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是(B)。

(1分)

A、k=*p1+*p2;B、p2=k;C、p1=p2;D、k=*p1;

60、对语句float(*pf)(floatx);的描述,正确的是(A)。

(1分)

A、一个用于指向函数的指针变量B、一个返回值为指针型的函数名

C、一个用于指向float型数据的指针数组D、一个用于指向float型数据的指针变量

二、填空题(25道小题,共34分)

1、C语言程序执行的入口点是主函数。

2、设y是int型变量,请写出判断y为奇数的关系表达式y%2!

=0。

3、设x是int型变量,请写出x是偶数并且不能被3整除的表达式x%2==0&&x%3!

=0。

4、设a,b为int型变量,x,y为float型变量,且设a=5,b=10,x=3.5,y=10.8。

为了得到以下的输出格式和结果,请将对应的输出语句补充完整。

//输出格式及结果:

a=5,b=10,x+y=14.3

printf("a=%d,b=%d,x+y=%4.1f”,a,b,x+y);

//或cout<<;

5、for(;;)语句相当于while

(1)

6、C语言中结束一次循环的语句是continue。

7、如C程序中对一个函数的调用在前,定义在后,则必须在调用前对该函数进行声明。

8、在函数定义中,形式参数是被调函数接收调用者数据的主要途径。

9、若被调函数是标准库函数,则在使用前需在程序的开头用#include命令将被调函数的信息包含进来。

10、在语句intfun(floatf,inti);中,变量f和i具有函数声明作用域。

11、标识符在程序中可引用的区域称为作用域。

12、比较两个字符串大小的函数是strcmp()。

13、array是一个一维整形数组,有10个元素,前6个元素的初值是9,4,7,49,32,-5,

请写出正确的说明语句intarray[10]={9,4,7,49,32,-5};。

14、字符串是以‘\0’为结束标志的一维字符数组。

15、若用数组名作为函数调用的实参,传递给形参的将是数组首地址。

16、若有定义inti;int*p=&i;则&*p等价于&i。

17、C语言程序设计包括编写源代码、编译、连接和运行等步骤。

18、C语言中唯一的三目运算符是条件运算符。

19、有一个函数原型如下所示:

abc(floatx,floaty);

则该函数的返回类型为int。

20、在C语言中,形参的缺省存储类是auto。

21、设inta[2][3]={{5},{6}};则数组元素a[0][0]的值为5。

22、已知有以下的说明,

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

那么a[*(a+a[3])]的值为0。

23、C源程序的扩展名是.c。

24、已知整型变量a=6,字符型变量ch='A',浮点数变量f=2.1,则表达式ch+a+f的值为

73.1。

(提示:

'A'的ASCII码为65)

25、表示条件:

1010&&x<100||x<0。

26、由顺序、选择和循环三种基本结构构成的算法称为结构化算法。

27、C语言中至少执行一次循环体的循环语句是do{……}while。

28、C语言程序的基本单位是函数。

29、程序中变量的生存期各不相同。

在程序运行前就分配存储空间的变量是静态变量。

30、C语言中构成数组的各个元素具有相同的数据类型。

31、如果在程序中调用了strcat函数,则需要预处理命令即头文件#include

32、有如下程序段int*p,a=10,b=1;p=&a;a=*p+b;执行该程序段后,a的值为11。

33、按照优先级从高到低的顺序写出C语言中的三种逻辑运算符!

,&&,||。

34、若要输出字段宽度为4的十进制数printf函数应使用格式说明"%4d",字段宽度为10实数应使用%10f。

35、假定a和b为int型变量,则执行以下语句后b的值为0。

a=1;b=10;do{b-=a;a++;}while(b);

36、在一个函数体内调用另一个函数,称为嵌套调用;函数调用自身,称为递归调用。

37、函数可以嵌套调用,但是不可以嵌套定义。

38、全局变量在函数外部定义,作用域从定义点开始到文件的结束。

39、有如下语句inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则*(p+8)的值为9。

40、设有说明语句:

chara='\72';则变量a包含1个字符。

41、已知floatx=2.5,y=4.7;inta=7;,表达式x+a/3*int(x+y)%2的值为2.5。

42、C语言是一种面向过程(选择面向对象或面向过程)高级程序设计语言。

43、字符串"ab\n\\012/\\\""的长度为10。

44、C语言中结束本层循环的语句是break。

45、程序根据判断条件是否成立,从而选择执行不同的程序段。

这样的程序结构叫分支结构。

46、调用函数和被调用函数之间交流信息的通道是参数。

47、函数的返回值是通过函数中的return语句获得的。

48、若有以下说明和语句,则p1-p2的值为-5。

inta[10],*p1,*p2;

p1=a;

p2=&a[5];

49、有语句charstr1[10],str2[10]={"china"};则能将字符串china赋给数组str1的正确语句是

strcpy(str1,str2);。

50、C语言程序编译的过程是以源程序文件为单位的。

51、当具有块作用域的局部变量与具有文件作用域的全局变量同名时,局部变量优先。

52、若有定义:

staticinta[3][4]={{1,2},{0},{4,6,8,10));则初始化后,a[1][2]的值为0。

53、函数strlen("China")返回的值为5。

54、在C语言程序设计中,生成可执行程序(.exe文件)的步骤是编辑、编译、连接。

54、C语言中基本的数据类型有整型、实型、字符型。

55、以下循环体的执行次数是1。

main(){inti,j;for(i=0,j=1;i<=j+1;i+=2,j--)printf("%d\n",i);}

56、若有声明语句char*pCh;则系统为变量pCh分配的内存单元字节数是4个。

 

1、下面的程序求区间[100,200]内10个随机整数中的最大数、最小数。

#include//或#include

#include

voidmain()

{

intmax,min,x;

x=rand()%101+100;

printf("%4d",x);//cout<

max=x;min=x;

for(inti=1;i<10;i++)

{

x=rand()%101+100;

printf("%4d",x);//cout<

if(x>max)max=x;

if(x

}

printf("\n最大数:

%4d,最小数:

%4d\n",max,min);

//cout<

"<

"<

}

2、下面程序的功能是从键盘输入的10个整数中,找出第一个能被7整除的数。

若找到,打印此数后退出循环;若未找到打印“noexist”。

#include//或#include

voidmain()

{

inti,a;

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

{

scanf("%d",&a);//或cin>>a;

if(a%7==0)

{

printf("%d",a);//或cout<

break;

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

当前位置:首页 > 小学教育

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

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