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

C语言笔试题带答案

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

(5)数据元素之间 【5】 的整体称为逻辑结构。 答案:【5】逻辑关系

评析:数据元素之间逻辑关系的整体称为逻辑结构。数据的逻辑结构就是数据的组织形式。

(6)若有定义int m=5,y=2,则执行表达式y+=y-=m*=y后,y的值为 【6】 。 答案:【6】.16

评析:将赋值运算符右侧的“表达式”的值赋给左侧的变量,并且赋值运算符按照“白右而左”的结合顺序,本题表达式应先算m的值为10,再运算y的值为8,最后计算y=y+(-8)=-8+(-8)=-16。

(7)若x和y都是double型变量,]ix的初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为 【7】 。 答案:【7】8.000000

评析: fabs函数功能是求x的绝对值,计算结果为double型。pow功能是计算x的y次方的值,计算结果同样为double型。所以本题表达式相当于2.0的3.0次方,结果为8.000000。

(8)设有char a,b;,若要通过a&b运算屏蔽掉a中的其它位,只保留第2位和第8位(右起为第1位),则b的二进制是 【8】 。 答案:【8】10000010

评析:运算“&”的规则是只有当两个相应的二进制位都为1时,该位的结果才为1。要保留第2、8位,只要将其与二进制数10000010相与。

(9)下列程序执行后输出的结果是 【9】 。 f(int a)

{ static c=0; C=a+C++: return(C); } main()

{ int a=2,i,k; for(i=O;i<2;i++) k=f(a++);

printf(”%d\n”,k); }

答案:【9】7

评析:在程序执行时,static变量仅初始化一次,下次使用时将使用上次保存的值。

(10)下面程序执行后输出的结果是 【10】 。 int m=13:

int fun(int x,int y) { int m=3; return(x*y-m); } main()

{ int a=7,b=5;

printf(”%d\n”,fun(a,b)/m); }

答案:【10】2

评析:本题变量m既是外部变量(值是13),又是fun函数的局部变量(值为3)。函数fun(x*y-m)的值为7*5-3=32,在main函数中,ftm(a,b)/m中的m应取外部变量的值13,因此输出2。

(11)下列程序执行后输出的结果是 【11】 。 main()

{ nt arr[10],i,k=0; for(I=0;i

答案:【11】12

评析:本题的第一个fur循环用于给数组arr赋初值,第二个for循环用于求和运算。由于第二个fur循环初始值为1,而循环条件为i<4,所以求的是art[1]到arr[3]及i的和,所以输出结果为12。

(12)下列程序执行后输出的结果是 【12】 。 struct s

{int x,y;}data[2]={10,100,20,200}; main() {

struct s*p=data;

printf(”%d\\n”,++(p->x)); }

答案:【12】11

评析:程序中结构体数组data首地址(即&data[0])赋值给结构体指针变量p,++(p->x)表示先将p所指向的结构体变量的成员x值加1,然后将此x(即data[01.x]输出。

(13)下面程序有两个printf语句,如果第一个printf语句输出的是194,则第二个print语句的输出结果是 【13】 。 main()

{ int a [10]={1,2,3,4,5,6,7,8,9,0},*p; p=a;

printf(”%X\n”,p); printf(”%x\n”,p+9); }

答案:【13】la6

评析:对于指针变量的运算,就是对地址的运算。本题中由于指针指向的是整型变量,所以,使指针变量移动9个位置也就是移动18个字节。注意,本题是以16进制输出的。

(14)以下函数的功能是计算s=l+l/2!+l/3!+…+l/n!,请填空. double fun(int n)

{ double s=O.O,fac=1.O; int i,k=1; for(i=l;i<=n;i++) { 【14】 ; fat=fat/k; s=s+fac;

} }

答案:【14】k=k*i

评析:本题中通过for循环求s表达式中每一项的和,表达式“fac=fac/k;”求的是每一项的值,所以k的值应为n!,在求n!的时候,可以用上次循环阶乘的值乘i,就可以直接得此次n!,故本题填k=k*i。

(15)下面程序的运行结果是 【15】 。 main()

{ unsigned a=0112,x; x=a>>3:

printf(”x=%o”,x); }

答案:【15】x=11

评析:在对无符号数的右移是高位补0。

(16)函数delete(s,i,n)是作用是从字符串s中删除从第i个字符开始的n个字符,请填空。

void delete(char s[],int i,int n) { int j,k,length=O; while(s[1ength]) 【16】 ; –i: j=i; }

C语言笔试题带答案

(5)数据元素之间【5】的整体称为逻辑结构。答案:【5】逻辑关系评析:数据元素之间逻辑关系的整体称为逻辑结构。数据的逻辑结构就是数据的组织形式。(6)若有定义intm=5,y=2,则执行表达式y+=y-=m*=y后,y的值为【6】。答案:【6】.16评析:将赋值运算符右侧的“表达式”的
推荐度:
点击下载文档文档为doc格式
2ey9025wdf1ujtp7zqyg25ui718xfz018ys
领取福利

微信扫码领取福利

微信扫码分享