程序设计基础练习题(全部有答案版) 联系客服

发布时间 : 星期日 文章程序设计基础练习题(全部有答案版)更新完毕开始阅读1600b153ad02de80d4d84048

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 void main() {

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 main() {int a,b;

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 main()

{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 void main() {int i,j;

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 main()

{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】 main()

{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