type
status
date
slug
summary
tags
category
icon
password
一.单选题(total42 questions,100.0mark)
1
【Single Choice】在C语言中,合法的字符常量是( ).
• A、'\084'
• B、'\x43'
• C、'ab'
• D、"\0"
My Answer:B:
'\x43'
;
2
【Single Choice】以下语句的输出结果是( ).printf("%d\n",strlen("\t"\065\xff\n"));
• A、5
• B、14
• C、8
• D、输出项不合法,无正常输出
My Answer:A:
5
;
3
【Single Choice】执行下列程序时输入:123<空格>456<空格>789<回车> 输出结果是( ).main( ){ char s[100]; int c, i; scanf("%c",&c); scanf("%d",&i); scanf("%s",s); printf("%c,%d,%s\n",c,i,s);}
• A、123,456,789
• B、1,456,789
• C、1,23,456,789
• D、1,23,456
My Answer:D:
1,23,456
;
4
【Single Choice】有以下程序:#include "string.h"main( ){ char a[]={'a','b','c','d','e','f','g','h','\0'};int i,j; i=sizeof(a);j=strlen(a); printf("%d,%d\b",i,j); }程序运行后的输出结果是( ).
• A、9,9
• B、8,9
• C、1,8
• D、9,8
My Answer:D:
9,8
;
5
【Single Choice】下面程序的运行结果是( ).#include "stdio.h"main( ){ char a[]="morning",t; int i,j=0; for(i=1;i<7;i++) if(a[j]<a[i]) j=i; t=a[j]; a[j]=a[7]; a[7]=t; puts(a); }
• A、mrgninr
• B、mo
• C、moring
• D、morning
My Answer:B:
mo
;
6
【Single Choice】下面程序输出的结果是( ).main( ){ int i; int a[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf("%d ",a[2-i][i]); }
• A、1 5 9
• B、7 5 3
• C、3 5 7
• D、5 9 1
My Answer:B:
7 5 3
;
7
【Single Choice】对以下说明语句的正确理解是( ).int a[10]={6,7,8,9,10};
• A、将5个初值依次赋给a[1]至a[5]
• B、将5个初值依次赋给a[0]至a[4]
• C、将5个初值依次赋给a[6]至a[10]
• D、因为数组长度与初值的个数不相同,所以此语句不正确
My Answer:B:
将5个初值依次赋给a[0]至a[4]
;
8
【Single Choice】当输入为"quert?"时,下面程序的执行结果是( ).#include "stdio.h"main( ){ char c; c=getchar( ); while(c!='?') { putchar(c); c=getchar( ); }}
• A、quert
• B、Rvfsu
• C、quert?
• D、rvfsu?
My Answer:A:
quert
;
9
【Single Choice】以下程序段的输出结果是( ).main( ){ char x='A'; x=(x>='A'&&x<='Z') ? (x+32) : x; printf("%c",x); }
• A、A
• B、a
• C、Z
• D、z
My Answer:A:
A
;
10
【Single Choice】有以下程序main( ){ int a[4][4]={{l,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,j,k,t; for(i=0;i<4;i++) for(j=0;j<3;j++) for(k=j+1;k<4;k++) if(a[j][i]>a[k][i]) {t=a[j][i];a[j][i]=a[k][i];a[k][i]=t;}/*按列排序*/ for(i=0;i<4;i++)printf("%d,",a[i][i]);}程序运行后的输出结果是( ).
• A、1,6,5,7,
• B、8,7,3,1,
• C、4,7,5,2,
• D、1,6,2,1,
My Answer:A:
1,6,5,7,
;
11
【Single Choice】有以下程序main( ){ int a[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,k,t; for(i=0;i<3;i++) for(k=i+l;k<4;k++) if(a[i][i]<a[k][k]){t=a[i][i];a[i][i]=a[k][k];a[k][k]=t;} for(i=0;i<4;i++)printf("%d,",a[0][i]);}程序运行后的输出结果是( ).
• A、6,2,1,1,
• B、6,4,3,2,
• C、1,1,2,6,
• D、2,3,4,6,
My Answer:B:
6,4,3,2,
;
12
【Single Choice】当用户要求输入的字符串中含有空格时,应使用的输入函数是( ).
• A、scanf( )
• B、getchar( )
• C、gets( )
• D、getc( )
My Answer:C:
gets( )
;
13
【Single Choice】有定义:int b; char c[10];,则正确的输入语句是( ).
• A、scanf("%d%s",&b,&c);
• B、scanf("%d%s",&b,c);
• C、scanf("%d%s",b,c);
• D、scanf("%d%s",b,&c);
My Answer:B:
scanf("%d%s",&b,c);
;
14
【Single Choice】以下能对一维数组a进行正确初始化的语句是( ).
• A、int a[10]=(0,0,0,0,0);
• B、int a[10]={ };
• C、int a[10]={0};
• D、int a[10]=(10*1);
My Answer:B:
int a[10]={ };
;
15
【Single Choice】char str[10]="China";数组元素个数为( ).
• A、5
• B、6
• C、9
• D、10
My Answer:B:
6
;
16
【Single Choice】下列二维数组初始化语句中,正确且与语句float a[][3]={0,3,8,0,9};等价的是( ).
• A、float a[2][]={{0,3,8},{0,9}};
• B、float a[][3]={0,3,8,0,9,0};
• C、float a[][3]={{0,3},{8,0},{9,0}};
• D、float a[2][]={{0,3,8},{0,9,0}};
My Answer:B:
float a[][3]={0,3,8,0,9,0};
;
17
【Single Choice】以下关于字符串的叙述中正确的是( ).
• A、C语言中有字符串类型的常量和变量
• B、两个字符串中的字符个数相同时才能进行字符串大小的比较
• C、可以用关系运算符对字符串的大小进行比较
• D、空串一定比空格打头的字符串小
My Answer:D:
空串一定比空格打头的字符串小
;
18
【Single Choice】判断字符串s1是否等于字符串s2,应当使用( ).
• A、if (s1==s2)
• B、if (s1=s2)
• C、if (strcpy(s1,s2))
• D、if (strcmp(s1,s2)==0)
My Answer:D:
if (strcmp(s1,s2)==0)
;
19
【Single Choice】有以下程序#include "string.h"main( ){ char p[20]={'a', 'b', 'c', 'd'}, q[]="abc", r[]="abcde"; strcpy(p+strlen(q), r); strcat(p, q); printf("%d %d\n", sizeof(p), strlen(p));}程序运行后的输出结果是( ).
• A、209
• B、99
• C、2011
• D、1111
My Answer:C:
2011
;
20
【Single Choice】以下能正确定义一维数组的选项是( ).
• A、int a[5]={0,1,2,3,4,5};
• B、char a[]={'0','1','2','3','4','5','\0'};
• C、char a={'A','B','C'};
• D、int a[5]="0123";
My Answer:A:
int a[5]={0,1,2,3,4,5};
;
21
【Single Choice】下列关于字符串的说法中错误的是( ).
• A、在C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符'\0'作为字符串结束标志
• B、'\0'作为标志占用存储空间,计入串的实际长度
• C、在表示字符串常量的时候不需要人为在其末尾加入'\0'
• D、在C语言中,字符串常量隐含处理成以'\0'结尾
My Answer:B:
'\0'作为标志占用存储空间,计入串的实际长度
;
22
【Single Choice】若有定义语句:int a[3][6];,按在内存中的存放顺序,a数组的第10个元素是( ).
• A、a[0][4]
• B、a[1][3]
• C、a[0][3]
• D、a[1][4]
My Answer:B:
a[1][3]
;
23
【Single Choice】已知字符'A'的ASCII代码值是65,字符变量cl的值是'A',c2 的值是'D',则执行语句printf("%d,%d",c1,c2-2);后,输出结果是( ).
• A、A,B
• B、A,68
• C、65,66
• D、65,68
My Answer:C:
65,66
;
24
【Single Choice】下述对C语言字符数组的描述中错误的是( ).
• A、字符数组的下标从0开始
• B、字符数组中的字符串可以进行整体输入/输出
• C、可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
• D、字符数组可以存放字符串
My Answer:C:
可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
;
25
【Single Choice】已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则以下不能将变量c中的大写字母转换为对应小写字母的语句是( ).
• A、c=(c-'A')%26+'a';
• B、c=c+32;
• C、c=c-'A'+'a';
• D、c=('A'+c)%26-'a';
My Answer:D:
c=('A'+c)%26-'a';
;
26
【Single Choice】putchar( )函数可以向终端输出一个( ).
• A、整型变量表达式
• B、浮点型变量值
• C、字符串
• D、字符
My Answer:D:
字符
;
27
【Single Choice】阅读下面程序,则程序段的功能是( ).main( ){ int c[]={23,1,56,234,7,0,34},i,j,t; for(i=1;i<7;i++) { t=c[i];j=i-1; while(j>=0 && t>c[j]) {c[j+1]=c[j];j--;} c[j+1]=t; } for(i=0;i<7;i++) printf("%d ",c[i]); putchar('\n');}
• A、对数组元素的升序排列
• B、对数组元素的降序排列
• C、对数组元素的逆序排列
• D、对数组元素的随机排列
My Answer:B:
对数组元素的降序排列
;
28
【Single Choice】下列数据中,为字符串常量的是( ).
• A、A
• B、"house"
• C、How do you do.
• D、$abc
My Answer:B:
"house"
;
29
【Single Choice】以下不能对二维数组a进行正确初始化的语句是( ).
• A、int a[2][3]={0};
• B、int a[][3]={{1,2},{0}};
• C、int a[2][3]={{1,2},{3,4},{5,6}};
• D、int a[][3]={1,2,3,4,5,6};
My Answer:C:
int a[2][3]={{1,2},{3,4},{5,6}};
;
30
【Single Choice】设变量a是int型,f是float型,i是double型,则表达式10+'a'+i*f值的数据类型为( ).
• A、int
• B、float
• C、double
• D、不确定
My Answer:C:
double
;
31
【Single Choice】当运行以下程序时,从键盘输入MAYaMaHA<回车>,则下面程序的运行结果是( ).main( ){ char s[80],c='a'; int i=0; scanf("%s",s); while(s[i]!='\n') { if(s[i]==c)s[i]=s[i]-32; else if(s[i]==c-32)s[i]=s[i]+32; i++; } puts(s); }
• A、MaYaMaHa
• B、MAYAMAHA
• C、MAYAMaHa
• D、MaYAMAHa
My Answer:D:
MaYAMAHa
;
32
【Single Choice】C语言中不合法的字符串常量是().
• A、"\121"
• B、y'
• C、"\n\n"
• D、"ABCD\x6d"
My Answer:B:
y'
;
33
【Single Choice】有以下程序段int j;float y;char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为( ).
• A、55566.0
• B、566.0
• C、7777.0
• D、566777.0
My Answer:B:
566.0
;
34
【Single Choice】若变量c为char类型,能正确判断出c为小写字母的表达式是( ).
• A、a'<=c<='z'
• B、(c>='a')‖(c<='z')
• C、('a'<=c)and('z'>=c)
• D、(c>='a')&&(c<='z')
My Answer:B:
(c>='a')‖(c<='z')
;
35
【Single Choice】设有数组定义: char array[ ]="China"; 则数组array所占的空间为( ).
• A、4个字节
• B、5个字节
• C、6个字节
• D、7个字节
My Answer:C:
6个字节
;
36
【Single Choice】以下程序的输出结果是( ).main( ){ char c='z'; printf("%c",c-25); }
• A、a
• B、Z
• C、z-25
• D、y
My Answer:A:
a
;
37
【Single Choice】有以下程序,其中%u表示按无符号整数输出main( ){ unsigned int x=0xFFFF;/* x的初值为十六进制数 */ printf("%u\n",x);}程序运行后的输出结果是( ).
• A、-1
• B、65535
• C、32767
• D、0xFFFF
My Answer:B:
65535
;
38
【Single Choice】下列选项可以正确表示字符型常量的是( ).
• A、'\n'
• B、"a"
• C、"<97"
• D、296
My Answer:A:
'\n'
;
39
【Single Choice】有以下程序#include "string.h"main( ){ char p[]={'a', 'b', 'c'},q[10]={ 'a', 'b', 'c'}; printf("%d%d\n",strlen(p),strlen(q)); }以下叙述中正确的是( ).
• A、在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3
• B、由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3
• C、由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3
• D、由于p和q数组中都没有字符串结束符,故长度都不能确定
My Answer:A:
在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3
;
40
【Single Choice】设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y.以下所示的输入形式中正确的是( ).
• A、10 X 20 Y
• B、10 X20 Y
• C、10 X <回车>20 Y
• D、10X<回车>20Y
My Answer:B:
10 X20 Y
;
41
【Single Choice】定义如下变量和数组: int i; int x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( ). for(i=0;i<3;i++) printf(" %d" ,x[i][2-i]);
• A、1 5 9
• B、1 4 7
• C、3 5 7
• D、3 6 9
My Answer:C:
3 5 7
;
42
【Single Choice】运行下面程序,若从键盘输入字母b,则输出结果是( ).#include <stdio.h>main( ){ char c; c=getchar( ); if(c>='a'&&c<='u') c=c+4; else if(c>='v'&&c<='z') c=c-21; else printf("input error!\n"); putchar(c);}
• A、g
• B、w
• C、f
• D、d
My Answer:C
- 作者:嘻咦啊呀
- 链接:https://blog.zhcn.xyz/article/C语言程序设计 测验题五
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。