华拓科技网
您的当前位置:首页大学计算机C语言期末考试复习试题及答案 (30)

大学计算机C语言期末考试复习试题及答案 (30)

来源:华拓科技网
上海海事大学 学生联合会

C语言试题 试卷编号:9660

一、填空 共8题 (共计8分) 第1题 (1.0分) 题号:388

设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为【1】. 答案: 第2题 (1.0分) 题号:516

若s是int型变量,且s=6,则下面表达式的值是【1】. s%2+(s+1)%2

答案:1

第3题 (1.0分) 题号:436 下列程序的输出是【1】,

main(){int a=011;printf(\"%d\\n\第4题 (1.0分) 题号:431

执行下面两个语句,输出的结果是【1】,char c1=97,c2=98;printf(\"%d %c\答案:97 b

第5题 (1.0分) 题号:440

设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为【1】. 第6题 (1.0分) 题号:35

C语言表达式!(3<6)||(4<9)的值是【1】. 第7题 (1.0分) 题号:532

以下do-while语句中循环体的执行次数是【1】. a=10; b=0;

do { b+=2; a-=2+b; } while (a>=0); 第8题 (1.0分) 题号:438 以下程序的输出结果为【1】,

#include \"stdio.h\" main(){int a;for(a=0;a<10;a++);printf(\"%d\二、判断 共15题 (共计15分) 第1题 (1.0分) 题号:928 C程序中的关键字必须小写. 第2题 (1.0分) 题号:717 x*=y+8 等价于 x=x*(y+8). 第3题 (1.0分) 题号:937 在C程序中,每行中只能写一条语句 第4题 (1.0分) 题号:715

整数 -32100可以赋值给int型和long int型变量. 第5题 (1.0分) 题号:720

语句 printf(\"%f%%\输出为 0.333333. 第6题 (1.0分) 题号:944

C语言中,赋值表达式加上分号就构成了赋值语句. 第7题 (1.0分) 题号:719

C语言本身不提供输入输出语句,输入和输出操作是由函数来 实现的.

答案:Y

第8题 (1.0分) 题号:947

printf函数中,%c和%s都可以输出字符串.

1.0 或1

答案:10

答案:1

答案:1

答案:3

答案:10

答案:Y

答案:Y

答案:N

答案:Y 答案:N

答案:Y

答案:N

激情活力 精彩 版权所有 违者必究

上海海事大学 学生联合会

第9题 (1.0分) 题号:930

关于if语句中,条件表达式只能是关系表达式或逻辑表达式 第10题 (1.0分) 题号:936

在C语言中,逻辑\"真\"等价于不等于0的数 第11题 (1.0分) 题号:956

在switch-case语句中,必须使用default语句. 第12题 (1.0分) 题号:950

逻辑运算符中的\"&&\"和\"||\"低于关系运算符,\"!\"高于算术运算符. 第13题 (1.0分) 题号:953

C语言中的for语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况.

答案:N

第14题 (1.0分) 题号:952

do-while循环是先判断循环条件表达式,后执行循环体;while循环是先执行循环体,后判断循环条件表达式.

答案:N

第15题 (1.0分) 题号:954

continue语句只结束本次循环,而不是终止整个循环的执行.break语句则是结束整个循环过程,不再判断执行循环的条件是否成立. 三、单项选择 共20题 (共计40分) 第1题 (2.0分) 题号:2231

下面四个选项中,均是不合法的用户标识符的选项是(). A:A P_0 do B:float la0 _A C:b-a goto int D:_123 temp int

答案:C

第2题 (2.0分) 题号:2022 下列数据中,为字符串常量的是(). A:A B:\"house\" C:How do you do. D:$abc

答案:B

第3题 (2.0分) 题号:2214

在C语言中,char型数据在内存中的存储形式是(). A:补码 B:反码 C:原码 D:ASCII码

答案:D

第4题 (2.0分) 题号:2013

以下运算符中,优先级最高的运算符是(). A:= B:!= C:*(乘号) D:()

答案:D

第5题 (2.0分) 题号:2024

答案:Y

答案:Y

答案:N

答案:Y

答案:N

激情活力 精彩 版权所有 违者必究

上海海事大学 学生联合会

下列语句的结果是(). main() { int j; j=3;

printf(\"%d,\printf(\"%d\} A:3,3 B:3,4 C:4,3 D:4,4

答案:D

第6题 (2.0分) 题号:2042

若a是float型变量,b是unsigned型变量,以下输入语句中合法的是(). A:scanf(\"%6.2f%d\B:scanf(\"%f%n\C:scanf(\"%f%3o\D:scanf(\"%f%f\以下程序的输出结果为(). main()

{int i=010,j=10;

printf(\"%d,%d\\n\} A:11,10 B:9,10 C:010,9 D:10,9

答案:B

第8题 (2.0分) 题号:2127 下列程序段的输出结果为(). float k=0.8567;

printf(\"%4.1f%%\A:0085.6%% B:85.7% C:0085.6% D:.857

答案:B

第9题 (2.0分) 题号:21

从键盘上输入某字符串时,不可使用的函数是(). A:getchar() B:gets() C:scanf() D:fread()

答案:A

第10题 (2.0分) 题号:2040

若ch为char型变量,k为int型变量(已知字符a的ASCII十进制代码为97),

答案:C

第7题 (2.0分) 题号:2049

激情活力 精彩 版权所有 违者必究

上海海事大学 学生联合会

则以下程序段的执行结果是().

ch='a'; k=12; printf(\"%x,%o,\A:因变量类型与格式描述符的类型不匹配,输出无定值 B:输出项与格式描述符个数不符,输出为零值或不定值 C:61,141,k=%12 D:61,141,k=%d

答案:C

第11题 (2.0分) 题号:2046 以下程序的输出结果是(). main()

{int i,j,k,a=3,b=2; i=(--a==b++)?--a:++b; j=a++;k=b;

printf(\"i=%d,j=%d,k=%d\\n\}

A:i=2,j=1,k=3 B:i=1,j=1,k=2 C:i=4,j=2,k=4 D:i=1,j=1,k=3

答案:D

第12题 (2.0分) 题号:2067

C语言的if语句嵌套时,if与else的配对关系是(). A:每个else总是与它上面的最近的if配对 B:每个else总是与最外层的if配对 C:每个else与if的配对是任意的 D:每个else总是与它上面的if配对 第13题 (2.0分) 题号:2146 求平方根函数的函数名为(). A:cos B:abs C:pow D:sqrt

答案:D

第14题 (2.0分) 题号:2133

下列运算符中是C语言关系运算符的是(). A:~ B:! C:& D:!=

答案:D

第15题 (2.0分) 题号:2011 以下运算符中,优先级最高的运算符是(). A:*= B:>= C:(类型) D:+

答案:C

第16题 (2.0分) 题号:2123

答案:A

激情活力 精彩 版权所有 违者必究

上海海事大学 学生联合会

设j和k都是int类型,则for循环语句(). for(j=0,k=0;j<=9&&k!=876;j++) scanf(\"%d\A:最多执行10次 B:最多执行9次 C:是无限循环

D:循环体一次也不执行

答案:A

第17题 (2.0分) 题号:2249

若i为整型变量,则以下循环执行次数是(). for(i=2;i==0;) printf(\"%d\

A:无限次 B:0次 C:1次 D:2次

答案:B

第18题 (2.0分) 题号:2061

在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的 表达式是(). A:(!E==0) B:(E>0||E<0) C:(E==0) D:(E!=0)

答案:C

第19题 (2.0分) 题号:2141 以下程序段的输出结果为(). for(i=4;i>1;i--) for(j=1;j答案:B

第20题 (2.0分) 题号:2069 设j和k都是int类型,则for循环语句

for(j=0,k=0;j<=9&&k!=876;j++) scanf(\"%d\A:最多执行10次 B:最多执行9次 C:是无限循环

D:循环体一次也不执行

答案:A

四、程序填空 共3题 (共计27分) 第1题 (9.0分) 题号:404

题目:从键盘上输入两个复数的实部与虚部,求出并输出它们的 和、差、积、商。 #include void main()

激情活力 精彩 版权所有 违者必究

上海海事大学 学生联合会

{float a,b,c,d,e,f;

printf(\"输入第一个复数的实部与虚部:\"); scanf(\"%f, %f\

printf(\"输入第二个复数的实部与虚部:\"); scanf(\"%f, %f\/***********SPACE***********/ 【?】; f=b+d;

printf(\"相加后复数:实部:%f,虚部:%f\\n\ e=a*c-b*d;

/***********SPACE***********/ 【?】;

printf(\"相乘后复数:实部:%f,虚部:%f\\n\ e=(a*c+b*d)/(c*c+d*d); /***********SPACE***********/ 【?】;

printf(\"相除后复数:实部:%f,虚部:%f\\n\} 答案:

e=a+c

f=a*d+b*c

f=(b*c-a*d)/(c*c+d*d)

第2题 (9.0分) 题号:428

题目:输入一个学生的生日(年:y0、月:m0、日:d0),并输 入当前日期(年:y1、月:m1、日:d1)。求出该学生的 年龄(实足年龄)。 #include main()

{int age,y0,y1,m0,m1,d0,d1;

printf(\"输入生日日期(年、月、日)\"); /***********SPACE***********/ 【?】(\"%d%d%d\

printf(\"输入当前日期(年、月、日)\"); scanf(\"%d%d%d\ age=y1-y0;

/***********SPACE***********/ if(m0【?】m1)age--;

/***********SPACE***********/ if((m0【?】m1)&&(d0>d1))age--; printf(\"age=%3d\}

答案: scanf

>

==

第3题 (9.0分) 题号:459

题目:在歌星大奖赛中,有10个评委为参赛的选手打分,分数为 1~100分。选手最后得分为:去掉一个最高分和一个最低分 后其余8个分数的平均值。请编写一个程序实现。

激情活力 精彩 版权所有 违者必究

上海海事大学 学生联合会

#include void main()

{ int score,i,max,min,sum;

max=-32768; min=32767; sum=0;

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

printf(\"Input number %d=\/***********SPACE***********/

scanf(\"%d\【?】); sum+=score;

/***********SPACE***********/

if(【?】)max=score; /***********SPACE***********/

if(【?】)min=score; }

printf(\"Canceled max score:%d\\nCanceled min score:%d\\n\/***********SPACE***********/

printf(\"Average score:%d\\n\【?】); }

答案: &score

maxscore(sum-max-min)/8

五、程序设计 共1题 (共计10分) 题目:编写函数fun计算下列分段函数的值: x*x+x+6 x<0且x≠-3

f(x)= x*x-5x+6 0≤x<10且x≠2及x≠3 x*x-x-1 其它 #include \"stdio.h\" float fun(float x) {

/**********Program**********/ /********** End **********/ }

void main() { float x,f;

printf(\"Input x=\"); scanf(\"%f\ f=fun(x);

printf(\"x=%f,f(x)=%f\\n\ getch(); }

答案: float y; if (x<0 && x!=-3.0) y=x*x+x+6;

激情活力 精彩 版权所有 违者必究

上海海事大学 学生联合会

else if(x>=0 && x<10.0 && x!=2.0 && x!=3.0) y=x*x-5*x+6; else y=x*x-x-1; return y;

激情活力 精彩 版权所有 违者必究

因篇幅问题不能全部显示,请点此查看更多更全内容