程序设计期末考试试卷3_第1页
程序设计期末考试试卷3_第2页
程序设计期末考试试卷3_第3页
程序设计期末考试试卷3_第4页
程序设计期末考试试卷3_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、单项选择题(每小题1分,共35分)

1、一个C程序的执行是从()。

A)本程序的main函数开始,到main函数结束

B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C)本程序的main函数开始,到本程序文件的最后一个函数结束

D)本程序文件的第•个函数开始,到本程序main函数结束

2、下面四个选项中,合法的用户标识符是()

A)P_#$B)2haC)gotoD)_ab

3、要把整数67523赋与整型变量L则应说明I的类型是()

A)intB)longC)shortD)unsigned

4、已知intI;floatf;正确的表达式是()

A)(int0%IB)int(f)%IC)int(f%I)D)(int)f%I

5、判断char型变量cl是否为小写字母的正确表达式是()

A)'a'<=c1<='zzB)(cl>=a)&&(cl<=z)

C)98<=cl&&123>=clD)cl>=/az&&cl<=?zz

6、在C语言中,字符型数据在内存中以何种形式存放?()

A)原码B)BCD码C)ASCII码D)补码

7、执行以下语句后b的值为()□

inta=5,b=6,w=l,x=2,y=3,z=4;

(a=w>x)&&(b=y>z);

A)6B)0C)1D)4

8、以下能正确地定义整型变量a,b和c并为其赋初值5的语句是

()。

A)inta=b=c=5;B)inta,b,c=5;C)inta=5,b=5,c=5;D)a=b=c=5;

9、已知:chara;intb;floatc;doubled;执彳了语句c=a+b+c+d;后,变量c的

数据类型是()

A)intB)charC)floatD)double

10、已知字母A的ASCH码为65,以下程序段的输出结果是()

charcl='A',c2='Y';

printf("%d,%d",cl,c2);

A)65,90B)A,YC)65,89D)输出格式不合法

11、阅读以下程序,当输入数据的形式为:25,13,10<CR〉,正确的输出结

果为()o(“CR”表示回车)

main()

{intx,y,z;

scanf("%d%d%d”,&x,&y,&z);

printf(''x+y+z=%d\n'',x+y+z);

A、x+y+z=48B、x+y+z=35C、x+z=35D、不确定值

12、以下错误的if语句是()

A)if(x>y);

B)if(x==y)x+=y;

C)if(x!=y)scanf("%d",&x)elsescanf("%d”,&y)

D)if(x<y){x++;y++;}

13、阅读以下程序:

main()

{intx;

scanf("%d”,&x);

if(x-<5)printfCl%d\n,,,x);

elseprintf("%d\n'',x++);

)

程序运行后,如果从键盘上输入5,则输出结果是()

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

14、C语言对嵌套if语句的规定:else总是与()配对。

A)其之前最近的ifB)第一个if

C)缩进位置相同的ifD)其之前最近的且未配对的if

15、以下错误的描述是()

A)break语句不能用于循环语句和switch语句外的任何其它语句

B)在switch语句中使用break语句或continue语句的作用相同

C)在循环语句中使用continue语句是为了结束本次循环,而不是终止

循环

D)在循环语句中使用break语句是为了使流程跳出循环体,提前结束循

16、若intI=10;执行下列程序后,变量I的正确结果是()

switch(i){case9:1+=1;

case10:1+=1;

case11:1+=1;

default:1+=1;}

A)10B)11C)12D)13

17、C语言中while与do-while语句的主要区别是()

A)do---while的循环体至少无条件执行一次

B)do---while允许从外部转到循环体内

C)do---while的循环体不能是复合语句

18、以下的for循环()

for(x=0,y=100;(y!=123)&&(x<=3);x++);

A)执行3次B)执行4次C)循环次数不定D)是无限循环

19、执行"for(I=l;I++<4;)4后,变量I的值为()

A)3B)4C)5D)不定

20、以下程序段()

x=-2;

do

{X=X*X;}

while(!x);

A是死循环B循环执行两次C循环执行一次D有语法错误

21、设x和y均为int型变量,则执行下面循环后,y的值为()。

for(y=1,x=1;y<=50;y++)

{if(x==10)break;

if(x%2==l)

{x+=5continue;}

x-=3;

}

A)2B)4C)6D)8

22、以下程序的输出结果是()

main()

{intI,j,x=O;

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

{x++;

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

{if(j%3)continue;

x++;}

x++;

)

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

x=4B)x=8C)x=6D)x=12

23、以下程序的输出结果()

main()

{intx=10,y=10,I;

for(I=0;x>8;y=++I)

printf("%d,%d”,x--,y);}

A)10,19,2B)9,87,6C)10,99,0D)10,109,1

24、以下正确的描述是()o

在C语言程序中:

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

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

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

调用均可以嵌套

25、以下正确的说法是()0

建立函数的目的之一是:

A)提高程序的执行效率B)提高程序的可读性C)减少程序的篇幅

D)减少程序文件所占内存

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

用户若需调用标准库函数,调用前必须重新定义

用户可以重新定义标准库函数,若如此,该函数将失去原有含义

系统根本不允许用户重新定义标准库函数

用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件

包括到用户源文件中,系统自动去调

27、下列定义不正确的是(

A)#definePI3.141592B)#defineS354

C)intmax(intx,inty);D)staticcharc;

{}

28、下列程序运行结果是(

#defineP3

#defineS(a)P*a*a

main()

{intar;

ar=S(3+5);

printf(66%dM,ar);}

A)192B)29C)27D)25

29、以下能对二维数组a进行正确初始化的语句是()o

A)inta⑵口={{1,0,1},{5,2,3}}B)inta[][3]={{1,2,3},{4,5,6))

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

30、下列描述中不正确的是()

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

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

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

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

31、C语言程序中每个语句和数据定义的最后必须有一个()

A分号B逗号C空格D冒号

32、设有定义"inta=3,b,*p=&a;",则下列语句中使b不为3的语句是()

A)b=*&a;B)b=*a;C)b=a;D)b=*p;

33、若有说明:inti,j=2,*p=&i;,则能完成i=j赋值功能的语句是()

A、i=*p;B、*p=*&j;C、i=&j;D、i=**p;

34、关于指针概念不正确的说法是()

A)一个指针变量只能指向同一类型的变量

B)一个变量的地址称为变量的指针

C)只有同一类型变量的地址才能放到指向该类型变量的指针变量中

D)指针变量可以同整数赋,不能用浮点数赋

35、若有以下定义和语句:

doubler=99,*p=&r;

*p=r;

则以下叙述正确的是()

A)两处的*p含义相同,都说明给指针变量p赋值

B)在"doubler=99,*p=&r;”中,把r的地址赋值给了P所指的存储单元

C)语句"*p=r;”把变量r的值赋给指针变量P

D)语句"*p=r;”取变量r的值放回r中

二、填空题(每空1分,共16分)

1、设C语言中,一个int型数据在内存中占2个字节,则int型数据的取

值范围为o

2、有逗号表达式(a=3*5,a*4),则a的值为。

3、C程序中,每条语句都以结尾。

4、若a=1,b=2,则表达式a>b?a:b+1的值是。

5、C语言中的标识符只能由三种字符组成,它们

是、,>0

6、若a=5,b=2,c=1厕表达式a-b<cIIb==c的值是。

7、利用条件运算符将这两条语句“if(a>b)m=a;elsem=b;"转换成与

其等价的一条语句是:o

8、执行完“for(i=0;++i<3;);"后,就量i的值为

9、若有定义:inta[3][4]={{l,2},{3,4,5},{4,6,8』0}};则初始化后a[l]⑵得

到的初值是o

10、若有定义:inta[]={2,4,6,8,10},*p=a;则*(p+3)的值是,________

11、下面程序段的运行结果是

charstr[]="ABC",*p=str;

printf("%d\n”,*(p+2));

12、若有说明:inta[10];则a数组元素的范围是

13、设有数组定义"chararray[]=wchin设;”,则数组所占的空间是

14、设有以下定义的语句:inta[3][2]={10,20,30,40,50,60},(*p)[2];p=a;

则*(*(p+2)+l)值为

三、判断题(正确的打“V”错误的打“X”;每小题1分,共10分)

1、有字符串常量〃abcdef〃,则该字符串在内存中要占用6个字节的单

元。()

2、在C语言中,两个整数相除结果仍为整数。

()

3、循环语句while和do-while在功能上没有任何区别。

()

4、continue语句与break语句功能一样,都是退出循环体。

()

5、putchar。函数可以输出一个字符串()

6、在printf("%c”,c)函数中,两个c是一样的()

7、数组的下标可以是float数据类型()

8、在C语言中,数组中的每一个元素都必须是同一种数据类型。()

9、若有数组:inta[4]={2,3,4,5};则输出数组第4个元素可用

printf(,,%d,,,a[4]);()

10、变量的指针就是变量的地址()

四、仔细阅读如下程序,按题意填写程序空缺(每空2分,共10分)

1、输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果

它是一个小写字母,则把它变成大写字母;其它字符不变。

main()

{charch;

scanf(tl%c",&ch);

if()ch=ch+32;

elseif(ch>='a,&&chv='z,);

printf(t4%c”,ch);

)

2、下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结

束循环。

intn=0,c;

c=getchar();

while()

{if()n++;

c=getchar();

)

3、设数组a中的元素均为正整数,以下程序是求a中偶数的个数和偶数

的平均值。请填空。

main()

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

intk,s,i;

floatave;

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

{if(a[i]%2!=0);

s+=a[i];

k++;

}

if(k!=0){ave=s/k;printf("%d,%f\n,9,k,ave);}

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论