常熟理工学院C语言题库最新版 下载本文

③十六进制数 设有定义和声明如下: #define d 2

④非法数

int a=3; float b=3.14; char c='d'; 下面表达式中有语法错误的是【 】。 ①a++ ③c++ ①int b[2]

②b++ ④d++

②int b[]={0, 1}

下面声明中错误的是【 】。 ③int b[3]=0

④int b[3][4]={0} ②int fun(int a[], int a)

④int fun(char a[ ][], int b)

下面函数定义的头部正确的是【 】。 ①int fun(int a[], b) ③int fun(int a, int b) char a[]=\char b[]={'a', 'b', 'c', 'd'}; 则下面叙述正确的是【 】。 ①a与b数组完全相同

②数组a比数组b长度大

③a与b中存放的都是字符串 ④a与b长度相同 若有说明“int a[3][4]={0};\,则下面正确的叙述是【 】。 ①只有元素a[0][0]可得到初值 ②此说明语句不正确

③数组a中各元素都可得到初值,但其值不一定为0 ④数组a中每个元素均可得到初值0 设有定义和声明如下:

#define d 3

int a=3; float b=3.14; char c='d'; 下面表达式中有语法错误的是【 】。 ①a++ ③c++

②b++ ④d++

对两个数组a和b进行如下初始化:

下列一维数组的声明中正确的是【 】。

①int a[];

②int n=5,a[n];

④int a[3]={4, 3, 2, 1};

③int a[3+1]={0}; ①int fun(int a[], b)

下面函数定义的头部正确的是【 】。

②int fun(int a[], int a) ④int fun(char a[ ][], int b)

③int fun(int a, int b)

下面程序段的运行结果是【 】。

char ch[5]={ 'a', 'b', '\\0', 'd', '\\0'}; printf(\①'a' 'b' ③ab d

②ab ④a, b

己有声明“int a=2,*p=&a;\,下列正确的语句是【 】。

①a=p+1.0; ③p=1000.0;

②p=2*p+1.0;

④a+=*p;

若有说明“int a[3][4]={0};\,则下面正确的叙述是【 】。

①只有元素a[0][0]可得到初值 ②此说明语句不正确

③数组a中各元素都可得到初值,但其值不一定为0 ④数组a中每个元素均可得到初值0

如果有声明“int m,n=5,*p=&m;”,与m=n等价的语句是【 】。

①m=*p; ③m=&n; ①b=\③p=\

②*p=*&n; ④m=**p; ②*b=\④*p=\

已有定义“char b[6],*p=b;”,则正确的赋值表达式语句是【 】。

已有定义“char ch[5]={'a', 'b', 'c', 'd'}, *p=ch, i;”,则下面语句中不能正确输出ch数组全部元素值的是【 】。

①for(i=0; i<4; i++) printf(\②for(i=0; i<4; i++) printf(\③for(i=0; i<4; i++) printf(\④for(i=0; i<4; i++) printf(\ C语言中可以处理的文件类型有【 】。

①文本文件和二进制文件 ③数据文件和二进制文件 ①a=b=0; ③&a=&b;

②文本文件和数据文件 ④以上三个都不对

已有定义“int m=3, c, *a=&m, *b=&c;”,则下列语句中错误的是【 】。

②a=&c, b=a; ④*b=*a;

已有定义“char b[6],*p=b;”,则正确的赋值表达式语句是【 】。 ①b=\③p=\

②*b=\

④*p=\

已有定义“int k, b[10], *p=b;”,现需要将1~10保存到b[0]~b[9]中,下面程序段中不能实现这一功能的是【 】。 ①for(k=1; k<10; k++)b[k]=k+1; ②for(k=0; k<10; k++)p[k]=k+1; ③k=1; while(p

对文件进行操作时,写文件的含义是【 】。 ①将内存中的信息写入磁盘 ②将磁盘中的信息读到内存 ③将主机中的信息写入磁盘 ④将磁盘中的信息读到主机

已有定义“int a[4][4]={{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}};”,若需要引用值为15的数组元素,则下列选项中错误的是【 】。 ①*(a+3)+2 ③*(a[3] +2) ①b=\③p=\

②*(*(a+3)+2) ④a[3][2]

②*b=\

已有定义“char b[6],*p=b;”,则正确的赋值表达式语句是【 】。

④*p=\

已有定义“int a[5]={10, 20, 3, 40, 50}, *p, i;”,下面语句中不能正确输出a数组全部元素的值的是【 】。

①for(p=a,i=0;i<5;i++)printf(\

②for(p=a;p

③for(p=a, i=0;p

当文件被正常关闭时,fclose()函数的返回值是【 】。

①-1 ②true ③0 ④1

设有声明语句“int b[3][3]={11,22,33,44,55,66,77,88,99};”,下面语句中不能输出数组元素b[1][2]的是【 】。

①printf(\ ②printf(\③printf(\ ④printf(\

若有定义“int a[4][4], *p=a[0], (*q)[4]=a;”,则下列叙述中错误的是【 】。

①a[2][3]与q[2][3]等价 ③a[2][3]与*(p+11)等价 ①a[0]=0 ③c[0]=0 为【 】。

①second ③ond

②first

④nd

②宏名无类型 ④宏替换只是字符替换

②a[2][3]与p[2][3]等价 ④a[2][3]与p=p+11, *p等价 ②b[0]=0 ④d[0]=0

若有定义“int a[5],*b=a, (*c)[3],*d[3];”,则下面表达式中有语法错误的是【 】。

已知有程序段“char str[][8]={\”,则执行printf语句后输出

下面叙述错误的是【 】。

①宏替换不占用程序运行时间 ③宏名必须用大写字母表示 设有定义和声明语句:

typedef struct cc {

int a; struct cc *b; }node;

static node aa[3]={5, &aa[1], 7, &aa[2], 9, '\\0'}, *p=&aa[0]; 下列选项中,表达式值不为5的是【 】。 ①aa[1].b->a-2 ③(p+1)->a-2

②p->b->a-2

④p->a

下面关于共用体类型的叙述正确的是【 】 。

①可以给共用体类型变量直接赋值

②一个共用体类型变量中可以同时存入其所有成员 ③一个共用体类型变量中不能同时存入其所有成员 ④共用体类型定义中不能同时出现结构体类型的成员

若有定义“int a[3][4]={0}, *p1=a[1], (*p2)[4]=a;”,下面表达式中与“a[1][1]=1;”不等价的是【 】。 ①*(p1+1)=1;

②p1[1][1]=1; ④p2[1][1]=1;

②宏名无类型 ④宏替换只是字符替换

③*(*(p2+1)+1)=1;

下面叙述错误的是【 】。 ①宏替换不占用程序运行时间 ③宏名必须用大写字母表示 设有定义和声明语句:

typedef struct cc {

int a;

struct cc *b; }node;

static node aa[3]={5, &aa[1], 7, &aa[2], 9, '\\0'}, *p=&aa[0]; 下列选项中,表达式值不为5的是【 】。 ①aa[1].b->a-2 ③(p+1)->a-2 ①ABC x;

②p->b->a-2 ④p->a

②struct x; ④struct ABC x;

若有结构类型定义“typedef struct {int x, y[2]; }ABC;”,则下面声明中正确是【 】。 ③struct abc x; 【 】。 ①green=red; ③color=red;

②flower=red; ④enum=red;

②一个单精度数

④一个双精度数

若有定义和声明typedef enum{green, red, yellow, blue, b1ack}color; color flower;,则下列语句中正确的是

在宏定义语句“#define PI 3.1415926”中,宏名PI代替【 】。

①一个字符串 ③一个常量 typedef struct cc {

int a; struct cc *b; }node;

static node aa[3]={11, &aa[1], 7, &aa[2], 9, '\\0'}, *p=&aa[0]; 下列选项中,表达式值不为5的是【 】。 ①aa[1].b->a-2 ③(p+1)->a-2

②p->b->a-2

④p->a-6

设有定义和声明语句:

下面关于typedef的叙述错误的是【 】 。

①用typedef可以增加新类型

②用typedef可以为各种类型说明一个新名,但不能为一个变量说明一个新名 ③用typedef为类型说明一个新名,通常可增加程序的可读性 ④typedef只是将已存在的类型用一个新的名字来代表 下面关于共用体类型的叙述正确的是【 】 。

①可以给共用体类型变量直接赋值

②一个共用体类型变量中可以同时存入其所有成员 ③一个共用体类型变量中不能同时存入其所有成员 ④共用体类型定义中不能同时出现结构体类型的成员 若有定义和声明

typedef enum {

green, red, yellow, blue, b1ack }mycolor; mycolor flower;,

则下列语句中正确的是【 】。 ①green=red;

②flower=red;

③mycolor=red;

④enum=red;