补充试题库 - 答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.二维数组a有m行n列,则在a[i][j]之前的元素个数为()。
A. j*n+i √
B. i*n+j
C. i*n+j-1
D. i*n+j+1
2.#include
#include
main()
{
printf("%d\n", strlen("IBM\n012\t\"\\\0"));
}
则程序运行后的输出结果是。
√A) 10 B) 11 C) 16 D) 12
3.有如下程序片段:
int i = 0;
while(i++ <= 2);
printf("%d", i);
则正确的执行结果是:
A) 2 B) 3 √C) 4 D) 程序陷入死循环
4. 下面哪个定义是合法的。
A) char a[8] = "language";
B) int a[5] = {0,1,2,3,4,5};
√C) char *a = "string";
D) int a[2][] = {0,1,2,3,4,5,6};
5.若有定义int (*p)[4],则标识符p是一个。
A)指向整型变量的指针变量
B)指向函数的指针变量
√C)指向有四个整型元素的一维数组的指针变量
D)指针数组名,有四个元素,每个元素均为一个指向整型变量的指针
6.下列对字符串的定义中,错误的是:。
√A) char str[7] = "FORTRAN";
B) char str[] = "FORTRAN";
C) char *str = "FORTRAN";
D) char str[] = {'F','O','R','T','R','A','N',0};
7.针对下面程序段,下面哪些说法是正确的?
#include
void Swap(int *x, int *y);
main()
{
int a, b;
a = 5;
b = 9;
Swap(&a, &b);
printf("a=%d,b=%d",a,b);
}
void Swap(int *x, int *y)
{
int *pTemp;
*pTemp = *x;
*x = *y;
*y = *pTemp;
}
A) 程序运行结果为乱码;
B) 程序运行后将导致程序崩溃;
C) 程序编译时出错导致程序无法运行;
√ D) 程序执行了危险的操作;
8. 要使下面程序的输出1, 2, 34,则从键盘输入的数据格式应为。
#include
main()
{
char a,b;
int c;
scanf("%c%c%d",&a,&b,&c);
printf("%c,%c,%d\n",a,b,c);
}
A)1 2 34 B)1, 2, 34
C)’1’,’2’,34√D)12 34
9.对于一个正常运行和正常退出的C程序,以下叙述正确的是。
√A)程序是从main函数第一条可执行语句开始执行,在main函数结束
B)程序的执行总是从程序的第一个函数开始,在main函数结束
C)程序的执行总是从main函数开始,在最后一个函数中结束
D)从程序的第一个函数开始,在程序的最后一个函数中结束
10.对于以下程序片段,描述正确的是。
int x= -1;
do
{
x=x*x;
}while(!x);
A)是死循环
B)循环执行两次
√C)循环执行一次
D)有语法错误
11. 一个指针数组的定义为。
A) int (*ptr)[5];√B) int *ptr[5];
C) int *(ptr[5]); D) int ptr[5];
一、单项选择题:(10分,每题2分,评分标准:正确得2分,错误扣2分)
12.以下不能对二维数组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};
13.有以下程序片断
float fun(int x,int y)
{
return(x+y);
}
main(){
int a=2,b=5,c=8;
printf("%3.0f\n",fun((int)fun(a+c,b),a-c));
}
程序运行后的输出结果是:
A)编译出错√B)9
C)21 D)9.0
14.若有以下调用语句,则不正确的fun函数的函数原型是main()
{ …
int a[50],n;
…
fun(n, &a[9]);
…
}
A)void fun(int m, int x[]);
B)void fun(int s, int h[41]);
C)void fun(int p, int *s);
√D)void fun(int n, int a);
15.下面程序片段的执行结果是:
#define MAX 10
int a[MAX], i;
main( )
{
printf("\n");
sub1( );
sub3(a);
sub2( );
sub3(a);
}
sub2( )
{
int a[MAX], i, max=5;
for(i=0; i } sub1( ) { for(i=0; i } sub3(int a[ ]) { int i; for(i=0; i printf("\n");