? for(j=0;j<4;j++) ?? {??i=j; if(i>2)??i=3-j; ????? s+=b[i][j]; ?? } ? return?s; }
main(?)
{? int?a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}}; ? printf(\
}???
执行后的输出结果是:( )
A、12????? B、11????? 答案:D 16、有以下程序 void?sort(int?a[],int?n) {??in t?i,j,t;
???for(i=0;i } main() {? int?aa[10]={1,2,3,4,5,6,7,8,9,10},i; ? sort(aa,10); ? for(i=0;i<10;i++)???? printf(\? printf(\}??? 其输出结果是:( ) A、1,2,3,4,5,6,7,8,9,10,????????? C、9,2,7,4,5,6,3,8,1,10,????????? 答案:C 17、有以下程序 void?f(int?a[],int?i,int?j) {??int??t; ??if(i ??{??t=a[i];?a[i]=a[j];a[j]=t; f(a,i+1,j-1); ???} } main(?) {??int?i,aa[5]={1,2,3,4,5}; ???f(aa,0,4); C、18????? D、16 B、10,9,8,7,6,5,4,3,2,1, D、1,10,3,8,5,6,7,4,9,2, ???for(i=0;i<5;i++)??? printf(\printf(\}?? 执行后输出结果是:( ) A、5,4,3,2,1,? ?B、5,2,3,4,1,?? C、1,2,3,4,5,?? D、1,2,3,4,5, 答案:A 18、 以下程序的输出结果是:( ) main() { char cf[3][5]={\ printf(\ } A、\ B、 \ C、 \ D、 \ 答案:B 19、 以下程序的输出结果是:( ) main() { int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0;i<3;i++) for(j=i;j<=i;j++) t=t+b[i][b[j][j]]; printf(\ } A、 3 B、 4 C、 1 D、 9 答案:B 20、有以下程序 main() { int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; int i,s=0; for(i=0;i<4;i++) s+=aa[i][1]; printf(\ } 程序运行后的输出结果是:( ) A、 11 B、 19 C、 13 D、、20 答案:B 21、若有以下定义语句: char s[10],s=”abcd”;printf(“%s\\n”,s); 则运行结果是:( ) A、输出abcd B、输出a C、输出ab cd D、编译不通过 答案:D 22、不能把字符串“Hello!”赋给数组b的语句是:( ) A、char b[10]={‘H’,’e’,’l’,’l’,’o’,’!’}; B、char b[10];b=”Hello!”; C、char b[10]; strcpy(b,”Hello!”); D、char b[10]=”Hello!”; 答案:B 23、若有以下程序段: char str[]=”ab\\n\\012\\\\\\””; printf(“%d”,strlen(str)); 该程序段的输出结果是:( ) A、 3 B、 4 C、 6 D、12 答案:C 24、函数调用strcat(strcpy(str1,str2),str3)的功能是_:( ) A、将串str1复制到串str2中后在连接到串str3之后 B、将串str1连接到串str2之后再复制到串str3之后 C、将串str2复制到串str1中后再将串str3连接到串str1之后 D、将串str2连接到串str1中后再将串str1复制到串str3中 答案:C 25、下列程序的输出结果是:( ) main() { char ch[7]={“65ab21”}; int j,s=0; for(j=0;ch[j])>=?0?&&ch[j]<=?9?;j+=2) s=10*s+ch[j]-?0?; printf(“%d\\n”,s); } A、12ba56 B、66521 C、6 D、62 答案:C 26、设已定义char s[]=”\\”Name\\\\Address\\”\\n”;,则字符串s所占的字节数是:( A、19 B、18 C、15 D、14 答案:C 27、设已定义char c[8]=”Tianjin”和int j,则下面的输出函数调用中错误的是:( A、printf(“%s”,c); B、for(j=0;j<8;j++) printf(“%c”,c[j]); C、puts(c); D、for(j=0;j<8;j++) puts(c[j]); 答案:D 28、设已定义char a[10]和 int j,则下面输入函数调用中错误的是:( ) A、scanf(“%s”,a); B、for(j=0;j<9;j++) scanf(“%c”,a[j]); C、gets(a); D、for(j=0;j<9;j++) scanf(“%c”,&a[j]); 答案:B 29、设已定义char x[8]和int j,为了给该数组赋值,下面语句中正确的是:( )A、x[8]=”Turbo C”; B、x=” Turbo C”; C、x[]=”Turbo C”; D、for(j=0;j<7;j++) x[i]=getchar(); 答案:D 30、有如下程序, main() { int n[5]={0,0,0},j,k=2; for(j=0;j } 该程序的输出结果是:( ) A、不确定的值 B、2 C、1 D、0 答案:D 在C语言中,一维数组的定义方式为:类型说明符 数组名( )。 ) ) A.[常量表达式] B.[整型表达式] C.[整型常量]或[整型表达式] D.[整型常量] 答案:A 若有说明:int a[10];,则对a数组元素的正确引用是:( )。 A.a[10] B.a[3.5] C.a(5) D.a[10-10] 答案:D 在C语言中,引用数组元素时,其数组下标的数据类型允许是:( )。 A.字符常量 C.整型常量或整型表达式 答案:C 下列数组定义、初始化或赋值语句中,正确的是:( )。 A.int x[5]={1,2,3,4,5,6}; C.int a[8]; a[8]=100; 答案:D B.int n=8; int score[n]; D.int x[]={1,2,3,4,5,6}; B.浮点型常量 D.任何类型的表达式 合法的数组说明语句是:( )。 A.int a[]=“string”; B.char a[]={0,1,2,3,4,5}; C.char a =“string”; D.int a[5]={0,1,2,3,4,5}; 答案:B 已知int a[][3]={1,2,3,4,5,6,7};,则数组a的第一维的大小是:( )。 A.2 答案:B B.3 C.4 D.无确定值 若有说明:int a[3][4];,则对a数组元素的非法引用是:( )。 A.a[0][2*1] B.a[1][3] C.a[4-2][0] D.a[0][4] 答案:D 已有定义:char a[]=\,以下叙述中正确的是:( )。 A.数组a和数组b的长度相同 C.a数组长度大于b数组长度 B.a数组长度小于b数组长度 D.数组a和数组b等价 答案:C 对两个数组a和b进行如下初始化: char a[]=“ABCDEF”; char b[]={?A?, ?B?, ?C?, ?D?, ?E?, ?F?}; 则以下叙述正确的是:( )。 A.数组a与数组b完全相同 C.数组a与数组b中都存放字符串 答案:D 有下面的程序段: char a[3],b[]=“China”; a=b; printf(“%s”,a); A.运行后将输出China C.运行后将输出Chi B.数组a与数组b长度相同 D.数组a比数组b长度长 B.运行后将输出Ch D.编译出错 答案:D 下面程序的运行结果是:( )。 char c[5]={?a?, ?b?, ?\\0?, ?c?, ?\\0?};