您好,欢迎来到测品娱乐。
搜索
您的当前位置:首页C语言期末试题及答案

C语言期末试题及答案

来源:测品娱乐
C语言期末考试题及答案

一. 单选题 (共20题,每题2分,共40分) 1. 以下运算符中优先级最高的是( ) A.< B.+ C.&& D .! 2. 下列说法正确的是()

A. 在执行C语言程序时不是从main函数开始的

B. C语言程序书写格式严格,一行内必须写一个语句

C. C语言程序书写格式自由,一个语句可以分写在多行上 D. C语言程序书写格式严格,一行内必须写一个语句,并要有行号 3. 下面的符号常量定义中,正确的是 ( ) A.#define PI 3.14; C.#define PI=3.14

B.#include PI 3.14; D.#define PI 3.14

4. 以下程序的输出结果是 ( ) fun(int x, int y, int z) { z=x*x+y*y; } main() { int a=31; fun(5,2,a); printf(\"%d\}

A.0 B.29

C.31

D.无定值

5. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( )

A.地址传递 B.单向值传递

C.由实参传给形参,再由形参传回实参 D.传递方式由用户指定

6. 假设int型变量占两个字节的存储单元,若有定义: int x[10]={0,2,4};

则数组x在内存中所占字节数为______。 A.3 B.6 C.20

D.10

7. 下列合法的数组定义是_________。

A.int a[]=”string”; B.int a[5]={0,1,2,3,4,5}; C.char a=”string”; D.char a[]={0,1,2,3,4,5}; 8. 若给出以下定义: char x[]=\"abcdefg\";

char y[]={'a','b','c','d','e','f','g'}; 则正确的叙述为__________。 A.数组x和数组y等价

B.数组x和数组y的长度相同

C.数组x的长度大于数组y的长度 D.数组y的长度大于数组x的长度 9. 若定义如下变量和数组_________。 int j;

int x[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是_________。 For (j=0;j<3;j++) Printf(\"%d\

A.1 5 9 B.1 4 7 C. 3 6 9 D. 3 5 7 10. putchar函数可以向终端输出一个 A、字符或字符变量值 B、实型变量值 C、字符串

D、整型变量表达式值

11. 以下能正确定义数组并正确赋初值的语句是______。 A.int N=5,b[N][N];

B.int a[1][2]={{1},{3}};

C.int c[2][ ]= {{1,2},{3,4}}; D.int d[3][2]={{1,2},34}};

2. 已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'4';后,c2中的值为

A、66 B、 68 C、67 D、 69 3. 以下能正确定义一维数组的选项是________________。 A.int num[];

B.#define N 100 int num[N];

C.int num[0..100]; D.int N=100;int num[N]; 14. 以下程序的输出结果是_______。 main() {

char cf[3][5]={\"AAAA\printf(\"\\\"%s\\\"\\n\}

A.\"AAAA\" B. \"BBBCC\" C. \"BBB\"

D.\"CC\"

15. 若有以下程序段,c3中的值是

A. 0 B. 1/2 C. 0.5 D. 1 int c1=1,c2=2,c3; c3=c1/c2;

16. 以下程序段的输出结果是( )

A) 15 B) 14 C) 不确定 D) 0 main()

{ int i,sum;

for(i=1; i<6; i++) sum+=sum; printf(\"%d\\\\n\ }

17. 函数调用strcat(strcpy(str1,str2),str3)的功能是_______。 A. 将串str2复制到串str1中后再将串str3连接到串str1之后

B.将串str1连接到串str2之后再复制到串str3之后

C. 将串str1复制到串str2中后在连接到串str3之后 D.将串str2连接到串str1中后再将串str1复制到串str3中 18. 以下叙述正确的是

A) do_while语句构成的循环不能用其它语句构成的循环来代替。 B) do_while语句构成的循环只能用break语句退出。

C) 用do_while语句构成循环时,只有在while后的表达式为非零时结束循环。

D) 用do_while语句构成循环时,只有在while后的表达式为零时结束循环。

19. 执行以下一段代码后,变量a,b,c的值分别是( ) int x=10,y=9; int a,b,c;

a=(--x==y++)?--x:++y; b=x++; c=y;

A. a=8,b=8,c=10 B. a=9,b=9,c=9

C.a=9,b=10,c=9 D.a=1,b=11,c=10 20. 表达式3+(!(7<1)||(3<=7))的值为( ) A.3 B.4 C.5 D.错误的表达式 二. 判断题 (共10题,每题1分,共10分) 1. 不同的函数中可以使用相同的变量名。()

2. 函数的定义可以嵌套,但函数的调用不可以嵌套。( ) 3. C语言程序的变量必须先定义再使用()

4. C语言认为名为Student和student的变量是不同变量

5. C语言程序的书写格式虽然自由,但为了清晰,一般在一行内写一个语句()

6. 在switch-case语句中,必须使用default语句() 7. C语言中,字符常量可以用单引号或双引号括起来() 8. 使用putchar函数可以向终端输出一个字符串()

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

10. 字符串比较的规则是对两个字符串自左至右逐个字符相比(按ASCII码值大小比较),直到出现不同的字符或遇到‘\0’为止。( ) 三. 填空题 (每空1分,共18分)

1. C语言中的简单数据类型有 ( )( )、( )。 2. C源程序的基本单位是( ). 3. 以下程序运行后的输出结果是:( ) void swap(int x,int y)

{ int t; t=x; x=y; y=t;

printf(\"%d %d \} main()

{ int a=3,b=4; swap(a,b);

printf(\"%d %d\\n\4 3 3 4;

4. 结构化程序由 ( )、( ) 、( ) 三种基本结构组成。 5. 语句标号由标识符表示,标识符由 ( )、( ) 和( ) 组成。第一个字符必须是字母或下划线。

6、在C语言程序中,用关键字( )定义基本整型量,用关键字

( )定义单精度实型变量,用关键字( )定义双精度实型变量。 7. 若有以下程序: main()

{ int i,j;

scanf(\"i=%d,j=%d\printf(\"i=%d,j=%d\

要求给i赋10,给j 赋20,则应该从键盘输入 。 8.在C语言库函数中,STRLEN(字符串)的功能是:( )。

9.函数的两种调用方式是( )和( )。 四. 读程序题 (共3题,每题4分,共12分) 1. 以下程序段的输出结果是: #include main( ) { int i;

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

if(i%2)

printf(\"* \"); else continue; printf(\"#\"); }

printf(\"$\n\"); }

2. 阅读程序 #include void main() { int i,j; int a[5][5]; printf(\"\\n\"); for(i=0;i<5;i++)

{

a[i][0]=1; a[i][i]=1; }

for(i=2;i<5;i++) for(j=1;ja[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=0;i<5;i++) {

for(j=0;j<=i;j++)

printf(\"%5d\ printf(\"\\n\"); } }

请输出程序结果:

3. 阅读下列程序,写出程序的输出结果 。 # include main() { int y=9; for(; y>0; y--)

if( y%3 == 0){ printf(\"%d\}

五. 程序设计题 (共2题,每题10分,共20分) 1. 求1到位10的阶乘之和。(10分).

2. 有一10个数的数组,求其最小值,和最大值。C语言期末试题答案

10分) (

一. 单选题 (共20题,每题2分,共40分)

1~5:DCDCB 6~10: CDCDA 11~15:DCBCA 16~20: CADAB 二. 判断题 (共10题,每题1分,共10分)

1~5: 对错对对对 6~10:错错错错对 三. 填空题 (共9题,每题2分,共18分)

1.整型、实型、字符型 2.函数 3.4334

4. 顺序结构 选择结构 循环结构; 5.字母 数字线 6.Int float double 7. i=10,j=20 8.测试并返回字符串的长度 9.递归调用 嵌套调用 四. 读程序题 (共3题,每题4分,共12分) 1.标准答案: * #* #* #$ 2.标准答案: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 3.标准答案: 852 五.程序设计题。 1、main()

{int s=0,i,j,jc=1; For(i=1;i<=10;i++)

{jc=jc*i; s=s+jc;}

printf(“1到10的阶乘之和为:%d”,s); }

2.main()

下划

{int a[10],i,j,min,max; for(i=0;i<10;i++) scanf(\"%d\min=max=a[0]; for(i=1;i<10;i++) {

if (min>a[i]) min=a[i]; if(maxprintf(\"min=%d, max=%d\\n\}

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

Copyright © 2019- cepb.cn 版权所有 湘ICP备2022005869号-7

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

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