计算机程序设计期中考试_计算机基础期中考试

2020-02-27 其他范文 下载本文

计算机程序设计期中考试由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“计算机基础期中考试”。

《计算机程序设计》期中考试试卷答案分析

一、单项选择题(每空2分,共30分)

1.若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32)后num的值为()

A、4B、16C、32D、52

分析:先计算逗号表达式a=4,b=16,c=32;逗号表达式的结果为最后一个逗号后表达式的运算结果,因此为32;再将32赋值给num,因此选C.2.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()

A、必须为字母B、必须为下划线

C、必须为字母或下划线D、可以是字母,数字和下划线中任一种字符

3.下面四个选项中,均是合法转义字符的选项是()

A、''''''n'B、'''17''“'

C、'18''f''xab'D、'' '101''xlf'

分析:转义字符是在一般字符前加,表示对其含义加以改变;主要有三类:

(1)单引号’,由于字符的定界符为单引号,因此要表示普通字符单引号,必须加;斜线,为了和转义字符的区别,因此也需要用转义’’,第1个表示转义,第2个表示普通字符;

(2)一些特殊的控制符,如换行符’n’,制表符’t’等;

(3)八进制,十六进制的转义字符,八进制以为开始,后面跟八进制数,十六进制以x为开始,后面跟十六进制数

4.下面四个选项中,均是不合法的用户标识符的选项是()

A、AP_0doB、float la0 _A

C、b-a goto intD、_123 temp INT

分析:b-a中间有-不合法,goto和int均使用系统关键字作为标识符不合法.5.若有定义:int k=7;float a=2.5,b=4.7;则表达式a+k%3*(int)(a+b)%2/4的值是()

A、2.500000B、2.7500000C、3.500000D、0.000000

分析:整型数据的%和/运算,其结果只能是整数,因此k%3*(int)(a+b)%2/4的计算结果为0

6.设变量y为float类型,x为int类型,则以下能实现将y中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是()

A、y=(y*100+0.5)/100.0B、x=y*100+0.5,y=x/100.0

C、y=y*100+0.5/100.0D、y=(y/100+0.5)*100.0

7.已知a、b、c为int类型变量,若有输入语句:scanf(”a=%db=%dc=%d“,&a,&b,&c);为使a值为1,b值为3,c值为2,从键盘输入数据的正确形式应当是()

A、132B、a=1b=3c=2

C、132D、a=1b=3c=2

8.已知ch是字符型变量,则不正确的赋值语句是()

A、ch=5+9;B、ch='';C、ch='7'+'9';D、ch='a+b';

分析:字符型数据只包含一个字符.9.判断char型变量c1是否为大写字母的正确表达式是()

A、'A'='A')&(c1

C、(c1>='A')&&(c1=c1)

10.若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是()

A、num%2==1B、!(num%2==0)C、!(num%2)D、num%2

11.以下正确的if语句是()

A、if(n>0)printf(”%f“,n)C、if(n>0)

printf(”%f“,-n);{ n=n+m;printf(”%f“,n);};

elseprintf(”%f“,-n);

B、if(n>0)D、if(n>0)

{ n=n+m;printf(”%f“,n);}{ n=n+m;printf(”%f“,n)};elseprintf(”%f“,-n); elseprintf(”%f“,-n);

分析:复合语句{}后不能加;

12.以下程序运行的结果是()

main()

{intx1=3, x2=0, x3=0;

if(x1=x2+x3)

printf(”* * * *“);

else

} printf(”# # # #“);

C、存在语法错误D、无输出结果 A、输出:* * * *B、输出:# # # #

分析:x1=x2+x3是赋值表达式,其结果为0,因此表示假,执行else后的分支语句.13.语句while(!y)中的表达式!y 等价于()

A、y==0B、y!=1C、y!=0D、y==1

14.设有程序段如下,则描述正确的是()

int x=10;

while(x=0)x=x-1;

A、while循环执行10次B、循环是无限循环

C、循环体语句一次也不执行D、循环体语句只执行一次

分析:循环条件表达式x=0是赋值表达式,其结果为0,即假,所以循环一次也不执行。

15.设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是____

for(y=100;x!=y;++x,y++)

printf(”****n“);

A、循环体只执行一次B、是无限循环

C、循环体一次都不执行D、for语句中存在语法错误

分析:循环判断条件x!=y的值为0,即为假,循环不执行

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

1.若有定义:int y=7; float x=2.5,z=4.7;,则表达式x+(int)(y/3*(int)(x+z)/2)%4的值为___5.5_____。

2.若采用十进制数的表示形式,则077为___63___,0111为__73__,0x29为__41__,0xab为___171___。分析:077为八进制数:计算7×81+7×80=63;0111计算:1×81+1×80=73

0x29为十六进制数,计算2×161+9×160=41,0xab计算:a代表10,b代表11,10×161+11×160=171

3.设x、y、z均为int类型变量,请用C语言的表达式描述以下命题。

① x或y中有一个小于z___x

② x、y和z中只有两个为负数 _x=0||y=0||x=0___

③ y是奇数 __y%2(或y%2==1)__

4.设x、y、z均为int型变量,且x=3, y=-4, z=5,请写出下面每个表达式对应的结果。

①(x&&y)==(x||z)____1___

②!(x>y)+(y!=z)||(x+y)&&(y-z)____1__

5.若a是int型变量,且a的初值为6,则计算表达式后a的值为____-60____

a+=a-=a*a

分析:赋值运算符具有右结合性,因此先计算a-=a*a,相当a=a-a*a,a=6-6*6=-30,再计算a+=-30,即a=a+(-30)=-30+(-30)=-60

6.若a和b均为int型变量,则以下语句的功能是__交换变量ab的值__

a+=b;b=a-b;a-=b;

7.若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值为___10__,n的值为__6___

x+=n++

8.若s是int型变量,且s=6,则下面表达式的值为___1___

s%2+(s+1)%2

9.已知有变量定义:int x=4;float y=3.5;则执行 x+=y+2 之后,x的值为__9__

分析:x+=y+2相当与x=x+y+2=4+3.5+2=9.5,但是由于x为整型,因此对9.5取整赋值给x

10.C语言规定,可执行程序的开始执行点是__主函数(main)___

11.有int a=3,b=4,c=5;则以下表达式的值是______1______

!(a+b)+c-1&&b+c/2

分析:先计算!(a+b),再计算算术表达式,最后计算逻辑表达式&&,因此结果只能是1或者0,此题结果为1

12.执行下面程序段后,k值是_____36____

k=1;n=263;

do{ k*=n%10;;n/=10;}while(n);

分析:do_while循环先执行循环体,然后判断while后的表达式是否为真;

第1次执行循环体,k=k*n%10=3,n=n/10=26,此时n不为0,因此循环继续;

第2次执行循环体,k=3*26%10=18,n=n/10=2,n不为0,循环继续

第3次执行循环体,k=18*2%10=36,n=n/10=0,n为0,循环结束

13.设a、b、c均是int类型变量,则执行以下for循环后,c的值为_40_

for(a=1, b=5; a

c+=a+b;

分析:c的初值为0,循环初值a=1,b=5,循环条件a

三、分析程序并写出运行结果(每题5分,共20分)

1.设有说明:int a=1,b=0; 则执行以下语句后的输出结果是**0**

______**2**_________

switch(a)

{ case 1:

switch(b)

{ case 0: printf(”** 0 **n“); break;

case 1: printf(”** 1 **n“);break;

}

case 2: printf(”** 2 **n“); break;

}

分析:这是一个switch的嵌套,外层switch,由于a的值为1,所以进入case1 分支;

执行内层swtich,由于b的值为0,所以,执行case 0分支,输出**0**;遇到break,结束内层swtich;

外层switch的case 1分支没有break语句,因此继续执行下一个分支case 2,输出**2**

2.当a=1, b=3, c=5, d=4 时,执行完下面一段程序后x的值是__2___

if(a

分析:else总是与它距离最近的if配对。

3.下面程序的输出结果是____a=16 y=60_____

#include “stdio.h”

main()

{int a,y;

a=10;y=0;

do{

a+=2;y+=a;

if(y>50)break;

}while(a=14);

printf(“a=%d y=%dn”,a,y);

}

4.下面程序的输出结果是__7__

#include void main(){} int k=1;long sum=0;do{k=k*(k+1)/2;sum+=k;}while(sum%7);printf(“%ld”,sum);

四、程序填空(每题5分,共10分)

1.下面程序的功能是计算1至10之间的奇数之和以及偶数之和。

main()

{int x, y, z, k;x=z=0;for(k=0; k

printf(”偶数之和 = %dn“, x);

printf(”奇数之和 =%dn“,__z+1_);此时对应z=k-11

}

2.输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其它字符不变。请填空。

main()

{ charch1;

scanf(”%c“, ch1);

if(_ch1>=’A’&& ch1

ch1=ch1+32;

elseif(ch1>='a' && ch1

__ch1=ch1-32__;

printf(”%c“, ch1);

}

五、编程题(共20分)

1.从键盘输入3个数,找出其中的最小数和最大数并输出。(10分)

答案有多种,下面给出二种参考(注意在使用if~else时,尽量使程序简洁,效率高)参考1:利用if语句

#include

int main(){

int a,b,c,max,min;

printf(“input a,b,c:”);

scanf(“%d%d%d”,&a,&b,&c);

if(a>b){

max=a;min=b;

}else{

max=b;min=a;

}

if(c>max)

max=c;

if(c

min=c;

printf(“max=%d,min=%d”,max,min);

return 0;

}

参考2:利用条件表达式

#include

ina main(){

int a,b,c,max,min;

printf(“input a,b,c:”);

scanf(“%d%d%d”,&a,&b,&c);

max=a>b?a:b;

max=c>max?c:max;

min=a

min=c

printf(“max=%d,min=%d”,max,min);

return 0;

}

2.编程计算1

21

51

81

111

14...1

3n1的和并输出,直到某一项的绝对值小于10-6为止。(10分)

#include

#include

int main(){

int n=2;

double item,flag,sum=0;/*注意item和sum应均为实型数*/ flag=1;

item=flag/n;

while(fabs(item)>1e-6){/*fabs函数是对实型数求绝对值*/

sum=sum+item;

flag=-flag;/*flag用来控制符号的正负*/

n=n+3;

item=flag/n;

}

printf(“sum=%f”,sum);

return 0;

}

计算机程序设计发展史

我对程序设计的一点粗浅看法——计算机程序设计发展史【内容提要】 程序设计(Programming)是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计一般是以某......

计算机程序设计实践任务书。

《计算机程序设计实践》任务书时间: 2014年上学期 第14-16周;18-19周班级:指导教师:一、实践目的和要求1.巩固C++基础知识,了解基于对话框应用程序、文档/视图应用程序的框架结构......

计算机程序设计比赛试卷

计算机程序设计比赛试卷(考试时间120分钟,总分100分 )说明:1、比赛使用语言:C、C++、VB2、题目完成后,存放在D:\Test下以题号名单的文件夹当中班别:姓名:机号:成绩:1、输入一个摄氏温度,......

计算机程序设计比赛活动总结

计信系“技能接力赛 ——程序找茬” 活动总结计算机在各行各业中应用都很广泛,基本上每个公司都会用到PPT、WORD等很多应用软件,为了促进计算机与信息工程系学生努力学习关于......

《计算机程序设计基础A》课程教学大纲

《计算机程序设计基础A》课程教学大纲(2015-2016-2)课程代码:1571002 课程学科类别:理工科 课程类别:课程性质:必修 开课时间:第2学期 课程类型: 公共基础课 适应学科专业:理工......

《计算机程序设计期中考试.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
计算机程序设计期中考试
点击下载文档
相关专题 计算机基础期中考试 程序设计 期中考试 计算机 计算机基础期中考试 程序设计 期中考试 计算机
[其他范文]相关推荐
[其他范文]热门文章
下载全文