2019年C语言期末考试试题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)