桂林电子科技大学C语言程序设计习题集及答案 下载本文

内容发布更新时间 : 2024/5/3 21:05:05星期一 下面是文章的全部内容请认真阅读。

A char a[][]={'a','b','c','d','e','f'}; B char a[2][3]='a','b';

C char a[][3]={'a','b','c','d','e','f'}; D char a[][]={{'a','b','c','d','e','f'}}; 13 下列程序运行后的输出结果是_C__。

main()

{ int a[4][4],i,j,k; for(i=0;i<4;i++)

for(j=0;j<4;j++) a[i][j]=i-j; for(i=1;i<4;i++) for(j=i+1;j<4;j++)

{ k=a[i][j]; a[i][j]=a[j][i]; a[j][i]=k; } for(i=0;i<4;i++) { printf(\\\n\);

for(j=0;j<4;j++) printf(\M\,a[i][j]); } }

A 0 -1 -2 -3 B 0 1 2 3

1 0 -1 -2 -1 0 1 2 2 1 0 -1 -2 -1 0 1 3 2 1 0 -3 -2 -1 0 C 0 -1 -2 -3 D 0 1 2 3

1 0 1 2 -1 0 -1 -2 2 -1 0 1 -2 1 0 -2 3 -2 -1 0 -3 2 1 0

14 以下程序的输出结果是_A__。

main()

{ int i,a[4][4]={{1,3,5},{2,4,6},{3,5,7}};

printf(\%d%d%d%d\\n\,a[0][3],a[1][2],a[2][1],a[3][0]); }

A 0650 B 1470 C 5430 D 输出值不定 15 有以下程序:

main()

{ int x[3][2]={0},i;

for(i=0;i<3;i++) scanf(\%d\,x[i]);

printf(\===\\n\,x[0][0],x[0][1],x[1][0]); }

若运行时输入:2 4 6<回车>,则输出结果是__B_。

A 2 0 0 B 2 0 4 C 2 4 0 D 2 4 6 16 下列描述不正确的是_C__。

A 字符型数组中可以存放字符串

B 可以对字符型数组进行整体输入和输出 C 可以对整型数组进行整体输入和输出

D 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值 17 对于以下定义,叙述正确的是_C__。

char x[]=\bcdef\

char x[]={'a','b' 'c','d','e','f'};

A 数组x和数组y等价 B 数组x和数组y的长度相等

16

C 数组x的长度大于数组y的长度 D 数组x的长度小于数组y的长度 18 以下选项中,不能正确赋值的是_A__。

A char s1[10];s1=\Ctest\; B char s2[]={'C','t','e','s','t'};

C char s3[20]=\Ctest\; D char s4[30];strcpy(s4,\Ctest\); 19 若有定义和语句:char s=[10];s=\abcd\;printf(\%s\\n\,s);,则输出结果是_D__。

(以下□表示空格)

A abcd B a C abcd□□□□□ D 编译不通过 20 当执行下面程序时,如果输入ABC,则输出结果是__A_。

#include #include main()

{ char ss[10]=\12345\;

gets(ss); strcat(ss, \6789\; printf(\%s\\n\,ss); }

A ABC6789 B ABC67 C 12345ABC6 D ABC45678

二 填空题(每空3分,共24分)

1 若int类型变量占两个字节,定义int x[10]={0,2,4};,则数组x在内存中所占的字节数是_20__。

2 若有定义char a[]=\\\\\141\\141abc\\t\;,则数组a在内存中所占的字节数是_10__。 3 下列程序的输出结果是__852_。

main()

{ int i,a[10];

for(i=9;i>=0;i--) a[i]=10-i;

printf(\%d%d%d\\n\,a[2],a[5],a[8]); }

4 下列程序运行的结果是__6_。

main()

{ char ch[7]=\65ab21\; int i,s=0;

for(i=0;ch[i]>='0' && ch[i]<='9';i+=2) s=10*s+ch[i]-'0'; printf(\%d\\n\,s); }

5 有定义语句:char s[100],d[100];int j=0,i=0;且s中已赋字符串,请填空以实现字符串复制。(注意:不得使用逗号表达式) while(s[i])

{ d[j]=_s[i++]__; j++ ; } d[j]=0;

6 下面程序运行的结果是_abc__。

main()

{ char s[]=\abcdef\; s[3]='\\0';

printf(\%s\\n\,s); }

17

7 以下程序的输出结果是__\BBB\_。

main()

{ char ch[3][5]={\AAAA\,\BBB\,\CC\}; printf(\\\\%s\\\\\n\,ch[1]); }

8 以下程序的输出结果是__abcbcc_。

main()

{ char ch[]=\abc\,x[3][4]; int i; for(i=0;i<3;i++) strcpy(x[i],ch);

for(i=0;i<3;i++) printf(\%s\,&x[i][i]); printf(\\\n\); }

三 程序填空题(每空3分,共36分)

1 以下程序的功能是:从键盘上输入若干个学生的成绩(用输入负数结束输入),统计出平均成绩,并输出低于平均分的学生成绩。请填空。 #include \stdio.h\ main()

{ int n=0,i; float x[1000],sum=0.0,ave,a; printf(\Enter mark:\\n\); scanf(\%f\,&a); while(a>=0.0 && n<1000)

{ sum+= 【1】a ; x[n]= 【2】a ; n++; scanf(\%f\,&a); }

ave= 【3】sum/n ; print(\Output:\\n\); printf(\ave=%f\\n\,ave);

for(i=0;i

2 以下程序的功能是求出矩阵x的上三角元素之积。其中矩阵x的行列数和元素的值均由键盘输入。请填空。 #define M 10 main()

{ int x[M][M]; int n,i,j; long s=1; printf(\Enter a integer(<=10):\\n\); scanf(\%d\,&n);

printf(\Enter %d data on each line for the array x\\n\,n); for( 【1】i=0;i

for(j=0;j

for( 【2】j=i;j

18

3 以下程序,数组a中存放一个递增数列。输入一个整数,并将它插入到数组a中,使之仍为一个递增数列。请填空。 main() { int a[ 【1】11或者大于11的任何数]={1,10,20,30,40,50,60,70,80,90},x,i,p; scanf(\%d\,&x);

for(i=0,p=10;i<10;i++)

if(x=p;i--) a[i+1]=a[i]; 【3】a[p]=x或者a[i+1]=x ;

for(i=0;i<=10;i++) printf(\]\\n\,a[i]); printf(\\\n\); }

4 以下程序的功能是:将t数组的内容连接到s数组内容的后面,使s数组保存连接后的新字符串。 main()

{ static char s[30]=\abcdefg\,t[]=\abcd\; int i=0,j=0; while(s[i]!='\\0') 【1】i++ ;

while(t[j]!='\\0') { s[i+j]=t[j]; j++; } 【2】 s[i+j]='\\0' ; printf(\%s\\n\,s); }

函数

一 单项选择题(每题2分,共40分) 1 以下正确的函数定义是_D__。

A double fun(int x,int y) B double fun(int x,y) { z=x+y; return z; } { int z; return z; } C fun (x,y) D double fun(int x,int y) { int x,y; double z ; { double z; z=x+y; return z; } return z; }

2 以下正确的说法是_D__。

A 实参和与其对应的形参各占用独立的存储单元 B 实参和与其对应的形参共占用一个存储单元

C 有当实参和与其对应的形参同名时才共占用相同的存储单元 D 形参是虚拟的,不占用存储单元

3 若调用一个函数,且此函数中没有return语句,则正确的说法是_A__。 A 该函数没有返回值 B 该函数返回若干个系统默认值 C 能返回一个用户所希望的函数值 D 返回一个不确定的值 4 以下正确的描述是__B_。

A 函数的定义可以嵌套,但函数的调用不可以嵌套 B 函数的定义不可以嵌套,但函数的调用可以嵌套 C 函数的定义和函数的调用均不可以嵌套 D 函数的定义和函数的调用均可以嵌套

19