2019年C语言期末考试试题及答案

  • 格式:docx
  • 大小:19.59 KB
  • 文档页数:6

下载文档原格式

  / 2
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2019年C语言期末考试试题及答案

1、C语言规定:在一个源程序中,main函数的位置()。

A.必须在最后

B.必须在系统调用的库函数的后面。

C.必须在最开始。

D.可以任意

2、若有定义:int a = 7; float x = 2.5 , y = 4.7 ; 则表达式

x + a % 3 * (int) (x + y) % 2/4 的值是()。

A. 2.750000

B. 0.00000

C. 3.500000

D. 2.500000

3.已知ch是字符型变量,下面正确的赋值语句是()。

A.ch = '123' ;

B. ch=' \08 ';

C. ch =' \xff ';

D.ch =" \ ";

4. 以下标识符中,不能作为合法的C用户定义标识符的是:___________。

A)a3_b3 B)void C)_123 D)abc

5、C语言中,运算对象必须是整型的运算符是__________。

A) % B) / C) %和/ D) *

6.不合法的八进制数是________

A) 0 B) 028 C) 077 D)01

7.在C程序中,设一表达式中包含有int,long, unsigned和char类型的变量和

数据,则表达式最后的运算结果类型是( )

A.int

B.char

C.unsigned

D.long

8.对下述程序,正确的判断是()。

main( )

{ int a,b;

scanf ("%d,%d",&a,&b);

if(a>b)a=b; b=a;

else a++; b++;

printf("%d,%d",a,b);

}

A. 有语法错误不能通过编译

B. 若输入4,5则输出5,6

C. 若输入5,4则输出4,5

D. 若输入5,4则输出5,5

9. 语句 for(k=0;k<5;++k)

{

if(k= = 3) continue;

printf(“%d”,k);

}的输出结果为_________。

A)012 B) 0124 C) 01234 D) 没有输出结果

10.为表示关系x>=y>=z,应使用C语言表达式___________。

A)(y<=x)&&(y>=z) B)(x>=y)AND(y>=z)

C)(x>=y>=z) D)(x>=y)&(y>=z)

11. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和___________等价。

A、k=(a>b)?1:0;

B、k=a>b;

C、k=a<=b;

D、a<=b ? 0 : 1;

12.若定义int i; 则以下循环语句的循环执行次数是()。

for(i=2; i==0;)

printf("%d", i--);

A) 无限次 B) 0次

C) 1次D) 2次

13.以下正确的声明是()。

A. int a[1][4]={1,2,3,4,5};

B. float x[3][]={{1},{2},{3}};

C. long b[2][3]={{1},{1,2},{1,2,3}};

D. double y[][3]={0};

14. 执行以下程序段后,s的值是

int a[]={5,3,7,2,1,5,4,10};

int s=0,k;

for(k=0;k<8;k+=2) s+=*(a+k);

A、17

B、27

C、13

D、无定值

15. 若有定义:char c[10];从键盘输入“LiFang”,则正确的函数引用是( )

A.scanf(“%c”,&c[10]);

B.gets(c);

C.scanf(“%s”,&c);

D.gets(c[10]);

16. void main()

{ int f(int);

int w = 2,k;

for(k=0;k<3;k++)

{

w=f(w);

printf(“%d\n”,w);

}

}

int f(int x)