C语言单选

更新时间:2023-03-10 17:58:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

━━━━━━━━━━━━━━━━━━ 一、单项选择 共300题

━━━━━━━━━━━━━━━━━━

第1题 (1.0分) 题号:513

int a[10];合法的数组元素的最小下标值为()A:10 B:9 C:1 D:0 答案:D

第2题 (1.0分) 题号:681 以下运算符中优先级最低的是()。 A:&& B:& C:|| D:| 答案:C

第3题 (1.0分) 题号:187

经过下列的语句 int j,a[10],*p;定义后,下列语句中合法的是()。 A:p=p+2; B:p=a[5]; C:p=a[2]+2; D:p=&(j+2); 答案:A

第4题 (1.0分) 题号:640 以下对二维数组a的正确说明是()。 A:int a[3][] B:float a(3,4) C:double a[1][4] D:float a(3)(4) 答案:C

第5题 (1.0分) 题号:684

在C语言中,要求运算数必须是整型的运算符是()。

A:^ B:% C:! D:> 答案:B

第6题 (1.0分) 题号:654

以下不能正确定义二维数组的选项是()。 A:int a[2][2]={{1},{2}}; B:int a[][2]={1,2,3,4}; C:int a[2][2]={{1},2,3}; D:int a[2][]={{1,2},{3,4}}; 答案:D

第7题 (1.0分) 题号:742

若fp是指向某文件的指标,且已读到此檔末尾,则库函数feof(fp)的返回值是()。 A:EOF B:0 C:非零值

D:NULL 答案:C

第8题 (1.0分) 题号:108

设C语言中,int类型数据占2个字节,则short类型数据占()。 A:1个字节 B:2个字节 C:4个字节 D:8个字节 答案:B

第9题 (1.0分) 题号:489

下列标识符中,不合法的C语言用户自定义标识符是()。 A:printf B:enum C:_ D:sin 答案:B

第10题 (1.0分) 题号:646

若有说明 int a[3][4];则a数组元素的非法引用是()。 A:a[0][2*1] B:a[1][3] C:a[4-2][0] D:a[0][4] 答案:D

第11题 (1.0分) 题号:658

若使用一维数组名作函数实参,则以下正确的说法是()。 A:必须在主调函数中说明此数组的大小 B:实参数组类型与形参数组类型可以不匹配 C:在被调用函数中,不需要考虑形参数组的大小 D:实参数组名与形参数组名必须一致 答案:A

第12题 (1.0分) 题号:728

已知函数的调用形式:fread(buffer,size,count,fp);其中buffer 代表的是()。 7

A:一个整数,代表要读入的数据项总数 B:一个檔指标,指向要读的檔

C:一个指针,指向要读入数据的存放地址 D:一个存储区,存放要读的数据项 答案:C

第13题 (1.0分) 题号:145

经下列语句定义后,sizeof(x),sizeof(y),在

微机上的值分别为()。 char x=65; float y=7.3; int a=100; double b=4.5; A:2,2,2,4 B:1,2,2,4 C:1,4,2,8 D:2,4,2,8 答案:C

sizeof(a),sizeof(b)

第14题 (1.0分) 题号:106 以下叙述中不正确的是()。 A:一个好的程序应该有详尽的注释 B:在C程序中,赋值运算符的优先级最低 C:在C程序中,j++;是一条赋值语句

D:C程序中的#include和#define均不是C语句 答案:B

第15题 (1.0分) 题号:594

设 int x=1, y=1; 表达式(!x||y--)的值是()。 A:0 B:1 C:2 D:-1 答案:B

第16题 (1.0分) 题号:711 下列选项中正确的语句组是()。 A:char s[8]; s={\B:char *s; s={\

C:char s[8]; s=\D:char *s; s=\; 答案:D

第17题 (1.0分) 题号:195

若有下列定义和语句,则对a数组元素的非法引用是()。 int a[2][3], (*pt)[3]; pt=a; A:pt[0][0] B:*(pt+1)[2] C:*(pt[1]+2) D:*(a[0]+2 答案:B

第18题 (1.0分) 题号:612

语句while(!E);中的表达式!E等价于()。 A:E==0 B:E!=1 C:E!=0 D:E==1

答案:A

第19题 (1.0分) 题号:100

以下标识符中,不能作为合法的C用户定义标识符的是()。 A:putchar B:_double C:_123 D:INT 答案:A

第20题 (1.0分) 题号:715

若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是()。 A:i=*p; B:*p=*&j; C:i=&j; D:i=**p; 答案:B

第21题 (1.0分) 题号:633

对以下说明语句 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:因为数组长度与初值的个数不相同,所以此语句不正确 答案:B

第22题 (1.0分) 题号:431 下列程序的输出结果是()。 main()

{ int x=1,y=0,a=0,b=0; switch(x) {

case 1:switch(y) {

case 0:a++;break; case 1:b++;break; } case 2:a++;b++;break;

case 3:a++;b++;break; }

printf(\}

A:a=1,b=0 B:a=2,b=1 C:a=1,b=1 D:a=2,b=2 答案:B

第23题 (1.0分) 题号:552

应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为()。 A:fclose() B:close() C:fread() D:fwrite 答案:A

第24题 (1.0分) 题号:556

static struct {int a1;float a2;char a3;}a[10]={1,3.5,'A'};

说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存储方式,其中被初始化的下标变量是()。 A:a[1] B:a[-1] C:a[0] D:a[10] 答案:C

第25题 (1.0分) 题号:543

若有int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5 的语句为()。 A:printf(\B:printf(\C:printf(\D:printf(\ 答案:D

第26题 (1.0分) 题号:580

设变数a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的

数据类型为()。 A:int B:float C:double D:不确定 答案:C

第27题 (1.0分) 题号:199

若有int a[][]={{1,2},{3,4}}; 则*(a+1),*(*a+1)的含义分别为()。 A:非法,2 B:&a[1][0],2 C:&a[0][1],3 D:a[0][0],4 答案:B

第28题 (1.0分) 题号:148

C语言中要求对变量作强制定义的主要理由是()。

A:便于移植 B:便于写文件

C:便于编辑预处理程序的处理 D:便于确定类型和分配空间 答案:D

第29题 (1.0分) 题号:202

设有如下定义: struct sk {int a; float b;} data,*p; 若要使p指向data中的a域,正确的赋值语句是()。 A:p=(struct sk*)&data.a; B:p=(struct sk*) data.a; C:p=&data.a; D:*p=data.a; 答案:A

第30题 (1.0分) 题号:697 若x=2,y=3则x&y的结果是()。 A:0 B:2 C:3

D:5 答案:B

第31题 (1.0分) 题号:136 下列程序的输出结果为()。 main() {int m=7,n=4; float a=38.4,b=6.4,x; x=m/2+n*a/b+1/2; printf(\}

A:27.000000 B:27.500000 C:28.000000 D:28.500000 答案:A

第32题 (1.0分) 题号:131

若k为int型变量,则以下程序段的执行结果是()。 k=-8567; printf(\

A:格式描述符不合法,输出无定值 B:输出为|D| C:输出为|0-8567| D:输出为|-8567| 答案:B

第33题 (1.0分) 题号:523

函数的形式参数隐含的存储类型说明是()。 A:extern B:static C:register D:auto 答案:D

第34题 (1.0分) 题号:550

不仅可将C源程序存在磁盘上,还可将数据按数据类型分别以()形式存在磁盘上。 A:内存 B:缓冲区 C:文件

D:寄存器 答案:C

第35题 (1.0分) 题号:571 以下叙述正确的是()。

A:在C程序中,main函数必须位于程序的最前面 B:C程序的每行中只能写一条语句 C:C语言本身没有输入输出语句

D:在对一个C程序进行编译的过程中,可发现注释中的拼写错误 答案:C

第36题 (1.0分) 题号:509 int a=1,b=2,c=3;

if(a>b)a=b;

if(a>c)a=c;

则a的值为()。

A:1 B:2 C:3 D:不一定 答案:A

第37题 (1.0分) 题号:693

以下各选项企图说明一种新的类型名,其中正确的是()A:typedef v1 int; B:typedef v2=int; C:typedef int v3; D:typedef v4: int; 答案:C

第38题 (1.0分) 题号:151 以下程序的运行结果是()。 main() {

int i=1,sum=0;

while(i<10) sum=sum+1;i++;

printf(\}

A:i=10,sum=9 B:i=9,sum=9 C:i=2,sum=1 D:运行出现错误 答案:D

第39题 (1.0分) 题号:94

在C语言中,能代表逻辑值“真”的是()。 A:True B:大于0的数 C:非0整数 D:非0的数 答案:D

第40题 (1.0分) 题号:632 以下叙述正确的是()。

A:do-while语句构成的循环不能用其它语句构成的循环来代替.

B:do-while语句构成的循环只能用break语句退出. C:用do-while语句构成的循环,在while后的表达式为非零时结束循环.

D:用do-while语句构成的循环,在while后的表达式为零时结束循环 答案:D

第41题 (1.0分) 题号:500 下列程序段的输出结果为()。

int x=3,y=2;

printf(\A:1 B:7 C:3 D:5 答案:C

第42题 (1.0分) 题号:518

char a[]=\输出前5个字符的语句是()。 A:printf(\B:puts(a); C:printf(\D:a[5*2]=0;puts(a); 答案:A

第43题 (1.0分) 题号:669

若用数组名作为函数的实参,传递给形参的是()。 A:数组的首地址 B:数组第一个元素的值 C:数组中全部元素的值 D:数组元素的个数 答案:A

第44题 (1.0分) 题号:496

double x;scanf(\不可以赋值给x变量的常量是()。 A:123 B:100000 C:A'

D:\ 答案:D

第45题 (1.0分) 题号:531

C语言中,定义结构体的保留字是()。 A:union B:struct C:enum D:typedef 答案:B

第46题 (1.0分) 题号:630

逻辑运算符两侧运算对象的数据类型()。 A:只能是0或1 B:只能是0或非0正数 C:只能是整型或字符型数据 D:可以是任何类型的数据 答案:D

第47题 (1.0分) 题号:708 下面判断正确的是()。

A:char *a=\等价于 char *a;*a=\B:char

str[10]={\

str[10];str[]={\

C:char *s=\等价于 char *s;s=\D:char

c[4]=\

c[4]=d[4]=\ 答案:C

第48题 (1.0分) 题号:206 以下程序的输出结果是()。 main()

{ char s[]=\ p=s;

printf(\ } A:123 B:321 C:213 D:312

char

char

答案:B

第49题 (1.0分) 题号:579

在C语言中,char型数据在内存中的存储形式是()。 A:补码 B:反码 C:原码 D:ASCII码 答案:D

第50题 (1.0分) 题号:211

fgets(str,n,fp)函数从文件中读入一个字符串,以下正确的叙述是()。

A:字符串读入后不会自动加入'\\0' B:fp是file类型的指针

C:fgets函数将从文件中最多读入n-1个字符 D:fgets函数将从文件中最多读入n个字符 答案:C

第51题 (1.0分) 题号:112 下列程序的输出结果是()。 main()

{char c1=97,c2=98; printf(\} A:97 98 B:97 b C:a 98 D:a b 答案:B

第52题 (1.0分) 题号:586 以下选项中合法的实型常数是()。 A:5E2.0 B:E-3 C:.2E0 D:1.3E 答案:C

第53题 (1.0分) 题号:92

以下的选择中,正确的赋值语句是()。 A:a=1,b=2 B:j++ C:a=b=5; D:y=int(x) 答案:C

第54题 (1.0分) 题号:740

若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,

下面符合此要求的函数调用是()。 A:fopen(\B:fopen(\C:fopen(\D:fopen(\ 答案:B

第55题 (1.0分) 题号:565 以下叙述中正确的是()。

A:C语言的源程序不必通过编译就可以直接运行

B:C语言中的每条可执行语句最终都将被转换成二进制的机器指令

C:C源程序经编译形成的二进制代码可以直接运行 D:C语言中的函数不可以单独进行编译 答案:B

第56题 (1.0分) 题号:157 下列程序的输出结果是()。 main()

{ int x=1,y=0,a=0,b=0; switch(x) {

case 1:switch(y) {

case 0:a++;break; case 1:b++;break; } case 2:a++;b++;break; case 3:a++;b++;break; }

printf(\}

A:a=1,b=0 B:a=2,b=1 C:a=1,b=1 D:a=2,b=2 答案:B

第57题 (1.0分) 题号:558

int a[10]={1,2,3,4,5,6,7,8};int *p;p=&a[5];p[-3]的值是()。 A:2 B:3 C:4 D:不一定 答案:B

第58题 (1.0分) 题号:178

以下对C语言函数的描述中,正确的是()。 A:C程序必须由一个或一个以上的函数组成 B:C函数既可以嵌套定义又可以递归调用

C:函数必须有返回值,否则不能使用函数

D:C程序中有调用关系的所有函数必须放在同一个程序文件中 答案:A

第59题 (1.0分) 题号:210

在位运算中,操作数每右移一位,其结果相当于()。 A:操作数乘以2 B:操作数除以2 C:操作数乘以16 D:操作数除以16 答案:B

第60题 (1.0分) 题号:674

以下错误的描述是:函数调用可以()。 A:出现在执行语句中 B:出现在一个表达式中 C:做为一个函数的实参 D:做为一个函数的形参

答案:D

第61题 (1.0分) 题号:212 C语言中的文件类型只有()。 A:索引文件和文本文件两种 B:ASCII文件和二进制文件两种 C:文本文件一种 D:二进制文件一种 答案:B

第62题 (1.0分) 题号:570 以下叙述不正确的是()。

A:一个C源程序可由一个或多个函数组成 B:一个C源程序必须包含一个main函数 C:C程序的基本组成单位是函数

D:在C程序中,注释说明只能位于一条语句的后面 答案:D

第63题 (1.0分) 题号:524

与实际参数为实型数组名相对应的形式参数不可以定义为

()。 A:float a[]; B:float *a; C:float a; D:float (*a)[3]; 答案:C

第64题 (1.0分) 题号:659

凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()。 A:自动(auto) B:静态(static) C:外部(extern) D:寄存器(register) 答案:A

第65题 (1.0分) 题号:636

若二维数组a有m列,则在a[i][j]前的元素个数为()。 A:j*m+i B:i*m+j

C:i*m+j-1 D:i*m+j+1 答案:B

第66题 (1.0分) 题号:146

用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,的值是()。 long a=0xffffff; int b; char c; A:0ffffff 和0x61 B:-1和98 C:-1和97 D:指向同一地址 答案:C

第67题 (1.0分) 题号:584

设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型为()。 A:float B:char

c

C:int D:double 答案:D

第68题 (1.0分) 题号:105

以下运算符中,优先级最高的运算符是()。 A:= B:!= C:*(乘号) D:() 答案:D

第69题 (1.0分) 题号:704

变量的指针,其含义是指该变量的()。 A:值 B:地址 C:名 D:一个标志 答案:B

第70题 (1.0分) 题号:676

以下只有在使用时才为该类型变量分配内存的存储类说明是()。 A:auto和 static B:auto和 register C:register和 static D:extern和 register 答案:B

第71题 (1.0分) 题号:104

以下运算符中,优先级最高的运算符是()。 A:|| B:% C:! D:== 答案:C

第72题 (1.0分) 题号:504

执行以下程序段后,输出结果和a的值是()。

int a=10;

printf(\A:10 和 10 B:10 和 11 C:11 和 10 D:11 和 11 答案:B

第73题 (1.0分) 题号:613 下面有关 for 循环的正确描述是()。 A:for 循环只能用于循环次数已经确定的情况 B:for 循环是先执行循环循环体语句,后判断表达式 C:在 for 循环中,不能用 break 语句跳出循环体

D:for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 答案:D

第74题 (1.0分) 题号:116

下列语句的结果是()。 main() { int j; j=3;

printf(\ printf(\} A:3,3 B:3,4 C:4,3 D:4,4 答案:D

第75题 (1.0分) 题号:680

在调用函数时,如果实参是简单变量,它与对应形参之间的数据

传递方式是()。 A:地址传递 B:单向值传递

C:由实参传给形参,再由形参传回实参 D:传递方式由用户指定

答案:B

第76题 (1.0分) 题号:91

以下数值中,不正确的八进制数或十六进制数是()。 A:0x16 B:16 C:-16 D:0xaaaa 答案:C

第77题 (1.0分) 题号:541

若有int i=3,*p;p=&i;下列语句中输出结果为3的是()。 A:printf(\B:printf(\C:printf(\D:printf(\ 答案:C

第78题 (1.0分) 题号:503

以下语句中,不能实现回车换行的是()。 A:printf(\B:putchar(\C:fprintf(stdout,\D:fwrite(\ 答案:B

第79题 (1.0分) 题号:720 函数 rewind 的作用是()。 A:使位置指针重新返回文件的开头 B:将位置指针指向文件中所要求的特定位置 C:使位置指针指向文件的末尾

D:使位置指针自动移至下一个字符位置 答案:A

第80题 (1.0分) 题号:732

若执行fopen函数时发生错误,则函数的返回值是()。 A:地址值 B:0 C:1

D:EOF 答案:B

第81题 (1.0分) 题号:592

能正确表示逻辑关系:\≥10或a≤0\的C语言表达式是()。 A:a>=10 or a<=0 B:a>=0|a<=10 C:a>=10&&a<=0 D:a>=10‖a<=0 答案:D

第82题 (1.0分) 题号:736 以下叙述中错误的是()。

A:二进制文件打开后可以先读檔的末尾,而顺序文件不可以 B:在程序结束时,应当用fclose函数关闭已打开的文件 C:在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据

D:不可以用FILE定义指向二进制文件的文件指针 答案:D

第83题 (1.0分) 题号:123 执行下列程序后,其输出结果是()。 main() {int a=9; a+=a-=a+a; printf(\} A:18 B:9 C:-18 D:-9 答案:C

第84题 (1.0分) 题号:180

以下函数调用语句中实参的个数是()func((e1,e2),(e3,e4,e5)); A:2 B:3 C:5 D:语法错误

答案:A

第85题 (1.0分) 题号:103

以下运算符中,优先级最高的运算符是()。 A:*= B:>= C:(类型) D:+ 答案:C

第86题 (1.0分) 题号:610

以下选项中,与k=n++完全等价的表达式是()A:k=n,n=n+1 B:n=n+1,k=n C:k=++n D:k+=n+1 答案:A

第87题 (1.0分) 题号:675

关于建立函数的目的,以下正确的说法是()。 A:提高程序的执行效率 B:提高程序的可读性 C:减少程序的篇幅 D:减少程序文件所占内存 答案:B

第88题 (1.0分) 题号:679

在C语言中,形参的缺省存储类是()。 A:auto B:register C:static D:extern 答案:A

第89题 (1.0分) 题号:665 以下正确的说法是:在C语言中()。

A:实参和与其对应的形参各占用独立的存储单元 B:实参和与其对应的形参共占用一个存储单元

C:只有当实参和与其对应的形参同名时才共占用存储单元

D:形参是虚拟的,不占用存储单元 答案:A

第90题 (1.0分) 题号:703

若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是()。 A:&t[3][2] B:t[3] C:&t[1] D:t[2] 答案:D

第91题 (1.0分) 题号:491 下列程序段的输出结果为()。

float k=0.8567;

printf(\A:0085.6%% B:0085.7%

C:0085.6% D:.857 答案:B

第92题 (1.0分) 题号:542

若有int *p=(int *)malloc(sizeof(int));则向内存申请到内存 空间存入整数123的语句为()。 A:scanf(\B:scanf(\C:scanf(\D:scanf(\ 答案:A

第93题 (1.0分) 题号:597

下列四个选项中,均是C语言关键词的选项是()。 A:auto enum include B:switch typedef continue C:signed union scanf D:if struct type

答案:B

第94题 (1.0分) 题号:164 下列数组说明中,正确的是()。 A:static char str[]=\B:static char str[]; str=\

C:static char str1[5],str2[]={\

D:static char str1[],str2[];str2={\ 答案:A

第95题 (1.0分) 题号:532 结构体类型的定义允许嵌套是指()。 A:成员是已经或正在定义的结构体型 B:成员可以重名 C:结构体型可以派生 D:定义多个结构体型 答案:A

第96题 (1.0分) 题号:526

用户定义的函数不可以调用的函数是()。

A:非整型返回值的 B:本文件外的 C:main函数 D:本函数下面定义的 答案:C

第97题 (1.0分) 题号:643

以下能对一维数组a进行正确初始化的语句是()。 A:int a[10]=(0,0,0,0,0) B:int a[10]={}; C:int a[]={0}; D:int a[10]={10*1}; 答案:C

第98题 (1.0分) 题号:668 以下正确的说法是()。

A:用户若需调用标准库函数,调用前必须重新定义 B:用户可以重新定义标准库函数,若如此,该函数将失去原有含义

C:系统根本不允许用户重新定义标准库函数

D:用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 答案:B

第99题 (1.0分) 题号:692 以下叙述中正确的是()。

A:在程序的一行上可以出现多个有效的预处理命令行 B:使用带参的宏时,参数的类型应与宏定义时的一致 C:宏替换不占用运行时间,只占编译时间

D:在以下定义中 C R 是称为\宏名\的标识符 #define C R 045 答案:C

第100题 (1.0分) 题号:625

已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是()。 A:0 B:语法错 C:1 D:\假\

答案:C

第101题 (1.0分) 题号:160

C语言的if语句嵌套时,if与else的配对关系是()。 A:每个else总是与它上面的最近的if配对 B:每个else总是与最外层的if配对 C:每个else与if的配对是任意的 D:每个else总是与它上面的if配对 答案:A

第102题 (1.0分) 题号:544 char *s1=\则()。 A:s2指向不确定的内存单元 B:不能访问\

C:puts(s1);与puts(s2);结果相同 D:s1不能再指向其它单元 答案:C

第103题 (1.0分) 题号:213

C语言中,文件由()。 A:记录组成 B:由数据行组成 C:由数据块组成 D:由字符(字节)序列组成 答案:D

第104题 (1.0分) 题号:98

以下标识符中,不能作为合法的C用户定义标识符的是()。 A:For B:Printf C:WORD D:sizeof 答案:D

第105题 (1.0分) 题号:619

对 for(表达式1; ;表达式3) 可理解为()。 A:for(表达式1;0;表达式3) B:for(表达式1;1;表达式3) C:for(表达式1;表达式1;表达式3)

D:for(表达式1;表达式3;表达式3) 答案:B

第106题 (1.0分) 题号:637

若有说明:int a[3][4];则数组a中各元素()。 A:可在程序的运行阶段得到初值0 B:可在程序的编译阶段得到初值0 C:不能得到确定的初值

D:可在程序的编译或运行阶段得到初值0 答案:D

第107题 (1.0分) 题号:135

已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为()。 char a='a'; a--;

printf(\A:b,c

B:a--运算不合法,故有语法错 C:98,c

D:格式描述和输出项不匹配,输出无定值

本文来源:https://www.bwwdw.com/article/c6xw.html

Top