上海海事大学 学生联合会
试卷总分:100分 共有题型:6种
一、填空 共15题 (共计15分) 第1题 (1.0分)
若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3 该数组中下标最大的元素的值是【1】. 答案:3
第2题 (1.0分)
表达式18 && 53 的值是【1】. 答案:1
第3题 (1.0分)
c语言程序的三种基本结构是:顺序结构,选择结构,【1】结构. 答案:循环 第4题 (1.0分)
预处理命令行都必须以【1】号开始. 答案:#
第5题 (1.0分)
设i,j,k均为int型变量,则执行完for循环 for(i=0,j=10;i<=j;i++,j--) k=i+j;后,k的值为【1】. 答案:10
第6题 (1.0分)
程序段int k=10; while(k=0) k=k-1循环体语句执行【1】次. 答案:0
第7题 (1.0分)
执行下列语句后,*(p+1)的值是【1】. char s[3]=\p=s; 答案:b
第8题 (1.0分)
若输入字符串:abcde<回车>,则以下while循环体将执行 【1】 次.
While((ch=getchar())=='e') printf(\答案:0
第9题 (1.0分)
如果函数不要求带回值,可用【1】来定义函数返回值为空. 答案:void 第10题 (1.0分)
C语言中,数组元素的下标下限为【1】. 答案:0
第11题 (1.0分)
int a=1,b=2,c=3; 执行语句a=b=c;后a的值是【1】. 答案:3
第12题 (1.0分)
若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3 该数组可用的最小下标值是【1】. 答案:0
第13题 (1.0分)
将数组a的首地址赋给指针变量p的语句是【1】. 答案:p=a; 第14题 (1.0分)
以下程序的输出结果为【1】, #include \
a=010,j=10;printf(\答案:9,10 第15题 (1.0分)
假设有条件 int x=1,y=2,z=3;则表达式z+=x>y?++x:++y的值是【1】. 答案:6
二、判断 共15题 (共计15分) 第1题 (1.0分)
do-while循环是先判断循环条件表达式,后执行循环体;while循环是先执行循环体,后判断循环条件表达式.答案:N 第2题 (1.0分)
关系运算符的优先级高于算术运算符并且低于赋值运算符.答案:N
第3题 (1.0分)C程序中的关键字必须小写.答案:Y
第4题 (1.0分)若有说明int c;则while(c=getchar());是正确的C语句.答案:Y
第5题 (1.0分)数组中的元素类型不能不同 答案:Y
第6题 (1.0分)a=(b=4)+(c=6) 是一个合法的赋值表达式.答案:Y
第7题 (1.0分)int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列
的元素赋初值,其余元素值为0.答案:Y 第8题 (1.0分)若 a=3,b=2,c=1 则关系表达式\的值为\真\答案:Y
激情活力 精彩学联 版权所有 违者必究
上海海事大学 学生联合会
第9题 (1.0分)int i,*p=&i;是正确的C说明语句.答案:Y
第10题 (1.0分)语句\定义了两个指针变量答案:N
第11题 (1.0分)如果函数值的类型和return语句中表达式的值不一致,则以 函数类型为准.答案:Y 第12题 (1.0分)
C语言中的for语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况.答案:N 第13题 (1.0分)在执行switch语句时,default和各个case的出现次序不影响执行结果.答案:Y 第14题 (1.0分)
语句 printf(\输出为 0.333333.答案:N 第15题 (1.0分)
若i =3,则printf(\输出的值为 -4.答案:N
三、单项选择 共17题 (共计34分) 第1题 (2.0分)下列程序段的输出结果为().
float x=213.82631; printf(\
A:213.82 B:213.83 C:213 D:3.8 答案:C
第2题 (2.0分)下列定义不正确的是(). A:#define PI 3.141592 B:#define S345 C:int max(x,y); int x,y; { } D:static char c; 答案:C
第3题 (2.0分)以下程序段的输出结果为().
char c[]=\int i=0; do
while(c[i++]!='\\0');printf(\A:abc B:ab C:2 D:3 答案:D 第4题 (2.0分)若ch为char型变量,k为int型变量(已知字符a的ASCII十进制代码为97),
则以下程序段的执行结果是().
ch='a'; k=12; printf(\printf(\
A:因变量类型与格式描述符的类型不匹配,输出无定值
B:输出项与格式描述符个数不符,输出为零值或不定值
C:61,141,k= D:61,141,k=%d 答案:C
第5题 (2.0分)对 for(表达式1; ;表达式3) 可理解为().
A:for(表达式1;0;表达式3) B:for(表达式1;1;表达式3)
C:for(表达式1;表达式1;表达式3) D:for(表达式1;表达式3;表达式3) 答案:B
第6题 (2.0分)以下程序段的输出结果为().
for(i=4;i>1;i--) for(j=1;j
A:无 B:###### C:# D:### 答案:B 第7题 (2.0分)下列语句的结果是(). main() { int j; j=3;
printf(\printf(\}
A:3,3 B:3,4 C:4,3 D:4,4 答案:D 第8题 (2.0分)设a=12,且a定义为整型变量.执行语句a+=a-=a*=a;后a的值为(). A:12 B:144 C:0 D:132 答案:C 第9题 (2.0分)执行语句 for(i=1;i++<4;); 后变量 i 的值是().
A:3 B:4 C:5 D:不定答案:C 第10题 (2.0分)若有char a[80],*s=a;正确的输入语句是().
A:scanf(\C:scanf(\答案:A
第11题 (2.0分)以下函数调用语句中实参的个数是().
func((e1,e2),(e3,e4,e5));
A:2 B:3 C:5 D:语法错误 答案:A 第12题 (2.0分)下列运算符中优先级最高的是().
激情活力 精彩学联 版权所有 违者必究
上海海事大学 学生联合会
A:< B:+ C:&& D:!=答案:B 第13题 (2.0分)int a[10];
给数组a的所有元素分别赋值为1、2、3、……的语句是().
A:for(i=1;i<11;i++)a[i]=i; B:for(i=1;i<11;i++)a[i-1]=i; C:for(i=1;i<11;i++)a[i+1]=i; D:for(i=1;i<11;i++)a[0]=1; 答案:B 第14题 (2.0分)若k为int型变量,则以下程序段的执行结果是().
k=-8567; printf(\A:格式描述符不合法,输出无定值 B:输出为k=|D| C:输出为|0-8567| D:输出为|-8567|答案:B
第15题 (2.0分)在C语言中,要求运算数必须是整型的运算符是(). A:^ B:% C:! D:> 答案:B
第16题 (2.0分)下列运算符中是C语言关系运算符的是().
A:~ B:! C:& D:!= 答案:D 第17题 (2.0分)若有说明:int
a[][3]={1,2,3,4,5,6,7,8,9};则a数组第一维的大小是().
A:2 B:3 C:4 D:无确定值 答案:B 四、程序填空 共2题 (共计12分)第1题 (6.0分)
/*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
题目:以下程序的功能如(图1)。
-------------------------------------------------------*/ #include
/***********SPACE***********/ double f(【?】) {
/***********SPACE***********/ 【?】;
/***********SPACE***********/ if (【?】)
y=2.0*x*x+3.0*x+4.0;
else
y=-2.0*x*x+3.0*x-4.0; /***********SPACE***********/ 【?】; }
main ( ) {
clrscr( );
printf(\} 答案:
=======(答案1)======= float x
=========或========= double x
=======(答案2)======= double y
=======(答案3)======= x<=2
=========或========= 2>=x
=======(答案4)======= return y
=========或========= return (y) 第2题 (6.0分)
/*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
题目:已定义一个含有30个元素的数组s,函数fun1的功能是按
顺序分别赋予各元素从2开始的偶数,函数fun2则按顺序
每五个元素求一个平均值, 并将该值存放在数组w中。
程序中有4个空,填空使程序完整。 -------------------------------------------------------*/ float s[30],w[6]; fun1(float s[]) {
激情活力 精彩学联 版权所有 违者必究
上海海事大学 学生联合会
int k,i;
for(k=2,i=0;i<30;i++) {
/***********SPACE***********/ 【?】 k+=2; } }
fun2(float s[],float w[]) {
float sum=0.0; int k,i;
for(k=0,i=0;i<30;i++) {
sum+=s[i];
/***********SPACE***********/ 【?】 {
w[k]=sum/5;
/***********SPACE***********/ 【?】 k++; } } } main() {int i; fun1(s);
/***********SPACE***********/ 【?】
for(i=0;i<30;i++) {
if(i%5==0) printf(\ printf(\ }
printf(\ for(i=0;i<6;i++)
printf(\} 答案:
=======(答案1)======= s[i]=k;
=========或========= s[i]=(i+1)*2
=======(答案2)======= if( ( i + 1 )%5 == 0 ) =========或========= if( ( i + 1 )/5*5 ==i+1) =======(答案3)======= sum=0;
=========或========= sum=0.0;
=======(答案4)======= fun2(s,w);
五、程序改错 共1题 (共计6分) 第1题 (6.0分)
/*------------------------------------------------------ 【程序改错】
--------------------------------------------------------
题目:函数fun的功能是:输出Fabonacci数列的前20项,要求变
量类型定义成浮点型,输出时只输出整数部分,输出项
数不得多于或少于20。
请改正程序中的4个错误,使它能得出正确的结果。
--------------------------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。
------------------------------------------------------*/ fun() { int i;
float f1=1,f2=1,f3; /**********FOUND**********/ printf(\
/**********FOUND**********/ for(i=1;i<=20;i++) {
f3=f1+f2;
/**********FOUND**********/ f2=f1;
/**********FOUND**********/ f3=f2;
激情活力 精彩学联 版权所有 违者必究
相关推荐: