2023年C语言题库材料_第1页
2023年C语言题库材料_第2页
2023年C语言题库材料_第3页
2023年C语言题库材料_第4页
2023年C语言题库材料_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言题库

1.若要用fopen函数打开一个新的二进制文献,该文献要既能读也能写,

则文献方式字符串应是(D)。

A、〃rb+〃

B、〃ab++〃

C、〃ab〃

D、〃wb+〃

2.设有如下定义:structsk{inta;floatb;}data,*p;

若要使P指向data中的a域,对的的赋值语句是(C)。

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

*p=data.a;

C>p=&data.a;

D、p=&data,a;

3.对结构体类型的变量的成员的访问,无论数据类型如何都可使用

的运算符是(B)。

A、&

B、.

C、*

D、->

4.下列关于指针定义的描述,错误的是(A)。

A、指针是一种变量,该变量用来存放某个变量的值

B、指针是一种变量,该变量用来存放某个变量的地址值

C、指针变量的类型与它所指向的变量类型一致

D、指针变量的命名规则与标记符相同

5.设有如下的程序段:

charstr[]="Hello";

char*ptr;

ptr=str;

执行完上面的程序段后,*(ptr+5)的值为(D).

A、不拟定的值

B、'o'的地址

C、’o'

D、’\0'

6.若有以下的定义:intt[3][2];能对的表达t数组元素地址的表达式是(D)。

A、&t[l]

B、t[3]

C、&t[3][2]

D,t[2]

7.下列说法中对的的是(B).

A、函数调用不占运营时间,只占编译时间.

B、宏替换不占运营时间,只占编译时间.

C、有参数的宏定义,就是函数.

D、在定义宏时•,宏名与带参数的括弧之间可以加空格.

8.以下叙述中对的的是(C)。

A、全局变量的作用域一定比局部变量的作用域范围大

B、未在定义语句中赋初值的auto变量和static变量的初值都是随机值

C、静态(static)类别变量的生存期贯穿于整个程序的运营期间

D、函数的形参都属于全局变量

9.下列叙述中对的的是(B)。

A、C语言的子程序有过程和函数两种

B、C语言所有函数都是外部函数

C、C语言的函数可以嵌套定义

D、C语言编译时不检查语法

10.函数的形式参数系统默认存储类型说明是(D)。

A、static

B、extern

C、register

D、auto

11.以下对C语言函数的描述中,对的的是(B)。

A、C函数既可以嵌套定义又可以递归调用

B、C程序必须由一个或一个以上的函数组成

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

D、C程序中有调用关系的所有函数必须放在同一个程序文献中

12.以下不能对的进行字符串赋初值的语句是(A)。

A、charstr[5]二〃good!〃;

B、charstr[5]={,g','o','o','d'};

C>char*str=〃good!〃;

D、charstr口二〃good!〃;

13.选择对的的输入语句(B).

(其中:charstring[10];)使得string的内容为"Hello”.

A、scanf(〃%c〃,&string);

BNscanf(〃%s〃,string);

C、scanf(〃枇〃,string);

D、scanf("%s〃,festring);

14.以下对二维数组a的对的说明是(D)。

A、inta[3][]

B、floata(3,4)

C、floata(3)(4)

D、doublea[l][4]

15.下列数组说明中,对的的是(B)。

A、staticcharstrl口,str2[];str2={“China"};strcpy(strl,str2);

BNstaticcharstr口=“China”;

C、staticcharstr[];str=〃China”;

D、staticcharstrl[5],str2口={“China"};strl=str2;

16.若有说明inta[3]若];则对a数组元素的对的引用是(C)。

A、a[l,3]

B、a[2][4]

C、a[l+l][0]

D、a(2)(l)

17.以下对的的描述是(A).

A、只能在循环体内和switch语句内使用break语句

B、continue语句的作用是终止整个循环的执行

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

D、在循环体内使用break和continue语句的作用相同

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

中表达式的值应当为(C)。

A、非0

B、1

C、0

D、True

19.针对for循环语句,for(表达式1;表达式2;表达式3),下列说法对的的是(C).

A、三个表达式和中间分隔分号均可省略

B、三个表达式和中间分隔分号均不能省略

C、三个表达式可省略,但中间分隔分号不能省略

D、三个表达式不能省略,但中间分隔分号可省略

20.若i为整型变量,则以下循环执行次数是(A)。

for(i=2;i==0;)printf("机T,i一);

A、0次

B、2次

C、无限次

D、1次

21.已知键盘输入a=4,b=3,下面程序输出的结果是(C).

mainO

{inta,b,s;

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

s=a;

if(a<b)s=b;

s=s*s;

printf(z/%d\n/z,s);

)

A、9

B、13

C>16

【)、15

22.算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为(A)。

A、算术运算、关系运算、赋值运算

B、关系运算、赋值运算、算术运算

C、算术运算、赋值运算、关系运算

D、关系运算、算术运算、赋值运算

23.在C语言中,能代表逻辑值“真''的是(B)。

A、大于。的数

B、非0的数

C、非0整数

D、True

24.表达关系x>0且y<=10的C语言表达式为(D).

A、(x<=0)AND(y<=10)

B、x>0,y<=10

C、(x<=0)&(y〈=10)

D,(x>0)&&(y<=10)

25.下列运算符优先级最低的是(A).

A,=

B,+

C、!

D、&&

26.C语言中,逻辑“真"等价于(C),,

A、大于零的整数

B、大于零的数

C、非零的数

D、非零的整数

27.根据下面的输出结果,对的的输出语句是:(D);

x=2.23000,y=4.35000

A,printf("x=%f,y=%f\n”,x,y);

B、printf(*x=%7.2f,y=%7.2f”,x,y);

C>printf("x=%7.2f,y=%7.2f",&x,&y);

D、printf("x=%7.5f,y=%7.5f\n”,x,y);

28.已知i、_j、k为int型变量,若从键盘输入:1,2,3〈回车〉,使i的值为1、j

的值为2、k的值为3,以下选项中对的的输入语句是(C)。

A、scanf("%d%d%d”,&i,&_j,&k);

B、scanf("2d%2d%2d”,&i,&j,&k);

C、scanf("%d,%d,%d",&i,&j,&k);

D、scanf("i=%d,j=%d,k=%d/,,&i,&j,&k);

29.根据下面的程序,对的的输出形式是(A);

mainO

(

inti=5,j=10;

printf("i=%d,",i);

printf("j=%d",j);

}

30.若变量已对的定义并赋值,下面符合C语言语法的表达式是(A)。

A、a=b=c+2

B、a:=b+l

C、int18.5%3

D、a=a+7=c+B

31.对于赋值语句charcx='\037';判断对的的是:(D).

A、ex的值是四个字符

B、不合法,不能赋值

C、ex的值是三个字符

D、ex的值是一个字符

32.设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为(D).

A、char

B、int

C、float

D、double

33.先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中对的的是(B)。

A、C='97'

B、c='a;

C、c="97”;

D、c="a";

34.已定义ch为字符型变量,以下赋值语句中错误的是(A)。

A、ch=,\,;

B、ch=NULL;

C>ch='\xaa';

D、ch=62+3;

35.以下选项中合法的用户标记符是(D)。

A、long

B、A.dat

C>3Dmax

DN2Test

36.下列对的的标记符是(0.

A、a+b

B、6a

C、_do

D、%y

37.执行下列语句后变量x和y的值是(A)o

y=10;x=y++;

A、x=10,y=ll

B、x=ll,y=ll

C、x=ll,y=10

I)、x=10,y=10

38.假设所有变量均为整型,则表达式所=2,b=5,b++,a+b)的值是(C)。

A、2

B、6

C、8

D、7

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

A、-4

B、-8

C、0

D、-2

40.下列四组选项中,均不是C语言关键字的选项是(B)。

A、whilegopow

B、defineIFtype

C、includescanfcase

DNgetccharprintf

41.在一个C程序中(A)o

A、main函数可以在任何地方出现

main函数必须出现在固定位置

C、main函数必须出现在所有函数之前

D、main函数必须出现在所有函数之后

42.C语言中用于结构化程序设计的三种基本结构是(B)。

A、if>switch>break

B、顺序结构、选择结构、循环结构

C、if>for、continue

DNfor>whi1e>do-while

43.C语言源程序文献通过C编译程序编译连接之后生成一个后缀为(A)的可执行文献

A、.exe

B、.bas

C、.obj

D、.c

44.C语言的程序一行写不下时,可以(C).

A、用分号换行

B、用逗号换行

C、用反斜线换行

D、在任意标记符后用回车键换行

45.对字符数组不对的的赋值方式是了—.

A、charc[]={"china"};

B、char"string;string="china”;

C>charc[10];c[10]={"china"};

D>char"string="china”;

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

A、'\0'

B、随机的

C、系统自动赋值0

D、根据情况赋值

47.构成C语言程序的基本单位是(C)。

A、子例程

B、子程序

C、函数

D、过程

48.用下面的scanf函数输入数据,使得i=12,j=202,不对的的键盘输入方法是(C).

(用"[CR]"表达回车,U表达空格)

main()

{inti,j;

scanf("%2d%3d”,&i,&j);

)

A、12[CR]202[CR]

B、12202[CR]

C、12,202[CR]

D、12U202[CR]

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

A、操作数乘以16

B、操作数除以16

C、操作数除以2

【)、操作数乘以2

50.执行下面程序段后,b的值为:一B「

intx=12;

charz='A";

intb;

b=((x&&6)&&(z<,a'));

A、3

B、1

C、2

I)、0

填空

LC语言源程序的基本单位是一函数

2.表达式a+=b相称于表达式__a=a+ba=b+a。

3.intx=2;z=++x+l;则z的值为_4—.

4.已知i=5,写出语句i*=i+l;执行后整型变量i的值是_30—.

5.执行下列语句的结果是—4,4_,a=3;printf("%d,",++a);printfa++);

6.输入整型变量a的值.inta;scanf("机T,—&a_);

7.设x=5>l+2,x的值为—1—.

8.已知a=10,b=15,c=l,d=2,e=0,则表达式a++&&e++&&c++的值为_0一.

9.以下do-while语句中循环体的执行次数是_3__.a=10;b=0;do

{b+=2;a-=2+b;}while(a>=0);

10.执行语句charstr[81]="abcdef";后,字符串str结束标志存储在str[_6_](在括号

内填写下标值)中.

11.字符串的结束标志是_\0'\0'0」.

12.求字符串长度的库函数是一strlen…,只写函数名即可.

13.函数调用时的实参和形参之间的数据是单向的_值一传递.

14.C语言中一个函数由函数首部和一函数体两部分组成.

15.设x的值为15,n的值为2,则表达式x*=n+3运算后x的值是_75—.

程序改错

1./***********ERR0R***********/

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

记录全班某门功课期末考试的平均分数和最高分数,设全班人数为30名。

#defineN30

main()

(inti,sum,score[N],high;

floataverage;

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

sea

【参考答案】

scanf&score[i]);

2.ttinclude"stdio.h〃

main()

i

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

int,student,a,b;

charc;

doublex=l.42;

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

x=x%(-3);

>,

c=a;

student=30;

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

【参考答案】

intstudent,a,b;

3.#include''stdio.h〃

main()

inta,b,t;

do

(

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

)

/**********ERR0R**********/

while(a>=0&&b>=0);

if(a>=b)

/**********ERR0R**********/

t=a;a=b;b=t;

printf(,za=%d,b=%d”,a,b);

【参考答案】

while(a<=0||b<=0);

程序填空

1.

mainO

I

inti,j;

/***********FiLL***********/

scanf(z/%d,%d/z,);

i++;

j++;

printf(绘d,%d\n〃,i,j);

)

【参考答案】

&i,&j

&j,&I

2.OutputUresult:

al=A\

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论