单选(多选)择题目格式要求规则:1.题干一行,每选项一行2.选项按字母进行排序方式是A,B,C….3.答案在题干后面,用中文括号()括起来,多个答案用中文顿号(、)隔开4.每题之间空一行空白行。
5.题干中如有中文括号,请转换非中文空格(例如英文括号,大括号等)6.如果答案只有一个选项,就是单选题目7.如果答案多于一个选项,就是多选题目以下是一个例子(划线―――下面,不包含划线―――)――――――――――――――――――――――――――测试导入单选题(A)A.选项AB.选项BC.选项CD.选项D测试导入多选题(A、B)A.选项AB.选项BC.选项CD.选项D`````````````````````````````````````````````````````````````````````````````````第8章数组选择题1、执行下面的程序段后,变量k中的值为_(A)_________。
int k=3,s[2];s[0]=k; k=s[1]*10;A不定值B 33C 30D 102、有如下程序main(){ char ch[80]="123abcdEFG*&";int j;long s=0;puts(ch);for(j=0;ch[j]>'\0';j++)if(ch[j]>='A'&&ch[j]<='Z') ch[j]=ch[j]+'e'-'E';puts(ch); }该程序的功能是___(D)_____。
A 测字符数组ch的长度B 将数字字符串ch转换成十进制数C 将字符数组ch中的小写字母转换成大写D 将字符数组ch中的大写字母转换成小写3、下面程序的输出是____(D)____。
#include <stdio.h>#include <string.h>main(){ char p1[10]="abc",p2[]="ABC",str[50]="xyz";strcpy(str,strcat(p1,p2));printf("%s\n",str);}A xyzABCabcB abcABCCxyabcABCD xyzabcABC4、以下程序的输出结果是___(B)_____。
main(){int a[4][4]={{1,3,5,},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][0],a[1][1],a[2][2],a[3][3]);}A 0650B 1470C 5430D 输出值不定5、以下关于数组的描述正确的是_(C)________。
A 数组的大小是固定的,但可以有不同类型的数组元素。
B数组的大小是可变的,但所有数组元素的类型必须相同。
C 数组的大小是固定的,所有数组元素的类型必须相同。
D 数组的大小是可变的,可以有不同类型的数组元素6、以下对一维数组a进行正确初始化的是____(C)______。
A int a[10]=(0,0,0,0,0);B int a[10]={ };C int a[3]={0},D int a[10]={ 10*2};7、定义如下变量和数组:int i;int x[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};则下面语句的输出结果是__(C)______。
for(i=0;i<4;i++) printf("%3d",x[i][3-i]);A 1 5 9 13B 1 6 11 16C 4 7 10 13D4 8 12 168、合法的数组定义是___(D)_____。
A int a[6]={"string"};B int a[5]={0,1,2,3,4,5};C char a={"string"};D char a[]={0,1,2,3,4,5};9、下面程序的输出是__(B)______。
main( ){ char s[ ]="12134211";int v1=0,v2=0,v3=0,v4=0,k;for(k=0;s[k];k++)switch(s[k]){ case '1':v1++;case '2':v2++;case '3':v3++;default:v4++;}printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4); }Av1=4,v2=2,v3=1,v4=1B v1=4,v2=6,v3=7,v4=8C v1=5,v2=8,v3=6,v4=1D v1=8,v2=8,v3=8,v4=810、请读程序:#include <stdio.h>#include <string.h>main(){ char s1[20]="AbCdEf", s2[20]="aB";printf("%d\n",strcmp(s1,s2));}上面程序的输出结果是__(D)______。
A 32B 0C -32D 不确定的值11.若有说明:int a[10];则对数组元素的正确引用是(A )A a[10];Ba[3.5]Ca(5)Da[10-10]12.若有说明语句:int [3][4];则对a数组元素的正确引用是(C )Aa[2][4]Ba[1,3]Ca[1+1][0]Da(2)(1)13.判断字符串a和b是否相等,应当使用(D )Aif (a==b)Bif (a=b)Cif (strcpy(a,b))Dif (strcmp(a,b))14.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为(A )。
(假设a[0][0]位于数组的第一个位置上。
Ai*m+jBj*m+iCi*m+j-1Di*m+j+115.在C语言中,引用数组元素时,其数组下标的数据类型允许是(A ) A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式16.有下面的程序段char a[3],b[]="china";a=b;printf("%s",a);则(D )A)运行后将输出chinaB)运行后将输出chC)运行后将输出chiD)编译出错17.判断字符串s1是否大于字符串s2,应当使用(D )A) if(s1>s2) B)if(strcmp(s1,s2))C) if(strcmp(s2,s1)>0) D) if(strcmp(s1,s2)>0)18.下述对C语言字符数组的描述中错误的是(C )A) 字符数组可以存放字符串B) 字符数组的字符串可以整体输入、输出C) 可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D) 不可以用关系运算符对字符数组中的字符串进行比19 int a[4]={5,3,8,9};其中 a[3]的值为( D )。
A. 5B. 3C. 8D. 920 以下 4 个字符串函数中,( A )所在的头文件与其他 3 个不同。
A. getsB. strcpyC. strlenD. strcmp21 以下 4 个数组定义中,( D )是错误的。
A. int a[7];B. #define N 5 long b[N];C. char c[5];D. int n,d[n];22.对字符数组进行初始化,( B )形式是错误。
A. char c1[ ]={'1', '2', '3'};B. char c2[ ]=123;C. char c3[ ]={ '1', '2', '3', '\0'};D. char c4[ ]="123";23. 在数组中,数组名表示( A )。
A. 数组第 1 个元素的首地址B.数组第 2 个元素的首地址C. 数组所有元素的首地址D.数组最后 1 个元素的首地址24.若有以下数组说明,则数值最小的和最大的元素下标分别是( B )。
int a[12] ={1,2,3,4,5,6,7,8,9,10,11,12};A. 1,12B. 0,11C. 1,11D. 0,1225 .若有以下说明,则数值为 4 的表达式是( D )。
int a[12] ={1,2,3,4,5,6,7,8,9,10,11,12}; char c=’a’, d, g ;A. a[g-c]B. a[4]C. a['d'-'c']D. a['d'-c]26. 设有定义:char s[12] = "string" ; 则printf( "%d\n",strlen(s)); 的输出是( A )。
A. 6B. 7C. 11D. 1227. 设有定义:char s[12] = "string"; 则printf("%d\n ", sizeof(s)); 的输出是( D )。
A. 6B. 7C. 11D. 1228. 合法的数组定义是( A )。
A. char a[ ]= "string " ;B. int a[5] ={0,1,2,3,4,5};C. char a= "string " ;D. char a[ ]={0,1,2,3,4,5}29. 合法的数组定义是( D )。
A. int a[3][ ]={0,1,2,3,4,5};B. int a[ ][3] ={0,1,2,3,4};C. int a[2][3]={0,1,2,3,4,5,6};D. int a[2][3]={0,1,2,3,4,530.下列语句中,正确的是 ( D )。
A. char a[3][ ]={'abc', '1'};B. char a[ ][3] ={'abc', '1'};C. char a[3][ ]={'a', "1"};D. char a[ ][3] ={ "a", "1"};31. 下列定义的字符数组中,输出 printf("%s\n", str[2]) ;的输出是( C )。