int n;
scanf(\b=a<<(16-n); c=a>>n; d=c|b;
printf(\}
A、75765 B、35765 C、13765 D、30000 D 5. 表达式11&10的结果用二进制表示为( )。 A、11 B、3 C、1 D、10 B 6.表达式9|5 的结果十进制表示为( )。 A、12 B、13 C、14 D、15
第十三章
1. C语言中,文件由(D )。
A、记录组成 B、由数据行组成
C、由数据块组成 D、由字符(字节)序列组成 2. C语言中的文件类型只有(B )。
A、索引文件和文本文件 B、ASCII文件和二进制文件两种 C、文本文件一种 D、二进制文件一种 3. C语言中档的存取方式(C )。
A、只能顺序存取 B、只能随机存取 C、可以顺序存取,也可以随机存取 D、只能从檔开头进行存取
二、程序填空题 第三章
1.要使下面程序的输出形式为:12+10=22,-24+10=-14,请填空。 #include
int a,b,c,d; unsigned u;
a=12;b=-24;u=10; c=a+u;d=b+u;
printf(\【1】+【2】=%d,【3】+【4】=%d\\n\【5】); }
13
选择答案:【1】%d 【2】%d 【3】%d 【4】%d 【5】b,u,d 第四章
2. 下面程序不借助任务中间变量把a,b的值进行交换。请填空。
#include
printf(“Input a,b:”);
scanf(“%d,%d”, 【1】 &a,&b );
a+=【2】 b ;b=a- 【3】 b ;a- = 【4】 b ; printf(“a=%d,b=%d\\n”, 【5】 a,b ); } 第五章
3. 下面程序输入一个学生的生日(年:y0,月:m0,日:d0),并输入当前日期(年:y1,月:m1,日:d1)。求出该学生的实足年龄。请填空。 #include
{int age,y0,m0,d0,y1,m1,d1;
printf(\输入生日日期(年、月、日)\
scanf(\【1】 &y0,&m0,&d0 ); printf(\输入当前日期(年、月、日)\
scanf(\【2】 &y1,&m1,&d1 ); age=y1-y0;
if(m0 【3】 > m1) age--; if ((m0 【4】 = = m1)&&( 【5】 d0 > d1 )) age--; printf(\ }
4. 下面程序输出乘法九九表。 #include
for(i=1;i<【1】 10 ;i++) printf(\
printf(\ for(i=1;i<【2】 10 ;i++) for(j=1;j<10;j++)
14
printf((j= =【3】 9 )?\【4】\\n \【5】i*j ); } 第六章
5. 下面程序从读入的整数据中,统计大于0的整数个数i和小于0的整数个数j,当输入0时,程序运行结束。请填空。 #include
{【1】 int n,i,j;
printf(“Input int numbers,with 0 to end:”); i=j=0;
scanf (“%d”,&n);
while (【2】 n!=0 ) { if (n>0) i=【3】 i+1 ;
if (n<0) j=【4】 j+1 ;
【5】 scanf (“%d”, &n) ; }
printf(“i=%d,j=%d\\n”,i,j ); }
第七章
1. 设数组a和数组b中分别有an和bn个有序数,程序把数组a和数组b按由小到大的顺序合并到数组c中。请填空。 #include
{int a[10]={1,2,5,8,9,10},an=5; int b[10]={1,3,4,8,12,18},bn=5; int i,j,k,c[20],max=9999;
/*在a,b数组的后面都放上一个max(大于数组中所有的数),作为结束标志*/
a[an+1]=b[bn+1]=【1】 max ; i=j=k=0;
/*若a[i],b[j]中有一个不等于max,则尚有数未合并到c数组中,循环继续进行*/
while((a[i]!=max)||(b[j]!=max)) if(a[i]
/*如果a[i]
for(i=0;i 15 rintf(\printf(\} 2. 从键盘输入一个3行4列矩阵的数据,然后求其最大数。请填空: main() { int 【1】 i,j , max, a[3][4]; for(i=0;i<3;i++) for(j=0;j<4;j++) scanf(\【2】 &a[i][j] ) ; 【3】 max=a[0][0] ; for(i=0;i<3;i++) for(j=0;j<4;j++) if( max 3. 下面程序求出数组a中所有素数的和。请填空。 #include #include 【1】 {int isprime(int x); int i,a[10],sum=0; printf (\:\ for(i=0;i<10;i++) scanf(\【2】 &a[i]) ; for(i=0;i<10;i++) if(isprime( 【3】 a[i] )= =1) {printf(\ sum+=a[i]; } printf(\ } int isprime(int x) {int i,k; k=sqrt(x); for(i=2;i<=k;i++) if(x%i= =0) break; if( 【4】 x>=2 &&(i>=k+1)) return 【5】 1 ; 16