c语言选择题.docx

上传人:b****7 文档编号:23636251 上传时间:2023-05-19 格式:DOCX 页数:39 大小:24.32KB
下载 相关 举报
c语言选择题.docx_第1页
第1页 / 共39页
c语言选择题.docx_第2页
第2页 / 共39页
c语言选择题.docx_第3页
第3页 / 共39页
c语言选择题.docx_第4页
第4页 / 共39页
c语言选择题.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

c语言选择题.docx

《c语言选择题.docx》由会员分享,可在线阅读,更多相关《c语言选择题.docx(39页珍藏版)》请在冰豆网上搜索。

c语言选择题.docx

c语言选择题

(1)下面表达正确的选项是〔〕。

A)main()函数必须位于源程序文件的开头

B)程序中必需含有自定义函数

C)每行最多只能写两条语句

D)所有语句都必须以分号“;〞完毕

 

(2)下面表达错误的选项是〔〕。

A)C语言规定可逐个引用数组元素但不能一次引用整个数组

B)C语言数组名称是数组在存中的首地址

C)数组中每一个元素都属于同一个数据类型

D)C语言数组长度在定义数组时刻不作确定

 

(3)以下程序段的运行结果是〔〕。

intt[][3]={1,2,3,4,5,6,7,8,9,10,11,12};

printf(“%d\n〞,t[1][1]);

A)4

B)3

C)5

D)1

 

(4)以下程序段的运行结果是〔〕。

charstr[3][2]={‘a’,’b’,’c’,’\0’,’e’,’f’};

printf(“%s〞,str[0]);

A)abc\0ef

B)abcef

C)abc

D)a

 

(5)以下程序段的运行结果是〔〕。

intf(intc)

{c+=2;

returnc;

}

main()

{inta=2,c=5;

a=f(a);

printf(“%d%d\n〞,a,c);

}

A)24

B)44

C)45

D)25

 

(6)下面表达错误的选项是〔〕。

A)“#definePRICE30”命令的作用是定义一个与30等价的符号常量PRICE

B)C源程序中参加一些预处理命令是为了改良程序设计环境,提高编程效率

C)“#include〞命令的作用是在预处理时将stdio.h文件中的实际容代替该命令

D)宏定义也是C语句,必须在行末加分号

 

(7)假设有定义:

inta=2,*p=&a;,那么以下〔〕均表示地址。

A)&a,p

B)a,p

C)a,*p

D)&a,*p

 

(8)以下程序段运行后x的值为〔〕。

inta[]={1,2,3,4,5,6,7,8};

inti,x,*p;

x=1;

p=&a[1];

for(i=0;i<3;i++)

x*=*(p+i);

A)1

B)120

C)24

D)6

 

(9)以下〔〕对构造类型变量定义是错误的。

A)structteacher

{intnum;

intage;

};

structteacherteach1;

B)struct

{intnum;

intage;

}teach1,teach2;

C)struct

{intnum;

intage;

}teacher;

structteacherteach1;

D)structteacher

{intnum;

intage;

}teach1; 

 

(10)以下程序段运行后,〔〕对数组a元素的引用是错误的。

〔其中0≤i<4,0≤j<3〕

inti,j,(*p)[3];

inta[][3]={1,2,3,4,5,6,7,8,9,10,11,12};

p=a;

A)*(*(a+i)+j)

B)*(*(p+i)+j)

C)p[i][j]

D)*(p[i]+j)

 

(11)假设有定义:

charch;

intj,k;

enumday{sun,mon,tue,wed,thu,fri,sat};

inta[sat];

那么〔〕对以下语句是否符合语法规那么的判断是正确的。

sun=0;/*语句1*/

j=mon+tue;/*语句2*/

if(a[mon]>)j++;/*语句3*/

A)语句1、2、3均正确

B)语句2正确,语句1和语句3错误

C)语句1错误,语句2和语句3正确

D)语句1、2、3均错误

 

(12)C语言的根本数据类型包括〔〕。

A)整型、实型、字符型

B)整型、指针型、字符型

C)整型、实型、逻辑型

D)整型、实型、空类型

 

(13)下面程序运行后,屏幕显示Fileopenerror!

,那么可能的原因是〔〕。

#include

main()

{

FILE*fp;

charstr[256];

fp=fopen(“test.txt〞,〞rt〞);

if(fp==NULL)

{printf(“Fileopenerror!

:

);

return;

}

fscanf(fp,〞%s〞,str);

fclose(fp);

}

A)当前工作目录下没有test.txt文件

B)函数fopen()的参数是错误的

C)当前工作目录下的test.txt文件是空文件

D)text.txt文件已经翻开

 

(14)〔〕语句符合C语言语法。

A)inta=b=2,c=5;

B)floatx=3.2,inti,j=6;

C)floatx=2.3,b,c;

D)inta=2,b+=a;

 

(15)假设有定义:

intx,y,z;语句x=(y=z=3,++y,z+=y);运行后x的值为〔〕。

A)6

B)7

C)8

D)3

 

(16)假设有定义inta=8,b=5;要实现输出形式为:

8*5=40,正确的printf()函数调用语句是〔〕。

A)printf(“a*b=a*b\n〞);

B)printf(“a*b=%d\n〞,a*b);

C)printf(“%d*%d=a*b\n〞,a,b);

D)printf(“%d*%d=%d\n〞,a,b,a*b);

 

(17)假设有定义:

inta;且表达式!

a的值为0,那么表达式〔〕的值为1。

A)!

(a<0||a>0)

B)a!

=0

C)a==0

D)a=0

 

(18)以下运算符中优先级最低的是〔〕。

A)>

B)*

C)=

D)!

 

(19)以下程序段运行后x的值为〔〕。

inta=3,b=6,x;

x=(a==b)?

a++:

--b;

A)6

B)4

C)5

D)3

 

(20)以下程序段运行后x的值为〔〕。

inti=0,x=0;

for(;i<=5;i++,i++)

{x+=3;}

A)9

B)15

C)6

D)12 

 

(21)〔〕是关于C语言数据类型的正确表达。

A)枚举类型不是根本类型

B)变量使用前应定义相应的数据类型

C)不允许使用空类型

D)数组不是构造类型

 

(22)〔〕是正确的数组定义。

A)intn=5;intarr[n];

B)intn;n=5;intarr[n];

C)intarr[10];

D)intN=5,arr[N];

 

(23)以下程序段运行后a的值为〔〕。

inta=2;

a=strcmp(“miss〞,〞miss〞);

A)true

B)0

C)1

D)-1

 

(24)以下程序段的运行结果是〔〕。

intfun(intarray[3][3])

{intj;

for(j=0;n<3;j++)array[1][j]++;

printf("\n");

}

main()

{intj,a[3][3]={0,1,2,1,0,4,2,4,5};

fun(a);

for(j=0;n<3;j++)printf(“%2d〞,a[1][j]);

printf("\n");

}

A)104

B)012

C)123

D)215

 

(25)假设有定义:

#definePI3,那么表达式PI*2*2的值为〔〕。

A)4

B)不确定

C)12

D)322

 

(26)假设有定义:

int*p1,*p2;,那么不能用于指针变量p1、p2之间的运算符是〔〕。

A)-

B)=

C)+

D)==

 

(27)假设有定义:

structteacher

{intnum;

charsex;

intage;

}teacher1;

那么下面表达错误的选项是〔〕。

A)teacher1是构造类型名

B)structteacher是用户定义的构造类型

C)num、sex、age都是构造变量teacher1的成员

D)struct是构造类型的关键字

 

(28)以下程序段运行后,表达式〔〕的值为3。

structpoint

{intx;

inty;

}*p;

stuctpointa[3]={1,2,3,4,5,6};

p=a;

A)p[1].x

B)*(p+2)

C)p[3].x

D)p[2].x

 

(29)假设有定义:

typedefintNUM[100];

NUMn;

那么〔〕语句是正确的。

A)n[0]=2;

B)NUM=2;

C)NUM=n;

D)n=2;

 

(30)〔〕为非法的字符串常量。

A)“case〞

B)““

C).〞056”

D)‘123’

 

(31)假设当前工作目录下有一文本文件test.txt,其容为"cprogram“〔不包含引号〕,那么以下程序段的运行结果是〔〕。

FILE*fp;

char*str;

if((fp=fopen(“test.txt〞,〞r〞))!

=NULL)

str=fgets(str,5,fp);

printf("%s",str);

fclose(fp);

A)cpro

B)cprog

C)ogram

D)gram

 

(32)假设有定义:

inta=3;,语句a+=a-=a*a;运行后a的值为〔〕。

A)-3

B)-6

C)-12

D)0

 

(33)假设有定义:

inti=3,j=6;,那么表达式(--i)*(j++)的值为〔〕。

A)12

B)10

C)18

D)15

 

(34)getchar()函数的功能是获取终端输入的〔〕。

A)一个实型变量值

B)一个字符

C)多个字符

D)一个整型变量表达式

 

(35)假设有定义:

inta;,那么表达式〔〕不能用来判断a值为奇数是“真〞,偶数是“假〞。

A)a%2==1

B)!

(a%2)

C)a%2

D)!

(a%2==0)

 

(36)假设有定义:

floatx=3.5,y=3.6;那么表达式〔〕的值为6。

A)(int)x+(int)y

B)x+y

C)(int)(x+y)

D)int(x+y)

 

(37)以下程序运行后输出结果是〔〕。

voidmain()

{inta,b=2,c=6;

a=3;

if(a>6)a=a+b;

elseif(a==6)b=a+c;

elsea=b+c;

printf("%d\n",a);

}

A)9

B)6

C)8

D)5

 

(38)以下程序段运行后x的值为〔〕。

inti,j,x=0

for(i=3;i>=1;i--)

for(j=1;j<=i;j++)

x=x+2;

A)8

B)14

C)10

D)12

 

(39)下面表达错误的选项是〔〕。

A)c源程序必须包含一个main()函数

B)c源程序可由一个或多个函数组成

C)一个c源程序的执行是从main()函数开场,直到main()函数完毕

D)注释说明局部只能位于c源程序的最前面

 

(40)下面表达错误的选项是〔〕。

A)一个指针变量只能指向同一类型的变量

B)一个变量的地址称为该变量的指针

C)可以将一个整数值赋给指针变量

D)任何指针变量都可以与空指针NULL进展比拟

 

(41)以下程序的运行结果是〔〕。

main()

{intx,y;

int*p,*q,*t;

x=23;y=45;

p=&x;q=&y;

t=p;

p=q;

q=t;

printf("%d,%d\n",x,y);

}

A)45,23

B)45,45

C)23,45

D)23,23

 

(42)假设有定义inta=1,b=2,t=3;

structdata

{chara

floatb[3];

longc;

}d1;

那么变量d1的长度是〔〕。

A)4

B)17

C)12

D)15

 

(43)以下程序的运行结果是〔〕。

main()

{inta[3]={1,2,3};

int*num[3];

int**p,i;

for(i=0;i<3;i++)

num[i]=&a[i];

p=num;

printf("%d",**p);

}

A)1

B)&a[0]

C)3

D)num

 

(44)下面程序运行后,屏幕显示writeok!

,那么下面表达正确的选项是〔〕。

main()

{FILE*fp;

fp=fopen(“data.txt〞,〞wt〞);

if(fp!

=NULL)

{fprintf(fp,〞%s\n〞,〞Filewritesuccessd!

\n〞);

fclose(fp);

printf(“writeok!

\n〞);

}

}

A)当前工作目录下找不到data.txt文件

B)当前工作目录的data.txt文件已经翻开

C)当前工作目录的data.txt文件已经关闭

D)当前工作目录下存在data.txt文件,其中的容是〞writeok!

 

(45)〔〕为正确的用户标识符。

A)union

B)3_row

C)max_at

D)min-5 

 

(46)假设有定义:

intb=-15;,那么〔〕为正确的赋值表达式。

A)b=*5

B)*b=6

C)b+=b*3

D)b+10=-5

 

(47)以下表达错误的选项是〔〕。

A)算术运算符中不包含“=〞运算符

B)模运算符“%〞是c语言根本的算术运算符

C)算术运算符中只有“*〞、“/〞优先级高于关系运算符

D)自加和自减运算符只能用于变量,而不能用于常量或表达式

 

(48)假设有定义:

floatx=2,y;inta=3;语句y=1*(x+a)/3;运行后,y的值为〔〕。

A)2.0

B)1.0

C)0

D)1.666667

 

(49)假设有定义:

intarr[15],n=5;无确引用arr数组元素的是〔〕。

A)arr[10+n]

B)arr[0]

C)arr[15-n]

D)arr[n]

 

(50)以下程序段运行后s的值是〔〕。

inta[3][3]={1,2,3,1,2,3,1,2,3};

inti,j,s=0

for(i=0;i<3;i++)

for(j=i;j<3;j++)

s+=a[i][j];

A)12

B)14

C)13

D)15

 

(51)以下程序段的运行结果是〔〕。

chara[]=〞abcdef〞;

charb[]=〞xyz〞;

strcpy(a,b);

printf(“%c〞,a[2]);

A)c

B)y

C)z

D)b

 

(52)以下程序的运行结果是〔〕。

#defineXa+b

main()

{

inta=3,b=4,s1;

s1=2*X;

printf("%d\n",s1);

}

A)8

B)14

C)10

D)6

 

(53)假设有定义intx=1,y=2,n=3;那么〔〕为正确的表达式。

A)float(y/n)

B)(x+y)(y+n)

C)x=y*3,y=(x+n)/y

D)x=ny

 

(54)假设有定义

structteacher

{intnum;

charname[10];

charsex;

intage;

}t1={2001,〞LiMing〞,’M’,35};

那么以下〔〕对构造变量引用是正确的。

A)t1->name

B)t1.name

C)t1.name[0]

D)t1->name[0]

 

(55)假设有定义enumday{sun,mon,tue,wed,thu,fri,sat};,那么枚举常量sun、mon的值分别为〔〕。

A)01

B)71

C)70

D)12

 

(56)假设有语句inta;charc;scanf(“%3d%c〞,&a,&c);,为将整数135赋给a,字符'6'赋给c,正确的数据输入方式是〔〕。

〔说明:

代表换行,__代表空格〕

A)135__6

B)1356

C)1356

D)135__6__

 

(56)假设有定义inta=3,b=5,c=8;那么表达式!

(a-b)||(c-b)的值为〔〕。

A)1

B)0

C)2

D)3

 

(57)假设有定义:

floatx=3.5,y=5.5;那么表达式〔〕的值为2。

A)(int)(x+y)%7

B)int(x+y)%7

C)(x+y)%7

D)(int)x+y%7

 

(58)假设有定义:

inti,x=0;语句for(i=1;i<=3;i++)x+=2;与以下〔〕程序段不等价。

A)i=1;

for(;i<=3;i++)x+=2;

B)for(i=1;i<=3;)

{x+=2;i++;}

C)i=1;

for(;i<=3;)

{x+=2;i++;}

D)i=1;

for(;;i++)x+=2;

 

(59)以下〔〕对二维数组arr的初始化是错误的。

A)intarr[2][3]={{1,2},{3,4},{5,6}};

B)intarr[][3]={1,2,3,4,5};

C)intarr[2][3]={{1},{3,4,5}};

D)intarr[2][3]={{1,2},{3,4}};

 

(60)假设有定义:

charstr1[10],str2[10]=〞Fujian〞;,能将字符串〞Fujian〞赋给数组str1的正确语句是〔〕。

A)strcopy(str1,str2);

B)str1=〞Fujian〞;

C)strcpy(str2,str1);

D)strcpy(str1,str2);

 

(61)C语言中,数组名作为函数调用的实参时,下面表达正确的选项是〔〕。

A)形参数组中各元素值的改变会使实参数组相应元素的值同时发生变化

B)传递给形参的是数组第一个元素的值

C)传递给形参的是数组元素的个数

D)传递给形参的是数组中全部元素的值

 

(62)以下程序段的运行结果是〔〕。

intx[]={2,3,4,5,6,7},*p=x;;

inti,s=0

for(i=1;i<5;i++)s+=p[i++];

printf(“%d〞,s);

A)14

B)6

C)8

D)20

 

(63)假设有定义intx,a,b;语句x=(a=2,b=3,a+b);运行后,x、a、b的值依次为〔〕。

printf("a=%d,a=%o,a=%x\n",a,a,a);

A)235

B)532

C)325

D)523

 

(64)以下程序段的运行结果是〔〕。

ints=15;

switch(s/4)

{default:

printf(“Over“);

case1:

printf(“One“);break;

case2:

printf(“Two〞);

}

A)Two

B)OverOne

C)OverTwo

D)One

 

(65)假设有定义#defineF2+3,那么表达式F*F的值为〔〕。

A)13

B)17

C)25

D)11

 

(66)以下程序段的运行结果是〔〕

intx[3]={1,2,3};

int*p;

p=x;

for(p++;p<&x[2];p++)printf(“%d“,*p);

A)2

B)23

C)3

D)12

 

(67)假设有定义

unionu_type

{intx;

floaty[3];

charz;

}a;

那么变量a的长度是〔〕

A)4

B)1

C)15

D)12

 

(68)假设有定义:

inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12},(*p)[4];p=a;〔〕对数组a元素的引用是正确的。

A)**(p+4)

B)(**p)[2]

C)*(p[2]+3)

D)*(p[4])

 

(69)〔〕为正确的字符常量。

A)'\084'

B)''

C)'165'

D)'bcd'

 

(70)以下程序段的运行结果是〔〕。

ints=15;

switch(s/4)

{

case1:

printf(“One“);

case2:

printf(“Two〞);

case2:

printf(“Three〞);

default:

printf(“Over“);

}

A)ThreeOver

B)TwoOver

C)Three

D)OneOver

 

(71)以下程序段运行后x的值为〔〕。

inta[8]={1,2,3,4,5,6,7,8},i,x=0;

for(i=1;i<8;i++,i++)x=x+a[i];

A)20

B)18

C)16

D)36

 

(72)以下程序段的运行结果是〔〕。

charstr[]={“FuJian〞};

printf(“%d〞,strlen(str));

A)8

B)6

C)7

D)9

 

(73)以下程序的运行结果是〔〕。

inta=2,b=3;

intmin(inta,intb)

{intc;

c=a

a:

b;

return(c);

}

main()

{inta=4;

printf(“%d〞,min(a,b));

}

A)4

B)2

C)3

D)2,3

 

(74)以下程序段运行后*(p++)的值为〔〕。

cha

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 育儿理论经验

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1