选折题1. int a=1,b=2,c=3; if(a>b)a=b; if(a>c)a=c; 则a的值为(A)。
A、1B、不一定C、3D、22. 以下选项中不合法的用户标识符是 BA、DimB、printfC、_123D、A$3. int i,j,a[2][3];按照数组a的元素在内存的排列次序,不能将数1,2,3,4,5,6存入a数组的是(C)。
A、for(i=0;i<2;i++)for(j=0;j<3;j++)a[i][j]=i*3+j+1;B、for(i=0;i<6;i++)a[i/3][i%3]=i+1;C、for(i=1;i<=6;i++)a[i][i]=i;D、for(i=0;i<3;i++)for(j=0;j<2;j++)a[j][i]=j*3+i+1;4.以下所列的C语言常量中,错误的是___A___。
A、、0xFFC、2LD、'\72'5.若有说明: int a[3][4]={0};则下面正确的叙述是(A)。
A、数组a中每个元素均可得到初值0B、只有元素a[0][0]可得到初值0C、此说明语句不正确D、数组a中各元素都可得到初值,但其值不一定为06.以下正确的字符串常量是 DA、'abc'B、'A'C、OlympicGamesD、"\\\"7. C语言中,char类型数据占(C)。
A、8个字节B、4个字节C、1个字节D、2个字节8.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是____D__。
A、非法的常量B、字符aC、字符eD、字符A9. 以下函数的类型是(D)fff(float x){return 5;}A、与参数x的类型相同B、void 类型C、无法确定D、int类型10. 以下叙述中正确的是(A)。
A、静态(static)类别变量的生存期贯穿于整个程序的运行期间B、全局变量的作用域一定比局部变量的作用域范围大C、函数的形参都属于全局变量D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值11.下列运算符中是C语言关系运算符的是(C)。
A、&B、~C、!=D、!12.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是(D)。
A、字符eB、字符aC、非法的常量D、字符A13. 若有float x=;,则执行下列程序段的输出结果为(B)。
printf("%3d",(int)x);A、B、213C、D、14.全局变量的定义不可能在(A)。
A、函数内部B、文件外面C、最后一行D、函数外面15. C语言中函数调用的方式有(A)。
A、函数调用作为语句、函数表达式或函数参数三种B、函数调用作为语句一种C、函数调用作为函数表达式一种D、函数调用作为语句或函数表达式两种16. 字符串"\\\"WWW\123\xCC\t"的长度为(A)A、8B、9C、10D、1417.若有double *p,x[10];int i=5;使指针变量p指向元素x[5]的语句为(D)。
A、p=x;B、p=x[i];C、p=&(x+i)D、p=&x[i];18.以下程序的执行结果是___A____.main(){ int num = 0;while( num <= 2 ) { num++; printf( "%d,",num ); } }A、1,2,3,B、1,2,3,4,C、1,2,D、0,1,219.若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数 Dfeof(fp)的值为()。
A、一个非0值B、-1C、1D、020.以下对枚举类型名的定义中正确的是(D)。
A、enum a {"sum","mon","tue"};B、enum a={sum,mon,tue};C、enum a={"sum","mon","tue"};D、enum a {sum=9,mon=-1,tue};21.在执行 fopen 函数时,ferror 函数的初值是(D)。
A、TRUEB、1C、-1D、022. 以下能正确进行字符串赋值的语句是 DA、char s[5] = “good!”;B、char s[5] = {‘a’, ‘e’, ‘i’, ‘o’, ‘u’};C、char s[5]; s = “good!”;D、char *s; s = “good!”;23.已知p,p1为指针变量,a为数组名,j为整型变量,下列赋值语句中不正确的是(C)。
A、p=&a[j];B、p=a;C、p=10;D、p=&j,p=p1;24. 若有int x,y,z;,则执行以下程序段后的输出结果为: C x=1;y=5;z=3;if(x>y) x=y;y=z;printf("x=%d,y=%d,z=%d",x,y,z);A、x=5,y=3,z=5B、x=1,y=5,z=3C、x=1,y=3,z=3D、x=5,y=3,z=325.当顺利执行了文件关闭操作时,fclose函数的返回值是(D)。
A、TRUEB、1C、-1D、026.以下能正确定义数组并正确赋初值的语句是(D)。
A、int c[2][]={{1,2},{3,4}};B、int a[1][2]={{1},{3}};C、int N=5,b[N][N];D、int d[3][2]={{1,2},{34}};27.以下程序的执行结果是_____B___.main(){ int w = 1, x = 2, y = 3, z = 4;w =( w < x ) ? x : w;w =( w < y ) ? y : w;w =( w < z ) ? z : w;printf( "%d " , w );}A、2B、4C、3D、128.以下for循环的执行次数是 for(x=0,y=0;(y=123)&&(x<4);x++);(A)。
A、4次B、是无限循环C、3次D、循环次数不定29.以下函数的类型是__B____。
fff(float x){return 5;}A、无法确定B、int类型C、与参数x的类型相同D、void 类型30.关于建立函数的目的,以下正确的说法是(C)。
A、减少程序文件所占内存B、提高程序的执行效率C、提高程序的可读性D、减少程序的篇幅判断1.若有int ⅰ=10, j=0;则执行完语句if (j=0)ⅰ+ +; else ⅰ- -; ⅰ的值为11。
F2. int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");}的输出结果为A。
F3. C语言的函数可以嵌套定义. F4在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。
T5. 在C语言中,对于数组的定义char a[8]="computer"是错误的. T6. 结构体类型只有一种。
F7. 函数中的形式参数是局部变量. T8.在C语言中char str[6]="hello",可以将字符串"hello"正确赋给数组. T9. C语言中只能逐个引用数组元素而不能一次引用整个数组。
T10. 在C语言中char str[]={'h','e','l','l','o'}不能将字符串"hello"正确赋给数组.T程序设计1/*------------------------------------------------【程序设计】--------------------------------------------------功能:给定n个数据, 求最小值出现的位置(如果最小值出现多次,求出第一次出现的位置即可)。
------------------------------------------------*/#include <>void bky();int station(int s[],int n){/**********Begin**********/int i,k;k=0;for(i=1;i<n;i++)if(s[i]<s[k]) k=i;return(k);/********** End **********/}程序设计2/*------------------------------------------------【程序设计】--------------------------------------------------功能:请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。
二维数组中的数已在主函数中赋予。
------------------------------------------------*/#include<>#include<>#define M 3#define N 4void b ky();void fun(int tt[M][N],int pp[N]){/**********B egin**********/int i,j;for(j=0;j<N;j++){pp[j]=tt[0][j];for(i=1;i<M;i++)if(tt[i][j]<pp[j])pp[j]=tt[i][j];}/********** End **********/}main(){int t[M][N]={{22,45,56,30},{19,33,45,38},{20,22,66,40}};int p[N],i,j,k;printf("The original data is:\n");for(i=0;i<M;i++){for(j=0;j<N;j++)printf("%6d",t[i][j]);printf("\n");}fun(t,p);printf("\nThe result is:\n");for(k=0;k<N;k++) printf("%4d",p[k]);printf("\n");b ky();}void b ky(){int i,j, array[3][4],p[4];FILE *rf, *wf ;rf = fopen("", "r") ;wf = fopen("", "w") ;for (i=0; i < 3; i++)for (j=0; j < 4; j++)fscanf(rf, "%d", &array[i][j]);fun(array,p);for (j=0; j < 4; j++){fprintf(wf, "%7d", p[j]);fprintf(wf, "\n");}fclose(rf) ;fclose(wf) ;}/*------------------------------------------------------ 【程序改错】--------------------------------------------------------功能:为一维数组输入10个整数;将其中最小的数与第一个数对换,将最大的数与最后一个数对换,输出数组元素。