上海海事大学 学生联合会
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;
激情活力 精彩 版权所有 违者必究