B:2041 2043 C:2042 2044
293、下列条件语句中,功能与其他语句不同的是______。 A:if(a) printf(\{ int x[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i<3;i++) D:2042 2043 答案:A
数组基本概念知识点:知识点/选择题/C9结构体与共用体/【
290、有以下定义语句double a,b;int w; long c; 若各变量已正确赋值,则下列选项中正确的表达式是______。
A:a=a+b=b++ B:w%((int)a+b) C:(c+w)%(int)a D:w=a==b; 答案:C 知识点:知识点/选择题/C2基本数据类型及表达式/表达式及语句合法性判断T 291、有以下程序 main()
{ int m=3,n=4,x; x=-m++; x=x+8/++n;
printf(\}
程序运行后的输出结果是______。 A:3 B:5 C:-1 D:-2 答案:D 知识点:知识点/选择题/C2基本数据类型及表达式/简单表达式运算T
292、有以下程序 main()
{ char a='a',b; printf(\printf(\}
程序运行后的输出结果是______。 A:b,b B:b,c C:a,b D:a,c 答案:A 知识点:知识点/选择题/C2基本数据类型及表达式/表达式输出T
B:if(a==0) printf(\printf(\
C:if (a!=0) printf(\printf(\
D:if(a==0) printf(\printf(\答案:D
知识点:知识点/选择题/C4选择结构程序设计/IF语句T 295、设有定义语句
int x[6]={2,4,6,8,5,7},*p=x,i;
要求依次输出x数组6个元素中的值,不能完成此操作的语句是______。
A:for(i=0;i<6;i++) printf(\ B:for(i=0;i<6;i++) printf(\ C:for(i=0;i<6;i++) printf(\ D:for(i=0;i<6;i++) printf(\答案:D
知识点:知识点/选择题/C8指针/指针处理一维数组T 296、有以下程序 #include
a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL; *q=*(p+5);
printf(\}
程序运行后的输出结果是______。 A:运行后报错 B:6 6 C:6 11 D:5 10 答案:A
知识点:知识点/选择题/C8指针/指针处理一维数组T 299、已有定义:int i,a[10],*p;,则合法的赋值语句是______。 A:p=100; B:p=a[5]; C:p=a[2]+2; D:p=a+2; 答案:D
知识点:知识点/选择题/C8指针/指针处理一维数组T 302、有以下程序 main()
for (j=2;j>=i;j--)
if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;} for (i=0;i<3;i++) for(j=4;j<7-i;j++)
if(x[j]>x[j+1]){ k=x[j];x[j]=x[j+1];x[j+1]=k;} for (i=0;i<8;i++) printf(\printf(\}
程序运行后的输出结果是______。 A:75310246 B:01234567 C:76310462 D:13570246 答案:A
知识点:知识点/选择题/C7数组/【 306、以下程序的输出结果是______。 main()
{ int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1]; for(i=0;i<4;i+=2) printf(\}
A:52 B:51 C:53 D:97 答案:C
知识点:知识点/选择题/C8指针/指针处理二维数组T 307、以下程序的输出结果是______。 main() { char
a[10]={'1','2','3','4','5','6','7','8','9',0},*p; int i ; i=8; p=a+i;
printf(\}
A:6 B:6789 C:'6' D:789 答案:B
知识点:知识点/选择题/C8指针/指针与字符数组T
308、若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是______。
A:p+1 B:a+1 C:a++ D:++p 答案:C 知识点:知识点/选择题/C8指针/一维数组元素的指针表示T
310、以下选项中,能定义s为合法的结构体变量的是______。
A:typedef struct abc { double a; char b[10]; } s;
B:struct { double a; char b[10]; }s;
C:struct ABC { double a; char b[10]; }
ABC s;
D:typedef ABC { double a; char b[10]; } ABC s; 答案:B 知识点:知识点/选择题/C9结构体与共用体/结构体类型及变量定义T
311、请读程序: #include
char *s1=\s1++; s2++;
printf(\}
上面程序的输出结果是______。 A:正数 B:负数 C:零
D:不确定的值 答案:A
知识点:知识点/选择题/C8指针/指针与字符串处理函数T 312、请读程序: #include
main( ) {
int x=6,y=7,z=8,r;
r=func((x--,y++,x+y),z--); printf(\}
上面程序的输出结果是______。 A:11 B:20 C:21 D:31 答案:C 知识点:知识点/选择题/C6函数与编译预处理/函数的定义与调用T
313、请读程序: #include
int i; int *p=a;
for( i=0;i<4;i++) a[i]=*p++; printf(\}
上面程序的输出结果是______。 A:6 B:8 C:4 D:2 答案:A 知识点:知识点/选择题/C8指针/指针引用一维数组元素运算T
314、请读程序: #include
main() {
int num=0;
while( num <=2){
num++; printf(\} }
上面程序的输出结果是______。
① 1 ② 1 ③ 1 ④ 1 2 2 2 3 3 4 A:① B:② C:③ D:④ 答案:C
知识点:知识点/选择题/C5循环结构程序设计/WHILE循环结构T
315、请读程序片段(字符串内没有空格字符): printf(\上面程序片段的输出结果是______。
A:11 B:10 C:9 D:8 答案:C
知识点:知识点/选择题/C7数组/字符串含转义字符T 320、若执行下面程序时从键盘上输入5, main() {
int x;
scanf(\
if(x++>5) printf(\else printf(\}
则输出是______。
A:7 B:6 C:5 D:4 答案:B
知识点:知识点/选择题/C4选择结构程序设计/IF语句T 322、设有如下的程序段 char str[]=\
char *ptr; 答案:D 若程序前面已在命令行中包含math.h文件,不能够正确计ptr=str; 知识点:知识点/选择题/C2基本数据类型及表达式/表达式算上述公式的程序段是______。 执行完上面的程序段后,*(ptr+5)的值为______。 及语句合法性判断T A:if(x>=0) y=sqrt(x);
A:'o' 334、若在定义语句:int a,b,c,*p=&c;之后,接着执行以else y=sqrt(-x);
B:'\\0' 下选项中的语句,则能正确执行的语句是______。 B:y=sqrt(x);
C:不确定的值 A:scanf(\if(x<0) y=sqrt(-x);
D:'o'的地址 B:scanf(\ C:if(x>=0) y=sqrt(x); 答案:B 知识点:知识点/选择题/C8指针/指针与字符数组T 324、设有以下语句,其中对数组元素a不正确的引用是:______(其中0≤i<10) int a[10]={0,1,2,3,4,5,6,7,8,9,},*p=a; A:a[p-a] B:*(&a[i]) C:p[i] D:*(*(a+i)) 答案:D 知识点:知识点/选择题/C8指针/一维数组元素的指针表示T 325、设有以下语句:char str1[]=\则下列选项中,______不是对库函数strcpy的正确调用,此库函数用来复制字符串。 A:strcpy(str1,\ B:strcpy(str2,\ C:strcpy(str3,\ D:strcpy(str4,\答案:C 知识点:知识点/选择题/C8指针/指针与字符串处理函数T 326、设有 static char str[]=\则执行 printf(\后的输出结果为______。 A:5 B:7 C:12 D:14 答案:A 知识点:知识点/选择题/C7数组/字符串处理函数T 327、下列语句中,符合C语言语法的赋值语句是______。 A:a=7+b+c=a+7; B:a=7+b++=a+7; C:a=7+b,b++,a+7 D:a=7+b,c=a+7; C:scanf(\ D:scanf(\答案:C 知识点:知识点/选择题/C8指针/指针变量与输入函数T 335、以下关于long、int和short类型数据占用内存大小的叙述中正确的是______。 A:均占4个字节 B:根据数据的大小来决定所占内存的字节数 C:由用户自己定义 D:由C语言编译系统决定 答案:D 知识点:知识点/选择题/C2基本数据类型及表达式/基本数据类型T 336、若变量均已正确定义并赋值,以下合法的C语言赋值语句是______。 A:x=y==5; B:x=n%2.5; C:x+n=i; D:x=5=4+1; 答案:A 知识点:知识点/选择题/C2基本数据类型及表达式/表达式及语句合法性判断T 337、若变量已正确定义,有以下程序段 i=0; do printf(\printf(\其输出结果是______。 A:0,0 B:0,1 C:1,1 D:程序进入无限循环 答案:B 知识点:知识点/选择题/C5循环结构程序设计/DO-WHILE循环T 338、有以下计算公式
if(x<0) y=sqrt(-x); D:y=sqrt(x>=0?x:-x); 答案:B 知识点:知识点/选择题/C4选择结构程序设计/IF语句T 344、设有定义:char p[]={'1','2','3'},*q=p;,以下不
能计算出一个char型数据所占字节数的表达式是______。
A:sizeof(p)
B:sizeof(char)
C:sizeof(*q) D:sizeof(p[0]) 答案:A 知识点:知识点/选择题/C8指针/指针与字符数组T 345、若有定义语句:int a[3][6];,按在内存中的存放顺序,a数组的第10个元素是______。 A:a[0][4] B:a[1][3]
C:a[0][3]
D:a[1][4]
答案:B
知识点:知识点/选择题/C7数组/二维数组定义初始化及引用T 348、有以下程序 #include for(j=i+1;j /* 比较字符串的首字符大小,并交换字符串的首字符 */ if(s[i][0]>s[j][0]) {t=s[i][0];s[i][0]=s[j][0];s[j][0]=t;} } main() { char ss[5][10]={\ fun(ss,5); printf(\ } 程序的运行结果是______。 A:xy,aaaacc printf(\ A:char st[4][5]={\ B:aaaacc,xy } B:char s[5]={'A','B','C','D','E'}; C:xcc,aabcc } C:char *s=\ D:acc,xabcc 的输出是______。 D:char *s; scanf(\答案:D A:23 答案:C 知识点:知识点/选择题/C7数组/【 B:26 知识点:知识点/选择题/C8指针/指针与字符数组T 351、下面程序的输出是______: C:33 359、已知字符0的ASCII码为十六进制的30,下面程序 char s[]=\ D:36 main() main() { char *p; for(p=s;p 的输出是______。 A:6 B:9 C:0 D:3 答案:B 知识点:知识点/选择题/C9结构体与共用体/共用体T 362、以下程序的输出结果是______。 #include } A:14.000000 B:15.400000 C:13.700000 D:14.900000 答案:C 知识点:知识点/选择题/C2基本数据类型及表达式/简单表达式运算T 363、以下程序的输出结果是______。 #include #include