设有说明 int (* ptr) [M]; 其中ptr是C
(A) M个指向整型变量的指针
(B) 指向M个整型变量的函数指针
(C) 一个指向具有M个整型元素的一维数组的指针
(D) 具有M个指针元素的一维指针数组,每个元素都只能指向整型量
若有说明: char *language[] = {"FORTRAN", "BASIC", "PASCAL", "JAVA", "C"};则表达式 *language[1] > *language[3] 比较的是 C
(A) 字符F和字符P
(B) 字符串BASIC和字符串JAVA
(C) 字符B和字符J
(D) 字符串FORTRAN和字符串PASCAL
以下给字符数组str定义和赋值正确的是B
(A)char str[10]; str = {"China"};
(B)char str[] = "China";
(C)char str[10]; strcpy (str, "abcdefghijklmn");
(D)char str[10] = {"abcdefghigklmn"};
说明语句 int *(*p)();的含义是 D
(A) p是一个指向int型数组的指针
(B) p是指针变量,它构成了指针数组
(C) p是一个指向函数的指针,该函数的返回值是一个整型
(D) p是一个指向函数的指针,该函数的返回值是一个指向整型的指针
设字符型变量ch中存放字符’A’,则执行’ch+++5’后,ch中的字符是B
A. A
B. B
C. F
D. G
若定义了int i, *p; 则能通过scanf函数给输入项读入数据的程序段是 A
(A) p = &i; scanf ( "%d", p );
(B) p = &i; scanf ("%d", i );
(C) *p = i; scanf ( "%d", p );
(D) *p = i; scanf ("%d", &p);
函数int min(int *x, int n)计算并返回具有n个元素的数组x中的最小元素的下标(该函数不是递归函数)。请填空(表达式中间不要有空格)。
int min(int *x, int n)
{
int i=0, j;
for(j=0; j<n; j++)
if(x[j] < x[i])
i=j;
return i;
}
若有:
char *p[2][3] = {
"abc", "defg", "hi",
"jklmnop", "qrstuvwxyz", "ABCD"
};
则表达式(*(*(p+1)+1))[7]的值为x
以下不正确的语句是B
(A) if (x > y);
(B) if (x = y) && ( x!= 0) x += y;
(C) if (x !=y) scanf("%d", &x); else scanf("%d", &y);
(D) if (x < y) {x++; y++;}
设有说明 int (* ptr) [M]; 其中ptr是C
(A) M个指向整型变量的指针
(B) 指向M个整型变量的函数指针
(C) 一个指向具有M个整型元素的一维数组的指针
(D) 具有M个指针元素的一维指针数组,每个元素都只能指向整型量
若有说明: char *language[] = {"FORTRAN", "BASIC", "PASCAL", "JAVA", "C"};则表达式 *language[1] > *language[3] 比较的是 C
(A) 字符F和字符P
(B) 字符串BASIC和字符串JAVA
(C) 字符B和字符J
(D) 字符串FORTRAN和字符串PASCAL
执行以下程序段后,变量a,b,c的值分别是B
int x = 10, y = 9;
int a, b, c;
a = (--x == y++)? --x: ++y;
b = x++;
c = y;
(A) a = 9, b = 9, c = 9
(B) a = 8, b= 8, c = 10
(C) a = 9, b = 10, c = 9
(D) a = 11, b = 11, c = 10
已知:char a=’a’;float b=2.3;double c=41;int d;则执行语句d=a+b+c;后变量d的数据类型为 A
(A) int (B) char (C) float (D) double
有如下函数:
void A(int num, int base)
{
if( num > 0) {
A(num/base, base);
printf("%d", num%base);
}
}
则函数调用A(103, 2)的输出结果为:1100111
设有以下说明和定义语句,则下面表达式中值为3的是 D
struct s {
int i1;
struct s *i2;
};
static struct s a[3] = {1, &a[1], 2, &a[2], 3, &a[0]}, *ptr;
ptr = &a[1];
(A) ptr->i1++
(B) ptr++->i1
(C) *ptr->i1
(D) ++ptr->i1
若有宏定义:#define INTEGER(x,y) x/y
则执行以下语句后
int z,a=15,b=100;
z=INTEGER(b,a);
printf("%d\n",z++);
输出结果为 B
(A) 宏定义非法
(B) 6
(C) 6.666667
(D) 7
当文件包含预处理命令#include后面的文件名用尖括号(<>)括起来时,寻找被包含文件方式是 C
(A) 先在源程序所在目录中搜索,然后按系统设定的标准方式搜索
(B) 只在当前目录搜索
(C) 只按系统设定的标准方式搜索
(D) 只在源文件所在目录中搜索
C语言中,对文件操作的一般步骤是A
A. 打开文件->操作文件->关闭文件
B. 操作文件->修改文件->关闭文件
C. 读写文件->打开文件->关闭文件
D. 读文件->写文件->关闭文件