一、填空题。
1、微型计算机的运算器、控制器及内存储器组合在一起,称之为(D)A、ALUB、CPUC、MPUD、主机2、信息的最小单位是(A )A、bitB、byteC、KBD、word3、Windows操作系统是(C )A、单用户、单任务B、多用户、单任务C、单用户、多任务D、多用户、多任务4、下列数据中最大数是(D)A、(1010010)2B、(123.4)8C、(84.5)10D、(55)165、设有int a=3,b=-4,c=5;表达式(a<b)?a:b&&c AA、0B、1C、3D、46、计算机对下列几种存储器中,访问速度最快的是(A)A、内存储器B、CD-ROMC、软盘D、硬盘7、下面哪个不是系统软件(C)A、DOSB、UnixC、Visual BasicD、OS/28、退出Turbo C 2.0返回系统,在主菜单File项中可选择(D)A、LoadB、NewC、SaveD、Quit9、以指数形式输出实型数的格式说明符是(B )A、%uB、%eC、%fD、%x10、设有说明:int u=1,v=3,w=5;表达式:v &~~u|w的值是(B )A、 3B、 5C、 6D、 811、以八进制形式输出整数的格式说明符是(B)A、%oB、%dC、%xD、%u12、以八进制形式输出整数的格式说明符是(B)A、%oB、%dC、%xD、%u13、以下叙述中不正确的是(C)A、在C中,函数中自动变量可以赋初值,每调用一次,赋一次初值B、在C中,在调用函数时,实参和对应形参在类型上只需要赋值兼容C、在C中,外部变量的隐含类别是自动存储类别D、在C中,函数形参可以说明为register变量14、下列程序的输出结果是(D)main( ){int x=5,y;if(x<0)y=-1;if(x==0)y=0;y=1;printf("%d",y);}A、-5B、-1C、0D、115、下列关于函数的说明中不正确的是(A )A、函数名后面可以不要一对圆括号B、函数参数类型必须作说明C、函数形参个数可以是一个、多个或没有D、空函数被调用时不做任何工作16、若有以下定义和语句:char *s1=”12345”,*s2=”1234”;printf(“%d\n”,strlen(strcpy(s1,s2)));则输出结果是(A)A、4B、5C、9D、1017、在以下一组运算中中,优先级最高的运算符是(C)A、<=B、=C、%D、&&18、若有定义:int x,*pb;则正确的赋值表达式是(A)。
A、pb=&xB、pb=xC、*pb=&xD、*pb=*x19、在位运算中,操作数每右移一位,其结果相当于(C )。
A、操作数乘以2B、操作数除以16C、操作数除以2D、操作数乘以1620、在多媒体计算机系统中,CD-ROM属于(D)A、感觉媒体B、表示媒体C、表现媒体D、存储媒体21、在文件使用方式中,字符串″w″表示(B )。
A、打开一个已存在的二进制文件,只能读取数据B、打开一个文本文件,只能写入数据C、打开一个已存在的文本文件,只能读取数据D、打开一个二进制文件,只能写入数据二、程序阅读题。
1.以下程序的输出结果是____0 _____。
#include <stdio.h>void main( ){int m=026,n=0x16;printf("%d\n",m-n);}2.以下程序的输出结果是____ Yes _____。
#include <stdio.h>void main(){char c='A';if ('0'<= c<='9')printf("Yes");elseprintf("No");}3.以下程序的输出结果是____ s=0,count=0 _____。
#include <stdio.h>void main(){int a[10]={2,4,0,5,10,6,8,9,6,7};int i, s=0, count=0;for(i=0;i<10;i++)if(a[i]<0){s+=a[i];count++;}elsecontinue;printf ("s=%d,count=%d\n",s,count);}4.阅读以下程序,写出此程序的结果是_____ ___。
#include<stdio.h>int add(int a,int b){int c;c=a+b;return c;}void print(int t){printf("z=%d\n",t);}void main(){int x,y,z;x=5,y=10;z=add(x,y);print(z);}5.以下程序的运行结果是 z=15 。
#include <stdio.h>void increment(){static int x=0;x+=1;printf("%d",x);}void main(){increment();increment();increment();}6.阅读程序,写出程序的输出结果 0 1 2 3 4 5 6 。
#include<stdio.h>void main( ){int a[ ]={0,1,2,3,4,5,6},*p,i;p=a;for(i=0;i<=6;i++)printf("%d ",*(p+i));printf("\n");}7.以下程序运行结果是____________。
#include "stdio.h"int fun(int a){int b=0;static int c=3;b++;c++;return (a+b+c);}void main(){int i,a=5;for(i=0;i<3;i++)printf("%d %d ",i,fun(a));printf("\n");}8. 以下程序运行结果是 0 10 1 11 2 12 。
#include "stdio.h"struct NODE{int k;struct NODE *link;};int main(){struct NODE m[5],*p=m,*q=m+4;int i=0;while(p!=q){p->k=++i; p++;q->k=i++; q--;}q->k=i;for(i=0;i<5;i++)printf("%d",m[i].k);printf("\n");return 0;}9.# include <stdio.h>main ( ){char ch;ch=getchar( );switch( ch ){case 65:printf(“%c”, ‘A’);case 66:printf(“%c”,’B’);break;default:printf(“%s\n”,”other”);}}如程序可以正常运行,当从键盘输入字母A时,输出结果为 AB 。
10、以下程序的执行结果是___s=15_________。
#include <stdio.h>main(){int a[3][3]={1,2,3,4,5,6,7,8,9},i,s=0;for(i=0;i<=2;i++)s=s+a[i][i];printf("s=%d\n",s);}三、填空题。
1.C语言数组的下标总是从___0_______开始,不可以为负数;构成数组各个元素具有相同的___数据类型_______。
2.结构化程序设计中的三种基本结构是_顺序________、__选择______、_____循环______。
3.定义int a[]={1,2,3,4,5,6},*p=a;表达式(*++p)++的值是____________。
四、程序设计题。
1、设有-11,-9,0,3,5,6,8,12,15,21十个数,请编程从键盘上输入这十个数,并计算能够被3整除的数的平均值。
#include "stdio.h"int main(){int num[10],i,sum,count;float average;for(i=0;i<10;i++){scanf("%d",&num[i]);}sum=0;count=0;for(i=0;i<10;i++){if(num[i] % 3 ==0){sum=sum+num[i];count++;}}average=sum/count;printf("%f\n",average);return 0;}2、编写程序,求所有素数并输出到屏幕,并统计其个数输出(水仙花数:是指一个3位数,其各位数字的立方和等于该数字本身。
例如,153是水仙花数,因为153=13+53+33)。
#include "stdio.h"int sxhnum(int m){int i,j,k;k=m%10;i=m/100;j=(m-i*100)/10;if(m==(i*i*i+j*j*j+k*k*k))return 1;elsereturn 0;}int main(){int i,count;count=0;for(i=100;i<=999;i++){if(sxhnum(i)==1){printf("%d ",i);count++;}}printf("\n水仙花的个数为:%d\n",count);return 0;}3、编一个求素数的函数,在主函数中将100到200之间的所求的所有素数以ASCII码的形式写到c盘根目录下test.txt文件中。
#include "stdio.h"#include "math.h"int prime(int m){int i;for(i=2;i<sqrt(m);i++){if(m%i==0){return 0;}}return 1;}int main(){FILE *p;int i,count;count=0;p=fopen("c:/text.txt","w+");for(i=100;i<=200;i++){if(prime(i)==1){fprintf(p,"%d ",i);count++;if(count%10==0){fprintf(p,"\n");}}}return 0;}4.建立一个链表,每个节点包含的成员为:学号(num),成绩(score),用malloc函数开辟新结点,链表包含10个结点,从键盘输入数据,然后把数据输出D盘test.txt文件中。