测试(c语言)

  1. 设有说明 int (* ptr) [M]; 其中ptr是C

(A) M个指向整型变量的指针

(B) 指向M个整型变量的函数指针

(C) 一个指向具有M个整型元素的一维数组的指针

(D) 具有M个指针元素的一维指针数组,每个元素都只能指向整型量

  1. 若有说明: char *language[] = {"FORTRAN", "BASIC", "PASCAL", "JAVA", "C"};则表达式 *language[1] > *language[3] 比较的是 C

(A) 字符F和字符P

(B) 字符串BASIC和字符串JAVA

(C) 字符B和字符J

(D) 字符串FORTRAN和字符串PASCAL

  1. 以下给字符数组str定义和赋值正确的是B

(A)char str[10]; str = {"China"};

(B)char str[] = "China";

(C)char str[10]; strcpy (str, "abcdefghijklmn");

(D)char str[10] = {"abcdefghigklmn"};

  1. 说明语句 int *(*p)();的含义是 D

(A) p是一个指向int型数组的指针

(B) p是指针变量,它构成了指针数组

(C) p是一个指向函数的指针,该函数的返回值是一个整型

(D) p是一个指向函数的指针,该函数的返回值是一个指向整型的指针

  1. 设字符型变量ch中存放字符’A’,则执行’ch+++5’后,ch中的字符是B

A. A

B. B

C. F

D. G

  1. 若定义了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);

  1. 函数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;

}

  1. 若有:

char *p[2][3] = {

"abc", "defg", "hi",

"jklmnop", "qrstuvwxyz", "ABCD"

};

则表达式(*(*(p+1)+1))[7]的值为x

  1. 以下不正确的语句是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++;}

  1. 设有说明 int (* ptr) [M]; 其中ptr是C

(A) M个指向整型变量的指针

(B) 指向M个整型变量的函数指针

(C) 一个指向具有M个整型元素的一维数组的指针

(D) 具有M个指针元素的一维指针数组,每个元素都只能指向整型量

  1. 若有说明: char *language[] = {"FORTRAN", "BASIC", "PASCAL", "JAVA", "C"};则表达式 *language[1] > *language[3] 比较的是 C

(A) 字符F和字符P

(B) 字符串BASIC和字符串JAVA

(C) 字符B和字符J

(D) 字符串FORTRAN和字符串PASCAL

  1. 执行以下程序段后,变量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

  1. 已知: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

  1. 有如下函数:

void A(int num, int base)

{

if( num > 0) {

A(num/base, base);

printf("%d", num%base);

}

}

则函数调用A(103, 2)的输出结果为:1100111

  1. 设有以下说明和定义语句,则下面表达式中值为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

  1. 若有宏定义:#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

  1. 当文件包含预处理命令#include后面的文件名用尖括号(<>)括起来时,寻找被包含文件方式是 C

(A) 先在源程序所在目录中搜索,然后按系统设定的标准方式搜索

(B) 只在当前目录搜索

(C) 只按系统设定的标准方式搜索

(D) 只在源文件所在目录中搜索

  1. C语言中,对文件操作的一般步骤是A

A. 打开文件->操作文件->关闭文件

B. 操作文件->修改文件->关闭文件

C. 读写文件->打开文件->关闭文件

D. 读文件->写文件->关闭文件

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值