您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页C语言试卷2

C语言试卷2

来源:华佗小知识


考生注意:请将答案写在答题纸上

一、 选择题(20分,每题2分)

1. 下面标示符中,不合法的用户标示符为::

A. Do B. 2ab C. a_14 D. printf 2. 有如下定义,对a数组元素地址的正确引用为: int a[5],*p=a;

A 、*(p+5) B、*p+2 C、a+2 D、*&a[5]

3. 设x,y均为整型变量,且x=10,y=3,则以下语句的输出结果是:

printf(“%d,%d\\n”,x--,--y) ;

A、 10,3 B、 9,3 C、 9,2 D) 10,2 4. 在C语言中,字符在内存中均以( )形式存储

A、原码 B、补码 C、反码 D、ASCII码

5. 若变量 int x=12,则执行表达式y=x>12?x+10:x-12;后y的值:

A、4 B、0 C、22 D12 6. 以下对二维数组的初始化,错误的是( )

A、a[3][3]={1,2,3,4,5} B、a[3][3]={{1,2},{3,4},{5}} C、a[][3]={{1,2},{3,4},{5}} D、a[][3]={{1,2,3},{4,5},{}} 7. 下面关于switch语句和break语句的结论中,只有()是不正确的

A、break语句不是switch语句中的一部分

B、在switch语句中可以根据需要使用或不适用break语句 C、在switch语句中必须使用break 语句 D、以上三个结论中有两个是正确的 8. 执行下面的程序段,a和b的值分别为:

int a=10,b=0; if (a==10)

{a=a+1;b=b+1;} else

{a=a+4;b=b+4;}

A、a=11,b=1 B、a=14,b=4 C、a=14,b=1 D、有语法错误 9. 以下程序段执行后,输出的结果为:

int i;

for (i=3; ;i=i-1); printf(“%d”,i) ;

A.1 B.2 C.3 D.死循环 10. 以下对C语言函数的有关描述中,正确的是:

A、在C语言中,调用函数时,只能把实参的值传给形参,形参的值不能传给实参 B、C函数既可以嵌套定义又可递归调用 C、函数必须有返回值,否则不能使用函数

D、C程序中有调用关系的所有函数必须放在同一个源程序文件中

共 6 页 第 1 页

① ② ③ ① ② ③ 专业 姓名 班级 学号 注:未填写姓名及学号的考生按照旷考处理 ① ② ③

二、填空题(10分,每题2分)

1.表达式3.5+1/2的计算结果是____

2. 已知 int a=5,b=6,w=1,x=2,y=3;执行语句”if(a>b&&x<=y) w=5;”后,w的值____ 3. 结构化程序设计包含____、____和____三种控制结构。 4. 函数调用语句:fun((a,b),(c,d,e));的实参个数为____

5. 设x,y,z为整型变量,初值为x=2,y=3,执行完语句z=(x>y)?x:y后,z的值是____ 三、判断题(10分,每题2分)

1.C语言表达式和表达式语句是相同的。( ) 2.关系运算符的优先级高于算术运算符。( ) 3.if(a>b) max=a; else max=b;是两条语句。( ) 4.x=(y=2)*(z=3)是一个合法的赋值表达式。( ) 5. while循环结构中,循环体至少执行一次。( ) 四、程序填空题(20分,每题10分)

1.将二维数组a的行和列元素互换,存到二维数组b中,并输出数组b。

1234a5671011121592610b37114812#include main( )

{int a[3][4]= 【1】 , b[4][3] , i , j ; for ( i=0 ; i<3 ; i++ ) for (j=0 ; j<4 ; j++)

【2】 ; for ( i=0 ; i<4 ; i++ ) {for ( j=0 ; j<3 ; j++ ) printf(“%5d”,b[i][j]); printf(“\\n”);

}}

2. 以下程序实现输出x,y,z中的最大者(用max表示),请填空:

main( )

{ int x=4,y=6,z=7,max; 【1】 ;

if(max五、程序改错题(20分,每题10分)

1.已知二维数组形式如下:求主对角线上元素之和。

5 9 10 2 6 23 7 4 7 3 18 21 8 5 2 9 main()

{int a[4][4]; int i,j,sum=0;

/*********found*************/ ① for(i=0;i<4;i++) ② for(j=0;j<4;j++)

共 6 页 第 2 页

① ② ③ ① ② ③ 专业 姓名 班级 学号 ③scanf(“%d”, a[i][j]);

/*********found*************/ ④ for(i=0;i<4;i++) ⑤ sum=sum+a[i][j];

⑥ printf(“SUM=%d”,sum); }

注:未填写姓名及学号的考生按照旷考处理 ① ② ③

2.下列给定程序中,函数fun的功能是:根据整型形参m,计算如下公式的值。

Y=1+1/(2×2)+1/(3×3)+1/(4×4)+„+1/(m×m) 例如,若m中的值为5,则应输出:1.463611。 源程序:

#include

/********found********/ ①int fun(int m) {

②double y = 1.0; ③int i; /********found********/ ④for (i=2; i⑦main() {

⑧int n = 5; /********found********/

⑨printf(\"\\nThe result is %1f\\n\}

六、编程题(20分,每题10分)

1.求1!+2!+3!+4!+5!+6!+ 7!+8!+9!+10!

2.已知数组a[10]={1,2,3,4,5,6,7,8,9,10},计算数组中所有元素为奇数的和。

共 6 页 第 3 页

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

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务