c语言考试题上课讲义.docx

上传人:b****8 文档编号:11521837 上传时间:2023-03-02 格式:DOCX 页数:36 大小:21.73KB
下载 相关 举报
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语言考试题上课讲义

fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式

必须是()。

A、读或读写

B、追加

C、只写

D、答案B和C都正确

【参考答案】错误

A

【学生答案】

D

使用共用体变量,不可以()。

A、同时访问所有成员

B、进行动态管理

C、节省存储空间

D、简化程序设计

【参考答案】正确

A

【学生答案】

A

设有如下定义:

structsk{inta;floatb;}data,*p;

若要使p指向data中的a域,正确的赋值语句是()。

A、p=(structsk*)data.a;

B、*p=data.a;

C、p=&data.a;

D、p=&data,a;

【参考答案】错误

C

【学生答案】

B

以下程序段执行后输出的结果是().

charstr[]="ABCD",*p=str;

printf("%d\n",*(p+4));

A、字符'D'的地址

B、0

C、不确定的值

D、68

【参考答案】错误

B

【学生答案】

D

已定义chara[10];和char*p=a;,下面的赋值语句中正确的是().

A、p="Turboc";

B、a="Turboc";

C、*p="Turboc";

D、a[10]="Turboc";

【参考答案】错误

A

【学生答案】

C

设有如下程序,请选择正确答案()。

#include

main()

{int**k,*j,i=100;

j=&i,k=&j;

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

}

A、运行错误

B、100

C、i的地址

D、j的地址

【参考答案】正确

B

【学生答案】

B

以下叙述正确的是()。

A、可以把if定义为用户标识符,但不能把define定义为用户标识符

B、define和if都不能定义为用户标识符

C、可以把define定义为用户标识符,但不能把if定义为用户标识符

D、可以把define和if定义为用户标识符

【参考答案】正确

C

【学生答案】

C

关于建立函数的目的,以下正确的说法是()。

A、提高程序的可读性

B、减少程序文件所占内存

C、减少程序的篇幅

D、提高程序的执行效率

【参考答案】错误

A

【学生答案】

C

若使用一维数组名作函数实参,则以下正确的说法是()。

A、实参数组名与形参数组名必须一致

B、必须在主调函数中说明此数组的大小

C、实参数组类型与形参数组类型可以不匹配

D、在被调用函数中,不需要考虑形参数组的大小

【参考答案】正确

B

【学生答案】

B

下面叙述中错误的是()。

A、在其它函数中定义的变量在主函数中也不能使用

B、主函数中定义的变量在整个程序中都是有效的

C、复合语句中定义的变量只在该复合语句中有效

D、形式参数也是局部变量

【参考答案】错误

B

【学生答案】

A

下列说法中错误的是()。

A、如果在对数组进行初始化时,给定的数据元素个数比数组元素个数少时,多余的数组元素会被自动初始化为最后一个给定元素的值

B、一个数组只允许存储同种类型的变量

C、数组的名称其实是数组在内存中的首地址

D、当数组名作为参数被传递给某个函数时,原数组中的元素的值可能被修改

【参考答案】正确

A

【学生答案】

A

以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是()。

A、chart[]="abcdefg",*s=t;

B、chars[10]="abcdefg";

C、chars[10];s="abcdefg";

D、chars[10];strcpy(s,"abcdefg");

【参考答案】错误

C

【学生答案】

B

已定义charstr1,str2[10];选择正确的输入语句().

A、scanf("%c%s",str1,str2);

B、scanf("%c%s",&str1,&str2);

C、scanf("%c%s",&str1,str2);

D、scanf("%c%s",str1,&str2);

【参考答案】错误

C

【学生答案】

B

若有语句charx[]="12345",y[]={'1','2','3','4','5'};则正确的描述是().

 

A、x数组和y数组的长度相同.

B、x数组的长度小于y数组的长度.

C、x数组等价于y数组.

D、x数组的长度大于y数组的长度.

【参考答案】正确

D

【学生答案】

D

下列字符数组长度为5的是()。

A、chard[6]={'h','a','b','c','\0'};

B、charc[10]={'h','a','b','c','d'};

C、charb[]={'h','a','b','c','d','\0'};

D、chara[]={'h','a','b','c','d'};

【参考答案】正确

D

【学生答案】

D

若有说明inta[3][4];则a数组元素的非法引用是()。

A、a[1][3]

B、a[0][4]

C、a[0][2*1]

D、a[4-2][0]

【参考答案】错误

B

【学生答案】

C

语句while(!

E);中的表达式!

E等价于()。

A、E==1

B、E!

=0

C、E!

=1

D、E==0

【参考答案】错误

D

【学生答案】

B

在C语言中,为了结束由while语句构成的循环,while后一对圆括号

中表达式的值应该为()。

A、非0

B、1

C、0

D、True

【参考答案】错误

C

【学生答案】

D

从循环体内某一层跳出,继续执行循环外的语句是()。

A、continue语句

B、空语句

C、break语句

D、return语句

【参考答案】正确

C

【学生答案】

C

下面程序段运行的结果是().

x=-1;

do{

x=x*x;

}while(!

x);

A、循环执行一次

B、有语法错误

C、死循环

D、循环执行两次

【参考答案】错误

A

【学生答案】

C

判断char型变量cl是否为小写字母的正确表达式是()。

A、('a'>=cl)||('z'<=cl)

B、'a'<=cl<='z'

C、(cl>=a)&&(cl<=z)

D、(cl>='a')&&(cl<='z')

【参考答案】正确

D

【学生答案】

D

若有条件表达式(exp)?

a++:

b--,则以下表达式中能完全等价于

表达式(exp)的是()。

A、(exp==1)

B、(exp!

=1)

C、(exp!

=0)

D、(exp==0)

【参考答案】错误

C

【学生答案】

D

设a,b,c,f均为整型变量,则执行以下程序段后,f的值为:

()

a=0;b=c=1;

f=--a||++b&&--c;

A、不确定值

B、0

C、2

D、1

【参考答案】错误

D

【学生答案】

A

C语言中,switch后的括号内表达式的值可以是()。

A、只能为整型和字符型

B、只能为整型

C、任何类型

D、只能为整型,字符型,枚举型

【参考答案】错误

C

【学生答案】

D

下列运算符优先级最高的是().

A、||

B、!

C、*

D、!

=

【参考答案】错误

B

【学生答案】

C

设a,b和c都是int型变量,且a=3,b=4,c=5,下面表达式中,值为0的表达式是().

A、'a'&&'b'

B、a||b+a&&b-c

C、!

((a

c||1)

D、a<=b

【参考答案】错误

C

【学生答案】

[未答此题]

下列程序段的输出结果为()。

intx=3,y=2;printf("%d",(x-=y,x*=y+8/5));

A、5

B、3

C、7

D、1

【参考答案】错误

B

【学生答案】

[未答此题]

设变量定义为"inta,b;",执行下列语句时,输入(),则a和b的值都是10.

scanf("a=%d,b=%d",&a,&b);

A、a=10,b=10

B、a=10b=10

C、10,10

D、1010

【参考答案】错误

A

【学生答案】

[未答此题]

printf("a\rHappi\by");在屏幕上正确的输出形式是().

 

A、Happy

B、Happi

C、aHappi

D、aHappy

【参考答案】错误

A

【学生答案】

[未答此题]

下列语句中符合C语言语法的语句是:

().

 

A、x=y+2=x+y+z;

B、x=7+y,y++,z++;

C、x=(3+b,z)=x+3;

D、x=3+y++=x+3;

【参考答案】错误

B

【学生答案】

[未答此题]

若有说明:

inta[3][4];则数组a中各元素()。

A、不能得到确定的初值

B、可在程序的编译阶段得到初值0

C、可在程序的运行阶段得到初值0

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

【参考答案】错误

A

【学生答案】

[未答此题]

下列四个选项中,均是C语言关键字的选项是()。

A、autoenuminclude

B、ifstructtype

C、switchtypedefcontinue

D、signedunionscanf

【参考答案】错误

C

【学生答案】

[未答此题]

若有说明语句:

charc='\72';则变量c()。

A、说明不合法,c的值不确定

B、包含2个字符

C、包含3个字符

D、包含1个字符

【参考答案】错误

D

【学生答案】

[未答此题]

以下选项中合法的用户标识符是()。

A、long

B、3Dmax

C、_2Test

D、A.dat

【参考答案】错误

C

【学生答案】

[未答此题]

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

A、a=b=5;

B、y=(a=3,6*5);

C、++j;

D、a=1,b=2

【参考答案】错误

D

【学生答案】

[未答此题]

若变量已正确定义且k的值是4,计算表达式(j=4,k--)后,j和k的值为()。

A、j=3,k=4

B、j=4,k=4

C、j=3,k=3

D、j=4,k=3

【参考答案】错误

D

【学生答案】

[未答此题]

若inta=2,则执行完表达式a-=a+=a*a后,a的值是()。

A、-4

B、-8

C、0

D、-2

【参考答案】错误

C

【学生答案】

[未答此题]

C语言能正确处理的指数是()。

A、123000000000

B、4.5e-5.6

C、8.5e4288

D、e-32

【参考答案】错误

A

【学生答案】

[未答此题]

以下数据中,不正确的数值或字符常量是()。

A、82.5

B、0xff00

C、10

D、8.9e1.2

【参考答案】错误

D

【学生答案】

[未答此题]

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

A、E-3

B、.2E0

C、1.3E

D、5E2.0

【参考答案】错误

B

【学生答案】

[未答此题]

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

A、花括号“{“和”}”只能作为函数体的定界符

B、构成C程序的基本单位是函数,所有函数名都可以由用户命名

C、分号是C语句之间的分隔符,不是语句的一部分

D、C程序中注释部分可以出现在程序中任意合适的地方

【参考答案】错误

D

【学生答案】

[未答此题]

一个C语言程序是由()。

A、若干过程组成

B、若干子程序组成

C、一个主程序和若干子程序组成

D、函数组成

【参考答案】错误

D

【学生答案】

[未答此题]

C语言规定,在一个源程序中,main函数的位置()。

A、必须在系统调用的库函数的后面

B、必须在最后

C、可以任意

D、必须在最开始

【参考答案】错误

C

【学生答案】

[未答此题]

C语言源程序文件以()后缀。

A、.c

B、.exe

C、.obj

D、.bas

【参考答案】错误

A

【学生答案】

[未答此题]

对auto存储类型的变量,若不赋值,则其值是().

A、'\0'

B、随机的

C、系统自动赋值0

D、根据情况赋值

【参考答案】错误

B

【学生答案】

[未答此题]

下面说法不正确的是:

____

A、a为真,!

a为假

B、a为真b为假,则a||b+1为真

C、b为假,则!

b+1为假

D、a为真b为假,!

a&&b为假

【参考答案】错误

C

【学生答案】

[未答此题]

以下程序的输出结果是______.

main(){inta[]={2,4,6,8},*p=a,i;

for(i=0;i<4;i++)a[i]=*p++;

printf("%d\n",a[2]);}

A、6

B、4

C、8

D、2

【参考答案】错误

A

【学生答案】

[未答此题]

以下对枚举类型名的定义中正确的是()。

A、enuma{sum=9,mon=-1,tue};

B、enuma={sum,mon,tue};

C、enuma{"sum","mon","tue"};

D、enuma={"sum","mon","tue"};

【参考答案】错误

A

【学生答案】

[未答此题]

下面程序运行后,从键盘上输入ABCD<回车>,输出结果应该是().

#include

#include

func(charstr[])

{intnum=0;

while(*(str+num)!

='\0')num++;

returnnum;

}

main()

{charstr[10],*p=str;

A、7

B、4

C、6

D、5

【参考答案】错误

B

【学生答案】

[未答此题]

在位运算中,操作数每右移一位,其结果相当于()。

A、操作数乘以16

B、操作数除以16

C、操作数除以2

D、操作数乘以2

【参考答案】错误

C

【学生答案】

[未答此题]

C语言的三种基本结构是_____结构、选择结构、循环结构.

【空1】错误

【学生答案】

[无]

【参考答案】

顺序

若a,b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为_____,b值为_____,c值为_____.

【空1】错误

【学生答案】

[无]

【参考答案】

6

============================================================

【空2】错误

【学生答案】

[无]

【参考答案】

4

============================================================

【空3】错误

【学生答案】

[无]

【参考答案】

2

若a是int型变量,则计算表达式a=25/3%3后a的值为_____.

【空1】错误

【学生答案】

[无]

【参考答案】

2

表达式a+=b相当于表达式_____.

【空1】错误

【学生答案】

[无]

【参考答案】

a=a+b

a=b+a

下列语句输出的结果是_____,inta=-1;printf("%x",a);(在vc环境下)

【空1】错误

【学生答案】

[无]

【参考答案】

ffffffff

执行下列语句的结果是_____,a=3;printf("%d,",++a);printf("%d",a++);

【空1】错误

【学生答案】

[无]

【参考答案】

4,4

设x=2&&2||5>1,x的值为_____.

【空1】错误

【学生答案】

[无]

【参考答案】

1

已知a=13,b=6,a&&b的十进制数值为_____.

【空1】错误

【学生答案】

[无]

【参考答案】

1

以下do-while语句中循环体的执行次数是_____.a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);

【空1】错误

【学生答案】

[无]

【参考答案】

3

连接字符串的函数是_____,只写函数名即可.

【空1】错误

【学生答案】

[无]

【参考答案】

Strcat

定义inta[2][3];表示数组a中的元素个数是_____个.

【空1】错误

【学生答案】

[无]

【参考答案】

6

C语言中,数组名是一个不可变的_____量,不能对它进行加减和赋值运算.

【空1】错误

【学生答案】

[无]

【参考答案】

常量

地址常量

地址

函数调用语句func((e1,e2),(e3,e4,e5))中含有_____个实参.

【空1】错误

【学生答案】

[无]

【参考答案】

2

函数的_____调用是一个函数直接或间接地调用它自身

【空1】错误

【学生答案】

[无]

【参考答案】

递归

若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为_____,n的值为_____.

【空1】错误

【学生答案】

[无]

【参考答案】

10

============================================================

【空2】错误

【学生答案】

[无]

【参考答案】

6

【程序改错】

--------------------------------------------------------

题目:

--------------------------------------------------------

注意:

不可以增加或删除程序行,也不可以更改程序的结构。

------------------------------------------------------*/

#include

/**********ERROR**********/

#include(math.h)

main()

{

inta,b;

floatc;

a=3;b=4;

c=sqrt(a*a+b*b);

/**********ERROR**********/

printf("c=%d\n",c);

}

【改错1】错误

【学生答案】

#include(math.h)

【参考答案】

#include

#include"math.h"

 

============================================================

【改错2】错误

【学生答案】

printf("c=%d\n",c);

【参考答案】

printf("c=%f\n",c);

【程序改错】

--------------------------------------------------------

题目:

改正以下程序的函数体中不正确的语句。

--------------------------------------------------------

注意:

不可以增加或删除程序行,也不可以更改程序的结构。

------------------------------------------------------*/

#include"stdio.h"

main()

{

inti=8,a,b;

unsignedlongw=5;

doublex=1.42,y=5.3;

x=x/(-3);

/**********ERROR**********/

y=float(i);

/**********ERROR**********/

y=y+x

a+=a-=(b=4)*(a=3);

}

【改错1】错误

【学生答案】

y=float(i);

【参考答案】

y=(float)i;

y=i;

 

============================================================

【改错2】错误

【学生答案】

y=y+x

【参考答案】

y=y+x;

【程序改错】

--------------------------------------------------------

功能:

编写函数fun生成一个对角线元素为5,上三角元素为0,

下三角元素为1的3*3的二维数组。

------------------------------------------------------*/

#include"stdio.h"

voidfun(intarr[][3])

{

/**********ERROR**********/

inti,j

/**********ERROR**********/

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

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

/**********ERROR**********/

if(i=j)

arr[i][j]=5;

elseif(j>i)

arr[i][j]=0;

else

arr[i][j]=1;

}

main()

{

inta[3][3],i,j;

fun(a);

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

{

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

printf("%d",a[i][j]);

printf("\n");

}

}

【改错1】错误

【学生答案】

inti,j

【参考答案】

inti,j;

 

============================================================

【改错2】错误

【学生答案】

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

【参考答案】

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

 

============================================================

【改错3】错误

【学生答案】

if(i=j)

【参考答案】

if(i==j)

 

下面程序将文件中的数据读到变量s中,将其按从小到大排序后回存到原文件中,请填空。

#include

main()

{FILE*fp;inti,j;

ints[10],ch;

if((fp=fopen("letter.dat","_____"))!

=NULL)

{

for(i=0;i<10;i++)fscanf(fp,"%d",&s[i]);

/**

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

当前位置:首页 > 法律文书 > 起诉状

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

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