C语言期末考试必考精华试题(含答案)

发布时间 : 星期一 文章C语言期末考试必考精华试题(含答案)更新完毕开始阅读

第一章 c语言概述

1.运行C程序的步骤:编辑、编译、连接、运行。 2.在一个C语言程序中( )。 B

A.main函数必须出现在所有函数之前 B.main函数可以在任何地方出现 C.main函数必须出现在所有函数之后 D.main函数必须出现在固定位置 3.C程序总是从( )开始执行。A A.main函数

B.程序的第一个函数

C.任意指定的函数 D.程序的第一条语句

第二章

算法 第三章 数据类型

1. 以下属于C语言的基本数据类型的是( )。B

A.整型、实型、逻辑型 B.整型、实型、字符型

C.整型、字符型、逻辑型 D.整型、实型、逻辑型、字符型 2. 若n =8,a=7, 则a %=(n %=3)的值是( )。B

A.0 B.1 C.2 D.3 3. 表达式2/5+7%2*(int)4.7/3的值是( )。C

A.1.4 B.1.400000 C.1 D.1.000000 4. 当c的值不为0时,能正确将c的值赋给变量a、b的是( )。C

A.c=a=b B.(a=c)||(b=c) C.(a=c)&&(b=c) D.a=c=b 5. 若变量已正确定义并赋值,以下符合C语言语法的表达式是( )。B

A.a:=b+1 B.a=b=c+2 C.int 18.5%3 D.a=a+7=c+b 6. 以下不能定义为用户标识符是( )。 D

A.Main B._0 C._int D.sizeof 7. 以下选项中,不能作为合法常量的是( )。 B

A.1.234e04 B.1.234e0.4 C.1.234e+4 D.1.234e0

8. 已知英文字母a的ASCII码值是十六进制数61H,字母d的ASCII码值是( )。D

A.34H B.54H C.24H D.64H 10.下列选项中,不正确的赋值语句是( )。A

A.x B.x1 = x2 = x3 = 0 C.k = i = = j D.a= bc = 1 11. 以下程序的输出结果是( )。D

main( ) { int k=15;

printf(\,%o,%x \\n\,k,k,k); }

A.15,017,0xf B.15,15,15 C.15,0xf,017 D.15,17,f

第四章 顺序程序设计

1. 若int a,b,c;则从键盘给a,b,c输入数据,正确的输入语句是( )。C

A.scanf(“ %d%d%d”,a,b,c); B.scanf (“%d%d%d”,&a&b&c); C.scanf (“%d%d%d”,&a,&b,&c); D.SCANF (“%d%d%d”,&a,&b,&c);

1

2. 若有double x,y;则在利用scanf对x,y输入数据时,正确的语句是:D

A.scanf(“ %f%f”,&x,&y); B.scanf(“%f%f”,x,y);

C.scanf (“%lf%lf”,x,y); D.scanf (“%lf%le”,&x,&y); 3. 有以下程序

main()

{ int a,b,d=25;

a=d/10%9; b=a&&(-1);

printf(\}

第五章运行结果是 选择结构:_ 2,1

1. 设x,y,z,t均为int型变量,则执行语句x=y=z=1; t=x||y&&z; 后t的值为( A.不定值 B.2 C.1 D.0

2.语句:printf(“%d”,(a=2)&&(b =-2));的输出结果是( )。D A.无输出 B.结果不确定 C.-1 D.1 3.能正确表示a和b同时为正或同时为负的逻辑表达式是( )。C A.(a>=0‖b>=0)&&(a<0‖b<0) B.(a>=0&&b>=0)&&(a<0&&b<0) c.a*b>0 d. (a>=0&&b>=0)||(a<0&&b<0)

第六章 循环控制

1.int k=0;while (k=0) k++;则while 循环的次数是( )。C A.无限次 B.有语法错误,不能执行 C.一次也不执行 D.1次

2. 用scanf(\└┘%c└┘%c\输入数据,使a='A',b='a',如何输入( A.A└┘a B.'A'└┘'a' C. └┘A└┘a D.Aa 3.已知 int t=0; while(t=1) {...} 则以下叙述正确的是( )。B

A.循环控制表达式的值为0 B.循环控制表达式的值为1 C.循环控制表达式不合法 D.以上说法都不对

4.执行语句:for (i=1; i<4; ) i++; 后,变量i的值是( )。B A.3 B.4 C.5 D.不定

5.以下的for循环for(x=0,y=0;(y!=123)&&(x<4);x + + ) ;( )。C A. 是无限循环 B.循环次数不定 C.执行4次 D.执行3次 6.有如下程序 main() { int n=9; while(n>6)

{ n- -; printf(\);} }

该程序的输出结果是: 876

7.有以下程序 main()

{ int a=1,b;

for(b=1;b<=10;b++) { if(a>=8) break;

)。C )。C 2

if(a%2==1) { a+=5;continue;} a-=3; }

printf(\ }

程序运行后的输出结果是: 8 4 8.有以下程序 main()

{ int i=0,s=0; do

{ if(i%2) {i++;continue;} i++; s+=i;

} while(i<7); printf(\ }

执行后输出的结果是: 16

9.

main( )

{ int i,j,a[5][5]; for( i=1;i<5;i++) { for(j=0;j<=i;j++)

{ if(j==0||i==j) a[i][j]=1;

else a[i][j]=a[i-1][j]+a[i-1][j-1]; printf(\ }

printf(\ } }

运行结果 杨辉三角 10.求出1-1000之间的所有素数。 第七章 数组

1. 若long a[2][3]={{1,2},{3,4}}; 则二维数组元素a[0][0]与a[1][2]值分别为:( )。D

A.0,1 B.1,4 C.2,0 D.1,0 2.若char array[ ]=“China”,则数组array所占的空间为:D

A) 不确定 B)1个字节 C)5个字节 D)6个字节

3.若用数组名作为函数调用的实参,传递给形参的是 。A A)数组的首地址 B)数组第一个元素的值 C)数组中全部元素的值 D)数组元素的个数 5.一个指针变量p和数组变量a的说明:int a[10], *p;

则p=&a[1]+2的含义是:指针p指向数组a的下标为 3 的元素。

7.说明char a[ ]=“hello”, b[10];要将a中字符复制到b中正确语句是 strcpy(b,a) 。8.用选择法对数组中的数据从小到大排序,要求程序运行时才输入数据。

3

第八章 函数

1.函数fun的首部void fun(int a, int b[ ]),则正确调用fun 函数是:B

A) void fun(int a, int b[ ]) B)fun(a, b) C)fun(a, b[10]) D)fun(a, b[ ])

2. 有如下程序输出的结果是 。D int func(int a,int b) { return(a+b);} main()

{ int x=2, y=5, z=8, r; r=func(func(x,y), z); printf(“%\\d\\n”, r); }

A)12 B)13 C)14 D)15 3.有以下程序执行后输出结果是 。D #define f(x) x*x main( ) { int i;

i=f(3+3)/f(2+2);

printf(\ }

第A9)章预处理2 B)16

C)9 D)19

1.宏定义#define MUL(a, b) a*b 则MUL(3-2, 1+3)展开后是: A) 3-2*1+3 B)(3-2)*(1+2) C)4 D)1*4

2. C语言预处理命令有:宏定义、 文件包含 、 条件编译 。3.下面程序运行结果 2 。 #define MIN(X,Y) (X)<(Y)? (X): (Y) main( )

{ int a=1,b=2, m;

m=10*MIN(a, b);

printf(\,m); }

第十章

指针

1.已知说明语句int (*p)( );,则下列叙述正确的是( )。C A)p是一个指针变量,它指向一个一维数组 B)p是一个指针变量,它指向一个整型数据

C)p是一个指针变量,它指向一个返回值是整数的函数 D)以上都不对

2.如下程序的执行结果是 。C #include main()

{ int a[ ]={1,2,3,4,5,6}; int *p;

p=a; *(p+3)+=2; printf(〞%d,%d\\n 〞, *p, *(p+3)); } A)1,3 B)3,6 C)1,6 D)1,4 3.有以下程序执行后输出结果是 。C main()

{ char *s[ ]={\p=s[1];

printf(\}

A. n,two B. t,one C. w,one D. o,two

4

联系合同范文客服:xxxxx#qq.com(#替换为@)