C语言程序设计课后练习辅导全资料.docx

上传人:b****5 文档编号:12213328 上传时间:2023-04-17 格式:DOCX 页数:36 大小:26.81KB
下载 相关 举报
C语言程序设计课后练习辅导全资料.docx_第1页
第1页 / 共36页
C语言程序设计课后练习辅导全资料.docx_第2页
第2页 / 共36页
C语言程序设计课后练习辅导全资料.docx_第3页
第3页 / 共36页
C语言程序设计课后练习辅导全资料.docx_第4页
第4页 / 共36页
C语言程序设计课后练习辅导全资料.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

C语言程序设计课后练习辅导全资料.docx

《C语言程序设计课后练习辅导全资料.docx》由会员分享,可在线阅读,更多相关《C语言程序设计课后练习辅导全资料.docx(36页珍藏版)》请在冰豆网上搜索。

C语言程序设计课后练习辅导全资料.docx

C语言程序设计课后练习辅导全资料

C语言程序设计课后练习辅导资料

题型

题干

选项

答案

单选题

以下选项中合法的实型常数是()。

A.5E2.0

B.E-3

C..2E1

D.1.3E

C

单选题

已知i、j、k为int型变量,若从键盘输入:

1,2,3,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是()。

A.scanf(“%2d%2d%2d”,&i,&j,&k);

B.scanf(“%d%d%d”,&i,&j,&k);

C.scanf(“%d,%d,%d”,&i,&j,&k);

D.scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);

C

单选题

设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是()。

A.6.500000

B.6

C.5.500000

D.6.000000

D

单选题

以下非法的赋值语句是()。

A.n=(i=2,++i);

B.j++;

C.++(i+1);

D.x=j>0;

C

单选题

若有以下程序:

main()

{intk=2,i=2,m;

m=(k+=i*=k);

printf(“%d,%d\n”,m,i);}

执行后的输出结果是()。

A.8,6

B.8,3

C.6,4

D.7,4

C

单选题

以下选项中,与k=n++完全等价的表达式是()。

A.k=n,n=n+1

B.n=n+1,k=n

C.k=++n

D.k+=n+1

A

单选题

已有定义:

intx=3,y=4,z=5;,则表达式!

(x+y)+z-1&&y+z/2的值是()。

A.6

B.0

C.2

D.1

D

单选题

下列关于C语言用户标识符的叙述中正确的是()。

A.用户标识符中可以出现在下划线和中划线(减号)。

B.用户标识符中不可以出现中划线,但可以出现下划线。

C.用户标识符中可以出现下划线,但不可以放在用户标识符的开头。

D.用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头。

B

单选题

已知c是字符型变量,以下不正确的赋值语句是

()。

A.c=”a”

B.c=’a’

C.c=’\141’

D.c=’\x61’+3

A

单选题

C语言中对于嵌套if语句规定else总是与()配对?

A.第一个if

B.其之前最近的if

C.缩进位值相同的if

D.其之前最近的不带else的if语句

D

单选题

下面的for循环最多可执行()次。

for(x=0;y=0;(y!

=99)&&(x<4);x++);

A.4次

B.5次

C.99次

D.0次

A

单选题

C语言中各种基本数据类型的存储空间长度排列为()。

A.char≤long≤int≤float≤double

B.double≤float≤long≤int≤char

C.char≤int≤long≤float≤double

D.float≤int≤long≤char≤double

C

单选题

下列说法中正确的是()。

A.在switch语句中一定要使用break语句

B.在switch语句中不一定要使用break语句

C.break语句是switch语句的一部分

D.break只能用于switch语句中

B

单选题

以下不符合C语言语法的赋值表达式是()。

A.d=9+e,e++,d+9

B.k=i==j

C.n1+=n2+3

D.a=b+c=a+7

D

单选题

下列判断char类型变量C1是为数字的最简单且正确的表达式()。

A.'0'<=C1<='9'

B.(C1>='0')&&(C1<='9')

C.(C1>=0)&&(C1<=9)

D.('0'<=C1)&&('9'<=C1)

B

单选题

字符串”\\\’abcd\123\xAB\t”的长度为()。

A.8

B.17

C.-9

D.10

D

单选题

执行以下程序段后,变量a,b,c的值为()。

intx=11,y=10,a,b,c;

a=(--x==y++)?

--x:

++y;

b=x++;c=y;

A.a=10,b=10,c=9

B.a=9,b=9,c=12

C.a=9,b=9,c=11

D.a=1,b=9,c=11

C

单选题

以下程序的输出结果是用()表示。

main()

{intk=17;

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

}

A.17,021,0x11

B.17,17,17

C.17,0x11,021

D.17,21,11

D

单选题

若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)

s=a;

for(b=1;b<=c;b++)s=s+1;

则与上述程序段功能等价的赋值语句是()。

A.s=a+b;

B.s=a+c;

C.s=s+c;

D.s=b+c;

B

单选题

有如下程序

voidf(intx,inty)

{intt;

if(x

}

main()

{inta=4,b=3,c=5;

f(a,b);f(a,c);f(b,c);

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

}

执行后输出结果是()。

A.3,4,5

B.5,3,4

C.5,4,3

D.4,3,5

D

单选题

有以下程序

main()

{chars[]="\n123\\";

printf("%d,%d\n",strlen(s),sizeof(s));

}

执行后输出结果是()。

A.赋初值的字符串有错

B.6,7

C.5,6

D.6,6

C

单选题

以下程序的输出结果是()。

main()

{charch[3][5]={“AAAA”,”BBB”,”CC”};

printf(“\”%s\”\n”,ch[1]);

}

A.“AAAA”

B.“BBB”

C.“BBBCC”

D.“CC”

B

单选题

以下叙述中正确的是()。

A.局部变量说明为static存储数,其生存期将得到延长

B.全局变量说明为static存储类,其作用域将被扩大

C.任何存储类的变量在未赋初值时,其值都是不确定的

D.形参可以使用的存储类说明符与局部变量完全相同

A

单选题

在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则()。

A.称为函数的直接递归调用

B.称为函数的间接递归调用

C.称为函数的循环调用

D.C语言中不允许这样的递归调用

B

单选题

C语言中数组下标的下限是()。

A.1

B.0

C.视说明语句而定

D.无固定下限

B

单选题

若有定义inta[2][2]={0};,则以下描述正确的是()。

A.只有a[0][0]的值为0

B.数组每个元素的值都为0

C.只有a[0][1]的值为0

D.以上都不正确

B

单选题

下面函数f的定义:

f(inta){printf("%d",a);}

函数f的返回类型()。

A.同参数a的类型相同

B.是void类型

C.没有返回值

D.无法确定

A

单选题

以下正确的说法是()。

A.定义函数时,形参的类型说明可以放在函数体

B.return后边的值不能为表达式

C.如果函数值的类型与返回值类型不一致,以函数值类型为准

D.如果形参与实参类型不一致,以实参类型为准

C

单选题

C语言标准库函数“strcat(strcpy(STR1,STR2),STR3)”的功能是()。

A.将串STR1复制到串STR2中后再连接至串STR3之后

B.将串STR1连接至STR2之后再复制至串STR3之后

C.将串STR2复制到串STR1串后再将串STR3连接到串STR1之后

D.将串STR2连接到串STR1之后再将串STR1复制到串STR3串

C

单选题

以下程序的输出结果是()。

#definep(v,format)printf(“v=%format”,v)

#defines(x)3.5*x*x

main(){inta=1,b=2;floats1;s1=s(a+b);p(s1,f);}

A.s1=31.5

B.v=31.500000ormat

C.v=7.500000ormat

D.s1=7.5

C

单选题

若有说明:

intn=2,*p=&n,*q=p;,则以下非法的赋值语句是()。

A.p=q;

B.*p=*q;

C.n=*q;

D.p=n;

D

单选题

已定义以下函数

fun(int*p)

{return*p:

}该函数的返回值是()。

A.不确定的值

B.形参p中存放的值

C.形参p所指存储单元中的值

D.形参p的地址值

C

单选题

有以下程序

main()

{char*s[]={"one","two","three"},*p;

p=s[1];

printf("%c,%s\n",*(p+1),s[0]);

}

执行后输出结果是()。

A.n,two

B.t,one

C.w,one

D.o,two

C

单选题

若有定义:

int*p[3];,则以下叙述中正确的是()。

A.定义了一个基类型为int的指针变量p,该变量具有三个指针

B.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针

C.定义了一个名为*p的整型数组,该数组含有三个int类型元素

D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素

B

单选题

已定义以下函数

fun(char*p2,char*p1)

{while((*p2=*p1)!

=‘\0’){p1++;p2++;}}函数的功能是()。

A.将p1所指字符串复制到p2所指存空间

B.将p1所指字符串的地址赋给指针p2

C.对p1和p2两个指针所指字符串进行比较

D.检查p1和p2两个指针所指字符串中是否有‘\0’

A

单选题

有以下程序段

inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;

b=p[5];

b中的值是()。

A.5

B.6

C.8

D.9

D

单选题

运行下列程序后的输出结果是()。

main(){charstr[][10]={"China","Beijing"},*p=*str;printf("%s\n",p+10);}

A.China

B.Beijing

C.ng

D.ing

B

单选题

设有说明:

uniondata{

inti;floatf;

struct{

intx;chary;

}s;

doubled;

}a;在16位微机环境下,int类型的整数占用两个字节,则变量a在存中所占字节数为()。

A.8

B.17

C.9

D.15

A

单选题

下面对结构数据类型的叙述中,()是错的。

A.结构变量可以在说明结构类型后定义,也可在说明结构时定义

B.结构可由若干个成员组成,各成员的数据类型可以不同

C.定义一个结构类型后,编译程序要为结构的各成员分配存储空间

D.结构变量的各成员可通过结构变量名和指向结构变量的指针引用

C

单选题

在C语言中,文件若按数据的组织形式分类可分为()。

A.字符文件和数字文件

B.ASCII文件和二进制文件

C.顺序文件和随机文件

D.以上均不对

B

单选题

若有以下说明:

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

A.*p+6

B.*(p+6)

C.*p+=5

D.p+5

D

单选题

C语言程序由()组成。

A.子程序

B.过程

C.函数

D.主程序与子程序

C

单选题

下列有四个用户定义的C语言标识符,只有一个是正确的,正确的是()。

A.case

B.-ac

C._53

D.ab-c

C

单选题

以下正确的描述是()。

A.continue语句的作用是结束整个循环的执行

B.只能在循环体和switch语句体使用break语句

C.在循环体使用break语句或continue语句的作用相同

D.从多层循环嵌套中退出时,只能使用goto语句

B

单选题

若以下选项中的变量已正确定义,则正确的赋值语句是()。

A.x1=26.8%3

B.1+2=x2

C.x3=0x12

D.x4=1+2=3

C

单选题

若变量都已正确说明,则以下程序段()。

a=2;b=3;

printf(a>b?

”***a=%d”:

”###b=%d”,a,b);

A.没有正确的输出格式控制

B.输出为:

***a=2

C.输出为:

###b=2

D.输出为:

***a=2###b=2

C

单选题

若变量都已正确说明,则以下程序段输出为()。

a=10;b=50;c=30;

if(a>b)a=b;

b=c;c=a;

printf(“a=%db=%dc=%d\n”,a,b,c);

A.a=10b=50c=10

B.a=10b=30c=10

C.a=50b=30c=10

D.a=50b=30c=50

B

单选题

以下程序输出的结果是()。

#include<stdio.h>

main()

{inti=0,j=0,a=6;

if((++i>0)||(++j>0))a++;

printf(“i=%d,j=%d,a=%d\n”,i,j,a);

}

A.i=0,j=0,a=6

B.i=1,j=1,a=7

C.i=1,j=0,a=7

D.i=0,j=1,a=7

C

单选题

以下叙述中正确的是()。

A.在对一个C程序进行编译的过程中,可发现注释中的拼写错误。

B.在C程序中,main()函数必须位于程序的最前面。

C.C语言本身没有输入输出语句。

D.C程序的基本单位是语句。

C

单选题

a的初值为10,执行表达式语句a+=a-=a*a;后,a的值为()。

A.-80

B.-180

C.-90

D.-100

B

单选题

在C语言中,设a和x都为整型变量,执行赋值表达式x=(a=3,6*3)后,x的值为()。

A.54

B.3

C.18

D.21

C

单选题

设x和y均为int型变量,则执行下面的循环后,y值为()。

for(y=1,x=1;y<=50;y++)

{if(x>=10)break;

if(x%2==1){x+=4;continue;}}

A.2

B.4

C.6

D.8

B

单选题

设有如下程序段,其结果是()。

inta=100,b=100;

for(;a!

=b;++a,b++)

printf(“---\n”);

A.输出---

B.输出100行---

C.死循环

D.该for循环一次也不执行

D

单选题

整型变量a的取值围为闭区间[-1,10]或开区间(20,40),则正确表示的逻辑表达式为()。

A.–1<=a<=10|20<a<40

B.(–1<=a&&a<=10)|(20<a&&a<40)

C.(–1<=a&&a<=10)||(20<a&&a<40)

D.–1<=a<=10||20<a<40

C

单选题

若有代数表达式(5ae)/(bc),则不正确的C语言表达式()。

A.a/b/c*e*5

B.5*a*e/b/c

C.5*a*e/b*c

D.a*e/c/b*5

C

单选题

以下不符合C语言语法的赋值表达式是()。

A.d=9+e,e++,d+9

B.k=i==j

C.n1+=n2+3

D.a=b+c=a+7

D

单选题

若int类型占两个字节,则以下语句输出为()。

intk=-1;

printf("%d,u%\n",k,k);

A.-1,-1

B.-1,65536

C.-1,32768

D.-1,65535

D

单选题

假设a为float类型数,i为整型变量,则下述语句能将a中的数值保留小数点1位,即四舍五入的是()。

A.a=(a*10+0.5)/100.0

B.i=a*10+0.5,a=i/10.0

C.a=int(a*10)/10.0

D.a=(a/100+0.5)*100.0

B

单选题

设x=3,y=-4,z=6,下面表达式的结果是()。

!

(x>y)+(y!

=z)||(x+y)&&(y-z)

A.0

B.1

C.-1

D.6

B

单选题

在C语言中,逻辑值“真”用()表示?

A.true

B.正数

C.非0整数

D.非0的数

D

单选题

已知ch是字符型变量,下面正确的赋值语句是()。

A.ch=‘123’;

B.ch=‘\xff’;

C.ch=‘\08’

D.ch=“\”

B

单选题

若有以下说明和语句,则输出结果是()。

charsp[]="\x69\082\n";

printf("%d",strlen(sp));

A.3

B.5

C.1

D.字符串中有非法字符,输出值不定

B

单选题

若有变量说明:

chars,s1[20];执行语句:

s="student";s1=s;正确的叙述是()。

A.二个语句都不正确

B.s所指向的字符串和s1的值都是"student"

C.第一个语句正确,而第二个语句不正确

D.第二个语句正确,而第一个语句不正确

A

单选题

变量的有效围与其定义位置有关,(),其作用域在整个源程序文件中都有效。

A.在第一个函数中定义的变量

B.在定义第一个函数之前所定义的变量

C.在主函数中定义的变量

D.在函数中定义的静态变量

B

单选题

若程序中定义了以下函数

doublemyadd(doublea,doubleB)

{return(a+B);}

并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是()。

A.doublemyadd(doublea,B);

B.doublemyadd(double,double);

C.doublemyadd(doubleb,doubleA);

D.doublemyadd(doublex,doubley);

A

单选题

有以下程序

voidf(intv,intw)

{intt;

t=v;v=w;w=t;

}

main()

{intx=1,y=3,z=2;

if(x>y)f(x,y);

elseif(y>z)f(y,z);

elsef(x,z);

printf(“%d,%d,%d\n”,x,y,z);

}

执行后输出结果是()。

A.1,2,3

B.3,1,2

C.1,3,2

D.2,3,1

C

单选题

若有宏定义与变量说明如下:

#defineX5

#defineYX+1

#defineZY*X/2

inta;a=Y;

则执行以下printf语句后输出的结果是()。

Printf("%d%d\n",Z,--a);

A.75

B.126

C.125

D.76

A

单选题

数组名作为参数传递给函数,此时作为实在参数的数组名被处理为()。

A.该数组的长度

B.该数组的元素个数

C.该数组中各元素的值

D.该数组的首地址

D

单选题

执行完下面的程序段后,屏幕显示的容为()。

main()

{inta=2,i;

for(i=0;i<3;i++)printf("%d",f(a));

}

f(inta)

{intb=0;

staticintc=3;

b++;

c++;

return(a+b+c);

}

A.777

B.777

C.789

D.789

C

单选题

以下描述中,正确的是()。

A.调用函数时,实参可以是表达式

B.调用函数时,将为形参分配存单元

C.调用函数时,实参与形参的原型必须一致

D.调用函数时,实参与形参可以用存单元

A

单选题

在C语言中,引用数组元素时,其下标的数据类型允许是()。

A.整型常量

B.整型表达式

C.整型常量或整型表达式

D.任何类型的表达式

C

单选题

有语句charstr1[10],str2[10]={"books"};则能将字符串books赋给数组str1的正确语句是()。

A.str1={"Books"};

B.strcpy(str1,str2);

C.str1=str2;

D.strcpy(str2,str1);

B

单选题

以下函数调用中有()个实参。

expd((a1,a2,a3),(a4,a5),a7,a8)

A.4个

B.3个

C.8个

D.5个

A

单选题

C语言的编译系统对宏命令是()时候处理的。

A.在程序运行

B.在程序连接时

C.和源程序其它C语言同时进行编译时

D.对源程序其它成份正式编译之前进行处理的

D

单选题

设有定义:

inta,*pA=&a;以下scanf语句中能正确为变量a读入数据的是()。

A.scanf(“%d”,pA);

B.scanf(“%d”,A);

C.scanf(“%d”,&pA);

D.scanf(“%d”,*pA);

A

单选题

若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是()。

A.a,point,*&a

B.&*a,&a,*point

C.*&point,*point,&a

D.&a,&*point,piont

D

单选题

有以下程序

main()

{char*p[10]={“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”};

printf(“%d\n”,strlen(p[4]));

}

执行后输出结果是()。

A.2

B.3

C.4

D.5

A

单选题

C语言结构体类型变量在程序执行期间()。

A.所有成员一直驻留在存中

B.只有一个成员驻留在存中

C.部分成员驻留在存中

D.没有成员驻留在存中

A

单选题

以下对C语言中共用体类型数据的叙述()的叙述是正确的。

A.可以对共

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

当前位置:首页 > PPT模板 > 中国风

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

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