C语言选择题.docx

上传人:b****4 文档编号:4838309 上传时间:2022-12-10 格式:DOCX 页数:29 大小:25.89KB
下载 相关 举报
C语言选择题.docx_第1页
第1页 / 共29页
C语言选择题.docx_第2页
第2页 / 共29页
C语言选择题.docx_第3页
第3页 / 共29页
C语言选择题.docx_第4页
第4页 / 共29页
C语言选择题.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

C语言选择题.docx

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

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<>”命令的作用是在预处理时将文件中的实际内容代替该命令

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(“”,”rt”);

if(fp==NULL)

{printf(“Fileopenerror!

:

);

return;

}

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

fclose(fp);

}

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

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

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

D)文件已经打开 

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

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

B)floatx=,inti,j=6;

C)floatx=,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)若当前工作目录下有一文本文件,其内容为"cprogram“(不包含引号),则以下程序段的运行结果是()。

FILE*fp;

char*str;

if((fp=fopen(“”,”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=,y=;则表达式()的值为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(“”,”wt”);

if(fp!

=NULL)

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

\n”);

fclose(fp);

printf(“writeok!

\n”);

}

}

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

B)当前工作目录的文件已经打开

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

D)当前工作目录下存在文件,其中的内容是”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)

B)

C)0

D) 

(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)

C)[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=,y=;则表达式()的值为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

b;

return(c);

}

main()

{inta=4;

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

}

A)4

B)2

C)3

D)2,3

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

chara[5]=”work”;

char*p;

p=a;

A)‘o’

B)‘w’

C)a[1]的地址

D)a[0]的地址

(75)若有定义:

inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;,则()表达式是错误的。

A)p++

B)a++

C)a[2]

D)p[2]

(76)C语言中,对文件操作的一般步骤是()。

A)定义文件指针,读文件,写文件,关闭文件

B)操作文件,定义文件指针,修改文件,关闭文件

C)定义文件指针,打开文件,读写文件,关闭文件

D)打开文件,定义文件指针,读写文

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

当前位置:首页 > 求职职场 > 简历

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

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