好文档 - 专业文书写作范文服务资料分享网站

C语言期末考试试题及详细答案 

天下 分享 时间: 加入收藏 我要投稿 点赞

A、宏替换是在程序运行时进行的 B、函数调用是在程序编译时进行的

C、宏替换时,如果实参是表达式,应先求表达式的值,再替换 D、函数调用时,如果实参是表达式,应先求表达式的值,再替换 56、对于数学式x/2a,下面正确的C语言表达式是( D )。

A、sqr(x)/2a B、sqr(x)/2*a C、sqrt(x)/(2*a) D、sqrt(x)/2*a

57、若int类型数据占2字节,则以下语句的输出为( D )。 int k=32768;

printf(''%d,%u\\n'',k,k);

A、-1,65535 B、-1,32767 C、-1,-1, D、-32768,32768

59、下面程序中( B )有错误。 1)#include<stdio.h> 2)main ( ) 3){

4)int a[3]={0,0,0}; 5)int i;

6)for(i=0;i<3;i++﹚scanf(''%D'',&a[i]); 7)for(i=1;i<3;i++﹚a[0]=a[0]+a[i]; 8)printf(''%d\\n'',a[0];}

A、第4行 B、第6行 C、第7行 D、第8行 60、下面程序的运行结果( C )。 main( )

{ unsigned a=3,b=10;5

printf(''%d\\n''a<<2|b>>1=; }

A、3 B、10 C、13 D、14 61、已定义x为float型变量。 x=213.82631;

%m.nd表示最大场宽m,小数位为n位,整数 Printf(''%-4.2f\\n'',x); 位则为m-n-1位,够m位右对齐。%-m.nf可以则以上程序( A )。

A、输出格式描述符的域宽不够,不能输出 B、输出为213.83 C、输出为213.82 D、输出为-213.82 62、设已定义整型变量K,则下面的程序输出为( D )。 k=017;s=111;

printf(''%d'',++k);

printf(''%x\\n'',s++);

A、15 6f B、16 70 C、15 71 D、16 6f 63、不能正确表示a*b/c*d的C语言表达式是( C )。

A、a*b/c*d B、a/(c*d)*b C、a*b/c/d D、a*b/(c*d) 64、下列( C )表达式不满足;当x的值为偶数时值为“真”,为奇数时值为“假”。

A、x%2= =0 B、!x%2!=0 C、x/2*2-x= =0 D、!(x%2) 65、设已定义k为int型变量,则下面while循环执行( C )次。 k=10;

while(k=0)k=-1;

A、执行10次 B、无限循环 C、一次也不执行 D、执行一次

67、用高级语言编写的程序称之为( A )。

A、源程序 B、目标程序 C、汇编程序 D、命令程序 69、有以下程序的输出结果为( B )。 main( )

{ char a=0x95,b,c; b=(a&0xf)<<4; c=(a&0xf0)>>4; a=b|c;

printf(''%x\\n'',a); }

A、24 B、59 C、34 D、56 70、下述程序段的输出结果是( A )。 int a=3;b=4; int c=a^b>>3; printf(''%d'',c)

A、3 B、4 C、5 D、6

73、设int型变量在内存中占用两个字节存储单元,定义如下结构体: struct student

{ char name[10]; char sex; int age; struct

{ int year; int month; int day;

}birth; }stul;

则表达式sizeof(stul)的值是( )。

A、5 B、8 C、2 D、26 75、下述程序段的运行结果是( B )。 #include main( )

{ int m=7,n=4;

float a=38.4,b=0.4,x; x=m/2+n*a/b+1/2; printf(''%f\\n'',x); }

A、22 B、387.000000 C、27 D 76、下面程序的运行结果是( C )。 main( )

{ int cl=2,c2=0; while(!c2- -)

printf(''%d%d'',cl- -,c2); }

A、陷入死循环 B、不输出任何内容 C、输出2 -1 D、输出20 77、下面程序的运行结果是( B )。 int m=4,n=6;

max(int x,int y) { int max; max=x>yx:y; return(max); }

main( )

{ int m=10;

printf(''%d\\n'',max(m,n)); }

A、4 B、10 C、6 D、5 78、下面程序的运行结果是( B )。 fun(int p) { int k=1; static t=2;

、26 k=k+1; t=t+1;

return(p*k*t); }

main( )

{ int x=4; fun(x);

printf(''%d\\n'',fun(x)); }

A、4 B、32 C、30 D、16 79、阅读下面的程序: main( )

{ char ch;

scanf(''%c'',&ch); if(ch>='a'&& ch<='z')

ch=ch-32;

printf(''%c'',ch); }

若输入字符为:e,则程序运行结果为( A )。 A、E B、A C、e D、z 80、下面程序的运行结果是( B )。 main( )

{ static int a[3][3]={{3,2,1},(4,5,6),{-2,9,1}}; int i,j,sum=0; for(i=0;i<3;i++) for(j=0;j<3;j++) { if(i= =j)

sum=sum+a[iJ[j]]; }

printf(''sum=%d'',sum); }

A、sum=10 B、sum=9 C、9 D、10 84、下述程序的运行结果是( A )。 #include void fun(int x) {

putchar('0'+(x% 10));

fun(x/10); } main( ) {

printf(''\\n''); fun(1234); }

A、4321 B、321 C、21 D、1

86、设已定义i和k为int类型变量,则以下for循环语句( B )。 for(i=0,k=-1;;i++,k++) printf(''* * * *\\n'');

A、判断循环结束的条件不合法 B、是无限循环

C、循环一次也不执行 D、循环只执行一次 87、下列程序段选择项中,使i的运行结果为4的程序段是( D )。 A、int i=0,j=0; B、int i=1,j=70;

(i=3,(j++)+i); j=i=((i=3) *2); C、int i=0,j=1; D、int i=1,j=1; (j= =1)(i=1):(i=3); i+=j+=2; 89、阅读以下程序(最左边是附加的行号)。 1)#include 2)main( )

3){ float s[5]; 4) int i,k=0;

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

6) scanf(''%d'',s+i); 7) for(i=0;i<5;i++) 8) k=s[i];

9) printf(''\\n%f'',(float)k); 10)} 此段程序( A )。

A、没有错误 B、第4行错误 C、第6行错误 D、第9行错误

90、下列程序中有三个是完全相同的功能,只有( B )所完成的功能与其他程序不同。

A、s=0; B、s=0; i=0; i=1;

while(i<=100) while(i++<100)

C语言期末考试试题及详细答案 

A、宏替换是在程序运行时进行的B、函数调用是在程序编译时进行的C、宏替换时,如果实参是表达式,应先求表达式的值,再替换D、函数调用时,如果实参是表达式,应先求表达式的值,再替换56、对于数学式x/2a,下面正确的C语言表达式是(D)。A、sqr(x)/2a
推荐度:
点击下载文档文档为doc格式
3u6711z57b58u602x74s2b61z97l7x017mx
领取福利

微信扫码领取福利

微信扫码分享