计算机技术基础复习资料参考答案
- 格式:docx
- 大小:27.56 KB
- 文档页数:8
《计算机技术基础》复习题参考答案一、单项选择题1-5 ABBDC 6-10 CDDDA10-15 BACBB 16-20 DDADB21-25 ABDDA 26-30 BCABD31-35 CDABB 36-40 AABCD二、判断改错题1. 错误;C语言允许直接访问物理地址,可以直接对硬件进行操作。
2. 错误。
在微机上使用的C编译系统,每一个字符型变量在内存中占1个字节,一个实型数据一般在内存中占4个字节。
3. 错误;在用scanf函数输入数据中,在“格式控制”中的不是所有字符都用来控制格式输入,用户在输入数据时对于除格式控制符外的其它字符需要原样输入。
4. 错误;表达式x=(b=4)+(c=6) 的值为10。
5. 错误。
C语言的循环功能非常强大,主要有4种语句:goto、while、do-while、for语句实现C的循环功能。
6. 正确;在C语言中,局部变量的值在函数调用结束后消失而并且不保留原值。
7. 错误;C语言中,不能将一个字符串常量或字符数组直接赋给一个字符数组,必须采用函数strcpy处理8. 错误。
C语言规定实参变量对形参变量的数据传递是单向的地址传递,实参传递给形参,形参不可传递给实参。
9. 错误;C语言中,指针和地址是两个相同的概念,指针和指针变量不是同一概念。
10. 错误。
C语言中的结构体变量不能作为一个整体进行输入和输出,需要对结构.三、填空题1. main2. 定义3. 换行4. 允许5. 自右向左6. 47. 变量8. float9. 2010. 整型11. return12. 指针13. 数组名14. #include15. *四、简答题1. (1).语言简洁紧凑,使用方便灵活(2).运算符丰富(3).数据结构丰富(4).具有结构化的控制语句(5).语法限制不太严格,程序设计自由度大(6).允许直接访问物理地址,可以对硬件进行直接操作(7).生成目标代码质量高,程序执行效率高(8).可移植性好2. 在C语言中,C整型常量可以用十进制整数,八进制整数,十六进制整数表示。
3. C的循环控制语句有:for()~while()~do~while()4. C语言选择结构控制语句有两种:if-else语句;switc-case语句。
5. 按函数在程序中出现的位置来分,可以有函数语句,函数表达式,函数参数。
6. 数组中行下标的上限是0,下限是2;列下标的下限是4。
7. b[0][0],b[0][1],b[0][2],b[1][0],b[1][1],b[1][2] 。
8. 指针保存了某个变量的地址,指针本身是一个变量,它也有自身的地址, 而指针的内容是某个变量的地址。
9. 逐个字符输入输出对应格式符“%c”;将整个字符串一次输入或输出对应格式符“%s”; 输出字符不包括结束符‘\0’。
10. 23:q=p+1;17:q=p+3;49:q=p+6;11. 运行结果为:9, 11, 8, 1112. 运行结果为:50,40,30,20,10,0,13. 运行结果为:12314. 运行结果为:This is YES.15. 运行结果是1,1,016. 运行结果为: 12317. 参考函数:char ltob(char c){return (c-32);}18. 参考答案:int max(int x,int y){return(x>y?x:y);}19. int main(){int a[10],i;for(i=0;i<10;i++)scanf(“%d”,&a[i]);}20. 程序功能为:输出100~1000中能被3整除的数。
五、编程题1. 输入三角形的三边长,求三角形面积。
#include <math.h>int main(){float a,b,c,s,area;sacnf(%f,%f,%f”,&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n”,a,b,c,s);printf(“area=%7.2f\n”,area);return 0;}2. 编程判断2015年是否是闰年。
#include<stdio.h>int main( ){int year=2015;if((year %4==0&&year % 100!=0)||(year % 400==0))printf("it is a leap year.");elseprintf("it is not a leap year.");return 0;}3. 编写一个C程序,要求实现从键盘输入一个字符并全部以大写字母形式输出。
#include <stdio.h>int main(){char a,b;a=getchar();if(a>=’a’&& a<=’z’) b=a-32;else b=a;putchar(b);return 0; }4.编写一个C程序,打印九九乘法表:1×1=1 1×2=2 1×3=3 …… 1×8=8 1×9=92×1=2 2×2=4 2×3=6 …… 2×8=16 2×9=183×1=3 3×2=6 3×3=9 …… 3×8=24 3×9=27………………9×1=9 9×2=18 9×3=27 ……9×8=72 9×9=81#include<stdio.h>int main( ){ int i, j ;for ( i=1; i<=9; i++){for (j=1; j<=9; j++)printf(“%d*%d=%2d “, i, j, i*j);printf(“\n”);}return 0; }5. 编写一个C程序,打印出所有的“水仙花数”。
所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。
例如,153是一个“水仙花数”,因为153=13+53+33。
#include<stdio.h>int main(){int i, j, k, n;for(n=100; n<1000; n++){i=n/100;j=n/10-i*10;k=n%10;if (n= =i*i*i+j*j*j+k*k*k)printf(“%4d”, n);}return 0; }6.编写一个C函数,实现用递归方法求n!。
int fun(int n){int f;if(n<0) printf(“n<0,data error!!!”);else if(n==0||n==1) f=1;else f=fun(n-1)*n;return f;}7. 编写一个C程序,求Fibonacci数列的问题:F1=1;(n=1)F2=1;(n=2)F n=F n-1+F n-2;(n>2)参考答案之一:#include<stdio.h>int main(){long int f[40]={1,1};int i;for(i=2;i<40;i++)f[i]=f[i-1]+f[i-2];for(i=0;i<40;i++){ printf(“%12ld”,f[i]);if(i%4==0) printf(“\n”);}return 0;}8. 编写一个C程序,实现用起泡法将用户输入的7个数按从小到大顺序排序并能打印出结果。
int main(){int a[7];int i,j,t;printf("input 6 munbers:\n");for(i=1;i<7;i++)scanf("%d",&a[i]);printf("\n");for(j=1;j<=5;j++)for(i=1;i<=6-j;i++)if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}printf("the sorted numbers:\n");for(i=1;i<7;i++)printf("%d\n",a[i]);return 0;}9. 编写一个C程序,求出一个3×4的矩阵的最大值,并能输出最大值。
#include<stdio.h>int main(){int i,j,max,a[3][4]={32,29,36,53,70,89,45,34,41,67,23,51}; max=a[0][0];for(i=0;i<3;i++)for(j=0;j,4;j++)if(a[i][j]>max)max=a[i][j];printf(“max=%d\n”,max);return 0;}。