C习题集(2)

2019-01-27 14:22

A、8 B、1 C、4 D、64

54. 以“只读”方式打开文本文件a:\\aa.dat,下列语句中哪一个是正确的( )。 A、fp=fopen(”a:\\aa.dat”,”ab”); B、fp=fopen(”a:\\aa.dat”,”a”); C、fp=fopen(”a:\\aa.dat”,”wb”); D、fp=fopen(”a:\\aa.dat”,”r”); 55. 以“追加”方式打开文本文件a:\\aa.dat,下列语句中哪一个是正确的( )。 A、fp=fopen(”a:\\aa.dat”,”ab”); B、fp=fopen(”a:\\aa.dat”,”a”); C、fp=fopen(”a:\\aa.dat”,”r+”); D、fp=fopen(”a:\\aa.dat”,”w”); 56. 为读写建立一个新的文本文件a:\\aa.dat,下列语句中哪一个是正确的( )。 A、fp=fopen(”a:\\aa.dat”,”ab”); B、fp=fopen(”a:\\aa.dat”,”w+”); C、fp=fopen(”a:\\aa.dat”,”wb”); D、fp=fopen(”a:\\aa.dat”,”rb+”);

2 填空题

1. 设float x=2.5,y=4.7; int a=7;,表达式 x+a%3*(int)(x+y)%2/4 的值为 。 2. 设 int x=17,y=5; 执行语句 x+=--x%--y 后x的值为 。 3. 设 int x=17,y=5; 执行语句 x%=x++/--y 后x的值为 。

4. 设 int a=7,b=6,c=5;,表达式 (a+b)>(c*c)&&b==c||c>b 的值为 。 5.设 int a=3,b=5,c=7;,表达式a>c||c>b!=0&&c==b+a 的值为 。 6.已知三角形边长a、b、c和s=(a+b+c)/2,计算其面积的算术表达式为 。

7. 已知方程ax+bx+c=0系数a、b、c且存在两个实根,计算其中一个实根的算术表达 式为 。

8. p为本金,r为5年期存款年利率,计算存款p元5年到期时本金、利息总和的算术 表达式为 。

9.将数学式 (x+1)e 写作算术表达式为 。 10.ch是字符变量,判断ch为大写英文字母的逻辑表达式为 。 11. 判断int类型变量n是否为两位整数的逻辑表达式为 。

12. 判断变量a、b的值均不为0的逻辑表达式为 。 13. 判断变量a、b是否绝对值相等而符号相反的逻辑表达式为 。

14. 判断变量a、b中必有且只有一个为0的逻辑表达式为 。

15. m是值为两位数的整型变量,判断其个位数是奇数而十位数是偶数的逻辑表达式为 。

16. 求解赋值表达式 a=5+(c=6)后表达式值、a、c的值依次为 。

5

2x

2

17. 求解赋值表达式 a=(b=10)%(c=6),表达式值、a、b、c的值依次为 。 18. 求解逗号表达式 x=a=3,6*a后,表达式值、x、a的值依次为 。 19. 求解逗号表达式 (a=15,a*4),a+5,表达式值、a的值依次为 。 20. 求变量a、b中最大值的条件表达式为 。

21. 若 a=13、b=25、c=-17,条件表达式 ((y=(a=?a?&&s<=?z?)?s-32:s; 字符变量s的值为 。 23. 整型变量x的值为25,语句“printf(”%o”,x);”的输出结果为 。 24. 整型变量m的值为27,语句 printf(”m=%x”,m);的输出结果为 。 25. 语句printf(”s%s”,”mall”); 的输出结果为 。

26. 若int k=10, 循环语句while (k=0) k=k-1; 执行_________次。

27.若int k=2, 循环语句while (k!=0) { printf(\执行_____次。 28. 若int i=10,s=0;,执行语句while(s+=i--,--i);后s、i值分别为 。 29. 程序段 int s,i; for(i=1;i<=100;s+=i,i++); 能否计算1~100的和? 原因是 。

30. 若int类型变量字长为2,程序段 int jc=1; for(int i=2;i<10;i++)jc*=i; 能否 计算10的阶乘? 原因是 。 31. 定义a为共有10个元素的静态存储int类型数组的语句为 。

32. 定义a为长度为10的字符串、同时为字符串赋初值”continue”的语句为 。

33. 定义a为共有5个元素的一维整型数组、同时定义p为指向a数组首地址的指针变 量的语句为 。

34. 定义a为4行5列的二维整型数组、同时定义p为指向a数组首地址的指针变量的 语句为 。 35. 如定义语句为“char a[]=”windows ”,b[]=”95”;”,

语句“printf(”%s”,strcat(a,b));”的输出结果为 。 36. 定义语句为 char a[15],b[]=”windows 95”;,则语句 printf(”%s”,strcpy(a,b)); 的输出结果为 。

37. 定义语句为 char a[]=”Box”,b[]=”Boss”;,语句 printf(”%d”,strcmp(a,b));输 出 。

38. 定义语句为“char a[10]=”student”;”,语句“printf(”%d”,strlen(a));”的输出 结果为 。

39. 定义语句为 char a[]=”WINDOWS”;,语句 printf(”%s”,strlwr(a));输出 。 40. 定义语句为 char a[]=”hangzhou”,*p=a;,语句 for(int i=0; *p!=?\\0?; p++,i++); 执行后i的值为 。

41. 对宏定义语句“#define f(x,y) printf(x,y)”的引用 f(”%d\\n”,m);

6

置换展开后为 。

42. 宏定义语句 #define f(x,y) fopen(x,y) 的引用 f(”a.txt”,”rw”); 置换展开后为 。

43. 宏定义语句 #define f(c) c>=?A?&&c<=?Z? 的引用 f(x[i]) 置换展开后为 。

44.表达式 3&5、3|5、3||5 的值分别为 、 、 。

45.设 int x=707,表达式 x^x、x|x、~x^x 的值分别为 、 、 。

46.设 int x=0707,表达式 ~x&&x、!x&&x、x>>3&~0的值分别为 、 、 。 47. 函数的参数为int类型时,虚参与实参结合的传递方式为 。 48. 函数的参数为floatl类型时,虚参与实参结合的传递方式为 。 49. 函数的参数为char*类型时,虚参与实参结合的传递方式为 。 50. 函数的实参为常量时,虚参与实参结合的传递方式为 。 51.对下列递归函数,函数调用f(3)的返回值是 。 int f(int n) { return((n==0)?1:f(n-1)+2);}

52.函数f定义如下,调用f(\的返回值为 。 int f(char *s) { int k=0; while(*s) k+=*s++-'0'; return k;}

53. 函数change定义如下,a=10、b=5,执行 change(a,b)后a、b的值分别为 。 void change(int a,int b) { int t=0; t=a; a=b; b=t;}

54. 开辟一个存储n个int数据的内存区、并将内存区首地址送入p(指向int类型的指 针变量)的语句为 。 55.释放由p所指向的内存区的语句为 。

56.fp为文件位置指针,将fp移到离当前位置25个字节处的语句为 。

3 写输出结果题

阅读下列程序,将程序运行时的输出结果填写在答案栏内。

1. #include void main()

{ char ch; int k=0;

for(ch=?A?;ch

} 输出结果:

2. #include void main( )

{ int k=0; char c='A'; do {

switch (c++) {

7

case 'A': k++; break; case 'B': k--;

case 'C': k+=2; break; case 'D': k=k%2; break; case 'E': k=k*10; break; default: k=k/3;

} k++;

} while(c<'G');

printf(\

} 输出结果:

3. #include void main()

{ int a[6]={12,4,17,25,27,16},b[6]={27,13,4,25,23,16},i,j; for(i=0;i<6;i++) {

for(j=0;j<6;j++) if(a[i]==b[j])break; if(j<6) printf(\ }

printf(\

} 输出结果:

4. #include void main()

{ int a[8]={1,0,1,0,1,0,1,0},i;

for(i=2;i<8;i++) a[i]+=a[i-1]+a[i-2]; for(i=0;i<8;i++) printf(\ printf(\

} 输出结果:

5. #include void main()

{ int s=1,t=1,a,n; scanf(\ for(int i=1;i

t=t*10+1; s=s+t; 输入数据:2,4 }

s*=a; printf(\输出结果: }

6. #include

#define PR(x,y) printf(\

8

void main( )

{ int x=03,y=02,z=01; 输出结果: ___________ PR(\ PR(\ PR(\ } ___________

7. #include void main()

{ int a[5]={2,4,6,9,12},b[6]={2,3,4,6,8,9}; for(int i=0;i<5;i++) for(int j=0;j<6;j++)

if(*(a+i)==*(b+j)) printf(\ printf(“\\n”);

} 输出结果:

8. #include #include void main() 输出结果:

{ char str1[]=\

for(int i=0;i<4;i++) { printf(\ str1[i]=? ?;

str1[strlen(str1)-1]='\\0'; } }

9. #include

void main() { char a[5][8]; 输出结果: for(int i=0;i<5;i++)

for(int j=0;j<8;j++)

if(i==0||i==4) a[i][j]='-'; else a[i][j]=' '; for(i=1;i<4;i++) {

a[i][0]='|'; a[i][5]='|'; }

for(i=0;i<5;i++) a[i][6]='\\0';

for(i=0;i<5;i++) printf(\ }

10. #include

9


C习题集(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:“十二五”教师继续教育个人达标学习计划

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: