高级语言程序的设计练习题42.docx

上传人:b****2 文档编号:20136059 上传时间:2023-04-25 格式:DOCX 页数:24 大小:156.99KB
下载 相关 举报
高级语言程序的设计练习题42.docx_第1页
第1页 / 共24页
高级语言程序的设计练习题42.docx_第2页
第2页 / 共24页
高级语言程序的设计练习题42.docx_第3页
第3页 / 共24页
高级语言程序的设计练习题42.docx_第4页
第4页 / 共24页
高级语言程序的设计练习题42.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

高级语言程序的设计练习题42.docx

《高级语言程序的设计练习题42.docx》由会员分享,可在线阅读,更多相关《高级语言程序的设计练习题42.docx(24页珍藏版)》请在冰豆网上搜索。

高级语言程序的设计练习题42.docx

高级语言程序的设计练习题42

(一)填空题:

1.C语言程序的基本单位是—函数_。

2.在C语言中,数字056是一个八进制数,OxFF是一个十六_

进制数。

3.

若程序中使用了函数

scanf(),

则必须包含的头文件名为

stdio.h

4.

若程序中使用了函数

strlen()

,则必须包含的头文件名为

string.h

5.

C语言程序的三种基本结构是

循环、

顺序

选择

6.若程序中使用了函数sqrt(),则必须包含的头文件名为

math.h。

7.C语言中运算对象必须是整型的运算符是%。

&C语言中整型数据除以整型数据得到整形数据。

9.C语言源程序文件的扩展名是.c;经过编译后,所生成文件的扩展名

是;经过后,所生成的文件扩展名是.exe。

10.若定义inta[3][5];贝Ua数组所含数组元数个数是15,sizeof(a)的

值是4,其首地址是a[0][0]。

11•在C语言中,数组名是数组的,同时它是一个_指针_常量。

12.判断字符型变量ch是否为小写英文字母的C语言表达式为

13.判断变量a的数值围Kaw10的C语言表达式是a>=1&&a<=10

14.C语言运算符中,++和--的结合方向(运算方向)是从右向左

函数读入字符串。

16•函数直接或间接地调用自己本身称为

17.已知w=1,x=2,y=3,z=3,a=4,b=2;

4_,b的值为_2。

18.字符串"student"的长度是8,它在存中的字节数为。

19.设a、b、c为整型数,且a=2,b=3,c=4,则执行语句"a*=16+(b++)-(++c);"后,a的

值是28。

20.执行intx,y,z;x=y=1;z=(x++,++y,y++);后,

贝Hx=1,y=3,z=3。

21.定义语句intx,y;,执行y=(x=1,++x,x+2);语句后,则x=2,y=

22.

o

0,应选择的存

执行下列语句inta=2;a+=a-=a*a;后,a的值是0

23.设函数外有整型变量n,为保证其在未赋值的情况下初值为

储类另寸是。

24.有以下程序(注:

字符a的ASCII码值为97)

#inelude

intmain()

{char*s="abc";

do

{printf("%d",*s%10);

++s;

}while(*s);

return0;

}

程序运行后的输出结果是。

25.以下程序运行后的输出结果是。

#include

intfun(intx)

{intp;

if(x==0||x==1)

return(3);

p=x-fun(x-2);

returnp;

}

intmain()

{printf("%d\n",fun(9));

return0;

}

26.有以下程序:

#include

intmain(){inta,b=0;

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

b+=a;

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

}

程序运行后的输出结果是。

27.以下程序运行后的输出结果是。

#inelude

intmain()

{inti,j,row,column,m;

intarray[3][3]={{100,200,300},{28,72,-30},{-850,2,-26}};

m=array[0][0];

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

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

if(array[i][j]

{m=array[i][j];row=i;column=j;}

printf("%d,%d,%d\n”,m,row,column);return0;

}

28.对于以下宏定义:

#defineM1+2

#defineN2*M+1

执行语句"x=N;”之后,x的值是。

29.对于以下宏定义:

#defineM(x)x*x

#defineN(x,y)M(x)+M(y)

执行语句z=N(2,2+3);后,z的值是。

30.已知老师记录描述为

structteather

{intid;

struct{inty;intm;intd;}birth;

}t;

将变量t中的d成员赋值为12的语句为

31•下面语句中的指针s所指字符串的长度是。

char*s="\t\"Name\\Addres\n"

32.使用fopen("abc.txt","w+”打开文件时,如abc.txt文件不存在,则

33.C语言中,根据数据的存放形式,文件可以分为_____________文件和文

件。

34.C语言中,文件的格式化输入输出函数对是和___________。

35.C语言中用_________函数打开文件,用__—函数关闭文件。

36.下面程序给一维数组输入数据,找出下标为偶数的元素的最小值并输出。

#include

intmain()

{inta[10],min,i;

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

min=a[0];

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

if()

min=a[i];

printf("%d",min);

return0;

}

37.下面程序是用递归函数实现求两个整数的最大公约数,主函数读入待求的两个整数并调

用公约数函数求解,输出结果。

请在横线上填入相应的语句以使程序完整。

#include

intGcd(intm,intn)

{intr;

r=m%n;

if()

returnn;

return;

}

intmain()

{intm,n;

scanf("%d%d",&m,&n);

printf("Gcdofmandnis:

%d\n",);

return0;

}

(二)选择题:

1第一个结构化程序设计语言是

A)

D)Fortran

PascalB)CC)Basic

B)

以下哪一种程序设计语言是目前最受欢迎的编程语言之一

2.

 

15.

执行语句a=4*5,a*2,a+15;后

a的值是

A)

35B)40C)55

D)20

16.

C语言程序的三种基本结构是

A)

顺序结构,选择结构,循环结构

B)

递归结构,

循环结构,

转移结构

C)

嵌套结构,循环结构,顺序结构

D)

递归结构,

选择结构,

顺序结构

17.

以下选项中不属于字符常量的是

__。

A)'C'B)'\072'C)'\xCC'D)"C"

18.设a为int型变量,分别执行下列赋值语句后,a所获得的值分别是。

a=125.534;a=20.0/3;a=(int)125.521%4;

A)125,6,31B)125,6,1

C)125,7,1D)125.534,6.666666,1.521

19.若已定义x和y为double类型变量,则表达式“x=1,y=x+3/2”的值是。

A)1B)2C)2.0D)2.5

20.以下选项中不属于字符常量的是。

A)"s"B)'\117'C)'\x86'D)'a'

21.以下选项中,不是C语句的是。

A)a+=b;B);

C){x++;++y;}D)printf(“%d”,a)22.以下非法的赋值语句是。

A)n=(i=2,++i);B)j++;C)++(i+1);D)x=j>0;

23.已知w=1,x=2,y=3,z=3,a=4,b=2;则执行语句(a=w>x)&&(b=y>z);后,a,b的值为。

A)1和1B)0和0C)4和2D)0和224.设有语句:

inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4

的值是。

A)2.5B)2.75C)2.0D)0.0

25.执行语句a=4*5,a*2,a+15;后a的值是。

A)35B)40C)55D)20

26.阅读程序:

#include"stdio.h"

intmain()

{inta;floatb,c;

scanf("%2d%3f%4f",&a,&b,&c);printf("\na=%d,b=%f,c=%f",a,b,c);

return0;

}

若运行时从键盘上输入9876543210(0表示回车),则程序的输出结果。

A)a=98,b=765,c=4321B)a=98,b=765.000000,c=4321.000000

C)a=98,b=765.0,c=4321.0D)a=98.0,b=765.0,c=4321.0

27.下列四种数组定义中,合法的数组定义是—。

A)chara[]="hello";B)inta[4]={4,3,2,1,0};

C)chara="hello";D)chara[5]="hello";

28.下列循环不是无限循环。

A)for(y=0;x=1;++y);B)for(;;x=0);

C)while(x=1){x=1;}D)for(y=1,x=1;x>=++y;x++);

29.以下叙述正确的是。

A)do…while语句构成的循环不能用其他语句构成的循环来代替

B)do…while语句构成的循环只能用break语句退出

C)用do…while语句构成的循环,在while后的表达式为非零时结束循环

D)用do…while语句构成的循环,在while后的表达式为零时结束循环

30.下面的表达式中值为0的是。

A)5%7B)5/7.0C)5/7D)5*7

31.设intk;则语句for(k=0;k=1;k++);和语句for(k=0;k==1;k++);

执行的次数分别是。

A)无限和0B)0和无限C)都是无限D)都是0

32.下列循环不是无限循环。

A)for(y=0;x=1;++y);B)for(;;x=0);

C)while(x=1){x=1;}D)for(y=1,x=1;x>=++y;x++);

33.有变量定义如下:

doublenum;,要使得num的值为3.14159,正确的输入语句是

A)scanf("%lf",num);B)scanf("%lf",&num);

C)scanf("%d",&num);D)scanf("%f",&num);

34.设charx[]="abcde",y[]={'a','b','c','d','e'};那么。

A)x数组的长度大于y数组的长度B)x数组的长度等于y数组的长度

C)x数组的长度小于y数组的长度D)x数组与y数组的存储区域相同

35.下面不正确的字符串赋值或赋初值方式是。

A)char*str;str="string";

B)charstr[7]={'s','t','r','i','n','g'};

C)charstr1[10];strl="string";

D)charstr1[]="string",str2[20];strcpy(str2,str1);

36.定义如下变量和数组:

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

则下面语句的输出结果是。

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

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

A)159B)147C)357D)369

37.假设已定义chara[10];char*p;那么下面语句正确的是。

A)p=a;B)a="abcdef:

C)*p="abcdef"D)p=*a;

38.

若有说明:

inta[]={15,12,-9,28,5,3},*p=a;;则下列表达式是错误的。

41.下列编译预处理指令中,不正确的是__

A)#defineM3B)#include"stdio.h"

C)#includeD)#definePl=3.14159

42.

宏定义#includeG9.8中的宏名G表示。

A)

一个单精度实数

B)

一个双精度实数

C)

一个字符串

D)

不确定类型的数

43.

设inta=9,b=20;

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

的输出结果.

A)9,19

B)9,20

C)10,19

D)10,20

44.

以下关于switch

语句和break

语句的描述正确的是

A)在switch语句中必须使用break语句

B)break语句只能用于switch语句体中

C)break语句只能用于循环语句中

D)在switch语句中可以不使用break语句

45.下面关于函数的理解,不正确的是

A)函数可以嵌套定义B)函数可以嵌套调用

C)函数可以没有形式参数D)函数可以有多个形式参数

46.以下叙述中正确的是。

A)全局变量的作用域一定比局部变量的作用域围大

B)静态(static)存储变量的生存期贯穿于整个程序的运行期间

C)函数的形参都属于全局变量

D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值

47.若有定义inta[2][3],对元素a[i][j]地址的不正确引用是__

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

48.若有以下语句:

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

p[0]=a[1];

则*(p[0]+1)所代表的数组元素是。

A)a[0][1]B)a[1][0]C)a[1][1]D)a[1][2]

49.下列对指针p的操作,正确的是。

A)int*p;*p=2;B)inta[5]={1,2,3,4,5},*p=&a;*p=5;

C)inta,*p=&a;D)floata[5];int*p=&a;

50.对于C程序的函数,下列叙述中正确的是__。

A)函数的定义不能嵌套,但函数调用可以嵌套

B)函数的定义可以嵌套,但函数调用不能嵌套

C)函数的定义和调用均可以嵌套

D)函数的定义和调用均不能嵌套

51.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是

A)函数调用可以作为独立的语句存在

B)函数调用可以作为一个函数的实参

C)函数调用可以出现在表达式中

D)函数调用可以作为一个函数的形参

52.函数的返回值类型由__决定。

A)return后的表达式

B)定义函数时指定的返回值类型

C)调用函数时临时决定

D)主调用函数的类型

53.以下不能对二维数组

a进行正确初始化的语句是

B)

A)inta[2][3]={0};

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

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

54.下面对一维数组a进行正确初始化的语句是。

A)inta[5]={1,2};B)inta[2]={1,2,3,4,5};

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

55.若函数定义时不指明函数的类型,则其默认的返回值类型是

A)voidB)任意类型C)intD)double

56.下面对一维数组定义错误的是_^_^_。

A)inta[]={1,2,3,4};B)chara[5];

C)chara[6]="test";D)intn=5,a[n];

57.以下选项中正确的语句组是__。

A)chars[];s="BOOK!

";B)char*s;s={"BOOK!

"};

C)chars[10];s="BOOK!

";D)char*s;s="BOOK!

";

58.若有下面的说明和定义:

structtest

{intm1;

charm2;

floatm3;

unionuu

{charu1[5];

intu2[2];

}ua;

};

则在VC+孫统中sizeof(structtest)的值是

A)9B)12C)13D)14

59.有如下定义:

structexam

{intx,y;

}v1;

则—是正确的引用或定义。

A)exam.x=10;B)examv2;v2.x=10;

C)structv2;v2.x=10;D)structexamv2={10};

60.

0,应选择的存储类别是

设函数外有整型变量n,为保证其在未赋值的情况下初值为

 

A)static

B)registerC)auto

D)extern

A)scanf()

B)gets()

C)getchar()

D)getc()

62.设函数中有整型变量n,

为保证其在未赋值的情况卜初值为

0,应选择的存储类别是

A)auto

B)register

C)static

D)extern

(三)判断题:

1.在while循环中允许使用嵌套循环,但只能嵌套while循环。

2.在for循环中允许使用嵌套循环,但只能嵌套for循环。

3.while、do-while、for循环中的循环体语句都至少被执行一次。

4.一个C语言源程序文件中可以有多个main函数。

5.C程序中的else总是与在其之前未配对的最近的if组成配对关系。

6.switch语句的case表达式必须是常量表达式。

7.switch语句中必须要有default语句。

&自增运算符什+)或自减运算符(--)只能用于变量,不能用于常量或表达式。

9.函数的形式参数是局部变量。

10.访问数组元素时其下标必须是常量,不允许是表达式。

11.数组的元素作为函数的实参时采用的参数传递方式是地址传递。

12.C语言规定只能引用数组元素而不能一次引用整个数组。

13.定义int**p;,则二级指针变量p存放的是指针变量的地址。

14.定义int*p[4];,则标识符p是一个指针,指向一个含有4个整型元素的一

维数组。

15.定义int(*p)[4];,则标识符p是一个指针,指向一个含有4个整型元素的

一维数组。

16.函数不能嵌套定义但可以嵌套调用。

17.求余符号%两边必须是整型数据。

18.函数不能嵌套定义但可以嵌套调用。

19.数组的名称作为函数的实参时采用的参数传递方式是地址传递。

20.条件编译只能在调试程序时使用。

21.一个函数利用return可以返回多个函数值。

22.联合变量的所有成员共享同一段存空间,其占用的存是所需存最大的那个成员的空间。

23.用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包含编译,系统会自动调用。

24.结构体变量的所有成员共享同一段存空间,其占用的存是所需存最大的那个成员的空间。

(四)读程序题:

1.#include

intmain()

{intx=1,a=0,b=0;

switch(x)

{case0:

b++;

case1:

a++;

case2:

a++,b++;

}

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

}

2.#include

intmain()

{inta=1,b=2;

for(;a<8;a++)

{a+=2;

if(a==6)continue;

if(a>7)break;

b++;

}

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

return0;

}

3.#includevoidfunc(intb[])

{intj;

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

b[j]=2*j;

}

intmain()

{inta[]={5,6,7,8},i;

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

{printf("%d,",a[i]);}return0;

}

4.#include"stdio.h"

intmain()

{inti,j,x=0;

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

{x++;

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

{if(j%2)continue;

x++;

}

x++;

}

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

return0;

}

5.#include

intmain()

{inta=0,b=3,m=0;

switch(a%3)

{case0:

m++;break;

case1:

m++;switch(b%2){default:

m++;

case0:

m++;break;

}

printf("m=%d\n",m);return0;}

6.#includeinta(intx)

{staticinty=1;

y=y*x;

returny;

}

intmain()

{inti;for(i=1;i<=5;i++)printf("%d\n",a(i));

return0;

}

7.#include

staticinta=5;

voidp1()

{p

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

当前位置:首页 > 成人教育 > 自考

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

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