题目
#includeHstdio. hHint main()( int i=2; float sum=l;;while(________){ sum=sum+l. 0/i;________________________;)printf (Hsum=%fn",________);return 0;}2以下程序的功能是从键盘输入若干个学生的成绩,统计最高成绩和最低成绩,当输入为 负数时,结朿输入。int main()( float x, max, min;scanf(”x);max=min=________;do { if(x>max) max=x;if(x<min)________________________;scanf x);) whi 1 e(________);printf ("%f, %fH, max, min);return 0;}3下面的程序用来求出所有的水仙花数。所谓水仙花数是指一个3位数,它的各位数字的 立方和恰好等于它本身。int main()( int n, i, j, k;)return 0;一单项选择题(每题2分,共40分)1以下对一维整型数组a的正确定义(说明)的是。A int a(10);B) int n=10,a[n]; C int n;D #define SIZE 10scanf n); int a [SIZE];int a[n];2若有定义(说明)int a[10];,则对数组a的元素正确引用的是。A a[10]B a[3. 5]C a(5)D a[10-10]3执行下面程序段[1]后,变量k的值是。int k=3, s[2]; s[O]=k; k=s[l]*10;A不定值B 33C 30D 104以下程序的输出结果是。int main()( int i, k, a[10], p[3];k=5;for(i=0;i〈10;i++) a[i]=i; for(i=0;i<3;i++) p[i]二a[i*(i+l)]; for(i=0;i<3;i++) k+=p[i]*2; printf ("%dn", k);return 0;)A 20B 21C 22D 235以下对一维整型数组a初始化的语句屮正确的是oA int a[10] = (0,0, 0, 0, 0) ;B int a[10] = ();C int x=2,a[10]=(10*x);D int a[10]=(0);6若有以下说明,则数值为4的表达式是。int a[12] = (l,2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12);char c-a', d, g;A a[g-c]B a [4]C 0]7下列程序运行后的输出结果是。#define MAX10int main ()( int i, sum, a[]={l, 2, 3, 4, 5, 6, 7, 8, 9, 10);sum=l;for(i=0;i<MAX;i++) sum-=a[i]; printf (,'suin=%dnn, sum);return 0;}A sum二55B sum二-54C sum二-558以下程序的输出结果是oint main()( int y=18, i=0, j, a[8];do{ a[i]=y%2; i++; y=y/2; )while(y>=l); for(j=i-l; j>0; j—) printf ("%dH, a[j]); return 0;}A 1000B 1001C 10109以下对二维数组a的正确定义(说明)的是。A int a[3] []; B float a(3, 4) ; Cdouble a[l] [4]; D float a(3) (4);10若有定义(说明)int a[3][4];,则对数组a的元素的引用非法的是。A a[2] [2*1]B a[l] [3]C a[4-2] [0]D a[0] [4]11以下不能对二维数组a进行正确初始化的语句是oA int a[2][3] = (0);B int a[] [3] = ({1, 2), (0)};C int a⑵[3] = ({1,2), (3,4), (5,6)}; D int a[] [3]二(1,2, 3, 4, 5, 6);12下列数组定义语句屮,正确的是。A char a [] [] = ('a‘,'b‘,'d*e',T) ;B char a [2] [3]二'a', V;C char a[] [3]二('a','b:'c‘,'d:'e‘,f) ;D char a[] [] = ( {'a:'b‘,'c:'d‘,f)};13下列程序运行后的输出结果是。int 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=l;i<4;i++)for(j=i+l;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 (u%4dn, a[i][j]);int main(){ int i,a[4][4] = {{l,3,5), (2,4,6), (3,5,7)};printf (H%d%d%d%dnM, a[0] [3], a[l] [2], a[2] [1], a[3] [0]);return 0;}A 0650B 1470C 5430D输出值不定15有以下程序:int main ()( int x⑶[2] = {0), i;for (i=0; i<3; i++) scanf ("%d”, x[i]);printf (,,%3d%3d%3dn", x[0] [0], x[0] [1], x[l] [0]);return 0;)若运行时输入:2 4 6〈回车〉,则输出结果是oA2 0 0B2 0 4C2 4 0D2 4 616下列描述不正确的是oA字符型数组中可以存放字符串B可以对字符型数组进行整体输入和输出C可以对整型数组进行整体输入和输出D不能在赋值语句[2]中通过赋值运算符“二”对字符型数组进行整体赋值若有定义和语句:char s=[10] ; s=HabcdH; printf (M%snH, s);,则输出结果是(以下□表示空格)A abedB aC abed□□口□口D编译不通过当执行下面程序时,如果输入ABC,则输出结果是o#include<stdio.h> #include<string. h>int main()( char ss[10]二”12345”; gets (ss); strcat (ss, "6789"); printf ("%sn", ss);return 0;)A ABC6789B ABC67二填空题(每空3分,共24分)1若int类型变量占两个字节,定义int x[10] = (0,2,4);,则数组x在内存中所占的字节数是o2若有定义char a[]=,'141141abctu;,则数组a在内存屮所占的字节数是。3下列程序的输出结果是oint main()( int i, a[10];for(i=9;i>=0;i—) a[i]=10-i;printf ("%d%d%dn", a[2], a[5], a[8]);return 0;)4下列程序运行的结果是oint 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]-O;printf ("%dnn, s);return 0;)5有定义语句:char s[100], d[100] ; int j二0, i二0;且s屮已赋字符串,请填空以实现字符串复制。(注意:不得使用逗号表达式)while (s[i])( d[j]二;j卄;)d[j]二0;6下面程序运行的结果是oint main()( char s[]="abcdef";sKPr;pTintf(”%sn”, s);return 0;)7以下程序的输出结果是oint main()( char ch[3] [5] = {“AAAA”,”BBB'JCC”);printf(””%s”n“,ch[l]);return 0;}8以下程序的输岀结果是oint 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(HnH);return 0;)三程序填空题(每空3分,共36分)1以下程序的功能是:从键盘上输入若干个学生的成绩(用输入负数结束输入),统计出平 均成绩,并输出低于平均分的学生成绩。请填空。#include "stdio. h"int 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+=________________________;x[n]二________________________;n++; scanf a);)ave=________;print ("Output :n");printf ("ave=%fn", ave);for(i=0;i<n;i++) if(________________________)printf(n%fnn, x[i]);return 0;}2以下程序的功能是求出矩阵x的上三角元素Z积。其屮矩阵x的行列数和元素的值均由 键盘输入。请填空。#define M10int main()( int x[M][M]; int n, i,j; long s=l;printf ("Enter a integer«=10):n");scanf ("%d", n);printf("Enter %d data on each line for the array xn", n); for(________)for (j=0;j<n; j++) scanf (“%d”,x[i] [j]);for(i=0;i<n;i++)f or(________________________)________________________;printf(”%]d", s);return 0;)3以下程序,数组a中存放一个递增数列。输入一个整数,并将它插入到数组a中,使之 仍为一个递增数列。请填空。int main()( int a[________________________]二{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<a[i]) ( p=i;________________________;)for(i=9;i>=p;i--) a[i+l]=a[i];________________________;for(i=0; i<=10; i++) printf(”%5dn”,a [i]);printf (”n“);return 0;}4以下程序的功能是:将t数组的内容连接到s数组内容的后面,使s数组保存连接后的 新字符串。int main()( static char s[30]=',abcdefgM, t[]=,,abcd"; int i=0, j=0;while(s[i] !=*0')________________________;while(t[j]Ur){ s[i+j]二t[j]; j++;)________________________;printf(”%sn", s);return 0;一单项选择题(每题2分,共40分)1以下正确的函数定义是oA double fun(int x, int y)( z二x+y; return z; )C fun (x, y)( int x, y; double z ;刁二x+y; return z;)以下正确的说法是oA实参[3]和与其对应的形参各占用独立的存储单元[4]B实参和与其对应的形参共占用一个存储单元C有当实参和与其対应的形参同名时才共占用相同的存储单元D形参是虚拟的,不占用存储单元若调用一个函数,且此函数屮没有return语句,则正确的说法是。A该函数没有返冋值B该函数返冋若干个系统默认值C能返回一个用户所希望的函数值D返回一个不确定的值以下正确的描述是。A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用均不可以嵌套D函数的定义和函数的调用均可以嵌套若用数组名作为函数调用[5]的实参,传递给形参的是。A数组的首地址B数组中第一个元素的值C数组屮的全部元素的值D数组元素的个数以下不正确的说法是oA在不同函数中可以使用相同名字的变量B形式参数[6]是局部变量[7]C在函数内定义的变量只在本函数范圉内有定义D在函数内的复合语句中定义的变暈在木函数范I韦I内有定义已知一个函数的定义如下:double fun(int x, double y) (则该函数正确的函数原型声明为—A double fun(int x, double y)C double fun(int,double);关于函数声明,以下不正确的说法是oA如果函数定义出现在函数调用之前,可以不必加函数原型声明B如果在所有函数定义之前,在函数外部已做了声明,则各个主调函数不必再做函数原 型声明C函数在调用Z前,一定要声明函数原型,保证编译系统进行全面的调用检查D标准库不需要函数原型声明调用函数的实参与被调用函数的形参应有如下关系。A只要求实参与形参个数相等B只要求实参与形参顺序相同C只要求实参与形参数据类型[8]相同D上述三点均需具备凡在函数屮未指定存储类别的变量,其隐含的存储类别是。A白动B静态C外部D寄存器[9]在源程序[10]的一个文件中定义的全局变量[11]的作用域[12]是。A在本文件的全部范围B该程序的全部范围C一个函数的范围D从定义该变量的位置开始至该文件的结束己知int y, a, i=l;,则语句printf(”%d, %cT,-i++, (y=a=3. 6*3));的输出结果为A -1. 10B -2, 1.8C 0, 3D 1, 18有以下程序:int mainOchar a, b, c, d;a='V;b二'xbc‘;c二'0xab'; d二'023';printf ("%c%c%c%cn", a, b, c, d); return 0;return 0;)编译时[13]出现错误,以下叙述屮正确的是OA程序中只有语句不正确B b-Xxbc1;语句不正确C d二、023,;语句不正确D沪和c^XOxab1;语句都不正确填空题(第1题2分,其余每题3分,共56分)设x为int型变量,请写出描述“x是偶数”的表达式是o已知scanf (Ma=%d, b=%d, c=%d", a, b, c);,若从键盘输入2、3、4三个数分别作为变 量a、b、c的值则正确的输入形式是。设有语句int a=3;,则执行了语句a+=a-=a*a后,变量Q的值是。4以下程序的输岀结果是oint m3in()( int a=-10, b=-3;printf ("%dnH, -a++);printf (M%dnM, -a+b);return 0;)5以下程序的输出结果是。int nuiinO(char c;c=0362;printf ("%d n", c);return 0;}6以下程序段(n所赋的是八进制[14]数)执行后输出结果是。int m二32767,n=032767;printf(”%d, %on", m, n);
#includeHstdi
o. hHint main(){ int i=2; float sum=l;;while(________){ sum=sum+
l. 0/i;________________________;}printf (Hsum=%f\n",________);return 0;}2以下程序的功能是从键盘输入若干个学生的成绩,统计最高成绩和最低成绩,当输入为 负数时,结朿输入。int main(){ float x, max, min;scanf(”x);max=min=________;do { if(x>max) max=x;if(x<min)________________________;scanf x);} whi 1 e(________);printf ("%f, %fH, max, min);return 0;}3下面的程序用来求出所有的水仙花数。所谓水仙花数是指一个3位数,它的各位数字的 立方和恰好等于它本身。int main(){ int n, i, j, k;}return 0;一单项选择题(每题2分,共40分)1以下对一维整型数组a的正确定义(说明)的是。A int a(10);B) int n=10,a[n]; C int n;D #define SIZE 10scanf n); int a [SIZE];int a[n];2若有定义(说明)int a[10];,则对数组a的元素正确引用的是。A a[10]B a[
3. 5]C a(5)D a[10-10]3执行下面程序段[1]后,变量k的值是。int k=3, s[2]; s[O]=k; k=s[l]*10;A不定值B 33C 30D 104以下程序的输出结果是。int main(){ int i, k, a[10], p[3];k=5;for(i=0;i〈10;i++) a[i]=i; for(i=0;i<3;i++) p[i]二a[i*(i+l)]; for(i=0;i<3;i++) k+=p[i]*2; printf ("%d\n", k);return 0;}A 20B 21C 22D 235以下对一维整型数组a初始化的语句屮正确的是oA int a[10] = (0,0, 0, 0, 0) ;B int a[10] = ();C int x=2,a[10]={10*x};D int a[10]={0};6若有以下说明,则数值为4的表达式是。int a[12] = {l,2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12};char c-a', d, g;A a[g-c]B a [4]C 0]7下列程序运行后的输出结果是。#define MAX10int main (){ int i, sum, a[]={l, 2, 3, 4, 5, 6, 7, 8, 9, 10};sum=l;for(i=0;i<MAX;i++) sum-=a[i]; printf (,'suin=%d\nn, sum);return 0;}A sum二55B sum二-54C sum二-558以下程序的输出结果是oint main(){ int y=18, i=0, j, a[8];do{ a[i]=y%2; i++; y=y/2; }while(y>=l); for(j=i-l; j>0; j—) printf ("%dH, a[j]); return 0;}A 1000B 1001C 10109以下对二维数组a的正确定义(说明)的是。A int a[3] []; B float a(3, 4) ; Cdouble a[l] [4]; D float a(3) (4);10若有定义(说明)int a[3][4];,则对数组a的元素的引用非法的是。A a[2] [2*1]B a[l] [3]C a[4-2] [0]D a[0] [4]11以下不能对二维数组a进行正确初始化的语句是oA int a[2][3] = {0};B int a[] [3] = {{1, 2}, {0}};C int a⑵[3] = {{1,2}, {3,4}, {5,6}}; D int a[] [3]二{1,2, 3, 4, 5, 6};12下列数组定义语句屮,正确的是。A char a [] [] = {'a‘,'b‘,'d\*e',T} ;B char a [2] [3]二'a', V;C char a[] [3]二{'a','b:'c‘,'d:'e‘,f} ;D char a[] [] = { {'a:'b‘,'c:'d‘,f}};13下列程序运行后的输出结果是。int 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=l;i<4;i++)for(j=i+l;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 (u%4dn, a[i][j]);int main(){ int i,a[4][4] = {{l,3,5}, {2,4,6}, {3,5,7}};printf (H%d%d%d%d\nM, a[0] [3], a[l] [2], a[2] [1], a[3] [0]);return 0;}A 0650B 1470C 5430D输出值不定15有以下程序:int main (){ int x⑶[2] = {0), i;for (i=0; i<3; i++) scanf ("%d”, x[i]);printf (,,%3d%3d%3d\n", x[0] [0], x[0] [1], x[l] [0]);return 0;}若运行时输入:2 4 6〈回车〉,则输出结果是oA2 0 0B2 0 4C2 4 0D2 4 616下列描述不正确的是oA字符型数组中可以存放字符串B可以对字符型数组进行整体输入和输出C可以对整型数组进行整体输入和输出D不能在赋值语句[2]中通过赋值运算符“二”对字符型数组进行整体赋值若有定义和语句:char s=[10] ; s=HabcdH; printf (M%s\nH, s);,则输出结果是(以下□表示空格)A abedB aC abed□□口□口D编译不通过当执行下面程序时,如果输入ABC,则输出结果是o#include<stdi
o.h> #include<strin
g. h>int main(){ char ss[10]二”12345”; gets (ss); strcat (ss, "6789"); printf ("%s\n", ss);return 0;}A ABC6789B ABC67二填空题(每空3分,共24分)1若int类型变量占两个字节,定义int x[10] = {0,2,4};,则数组x在内存中所占的字节数是o2若有定义char a[]=,'\\141\141abc\tu;,则数组a在内存屮所占的字节数是。3下列程序的输出结果是oint 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]);return 0;}4下列程序运行的结果是oint 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]-O;printf ("%d\nn, s);return 0;}5有定义语句:char s[100], d[100] ; int j二0, i二0;且s屮已赋字符串,请填空以实现字符串复制。(注意:不得使用逗号表达式)while (s[i]){ d[j]二;j卄;}d[j]二0;6下面程序运行的结果是oint main(){ char s[]="abcdef";sKP$r;pTintf(”%s\n”, s);return 0;}7以下程序的输出结果是oint main(){ char ch[3] [5] = {“AAAA”,”BBB'JCC”};printf(”\”%s\”\n“,ch[l]);return 0;}8以下程序的输岀结果是oint 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(H\nH);return 0;}三程序填空题(每空3分,共36分)1以下程序的功能是:从键盘上输入若干个学生的成绩(用输入负数结束输入),统计出平 均成绩,并输出低于平均分的学生成绩。请填空。#include "stdi
o. h"int 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+=________________________;x[n]二________________________;n++; scanf a);}ave=________;print ("Output :\n");printf ("ave=%f\n", ave);for(i=0;i<n;i++) if(________________________)printf(n%f\nn, x[i]);return 0;}2以下程序的功能是求出矩阵x的上三角元素Z积。其屮矩阵x的行列数和元素的值均由 键盘输入。请填空。#define M10int main(){ int x[M][M]; int n, i,j; long s=l;printf ("Enter a integer«=10):\n");scanf ("%d", n);printf("Enter %d data on each line for the array x\n", n); for(________)for (j=0;j<n; j++) scanf (“%d”,x[i] [j]);for(i=0;i<n;i++)f or(________________________)________________________;printf(”%]d", s);return 0;}3以下程序,数组a中存放一个递增数列。输入一个整数,并将它插入到数组a中,使之 仍为一个递增数列。请填空。int main(){ int a[________________________]二{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<a[i]) { p=i;________________________;}for(i=9;i>=p;i--) a[i+l]=a[i];________________________;for(i=0; i<=10; i++) printf(”%5d\n”,a [i]);printf (”\n“);return 0;}4以下程序的功能是:将t数组的内容连接到s数组内容的后面,使s数组保存连接后的 新字符串。int main(){ static char s[30]=',abcdefgM, t[]=,,abcd"; int i=0, j=0;while(s[i] !=*\0')________________________;while(t[j]U$r){ s[i+j]二t[j]; j++;}________________________;printf(”%s\n", s);return 0;一单项选择题(每题2分,共40分)1以下正确的函数定义是oA double fun(int x, int y){ z二x+y; return z; }C fun (x, y){ int x, y; double z ;刁二x+y; return z;}以下正确的说法是oA实参[3]和与其对应的形参各占用独立的存储单元[4]B实参和与其对应的形参共占用一个存储单元C有当实参和与其対应的形参同名时才共占用相同的存储单元D形参是虚拟的,不占用存储单元若调用一个函数,且此函数屮没有return语句,则正确的说法是。A该函数没有返冋值B该函数返冋若干个系统默认值C能返回一个用户所希望的函数值D返回一个不确定的值以下正确的描述是。A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用均不可以嵌套D函数的定义和函数的调用均可以嵌套若用数组名作为函数调用[5]的实参,传递给形参的是。A数组的首地址B数组中第一个元素的值C数组屮的全部元素的值D数组元素的个数以下不正确的说法是oA在不同函数中可以使用相同名字的变量B形式参数[6]是局部变量[7]C在函数内定义的变量只在本函数范圉内有定义D在函数内的复合语句中定义的变暈在木函数范I韦I内有定义已知一个函数的定义如下:double fun(int x, double y) {则该函数正确的函数原型声明为—A double fun(int x, double y)C double fun(int,double);关于函数声明,以下不正确的说法是oA如果函数定义出现在函数调用之前,可以不必加函数原型声明B如果在所有函数定义之前,在函数外部已做了声明,则各个主调函数不必再做函数原 型声明C函数在调用Z前,一定要声明函数原型,保证编译系统进行全面的调用检查D标准库不需要函数原型声明调用函数的实参与被调用函数的形参应有如下关系。A只要求实参与形参个数相等B只要求实参与形参顺序相同C只要求实参与形参数据类型[8]相同D上述三点均需具备凡在函数屮未指定存储类别的变量,其隐含的存储类别是。A白动B静态C外部D寄存器[9]在源程序[10]的一个文件中定义的全局变量[11]的作用域[12]是。A在本文件的全部范围B该程序的全部范围C一个函数的范围D从定义该变量的位置开始至该文件的结束己知int y, a, i=l;,则语句printf(”%d, %cT,-i++, (y=a=
3. 6*3));的输出结果为A -
1. 10B -2, 1.8C 0, 3D 1, 18有以下程序:int mainOchar a, b, c, d;a='V;b二'\xbc‘;c二'\0xab'; d二'\023';printf ("%c%c%c%c\n", a, b, c, d); return 0;return 0;}编译时[13]出现错误,以下叙述屮正确的是OA程序中只有语句不正确B b-Xxbc1;语句不正确C d二、023,;语句不正确D沪和c^XOxab1;语句都不正确填空题(第1题2分,其余每题3分,共56分)设x为int型变量,请写出描述“x是偶数”的表达式是o已知scanf (Ma=%d, b=%d, c=%d", a, b, c);,若从键盘输入2、3、4三个数分别作为变 量a、b、c的值则正确的输入形式是。设有语句int a=3;,则执行了语句a+=a-=a*a后,变量Q的值是。4以下程序的输岀结果是oint m3in(){ int a=-10, b=-3;printf ("%d\nH, -a++);printf (M%d\nM, -a+b);return 0;}5以下程序的输出结果是。int nuiinO(char c;c=0362;printf ("%d \ n", c);return 0;}6以下程序段(n所赋的是八进制[14]数)执行后输出结果是。int m二32767,n=032767;printf(”%d, %o\n", m, n);
o. hHint main(){ int i=2; float sum=l;;while(________){ sum=sum+
l. 0/i;________________________;}printf (Hsum=%f\n",________);return 0;}2以下程序的功能是从键盘输入若干个学生的成绩,统计最高成绩和最低成绩,当输入为 负数时,结朿输入。int main(){ float x, max, min;scanf(”x);max=min=________;do { if(x>max) max=x;if(x<min)________________________;scanf x);} whi 1 e(________);printf ("%f, %fH, max, min);return 0;}3下面的程序用来求出所有的水仙花数。所谓水仙花数是指一个3位数,它的各位数字的 立方和恰好等于它本身。int main(){ int n, i, j, k;}return 0;一单项选择题(每题2分,共40分)1以下对一维整型数组a的正确定义(说明)的是。A int a(10);B) int n=10,a[n]; C int n;D #define SIZE 10scanf n); int a [SIZE];int a[n];2若有定义(说明)int a[10];,则对数组a的元素正确引用的是。A a[10]B a[
3. 5]C a(5)D a[10-10]3执行下面程序段[1]后,变量k的值是。int k=3, s[2]; s[O]=k; k=s[l]*10;A不定值B 33C 30D 104以下程序的输出结果是。int main(){ int i, k, a[10], p[3];k=5;for(i=0;i〈10;i++) a[i]=i; for(i=0;i<3;i++) p[i]二a[i*(i+l)]; for(i=0;i<3;i++) k+=p[i]*2; printf ("%d\n", k);return 0;}A 20B 21C 22D 235以下对一维整型数组a初始化的语句屮正确的是oA int a[10] = (0,0, 0, 0, 0) ;B int a[10] = ();C int x=2,a[10]={10*x};D int a[10]={0};6若有以下说明,则数值为4的表达式是。int a[12] = {l,2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12};char c-a', d, g;A a[g-c]B a [4]C 0]7下列程序运行后的输出结果是。#define MAX10int main (){ int i, sum, a[]={l, 2, 3, 4, 5, 6, 7, 8, 9, 10};sum=l;for(i=0;i<MAX;i++) sum-=a[i]; printf (,'suin=%d\nn, sum);return 0;}A sum二55B sum二-54C sum二-558以下程序的输出结果是oint main(){ int y=18, i=0, j, a[8];do{ a[i]=y%2; i++; y=y/2; }while(y>=l); for(j=i-l; j>0; j—) printf ("%dH, a[j]); return 0;}A 1000B 1001C 10109以下对二维数组a的正确定义(说明)的是。A int a[3] []; B float a(3, 4) ; Cdouble a[l] [4]; D float a(3) (4);10若有定义(说明)int a[3][4];,则对数组a的元素的引用非法的是。A a[2] [2*1]B a[l] [3]C a[4-2] [0]D a[0] [4]11以下不能对二维数组a进行正确初始化的语句是oA int a[2][3] = {0};B int a[] [3] = {{1, 2}, {0}};C int a⑵[3] = {{1,2}, {3,4}, {5,6}}; D int a[] [3]二{1,2, 3, 4, 5, 6};12下列数组定义语句屮,正确的是。A char a [] [] = {'a‘,'b‘,'d\*e',T} ;B char a [2] [3]二'a', V;C char a[] [3]二{'a','b:'c‘,'d:'e‘,f} ;D char a[] [] = { {'a:'b‘,'c:'d‘,f}};13下列程序运行后的输出结果是。int 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=l;i<4;i++)for(j=i+l;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 (u%4dn, a[i][j]);int main(){ int i,a[4][4] = {{l,3,5}, {2,4,6}, {3,5,7}};printf (H%d%d%d%d\nM, a[0] [3], a[l] [2], a[2] [1], a[3] [0]);return 0;}A 0650B 1470C 5430D输出值不定15有以下程序:int main (){ int x⑶[2] = {0), i;for (i=0; i<3; i++) scanf ("%d”, x[i]);printf (,,%3d%3d%3d\n", x[0] [0], x[0] [1], x[l] [0]);return 0;}若运行时输入:2 4 6〈回车〉,则输出结果是oA2 0 0B2 0 4C2 4 0D2 4 616下列描述不正确的是oA字符型数组中可以存放字符串B可以对字符型数组进行整体输入和输出C可以对整型数组进行整体输入和输出D不能在赋值语句[2]中通过赋值运算符“二”对字符型数组进行整体赋值若有定义和语句:char s=[10] ; s=HabcdH; printf (M%s\nH, s);,则输出结果是(以下□表示空格)A abedB aC abed□□口□口D编译不通过当执行下面程序时,如果输入ABC,则输出结果是o#include<stdi
o.h> #include<strin
g. h>int main(){ char ss[10]二”12345”; gets (ss); strcat (ss, "6789"); printf ("%s\n", ss);return 0;}A ABC6789B ABC67二填空题(每空3分,共24分)1若int类型变量占两个字节,定义int x[10] = {0,2,4};,则数组x在内存中所占的字节数是o2若有定义char a[]=,'\\141\141abc\tu;,则数组a在内存屮所占的字节数是。3下列程序的输出结果是oint 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]);return 0;}4下列程序运行的结果是oint 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]-O;printf ("%d\nn, s);return 0;}5有定义语句:char s[100], d[100] ; int j二0, i二0;且s屮已赋字符串,请填空以实现字符串复制。(注意:不得使用逗号表达式)while (s[i]){ d[j]二;j卄;}d[j]二0;6下面程序运行的结果是oint main(){ char s[]="abcdef";sKP$r;pTintf(”%s\n”, s);return 0;}7以下程序的输出结果是oint main(){ char ch[3] [5] = {“AAAA”,”BBB'JCC”};printf(”\”%s\”\n“,ch[l]);return 0;}8以下程序的输岀结果是oint 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(H\nH);return 0;}三程序填空题(每空3分,共36分)1以下程序的功能是:从键盘上输入若干个学生的成绩(用输入负数结束输入),统计出平 均成绩,并输出低于平均分的学生成绩。请填空。#include "stdi
o. h"int 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+=________________________;x[n]二________________________;n++; scanf a);}ave=________;print ("Output :\n");printf ("ave=%f\n", ave);for(i=0;i<n;i++) if(________________________)printf(n%f\nn, x[i]);return 0;}2以下程序的功能是求出矩阵x的上三角元素Z积。其屮矩阵x的行列数和元素的值均由 键盘输入。请填空。#define M10int main(){ int x[M][M]; int n, i,j; long s=l;printf ("Enter a integer«=10):\n");scanf ("%d", n);printf("Enter %d data on each line for the array x\n", n); for(________)for (j=0;j<n; j++) scanf (“%d”,x[i] [j]);for(i=0;i<n;i++)f or(________________________)________________________;printf(”%]d", s);return 0;}3以下程序,数组a中存放一个递增数列。输入一个整数,并将它插入到数组a中,使之 仍为一个递增数列。请填空。int main(){ int a[________________________]二{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<a[i]) { p=i;________________________;}for(i=9;i>=p;i--) a[i+l]=a[i];________________________;for(i=0; i<=10; i++) printf(”%5d\n”,a [i]);printf (”\n“);return 0;}4以下程序的功能是:将t数组的内容连接到s数组内容的后面,使s数组保存连接后的 新字符串。int main(){ static char s[30]=',abcdefgM, t[]=,,abcd"; int i=0, j=0;while(s[i] !=*\0')________________________;while(t[j]U$r){ s[i+j]二t[j]; j++;}________________________;printf(”%s\n", s);return 0;一单项选择题(每题2分,共40分)1以下正确的函数定义是oA double fun(int x, int y){ z二x+y; return z; }C fun (x, y){ int x, y; double z ;刁二x+y; return z;}以下正确的说法是oA实参[3]和与其对应的形参各占用独立的存储单元[4]B实参和与其对应的形参共占用一个存储单元C有当实参和与其対应的形参同名时才共占用相同的存储单元D形参是虚拟的,不占用存储单元若调用一个函数,且此函数屮没有return语句,则正确的说法是。A该函数没有返冋值B该函数返冋若干个系统默认值C能返回一个用户所希望的函数值D返回一个不确定的值以下正确的描述是。A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用均不可以嵌套D函数的定义和函数的调用均可以嵌套若用数组名作为函数调用[5]的实参,传递给形参的是。A数组的首地址B数组中第一个元素的值C数组屮的全部元素的值D数组元素的个数以下不正确的说法是oA在不同函数中可以使用相同名字的变量B形式参数[6]是局部变量[7]C在函数内定义的变量只在本函数范圉内有定义D在函数内的复合语句中定义的变暈在木函数范I韦I内有定义已知一个函数的定义如下:double fun(int x, double y) {则该函数正确的函数原型声明为—A double fun(int x, double y)C double fun(int,double);关于函数声明,以下不正确的说法是oA如果函数定义出现在函数调用之前,可以不必加函数原型声明B如果在所有函数定义之前,在函数外部已做了声明,则各个主调函数不必再做函数原 型声明C函数在调用Z前,一定要声明函数原型,保证编译系统进行全面的调用检查D标准库不需要函数原型声明调用函数的实参与被调用函数的形参应有如下关系。A只要求实参与形参个数相等B只要求实参与形参顺序相同C只要求实参与形参数据类型[8]相同D上述三点均需具备凡在函数屮未指定存储类别的变量,其隐含的存储类别是。A白动B静态C外部D寄存器[9]在源程序[10]的一个文件中定义的全局变量[11]的作用域[12]是。A在本文件的全部范围B该程序的全部范围C一个函数的范围D从定义该变量的位置开始至该文件的结束己知int y, a, i=l;,则语句printf(”%d, %cT,-i++, (y=a=
3. 6*3));的输出结果为A -
1. 10B -2, 1.8C 0, 3D 1, 18有以下程序:int mainOchar a, b, c, d;a='V;b二'\xbc‘;c二'\0xab'; d二'\023';printf ("%c%c%c%c\n", a, b, c, d); return 0;return 0;}编译时[13]出现错误,以下叙述屮正确的是OA程序中只有语句不正确B b-Xxbc1;语句不正确C d二、023,;语句不正确D沪和c^XOxab1;语句都不正确填空题(第1题2分,其余每题3分,共56分)设x为int型变量,请写出描述“x是偶数”的表达式是o已知scanf (Ma=%d, b=%d, c=%d", a, b, c);,若从键盘输入2、3、4三个数分别作为变 量a、b、c的值则正确的输入形式是。设有语句int a=3;,则执行了语句a+=a-=a*a后,变量Q的值是。4以下程序的输岀结果是oint m3in(){ int a=-10, b=-3;printf ("%d\nH, -a++);printf (M%d\nM, -a+b);return 0;}5以下程序的输出结果是。int nuiinO(char c;c=0362;printf ("%d \ n", c);return 0;}6以下程序段(n所赋的是八进制[14]数)执行后输出结果是。int m二32767,n=032767;printf(”%d, %o\n", m, n);
题目解答
答案
[1] 【 2 】 [3] [ 1] 【 2 】 [3] 【 1 】 【 2 】 [3] 【 4 】 [1] 【 2 】 【 3 】 【 1 】 【 2 】 【 3 】 【 1 】 【 2 】